我使用带有 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
参数控制条目的缩进;更改1pt
为2.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