需要修改目录

需要修改目录

我尝试使用 stack exchange 建议的 latex 代码来生成目录,以响应我之前的查询。我仍然需要进行一些小修改。在目录的第一页中,顶部中间需要“目录”,然后在第二行需要 3 个列名称,例如“章节号”、“标题”和“页码”。在后续页面中,只需要上述第二行详细信息。表格列表和图片列表也是如此。 在此处输入图片描述

答案1

以下是对每页都有标题的目录使解决方案适应于的三个内容元素report

在此处输入图片描述

\documentclass{report}
\usepackage[paperheight=30\baselineskip]{geometry}% http://ctan.org/pkg/geometry
\usepackage{tocloft}% http://ctan.org/pkg/tocloft
\usepackage{atbegshi}% http://ctan.org/pkg/atbegshi
\makeatletter
\newcommand{\sectionsandtablesandfigures}{
  \section{First}
  \begin{table}[ht]\caption{A first table}\end{table}\begin{figure}[ht]\caption{A first figure}\end{figure}
  \section{Second}
  \begin{table}[ht]\caption{A second table}\end{table}\begin{figure}[ht]\caption{A second figure}\end{figure}
  \section{Last}
  \begin{table}[ht]\caption{A last table}\end{table}\begin{figure}[ht]\caption{A last figure}\end{figure}
}
\newcommand{\tocheader}{{%
  \bfseries% Font selection
  %\hspace*{\cftchapindent}% Chapter indent
  \makebox[\cftchapnumwidth][l]{Chapter no}% Chapter number heading
  \hfill%
  Title% Title heading
  \hfill%
  \makebox[\@pnumwidth][r]{Page}% Page heading
  \par\kern.5\baselineskip% After heading
  }}
% TABLE OF CONTENTS
\renewcommand{\cftsecdotsep}{\cftnodots}% No dots for \section in ToC
\setlength{\cftbeforetoctitleskip}{0pt}% No skip before ToC title
\setlength{\cftaftertoctitleskip}{0pt}% No skip after ToC title
\renewcommand{\cfttoctitlefont}{\bfseries\Large\hfill}%\contentsname
\renewcommand{\cftaftertoctitle}{\hfill\null\par\kern.5\baselineskip\tocheader\AtBeginShipout{\tocheader}}
\setlength{\cftchapindent}{20pt}% Chapter indent in ToC is 20pt
\begin{lrbox}{\@tempboxa}\bfseries Chapter no\end{lrbox}
\setlength{\cftchapnumwidth}{\dimexpr\wd\@tempboxa-\cftchapindent}% Chapter num width in ToC
\setlength{\cftsecindent}{\wd\@tempboxa}% Section indent in ToC
\setlength{\cftsubsecindent}{\dimexpr\cftsecindent+\cftsecnumwidth}
% LIST OF FIGURES
\renewcommand{\cftfigdotsep}{\cftnodots}
\setlength{\cftbeforeloftitleskip}{0pt}
\setlength{\cftafterloftitleskip}{0pt}
\renewcommand{\cftloftitlefont}{\cleardoublepage\bfseries\Large\hfill}%\listfiguresname
\renewcommand{\cftafterloftitle}{\hfill\null\par\kern.5\baselineskip\tocheader\AtBeginShipout{\tocheader}}
% LIST OF TABLES
\renewcommand{\cfttabdotsep}{\cftnodots}
\setlength{\cftbeforelottitleskip}{0pt}
\setlength{\cftafterlottitleskip}{0pt}
\renewcommand{\cftlottitlefont}{\cleardoublepage\bfseries\Large\hfill}%\listtablesname
\renewcommand{\cftafterlottitle}{\hfill\null\par\kern.5\baselineskip\tocheader\AtBeginShipout{\tocheader}}

\newcommand{\AtBeginShipoutClear}{\gdef\AtBegShi@Hook{}}
\AtEndDocument{%
  \addtocontents{toc}{\protect\AtBeginShipoutClear}%
  \addtocontents{lof}{\protect\AtBeginShipoutClear}%
  \addtocontents{lot}{\protect\AtBeginShipoutClear}%
 }
\makeatother

\begin{document}
\tableofcontents
\listoftables
\listoffigures

\chapter{abcd}\sectionsandtablesandfigures
\chapter{bcde}\sectionsandtablesandfigures
\chapter{cdef}\sectionsandtablesandfigures
\chapter{defg}\sectionsandtablesandfigures
\chapter{efgh}\sectionsandtablesandfigures
\chapter{fghi}\sectionsandtablesandfigures
\chapter{ghji}\sectionsandtablesandfigures
\chapter{hjik}\sectionsandtablesandfigures
\chapter{jikl}\sectionsandtablesandfigures
\chapter{iklm}\sectionsandtablesandfigures
\chapter{klmn}\sectionsandtablesandfigures
\chapter{lmno}\sectionsandtablesandfigures
\chapter{mnop}\sectionsandtablesandfigures
\chapter{nopq}\sectionsandtablesandfigures
\chapter{opqr}\sectionsandtablesandfigures
\chapter{pqrs}\sectionsandtablesandfigures
\chapter{qrst}\sectionsandtablesandfigures
\chapter{rstu}\sectionsandtablesandfigures
\chapter{stuv}\sectionsandtablesandfigures
\chapter{tuvw}\sectionsandtablesandfigures
\chapter{uvwx}\sectionsandtablesandfigures
\chapter{vwxy}\sectionsandtablesandfigures
\chapter{wxyz}\sectionsandtablesandfigures
\end{document}

可能仍需要进行以下修改:

  • 如果你使用hyperref或者bookmark,应将相关信息添加到内容宏(\tableofcontents\listoftables\listoffigures)中。目前它们的\chapter*设置方式与以前不同。
  • 根据你最后的漂浮物的位置,可能需要使用atveryend完成浮点数的处理并获得准确的 ToC/LoT/LoF。
  • 将 ToC/LoF/LoT 添加到 ToC。
  • 修改 ToC/LoF/LoT 周围的页面样式(包括页码)。使用fancyhdr, 如果需要的话。
  • 分段单元的额外缩进超出了\subsection正确排列的范围。但是,已建立了一个\subsection可轻松扩展的基础。

相关内容