如何在节标题中放置换行符?

如何在节标题中放置换行符?

我有一些章节标题占据了两行,我对 XeLaTeX 拆分标题的方式不满意。如果我手动添加,\\输出看起来不错,但我收到以下警告:

[hyperref] Token not allowed in a PDF string (PDFDocEncoding): removing `\\'. 

我的代码如下所示:

\section{this is a very long title I \\ want to break manually}

有没有办法在没有警告的情况下在那里换行?

答案1

使用\texorpdfstring;第一个参数可以包含 (La)TeX 代码,第二个参数(仅限文本)将用于书签:

\section[this is a very long title I want to break manually]{\texorpdfstring{this is a very long title I\\ want to break manually}{this is a very long title I want to break manually}}

如果要生成目录但又不希望在其中添加换行符,则更好的选择是使用可选参数\section(这将用于标题、目录和书签):

\section[this is a very long title I want to break manually]{this is a very long title I\\ want to break manually}

答案2

我最近遇到了类似的问题,我的章节标题被分成两行,但第二行只有一两个单词。我想手动插入换行符,以便更好地平衡它。我最终使用不间断空格来强制换行更早发生:

\section{this is a very long title I want~to~break~manually}

这对我的目录也更有效,因为章节标题可以全部放在一行上(使用较小的字体),但不间断空格迫使 LaTeX 将章节标题更均匀地分成文档正文中的两行。

答案3

编译为 dvi 文件时,只需在 .tex 文件中使用\\就足以在标题中换行。但是编译为 pdf 时,目录中的行也会换行,看起来很奇怪。因此,我发现最好的解决方案是直接将 dvi 转换为 pdf。

*\section{this is a very long title \\ I want to break manually}*

相关内容