章节标题与目录无变化

章节标题与目录无变化

我正在使用以下 fancyhdr 包来操作论文中的标题:

\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyfoot{}
\fancyhead[RO,LE]{\thepage}
\fancyhead[LO]{\leftmark}
\fancyhead[RE]{\rightmark}
\renewcommand{\headrulewidth}{1pt}
\renewcommand{\footrulewidth}{0pt}

如果现在我想更改章节中的标题(章节名称太长),那么我会写下\chapter[chapter short name]{full name of chapter}与章节相同的内容

但这样的公式在目录中给出了“章节简称”。如何在不改变目录中原有名称的情况下更改标题?

答案1

您可以使用\chaptermark{...}来设置标题。

\sectionmark比较棘手,因为它出现在同一个页面上。它旨在显示第一部分,并且由于\section调用\sectionmark,因此默认名称是第一部分。所以我创建了\mysection不调用的\sectionmark

\documentclass{book}
\usepackage{lipsum}

\makeatletter
\newcommand{\mysection}[2][\empty]{\bgroup
  \let\sectionmark=\@gobble
  \edef\temp{#1}%
  \ifx\empty\temp\relax \edef\temp{#2}\fi
  \section[\temp]{#2}%
\egroup}
\makeatother

\begin{document}
\tableofcontents

\chapter[Short title]{Long title}
\chaptermark{Short header}

\lipsum[1-9]

\mysection[Short section title]{Long section title}
\sectionmark{Short section header}

\lipsum[10-12]

\end{document}

答案2

该类(和memoir的超集)通过两个可选参数提供目录、标题和常规分段命令。例如:bookreport

\documentclass{memoir}
\begin{document}
\tableofcontents
\chapter[title-in-toc][title-in-header]{main-title}
\section[title-in-toc-and-header]{main-title}
\subsection{main-title-in-toc-and-header}
\subsubsection[title-in-toc][title-in-header]{main-title}
...

相关内容