章节标题缺少换行符

章节标题缺少换行符

我在 Win7 上使用 MikTex 和 pdfLaTeX。我有一个这样的章节标题:

\section{Naming conventions - CamelCase and SNAKE\_CASE}

标题总体上呈现良好,但它没有换行。相反,它一直延伸到右边距,几乎超出了页面。所有其他标题(有些比这个长得多)都换行正常。当我删除 时\_,它开始正确换行,它会在下划线的位置换行

这是怎么回事?我猜是它不知道如何在下划线处断线,而下划线恰好是断线的最佳位置,所以不知为何它就变得愚蠢了。我该如何解决这个问题?

答案1

您可以\allowbreak在之前添加\_

示例输出

\documentclass{article}

\begin{document}
\section{Naming conventions - CamelCase and SNAKE\_CASE}
\section{Naming conventions - CamelCase and SNAKE\allowbreak\_CASE}
\end{document}

单词中的非字母字符往往会在此时停止连字算法,例如

 \showhyphens{SNAKELIKE\_SNAKELIKE}

生产

 [] \OT1/cmr/m/n/10 SNAKE-LIKE[]SNAKELIKE

表明只能考虑那一次中断,

\showhypehns{SNAKE\_CASE}

生产

 [] \OT1/cmr/m/n/10 SNAKE[]CASE

有些字符,例如,/有允许中断的版本,在这种情况下\slash。否则,您可以使用\allowbreak方法或\discretionary{pre-break}[post-break}{no-break},例如

\discretionary{-}{\_}{\_}

会在出现此断行时添加连字符。请注意,单词后续部分的连字符仍处于禁用状态,除非您还添加了类似\hskip0pt

\showhyphens{SNAKELIKE\allowbreak\_\hskip0pt SNAKELIKENESS}

[] \OT1/cmr/m/n/10 SNAKE-LIKE[] SNAKE-LIKE-NESS

相关内容