如何使标题中的章节标题与目录中的章节标题不同?

如何使标题中的章节标题与目录中的章节标题不同?

我正在使用类设置文档octavo并包括包tocloftfancyhdr。这是我的 fancyhdr 设置:

\fancyhead[CE]{\itshape\booktitle}
\fancyhead[CO]{\itshape\leftmark}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}

我希望章节号出现在目录中的章节列表中,因此我以如下内容开始章节:

\chapter[II. Title of Chapter Two]{Title of Chapter Two}

这给了我想要的章节标题(“第二章标题”)和我想要的目录条目(“II.第二章标题”),但是每个右页上的标题都是后者,而我想要的是前者。

有什么办法可以做到这一点吗?

感谢您的帮助!

答案1

可选\chapter参数 被用于目录和\markboth。如果您想要一个没有编号的章节标题,但在目录中使用不同的内容,在标题中使用不同的内容,您可以将 用作\addcontentsline目录,\chapter*将 用作未编号的标题 和 设置\markboth为在左侧和/或右侧标题处有更多标题版本(即使没有fancyhdr)。这可以用宏来简化,但我在两个章节中手动设置它以使方法更清晰。

请注意,这些章节标题版本中的任何一个都不应有错误的编号,如果您添加\删除\移动任何其他章节,编号将不正确。如果只应在目录中编号,则只需允许编号的目录设置计数器secnumdepth,因为\chapter* 无论如何都不会受到阻碍。

在示例中,MWE 中的四个章节名称版本只是重复的字符,AAAA、EEE 等,而不是人类的标题(很丑,但更容易检查 PDF 中每个章节名称的结尾):

\documentclass{octavo}
\usepackage{lipsum}

\setcounter{secnumdepth}{1}
\renewcommand{\thechapter}{\Roman{chapter}}

\begin{document}

\tableofcontents

\mainmatter


\chapter*{AAAA\markboth{EEEE}{OOOO}} % Title ≠ even header ≠  odd header ≠ ToC 
\stepcounter{chapter}
\addcontentsline{toc}{chapter}{\numberline{\thechapter} SSSSS}
\lipsum[1-10]

\chapter*{ZZZZ\markboth{XXXX}{CCCC}} % Title ≠ even header ≠  odd header ≠ ToC 
\stepcounter{chapter}
\addcontentsline{toc}{chapter}{\numberline{\thechapter} UUUUU}
\lipsum[1-10]


\end{document}

相关内容