我的学校要求目录格式如下——请注意红色的小标题:
我几乎已经准备好了,除了目录第二页有一个令人讨厌的错位。“章节”被扔到了右边。
当我准备一个最小的工作示例时,似乎之前的 addtocontents 行触发了这个问题。
\documentclass[12pt,letterpaper,oneside]{book}
\usepackage{tocloft}
\usepackage[toc,page]{appendix}
\usepackage{titlesec}
\usepackage[nottoc]{tocbibind}
\usepackage{afterpage}
\usepackage{blindtext}
\usepackage{indentfirst}
\usepackage{fancyhdr}
\begin{document}
\tableofcontents
\addtocontents{toc}{\hfill Page \par}
% Is this line above the culprit? if commented, Chapter below aligns!
\chapter{Blah blah1}
\section{Basics}
\subsection{Margins}
\blindtext
\section{Blah in section}
\Blindtext
\subsection{More blah for a subsection}
\blindtext
\begin{figure}
\caption{picture}
\end{figure}
\chapter{Some Blah}
\section{One section}
\blindtext
\chapter{All}
\blindtext
\chapter{the}
\blindtext
\section{Good enough}
\blindtext
\subsection{Better}
\blindtext
\addtocontents{toc}{\protect\afterpage{Chapter\hfill Page \par\medskip}}
% This is how I add those 'headings' to the toc.
% Not well aligned!
\chapter{way}
\section{Please}
\section{Go}
\subsection{Ahead}
\chapter{to}
\chapter{the}
\chapter{very}
\chapter{end}
\chapter{keep}
\section{keep uno}
\section{kep dos}
\chapter{going}
\chapter{more}
\end{document}
这段最小代码将产生如下结果:
有没有办法修复该 addtocontents 行?或者有更合理的方法来实现它?
请提供意见。提前谢谢您!
如果有帮助的话,这些是 .toc 文件中的几行:
\contentsline {subsection}{OM as city block distance}{28}
\afterpage {Chapter\hfill Page \par \vspace \medskipamount }
\contentsline {subsection}{Euclideanity of OM and Euclidean transformations}{29}
\contentsline {subsubsection}{Raw and transformed OM as Euclidean}{29}
\contentsline {subsubsection}{Low dimensional Euclidean via MDS}{32}
\contentsline {section}{Distribution of sequences and inter-sequence distances}{34}
\contentsline {subsection}{Distribution of true inter-triple and OM distances}{34}
它看起来是这样的:
噢,我刚刚添加了
\addtocontents{toc}{Chapter\hfill Page \par}
\section{Distribution of sequences and inter-sequence distances}
多么肮脏的东西。
答案1
您可以尝试这种方法,如果目录超过两页,则肯定需要进行一些修改。也许还有一些缺点,目前我还没有发现。
它使用 »阿特别格什« 来自的包裹 »奥伯迪克« 捆绑包允许将“标题”非常灵活地添加到目录的下一页。如有必要,这也可以应用于 LoF 和 LoT。
\documentclass[11pt]{report}
\usepackage[T1]{fontenc}
\usepackage[nottoc]{tocbibind}
\usepackage{atbegshi}
\usepackage{blindtext}
\AtBeginDocument{%
\addtocontents{toc}{%
\contentsline{chapter}{}{Page}%
\protect\AtBeginShipoutNext{\contentsline{chapter}{\chaptername}{Page}\vspace{\baselineskip}}%
}%
\addtocontents{lof}{\contentsline{chapter}{\figurename}{Page}}%
\addtocontents{lot}{\contentsline{chapter}{\tablename}{Page}}%
}
\begin{document}
\tableofcontents
\listoffigures
\listoftables
\addtocontents{toc}{\contentsline{chapter}{\chaptername}{}}
\blinddocument
\blinddocument
\blinddocument
\blinddocument
\end{document}