如何修改目录(将内容标题集中并在其上添加简短的文字)

如何修改目录(将内容标题集中并在其上添加简短的文字)

按照我的问题顺序(这里),这是第三部分。我想像下图这样将“内容”的标题居中,并在其上方添加一小段文字,但我不知道该怎么做。谢谢。这是最简代码:

\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}

在此处输入图片描述

答案1

正如评论中所述,KOMA-Script 类提供\raggedchapter更改章节标题的对齐方式,并将\setchapterpreamble序言文本放在章节标题的上方和下方的功能。因此,您可以更改目录之前(和之后)的对齐方式并添加序言。作为一项额外功能,它提供了\BeforeTOCHead。这可用于在文档序言内进行所有相关更改,而无需更改其他章节的标题:

\documentclass[emulatestandardclasses,a5paper]{scrbook}

\usepackage{xcolor}
\usepackage{blindtext}
\BeforeTOCHead[toc]{%
  \let\raggedchapter\centering
  \setchapterpreamble[o]{\centering\color{red} a short text}
}

\begin{document}

\tableofcontents

\blinddocument

\end{document}

目录以居中标题显示,标题上方为序言文本

对于标准类,还\BeforeTOC可以使用 KOMA-Script 的功能。为此,您可以加载包tocbasic。但是序言功能仍然不可用,因此您需要一个丑陋的 hack 来在标题顶部添加文本,例如,对 进行局部重新定义\contentsname。但在这种情况下,您还需要更改目录的标记。

\documentclass[a5paper]{book}

\usepackage{xcolor}
\usepackage{tocbasic}

\usepackage{blindtext}

\BeforeTOCHead[toc]{%
  \let\raggedchapter\centering
  \markboth{\MakeUppercase{\contentsname}}{\MakeUppercase{\contentsname}}%
  \renewcommand*{\contentsname}{% Ugly hack to add preamble and to center
    \centering
    \textcolor{red}{\normalsize a short text}\par
    Contents
  }%
}
\AfterTOCHead[toc]{%
  \markboth{CONTENTS}{CONTENTS}%
}

\begin{document}

\listoftoc[\contentsname]{toc}

\blinddocument

\end{document}

相关内容