我希望未编号的章节(更具体地说是未编号的子章节)出现在目录中,并缩进到适当的深度(即,就像它们被编号一样)。我正在使用 amsbook 文档类。
注意:此问题已针对问题中的非 ams 文档类解决如何使目录中未编号的部分对齐?以及其他地方的 koma-script 类,但据我所知,ams 类还没有解决这个问题。
答案1
\documentclass{amsbook}
\begin{document}
\tableofcontents
\section{section A}
\section*{%
\for{toc}{\protect\hphantom{\numberline{\thesection}}section B}%
\except{toc}{section B}%
}
\section{section C}
\end{document}
更新
在查阅了 的文档后,amsclass
我发现\tocsection
(也用于子部分和子子部分)定义为\indentlabel{\@ifnotempty{#2}{\ignorespaces#1 #2.\quad}}#3}
。因此,以下相当简单的设置实际上应该可以工作:
\documentclass{amsbook}
\begin{document}
\setcounter{tocdepth}{3}
\tableofcontents
\section{section A}
\section*{%
\for{toc}{\protect\hphantom{\thesection.\quad}section B}%
\except{toc}{section B}%
}
\subsection{subsection 1}
\subsection*{%
\for{toc}{\protect\hphantom{\thesubsection.\quad}subsection 2}%
\except{toc}{subsection 2}%
}
\subsubsection{subsubsection a}
\subsubsection*{%
\for{toc}{\protect\hphantom{\thesubsubsection.\quad}subsubsection b}%
\except{toc}{subsubsection b}%
}
\subsubsection{subsubsection c}
\end{document}
计数器\thesection
和保存之前的节、子节或子子节的值,如果是第一个\thesubsection
条目\thesubsubsection
,则为零。因此,即使第一个条目没有数字,它也应该可以工作。