我用 amsart 编写了这个目录,我想知道是否有一种简单的方法可以调整我的代码以在标题(“a”、“b”、“c”)和页码之间添加点。有很多方法可以在本网站的目录中添加点,但由于我目前拥有的目录代码特别简单,我很好奇是否可以简单地编辑它以获取点。
\documentclass[hidelinks,12pt,a4paper]{amsart}
\makeatletter \def\l@subsection{\@tocline{2}{0pt}{4pc}{6pc}{}}
\def\l@subsubsection{\@tocline{3}{0pt}{8pc}{8pc}{}} \makeatother
\begin{document}
\author{author} \title{title} \maketitle
\renewcommand\contentsname{\vspace{-1cm}} \tableofcontents
\section{a}
\section{b}
\subsection{c}
\end{document}
答案1
试试这个代码:
\documentclass[hidelinks,12pt,a4paper]{amsart}
% ******************************************* added <<<<<<<<<<<<
\usepackage{xpatch}
\makeatletter
\xpatchcmd{\@tocline}
{\hfil\hbox to\@pnumwidth{\@tocpagenum{#7}}\par}
{\ifnum#1<0\hfill\else\dotfill\fi\hbox to\@pnumwidth{\@tocpagenum{#7}}\par}
{}{}
\makeatother
% *******************************************
\makeatletter
\def\l@subsection{\@tocline{2}{0pt}{4pc}{6pc}{}}
\def\l@subsubsection{\@tocline{3}{0pt}{8pc}{8pc}{}}
\makeatother
\begin{document}
\author{author} \title{title} \maketitle
\renewcommand\contentsname{\vspace{-1cm}} \tableofcontents
\section{a}
\section{b}
\subsection{c}
\end{document}