目录中的附录命名

目录中的附录命名

目前,附录列在我的目录中,如下图所示。现在我想删除 A,只在目录中保留“附录”,但同时,不是丢失附录中的 A.1、A.2、A.3 等表格编号。我该怎么做?

在此处输入图片描述

答案1

ToC 的数字打印机制通常称为\numberline。它采用一个参数,描述如何在 ToC 中设置数字。您可以让此宏从调用 开始吞噬其参数(而不对其执行任何操作)\appendix

在此处输入图片描述

\documentclass{report}

%\usepackage{hyperref}

\makeatletter
%\AtBeginDocument{\let\stored@numberline\numberline}% Store \numberline
%\AtEndDocument{\addtocontents{toc}{\string\let\string\numberline\string\stored@numberline}}% Restore \numberline
\g@addto@macro\appendix{\addtocontents{toc}{\string\let\string\numberline\string\@gobble}}
\makeatother

\begin{document}

\tableofcontents

\chapter{A chapter}
\section{A section}

\appendix
\chapter{Appendix}

\begin{table}[ht]
  \caption{A caption}
\end{table}

\end{document}

以上仍然保持表格(或之后的其他层次结构\appendix)的正确编号:

在此处输入图片描述

它也适用于hyperref如果你正在使用它。


但请注意,变化是书面.toc文件。因此,对\numberline(到\@gobble)的更改可能会影响全部它在您的文档中的未来用途已读入。因此,如果您使用和/或.toc,则可能需要在目录末尾重新插入它。\listoffigures\listoftables

\numberline最小示例中还添加了两个允许存储和恢复的构造。如果使用它们,您的.toc代码应该类似于:

\contentsline {chapter}{\numberline {1}A chapter}{2}
\contentsline {section}{\numberline {1.1}A section}{2}
\let \numberline \@gobble 
\contentsline {chapter}{\numberline {A}Appendix}{3}
\let \numberline \stored@numberline 

相关内容