如何在 AMS TOC 中缩进子部分

如何在 AMS TOC 中缩进子部分

我使用带有 gsm-l 包的 AMS LaTeX 模板来编写我的教师用书。

生成的目录具有以下格式:

在此处输入图片描述

其中 1、2、3.... 为节,3.1、3.2、4.1、4.2、.... 为子节。

我想根据节缩进子节,如下所示(但没有点也可以):

在此处输入图片描述

答案1

该类别gsm-l基于amsbook并且目录中的子部分条目根据定义进行\l@subsection排版amsbook

\def\l@subsection{\@tocline{2}{0pt}{1pc}{5pc}{}}

的第三个强制\@tocline参数控制条目的缩进;更改1pt2.5pc(或更改为适合您需要的值):

\documentclass{gsm-l}

\setcounter{tocdepth}{3}
\makeatletter
\def\l@subsection{\@tocline{2}{0pt}{2.5pc}{5pc}{}}
\makeatother

\begin{document}

\tableofcontents
\chapter{Test chapter}
\section{Test section}
\subsection{Test subsection}
\subsection{Test subsection}
\section{Test section}
\subsection{Test subsection}
\subsection{Test subsection}

\end{document}

在此处输入图片描述

也许你还想改变第四个参数(控制跨越多行的条目的悬挂缩进),所以也许

\def\l@subsection{\@tocline{2}{0pt}{2.5pc}{4pc}{}}

也可能是一个合理的重新定义。

答案2

值得一提的是,我在我的写作中使用了小节,而当需要进行额外的缩进时,当前接受的答案并不像人们希望的那样运作。

如果您与我的情况相同,请使用此代码使子小节缩进到目录中的小节之外!

\setcounter{tocdepth}{3}
\makeatletter
\def\l@subsection{\@tocline{2}{0pt}{2.5pc}{5pc}{}}
\def\l@subsubsection{\@tocline{2}{0pt}{5pc}{7.5pc}{}}
\makeatother

相关内容