![缩进目录中的小节](https://linux22.com/image/367065/%E7%BC%A9%E8%BF%9B%E7%9B%AE%E5%BD%95%E4%B8%AD%E7%9A%84%E5%B0%8F%E8%8A%82.png)
左上方是我正在撰写的论文中的当前目录,我真的希望我可以像我在右侧显示的那样缩进子部分(我承认我刚刚在 Paint 中将它们全部移动到 16px 以上,这似乎是理想的量)。
有人知道我该如何将其纳入我的论文中吗?
这是我能管理的最小的 MWE:
\documentclass[10pt,article]{amsart}
\begin{document}
\tableofcontents
\section{Section A}
\subsection{Subsection (16px Indent)}
\subsection{Subsection (16px Indent)}
\section{Section B}
\subsection{Subsection (16px Indent)}
\subsection{Subsection (16px Indent)}
\end{document}
答案1
也许下面的代码可以满足您的需要。
\documentclass[10pt,article]{amsart}
\makeatletter
\def\@tocline#1#2#3#4#5#6#7{\relax
\ifnum #1>\c@tocdepth % then omit
\else
\par \addpenalty\@secpenalty\addvspace{#2}%
\begingroup \hyphenpenalty\@M
\@ifempty{#4}{%
\@tempdima\csname r@tocindent\number#1\endcsname\relax
}{%
\@tempdima#4\relax
}%
\parindent\z@ \leftskip#3\relax \advance\leftskip\@tempdima\relax
\rightskip\@pnumwidth plus4em \parfillskip-\@pnumwidth
#5\leavevmode\hskip-\@tempdima
\ifcase #1
\or\or \hskip 1em \or \hskip 2em \else \hskip 3em \fi%
#6\nobreak\relax
\hfill\hbox to\@pnumwidth{\@tocpagenum{#7}}\par% <---- \dotfill -> \hfill
\nobreak
\endgroup
\fi}
\makeatother
\begin{document}
\tableofcontents
\section{Section A}
\subsection{Subsection (16px Indent)}
\subsection{Subsection (16px Indent)}
\section{Section B}
\subsection{Subsection (16px Indent)}
\subsection{Subsection (16px Indent)}
\end{document}
以下是PDF样式。
答案2
如果您可以使用标准类,则目录中的缩进是默认的。在这种情况下,您可能希望加载一些额外的包来排版数学。默认情况下,这些包由 AMS 类使用,但您必须使用标准类专门加载它们。
例如,
\documentclass{article}
\usepackage{amssymb,amsmath,amsthm}
\begin{document}
\tableofcontents
\section{Section A}
\subsection{Subsection (16px Indent)}
\subsection{Subsection (16px Indent)}
\section{Section B}
\subsection{Subsection (16px Indent)}
\subsection{Subsection (16px Indent)}
\end{document}
生产
这是否是最佳选择取决于您的需求。通常,在其他条件相同的情况下,选择一个与主要文档元素的布局尽可能接近的类,这样您就无需进行太多调整来自定义它。其他条件并不总是相同的。有些类的编码很糟糕,最好避免使用。但默认类、AMS 类、KOMA、Memoir 等都是不错的起点。