我遇到一个问题,每当我\texttt{}
在一行的末尾有一个很长的区域时,它就会继续拖尾而不是换到下一行。
以下是 MWE:
\documentclass{article}
\begin{document}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
\texttt{commodo.ligula.eget} dolor. Aenean massa. Cum sociis natoque
penatibus et magnis dis parturient montes, nascetur ridiculus mus.
Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.
Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
aliquet nec, vulputate eget, arcu.
\end{document}
其他用户询问如何在 内换行文本texttt
,但是,我感兴趣的是将整个文本移到texttt
下一行(因为我的区域都不够长,不需要拆分)。要清楚:我希望每行都texttt
位于一行上。
这不是重复的这个问题,其中 OP 想通过打破电传打字区域内的文本来解决这个问题。
答案1
如果您想要在现场断开不能包含打字机字体文本的行,这里是\filbreak
TeXbook 中的宏的变体(第 111 页):
\documentclass{article}
\newcommand\wtt[1]{%
\hfil\penalty0\hfilneg\texttt{#1}%
}
\begin{document}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
\wtt{commodo.ligula.eget} dolor. Aenean massa. Cum sociis natoque
penatibus et magnis \wtt{dis.parturient.montes}, nascetur ridiculus mus.
Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.
Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
aliquet nec, vulputate eget, arcu.
\end{document}
如果在罚球处休息, 将\hfilneg
在换行处消失;否则将取消\hfil
。
然而,如果您有许多不可分割的长段文本,则\raggedright
应该考虑排版。
答案2
这里的建议是让你的段落稍微有点\sloppy
:
\documentclass{article}
\begin{document}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
\texttt{commodo.ligula.eget} dolor. Aenean massa. Cum sociis natoque
penatibus et magnis dis parturient montes, nascetur ridiculus mus.
Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.
Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
aliquet nec, vulputate eget, arcu.
\sloppy
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean
\texttt{commodo.ligula.eget} dolor. Aenean massa. Cum sociis natoque
penatibus et magnis dis parturient montes, nascetur ridiculus mus.
Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.
Nulla consequat massa quis enim. Donec pede justo, fringilla vel,
aliquet nec, vulputate eget, arcu.
\end{document}
从source2e
(部分63 页面样式和相关命令):
\sloppy
永远不会(好吧,几乎永远不会)生产满满的箱子,但可能会生产未满那些。
如果您希望\sloppy
将其隔离或本地化,请将其作为sloppypar
环境的一部分发布:
\begin{sloppypar}
<sloppy paragraph(s)>
\end{sloppypar}