我对目录有疑问。我看不到包含目录的图表或表格列表。它们不存在,即使它们位于简介之前并且有罗马数字。
我该怎么做才能将它们包括在内?
答案1
我能想到的最简单的方法是使用 »托比宾“ 包裹。
\documentcetholass[11pt]{report}
\usepackage[T1]{fontenc}
\usepackage{caption}
\usepackage[nottoc]{tocbibind}
\begin{document}
\tableofcontents
\listoffigures
\listoftables
\chapter{Foo}
\begin{figure}[!htb]
\centering
\rule{4in}{2.25in}
\caption{Dummy figure}
\label{fig:dummy}
\end{figure}
\begin{table}[!htb]
\caption{Dummy figure}
\label{tab:dummy}
\centering
\rule{4in}{2.25in}
\end{table}
\end{document}
答案2
这是默认文档类中的典型情况,因为 LoF 和 LoT(包括 ToC)都是作为(无编号章节)发布的。而且,很明显,这些并没有进入 ToC。为什么?请参见与(来自)的定义相比\chapter*
的定义\@schapter
\@chapter
report.cls
):
\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
\refstepcounter{chapter}%
\typeout{\@chapapp\space\thechapter.}%
\addcontentsline{toc}{chapter}% Add \chapter to ToC
{\protect\numberline{\thechapter}#1}%
\else
\addcontentsline{toc}{chapter}{#1}%
\fi
\chaptermark{#1}%
\addtocontents{lof}{\protect\addvspace{10\p@}}% Insert gap in LoF
\addtocontents{lot}{\protect\addvspace{10\p@}}% Insert gap in LoT
\if@twocolumn
\@topnewpage[\@makechapterhead{#2}]%
\else
\@makechapterhead{#2}%
\@afterheading
\fi}
\def\@schapter#1{\if@twocolumn
\@topnewpage[\@makeschapterhead{#1}]%
\else
\@makeschapterhead{#1}%
\@afterheading
\fi}
\@chapter
(associated with \chapter
) 不遗余力地设置编号并将其包含在 ToC (via \addcontentsline{toc}{chapter}{...}
) 中。这些都不出现在\@schapter
(associated with \chapter*
) 中。因此,如果您希望实现这一点,您可以手动插入相应的代码行:
\documentclass{report}
\begin{document}
\tableofcontents
\clearpage\addcontentsline{toc}{chapter}{List of Figures}% Add LoF to ToC
\listoffigures
%\clearpage\addcontentsline{toc}{chapter}{List of Tables}% Add LoT to ToC
\listoftables
\chapter{A chapter}
\begin{figure}\caption{A figure}\end{figure}
\begin{table}\caption{A table}\end{table}
\end{document}
在上面的 MWE 中,我仅将 LoF 添加到 ToC 以显示差异。使用带有样式的\addcontentsline{<file>}{<style>}{<stuff>}
插入到文件中。每个部分单元(或有时是浮动对象)都有不同的样式/格式。在这种情况下,由于(和) 都是s,因此我使用与 相同的格式进行格式化。<stuff>
<style>
\jobname.<file>
\listoffigures
\listoftables
\chapter*
<style>
chapter