仅当不这样做会导致 \hbox 溢出时才换行

仅当不这样做会导致 \hbox 溢出时才换行

在我的论文中,我有一个小节标题,它在论文正文中生成了一个溢出的 \hbox,但不会在目录中生成。所以我想指示 TeX 在正文中换行,但不在索引中换行。我的尝试是:

\discretionary{\\}{}{}

答复是:

在此处输入图片描述

所以它不起作用,我开始认为我误解了\discretionary。现在我没有主意了。有没有办法实现上述目标?

PS:仅使用连字符spaces是不行的,因为它不会删除过满的 \hbox。

答案1

此宏\allowbreak提供允许的但非强制的断点(无连字符)。如果希望断点可连字符(也称为可选连字符),则应\-使用。

我们可以看出,尽管第一种情况下小节标题超出了\hbox,第二种情况下小节标题没有连字符就断开,而第三种情况下小节标题用连字符断开,但目录条目都是相同的。

\documentclass{report}

\begin{document}
\tableofcontents
\subsection{This is a testtesttest This is a testtesttest This tezzzzzzzz
  This is a testtesttest This is a testtesttest }

\subsection{This is a testtesttest This is a testtesttest This tezz\allowbreak zzzzzz 
  This is a testtesttest This is a testtesttest }

\subsection{This is a testtesttest This is a testtesttest This tezz\-zzzzzz 
  This is a testtesttest This is a testtesttest }

\end{document}

在此处输入图片描述

相关内容