缩进 ams 类的目录中未编号的部分

缩进 ams 类的目录中未编号的部分

我希望未编号的章节(更具体地说是未编号的子章节)出现在目录中,并缩进到适当的深度(即,就像它们被编号一样)。我正在使用 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,则为零。因此,即使第一个条目没有数字,它也应该可以工作。

相关内容