在目录中显示 \chaptername

在目录中显示 \chaptername

我正在寻找可以解决在如何让 \chaptername 出现在目录中?包含“章节”的目录和每章的“附录”线程。

这正是我所寻找的。但是当我使用

\usepackage{tocloft}

错误信息如下:

!LaTeX 错误:命令 \c@lofdepth 已定义。或名称 \end... 非法,请参阅手册第 192 页。

请参阅 LaTeX 手册或 LaTeX Companion 了解解释。输入 H 可立即获得帮助。l.597
\newcounter{lofdepth} \setcounter{lofdepth}{1}

请告诉我那是什么错误!以及如何修复?

我的 .cls 文件包含:

\renewcommand\tableofcontents{
\btypeout{Contents}
\addtotoc{Contents}
\begin{spacing}{1}{
\setlength{\parskip}{1pt}
   \if@twocolumn
     \@restonecoltrue\onecolumn
   \else
     \@restonecolfalse
   \fi
   \chapter*{\contentsname
    \@mkboth{
       \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}
   \@starttoc{toc}
   \if@restonecol\twocolumn\fi
   \cleardoublepage
  }\end{spacing}
}

因为当我尝试使用 tocloft 包时发生了错误。所以我使用了以下代码块:

\makeatletter
\let\@@l@chapter\l@chapter
\def\l@chapter#1{\@@l@chapter{\chaptername\ #1}}
\makeatother

但结果却不如人意,是这样的:

章节表格列表
.....
章节图表列表
第 1 章简介
第 1 章目录。...
章节
A 示例

但我想要的是这样的:

表格列表
图列表

第 1 章 简介
...
第 2 章 等等...
附录 A

有人能给我一些建议吗?谢谢!

答案1

您收到的错误来自同时加载tocloftsubfigure包,如以下示例所示:

\documentclass{article}
\usepackage{tocloft}
\usepackage{subfigure}

\begin{document}

test

\end{document}

一旦处理该文档,就会出现以下错误:

! LaTeX Error: Command \c@lofdepth already defined.
               Or name \end... illegal, see p.192 of the manual.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.124 \newcounter{lofdepth}

问题在于两个包都定义了计数器lofdepthlotdepth。为了防止出现错误,只需tocloft使用该subfigure选项加载;即,像这样加载包:

\documentclass{article}
\usepackage[subfigure]{tocloft} 
\usepackage{subfigure} 

\begin{document}

test

\end{document}

顺便说一句,sufigure这是一个过时的包,不应该再使用;subfig或者subcaption是有效的替代方案

相关内容