如何阻止LaTeX在我的\texttt{...}
或\url{...}
文本区域中插入换行符?我可以用~
取代内部没有空格,它只是打破符号。
更新:我不想导致行溢出,我只是想在这些区域之前而不是在其中插入换行符。
答案 0 :(得分:131)
\mbox
是最简单的答案。关于更新:
TeX喜欢超长线条,以便在一条线上的单词之间添加太多空格;我认为你的想法是你会注意到延伸到边缘的线条(以及它在这些线条之后插入的黑框),并且有机会修改内容,而如果有太多空间,你可能不会注意到它
使用\sloppy
或\begin{sloppypar}...\end{sloppypar}
来调整此行为,至少有一点。另一种可能性是\raggedright
(或\begin{raggedright}...\end{raggedright}
)。
答案 1 :(得分:55)
用\mbox{}
答案 2 :(得分:24)
此外,如果您在常规文本中有两个后续单词,并且希望避免它们之间的换行符,则可以使用〜字符。
例如:
As we can see in Fig.~\ref{BlaBla}, there is nothing interesting to see. A~better place..
这可以确保您没有以图号(没有图部分)或大写字母A开头的行。
答案 3 :(得分:18)
使用\ nolinebreak
\ nolinebreak [number]
\ nolinebreak命令会阻止LaTeX 在命令点打破当前行。随着 可选参数,数字,可以转换\ nolinebreak命令 从需求到请求。该数字必须是0到4之间的数字。 数字越大,请求就越坚持。
答案 4 :(得分:14)
定义myurl命令:
\def\myurl{\hfil\penalty 100 \hfilneg \hbox}
I don't want to cause line overflows,
I'd just rather LaTeX insert linebreaks before
\myurl{\tt http://stackoverflow.com/questions/1012799/}
regions rather than inside them.