LaTeX:防止一行文本中的换行符

时间:2009-06-18 14:03:57

标签: latex

如何阻止LaTeX在我的\texttt{...}\url{...}文本区域中插入换行符?我可以用~取代内部没有空格,它只是打破符号。

更新:我不想导致行溢出,我只是想在这些区域之前而不是在其中插入换行符。

5 个答案:

答案 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之间的数字。   数字越大,请求就越坚持。

来源:http://www.personal.ceu.hu/tex/breaking.htm#nolinebreak

答案 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.