如何在页眉中显示短章节名称并在目录中显示长章节名称?

如何在页眉中显示短章节名称并在目录中显示长章节名称?

我正在写一本书,其中一章的标题很长。由于无法在偶数页顶部正确显示,我通过

\chapter[short title]{long title}

命令。但是,目录中出现的是“短标题”,而不是原始/真实/长的标题。

怎样才能在偶数页的页眉中使用“短标题”,并在目录和“标题页眉”中使用“长标题”?

作为参考,下面是我使用的代码:

\documentclass[11pt,a4paper]{book}
\begin{document}
\tableofcontents 
\chapter[Short title]{Very vey very very very very very very long title
    i can't display in the header}
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
\end{document}

答案1

\chapter[toc version]{doc version}
\chaptermark{version for header}

包含更多信息的有用链接(也适用于类似或不同的用例):

https://texfaq.org/FAQ-runheadtoobig

答案2

的分段命令memoir类具有第二个可选参数:

\documentclass[11pt,a4paper]{memoir}

\begin{document}

\tableofcontents*% Starred form for not including the ToC in the ToC

\chapter[Title displayed in ToC][Title displayed in header]{Title}

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

\clearpage\null

\end{document}

编辑:自 v3.10 起,KOMA-Script类允许指定分段命令的可选参数的用法。类选项包括headings=optiontoheadheadings=optiontotocheadings=optiontoheadandtoc

\documentclass[headings=optiontohead]{scrbook}

\begin{document}

\tableofcontents

\chapter[Title displayed in header]{Title; also displayed in ToC}

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

\clearpage\null

\end{document}

答案3

另一个选择是使用截短包中带有 fancyhdr,如果标题太长,它会截断标题,并在末尾添加省略号:

 \usepackage[fit]{truncate}
 \usepackage{fancyhdr}
 \pagestyle{fancy}
 \fancyhead[RO,LE]{\truncate{.95\headwidth}{\leftmark}}
 \fancyfoot[C]{\thepage}

答案4

最佳答案的 URL 不再有效。您现在可以在以下网址找到内容:https://texfaq.org/FAQ-runheadtoobig

相关内容