阻止\ texttt LaTeX标记让其内容通过边距

jer*_*sub 29 latex hyphenation texttt

在我的报告中,我在段落中写了一些类名或变量名,我希望这些名称以等宽字体呈现.

例:

This is my class name: \texttt{baseAdminConfiguration}.
Run Code Online (Sandbox Code Playgroud)

有时当\ texttt标记内的单个单词在一行的末尾呈现时,该单词不会转到下一行,并且它也没有中断:单词的结尾超过边距.

我该如何处理这种情况?

干杯.

Kon*_*lph 36

这与此没什么关系\texttt.这个词太长了,而且LaTeX不知道如何连字.您可以通过声明连字规则来告诉它如何手动执行此操作:

\hyphenation{base-Admin-Configuration}
Run Code Online (Sandbox Code Playgroud)

\hyphenation命令可以采用任意多个单词,由空格分隔.

或者,如果这不是技巧,您可以在文本中引入手动夸大提示:

This is a long text that uses the word \texttt{base\-Admin\-Configuration) …
Run Code Online (Sandbox Code Playgroud)

仅显示实际的连字符 - 未使用的所谓自由连字符(\-)将不会显示,因此您可以根据需要随意自由地使用它们.

[ 阅读更多关于LaTeX中的连字符 ]

为了防止LaTeX 原则上溢出行,整个段落可以包装在一个sloppypar环境中(感谢Will在评论中指出这一点):

\begin{sloppypar}
  Some text …
\end{sloppypar}
Run Code Online (Sandbox Code Playgroud)

这操纵了断行算法的参数(特别是\tolerance).缺点:这可能导致非常难看的间距.或者,\tolerance可以直接操作其他内部参数 - TeX FAQ 显示如何操作.

  • 你可以得到的最接近的是用`\ begin {sloppypar} ...\end {sloppypar}`包装段落以允许较差的换行符.(或者写'\ sloppy`来全局激活它.) (7认同)