LaTeX:防止在一段文本中换行
如何防止LaTeX在\texttt{...}
或\url{...}
文本区域中插入换行符? 里面没有空格,我可以用~
代替,这只是打破了符号。
更新 :我不想导致行溢出,我只是想让LaTeX在这些区域之前插入换行符,而不是在它们之间。
\mbox
是最简单的答案。 关于更新:
TeX更喜欢在一条线上的文字之间添加太多空间, 我认为这个想法是,你会注意到延伸到边界的行(以及它插入的黑色框之后),并且将有机会修改内容,而如果空间太多,你可能不会注意到它。
使用\sloppy
或\begin{sloppypar}...\end{sloppypar}
来调整这个行为,至less有一点。 另一种可能性是“ \raggedright
(或者“ \begin{raggedright}...\end{raggedright}
)。
用\mbox{}
环绕它
而且,如果您在正常文本中有两个后续单词,并且您希望避免它们之间的换行符,则可以使用〜字符。
例如:
As we can see in Fig.~\ref{BlaBla}, there is nothing interesting to see. A~better place..
这可以确保你没有一个以图号(没有graphics部分)或大写字母A开始的行。
使用\ nolinebreak
\ nolinebreak [数字]
\ nolinebreak命令可以防止LaTeX在命令点破坏当前行。 使用可选参数number,您可以将\ nolinebreak命令从需求转换为请求。 数字必须是从0到4的数字。数字越大,请求越坚持。
资料来源: http : //www.personal.ceu.hu/tex/breaking.htm#nolinebreak
定义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.