![带缩进和点的目录](https://linux22.com/image/248342/%E5%B8%A6%E7%BC%A9%E8%BF%9B%E5%92%8C%E7%82%B9%E7%9A%84%E7%9B%AE%E5%BD%95.png)
我的工作示例中有一个如下所示的目录。
\documentclass[a4paper,12pt]{amsart}
\usepackage{tikz}
\usepackage{graphicx}
\usepackage{ellipsis}
\usepackage{soul}
\usepackage{amsthm}
\usepackage{amsmath,amssymb}
\usepackage{colortbl}
\usepackage{multirow}
\usepackage{caption}
\usepackage{rotating}
\usepackage{pdflscape}
\usepackage{hyperref}
\hypersetup{
colorlinks,%
citecolor=black,%
filecolor=black,%
linkcolor=black,%
urlcolor=black
}
\begin{document}
\tableofcontents
\section{Introduction}
\subsection{Subsection}
\subsubsection{Subsubsection}
\section{Section}
\subsection{Subsection}
\end{document}
我想缩进目录中的子部分,如果可能的话,在页码后面加点。其他人遇到的大多数问题似乎都是如何去掉这些...有什么帮助吗?!
答案1
正如我在评论中所写,我建议使用另一个类。AMS 类是为 AMS 创建的特殊类。例如,该类不适用于其他一些包,如titlesec
。因此您必须操作内部定义。我认为如果您的大学推荐这门课,您不应该改变格式。
但是这里有一个简单的方法,我删除了不相关的包:
\documentclass[a4paper,12pt]{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
\dotfill\hbox to\@pnumwidth{\@tocpagenum{#7}}\par
\nobreak
\endgroup
\fi}
\makeatother
\usepackage{hyperref}
\begin{document}
\tableofcontents
\section{Introduction}
\subsection{Subsection}
\subsubsection{Subsubsection}
\section{Section}
\subsection{Subsection}
\end{document}