如何修改目录(在相关列上自动添加“标题”和“页面”)

如何修改目录(在相关列上自动添加“标题”和“页面”)

我有一个关于修改目录的问题,我想把它分成三个部分(这里, 第2部分第 3 部分对于第一部分,我有如下的样本书:

\documentclass{book}

\usepackage[a5paper]{geometry}
\usepackage{lipsum}
\linespread{1.5}



\begin{document}


\tableofcontents
\addtocontents{toc}{ \textbf{Title}  \hfill  \textbf{Page}\par}



\chapter{Spring}\lipsum[1-30]
\section{Sp1}\lipsum[1-30]
\section{Sp2}\lipsum[1-30]
\section{Sp3}\lipsum[1-30]
\section{Sp4}\lipsum[1-30]
\section{Sp5}\lipsum[1-30]
\section{Sp6}\lipsum[1-30]
\section{Sp7}\lipsum[1-30]
\section{Sp8}\lipsum[1-30]
\section{Sp9}\lipsum[1-30]  

\chapter{Summer}
\section{Su1}\lipsum[1-30]
\section{Su2}\lipsum[1-30]
\section{Su3}\lipsum[1-30]
\section{Su4}\lipsum[1-30]
\section{Su5}\lipsum[1-30]
\section{Su6}\lipsum[1-30]
\section{Su7}\lipsum[1-30]
\section{Su8}\lipsum[1-30]
\section{Su9}\lipsum[1-30]  

\chapter{Fall}
\section{F1}\lipsum[1-30]
\section{F2}\lipsum[1-30]
\section{F3}\lipsum[1-30]
\section{F4}\lipsum[1-30]
\section{F5}\lipsum[1-30]
\section{F6}\lipsum[1-30]
\section{F7}\lipsum[1-30]
\section{F8}\lipsum[1-30]
\section{F9}\lipsum[1-30]   

\chapter{Winter}
\section{W1}\lipsum[1-30]
\section{W2}\lipsum[1-30]
\section{W3}\lipsum[1-30]
\section{W4}\lipsum[1-30]
\section{W5}\lipsum[1-30]
\section{W6}\lipsum[1-30]
\section{W7}\lipsum[1-30]
\section{W8}\lipsum[1-30]
\section{W9}\lipsum[1-30]   

\end{document}

如图所示,我在内容 (toc) 和页面列的顶部添加了“标题”和“页面”。由于目录是多页的,我想重复它们,因为它们位于目录的第一页。如何解决?谢谢

答案1

首先:在目录的每一页都添加这样一行是没有意义的,因为大家都知道,左边的数字+文字是标题,右边的数字是页码。所以我不建议添加这样一行。而且,我甚至建议不要添加这样一行。

从 2020/10/01 开始,您可以使用通用钩子shipout/after在目录页的每个输出后添加行。您还必须在标题下方添加行。并且您必须在目录结束后重置它。使用 KOMA-Script 类,scrbookbook可以使用以下代码\AfterTOCHead进行初始化和\AfterStartingTOC取消初始化:

\documentclass[emulatestandardclasses,a5paper]{scrbook}
\usepackage{blindtext}
\newcommand*{\showtitlepageline}{}
\AfterTOCHead[toc]{%
  \renewcommand*{\showtitlepageline}{%
    \textbf{title}\hfill\textbf{page}\par\addvspace{\baselineskip}%
    \AddToHookNext{shipout/after}{\showtitlepageline}%
  }%
  \showtitlepageline
}

\AfterStartingTOC[toc]{%
  \let\showtitlepageline\relax
  \clearpage
}

\begin{document}

\tableofcontents

\blinddocument\blinddocument\blinddocument\blinddocument
\blinddocument\blinddocument\blinddocument\blinddocument

\end{document}

自动为目录的每一页添加“标题”和“页码”


注意:此建议可以轻松地与您针对其他问题的建议结合起来。

\documentclass[emulatestandardclasses,a5paper]{scrbook}
\usepackage{xcolor}
\usepackage{blindtext}
\newcommand*{\showtitlepageline}{}
\AfterTOCHead[toc]{%
  \renewcommand*{\showtitlepageline}{%
    \textbf{title}\hfill\textbf{page}\par\addvspace{\baselineskip}%
    \AddToHookNext{shipout/after}{\showtitlepageline}%
  }%
  \showtitlepageline
}

\AfterStartingTOC[toc]{%
  \let\showtitlepageline\relax
  \cleardoublepage
}

\BeforeTOCHead[toc]{%
  \let\raggedchapter\centering% centering the heading
  \setchapterpreamble[o]{\centering\color{red} a short text}% add a preamble above
  \pagestyle{plain}% no page header in the table of contents
}

\begin{document}

\tableofcontents

\blinddocument\blinddocument\blinddocument\blinddocument
\blinddocument\blinddocument\blinddocument\blinddocument

\end{document}

全部一起

使用标准类做同样的事情book也是可能的,但需要更多的编码和 hacking(因为已显示)。

答案2

此版本使用 afterpage。请注意,“页眉”实际上位于文本区域内。

\documentclass{book}

\usepackage[a5paper]{geometry}
\usepackage{lipsum}
\linespread{1.5}
\usepackage{afterpage}
\newif{\ifTOC}

\newcommand{\TOCheader}{\ifTOC\noindent\textbf{Title}  \hfill  \textbf{Page}\par
  \afterpage{\TOCheader}\fi}

\begin{document}

\afterpage{\global\TOCtrue\afterpage{\TOCheader}}%
\tableofcontents
\TOCfalse
\addtocontents{toc}{\hspace{1.5em}\textbf{Title}  \hfill  \textbf{Page}\par}

\chapter{Spring}\lipsum[1-30]
\section{Sp1}\lipsum[1-30]
\section{Sp2}\lipsum[1-30]
\section{Sp3}\lipsum[1-30]
\section{Sp4}\lipsum[1-30]
\section{Sp5}\lipsum[1-30]
\section{Sp6}\lipsum[1-30]
\section{Sp7}\lipsum[1-30]
\section{Sp8}\lipsum[1-30]
\section{Sp9}\lipsum[1-30]  

\chapter{Summer}
\section{Su1}\lipsum[1-30]
\section{Su2}\lipsum[1-30]
\section{Su3}\lipsum[1-30]
\section{Su4}\lipsum[1-30]
\section{Su5}\lipsum[1-30]
\section{Su6}\lipsum[1-30]
\section{Su7}\lipsum[1-30]
\section{Su8}\lipsum[1-30]
\section{Su9}\lipsum[1-30]  

\chapter{Fall}
\section{F1}\lipsum[1-30]
\section{F2}\lipsum[1-30]
\section{F3}\lipsum[1-30]
\section{F4}\lipsum[1-30]
\section{F5}\lipsum[1-30]
\section{F6}\lipsum[1-30]
\section{F7}\lipsum[1-30]
\section{F8}\lipsum[1-30]
\section{F9}\lipsum[1-30]   

\chapter{Winter}
\section{W1}\lipsum[1-30]
\section{W2}\lipsum[1-30]
\section{W3}\lipsum[1-30]
\section{W4}\lipsum[1-30]
\section{W5}\lipsum[1-30]
\section{W6}\lipsum[1-30]
\section{W7}\lipsum[1-30]
\section{W8}\lipsum[1-30]
\section{W9}\lipsum[1-30]   

\end{document}

相关内容