在目录中显示两层列表

在目录中显示两层列表

我有一个如下的文件:

\documentclass[12pt]{article}
\begin{document}
\setcounter{tocdepth}{2}
\tableofcontents
\newpage
\section{A Section}
body

\begin{figure}
abc
\caption{a figure}
\end{figure}

\begin{table}{l}
efg
\caption{a table}
\end{table}

\newpage
\cleardoublepage
\listoffigures
\cleardoublepage
\listoftables
\end{document}

编译得很好。然而,在目录中,List of FiguresList of Tables未显示(请忽略字体和背景颜色)。

在此处输入图片描述

有人能告诉我如何让这两个列表出现在目录中吗?此外,我希望看到以下两个级别:Lists第一级,所有列表在第二级,可以吗?

Lists                                               3
   List of Figures                                  3
   List of Tables                                   4

答案1

像这样吗?

在此处输入图片描述

代码:

\documentclass[12pt]{article}
\begin{document}
\setcounter{tocdepth}{2}
\tableofcontents
\newpage
\section{A Section}
body

\begin{figure}
abc
\caption{a figure}
\end{figure}

\begin{table}{l}
efg
\caption{a table}
\end{table}

\newpage
\cleardoublepage
\addcontentsline{toc}{section}{Lists}
\addcontentsline{toc}{section}{\protect\numberline{}\listfigurename}
\listoffigures
\cleardoublepage
\addcontentsline{toc}{section}{\protect\numberline{}\listtablename}
\listoftables
\end{document} 

编辑

如果只想为这些条目添加虚线,请加载tocloft包并发出

\renewcommand{\cftdot}{\_}

在序言和

\addtocontents{toc}{%
  \protect\renewcommand{\protect\cftsecleader}{\protect\cftdotfill{\protect\cftdotsep}}}

在正确的时间点,然后

\addtocontents{toc}{\protect\renewcommand{\protect\cftsecleader}{\protect\hfill}}

当它们不再需要时,如以下示例所示

\documentclass[12pt]{article}
\usepackage{tocloft}
\renewcommand{\cftdot}{\_}

\begin{document}
\setcounter{tocdepth}{2}
\tableofcontents
\newpage
\section{A Section}
body

\begin{figure}
abc
\caption{a figure}
\end{figure}

\begin{table}{l}
efg
\caption{a table}
\end{table}

\newpage
\cleardoublepage
\addcontentsline{toc}{section}{Lists}
\addtocontents{toc}{%
  \protect\renewcommand{\protect\cftsecleader}{\protect\cftdotfill{\protect\cftdotsep}}}
\addcontentsline{toc}{section}{\protect\numberline{}\listfigurename}
\listoffigures
\cleardoublepage
\addcontentsline{toc}{section}{\protect\numberline{}\listtablename}
\listoftables
\cleardoublepage
\addtocontents{toc}{\protect\renewcommand{\protect\cftsecleader}{\protect\hfill}}
\section{Another section}
\end{document} 

输出

在此处输入图片描述

否则,省略

\renewcommand{\cftdot}{\_}

你会得到虚线,在我看来,看起来更好

在此处输入图片描述


编辑#2

如果您希望所有条目都表现出这种行为,只需发出

\renewcommand{\cftsecleader}{\cftdotfill{\cftdotsep}}

在序言中,这取决于你想要什么。

这是虚线示例

\documentclass[12pt]{article}
\usepackage{tocloft}
\renewcommand{\cftsecleader}{\cftdotfill{\cftdotsep}}

\begin{document}
\setcounter{tocdepth}{2}
\tableofcontents
\newpage
\section{A Section}
body

\begin{figure}
abc
\caption{a figure}
\end{figure}

\begin{table}{l}
efg
\caption{a table}
\end{table}

\newpage
\cleardoublepage
\addcontentsline{toc}{section}{Lists}
\addcontentsline{toc}{section}{\protect\numberline{}\listfigurename}
\listoffigures
\cleardoublepage
\addcontentsline{toc}{section}{\protect\numberline{}\listtablename}
\listoftables
\cleardoublepage
\section{Another section}
\end{document} 

输出

在此处输入图片描述

相关内容