在“内容”标题和目录之间留出一些空间

在“内容”标题和目录之间留出一些空间

在 中amsart,如何\vspace{3mm}在标题“目录”和目录之间留下附加内容?

答案1

这是一个选项:

\documentclass{amsart}

\makeatletter
\def\@starttoc#1#2{\begingroup
  \setTrue{#1}%
  \par\removelastskip\vskip\z@skip
  \@startsection{}\@M\z@{\linespacing\@plus\linespacing}%
    {.5\linespacing}{\centering\contentsnamefont}{#2}%
  \ifx\contentsname#2%
    \vspace{3mm}% Here for the ToC only
  \else \addcontentsline{toc}{section}{#2}\fi
    %\vspace{3mm}% Here for all lists
  \makeatletter
  \@input{\jobname.#1}%
  \if@filesw
    \@xp\newwrite\csname tf@#1\endcsname
    \immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax
  \fi
  \global\@nobreakfalse \endgroup
  \addvspace{32\p@\@plus14\p@}%
  \let\tableofcontents\relax
}
\makeatother

\begin{document}

\tableofcontents
\listoftables
\listoffigures

\section{Test section}
\begin{figure}
\caption{A test figure}
\end{figure}
\begin{table}
\caption{A test table}
\end{table}

\end{document}

使用

    \vspace{3mm}% Here for the ToC only

仅为目录添加间距。注释掉上一行并取消注释

    %\vspace{3mm}% Here for all lists

如果也必须对 LoF 和 LoT 进行添加。

答案2

对于所有与 ToC 相关的结构,以下补丁来自etoolbox作品:

\usepackage{etoolbox}
\makeatletter
% \patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}
\patchcmd{\@starttoc}{.5\linespacing}{5\baselineskip}{}{}
\makeatother

它将现有的垂直间隙(.5\linespacing或 6pt)替换为5\baselineskip(或您选择的任何值)。如果您只想影响 ToC(而不影响 LoF 或 LoT),则需要在上述补丁之前放置以下内容:

\makeatletter
\let\old@starttoc\@starttoc
\renewcommand{\listoffigures}{\old@starttoc{lof}\listfigurename}
\renewcommand{\listoftables}{\old@starttoc{lot}\listtablename}
\makeatother

这是一个完整的例子:

在此处输入图片描述

\documentclass{amsart}

\usepackage{etoolbox}

\makeatletter
\let\old@starttoc\@starttoc
\renewcommand{\listoffigures}{\old@starttoc{lof}\listfigurename}
\renewcommand{\listoftables}{\old@starttoc{lot}\listtablename}
% \patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}
\patchcmd{\@starttoc}{.5\linespacing}{5\baselineskip}{}{}
\makeatother

\begin{document}

\tableofcontents

\listoffigures

\section{A section}

\begin{figure}
  \caption{A figure caption}
\end{figure}

\end{document}

相关内容