我有一个关于修改目录的问题,我想把它分成三个部分(这里, 第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 类,scrbook
您book
可以使用以下代码\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}