更改目录中的点大小

更改目录中的点大小

可以改变目录中位于章节名称和页面之间的点的大小吗?

艾隆

答案1

在标准类中,目录条目和页码之间的点由内核的 给出\@dottedtocline;这些点是使用 生成的,用于\leaders排版 的副本\hbox{.};点之间的分隔由 控制\@dotsep mu,其中\@dotsep是一个数字,默认值为4.5。要更改这些设置,您可以修补\@dottedtocline以将其替换\hbox{.}为您想要的任何内容(缩放点,如我的示例所示)和/或重新定义\@dotsep为所需值(我12在我的示例中选择了)。 的参数\mydot控制原始定义中使用的默认 . 的缩放因子(在我的示例中,我选择了2这个因子)

\documentclass{article}
\usepackage{graphicx}
\usepackage{etoolbox}

\makeatletter
% scale dots
\newcommand\mydot[1]{\scalebox{#1}{.}}
\patchcmd{\@dottedtocline}
  {\hbox{.}}
  {\hbox{\mydot{2}}}
  {}
  {}
% change separation between dots
\renewcommand\@dotsep{12} %default: 4.5
\makeatother

\begin{document}


\tableofcontents

\section{Test section}
\subsection{Test subsection}
\subsubsection{Test subsubection}
\subsubsection{Test subsubection}
\subsection{Test subsection}
\subsubsection{Test subsubection}
\subsubsection{Test subsubection}
\subsubsection{Test subsubection}

\end{document}

生成的文档:

在此处输入图片描述

当然,有许多软件包可以帮助您实现相同的目的,而无需了解原始定义。例如,可以通过重新定义和\cftdot\cftdotsep实现相同的修改,由tocloft包裹:

\documentclass{article}
\usepackage{graphicx}
\usepackage{tocloft}

\newcommand\mydot[1]{\scalebox{#1}{.}}
\renewcommand\cftdot{\mydot{2}}
\renewcommand\cftdotsep{12}

\begin{document}


\tableofcontents

\section{Test section}
\subsection{Test subsection}
\subsubsection{Test subsubection}
\subsubsection{Test subsubection}
\subsection{Test subsection}
\subsubsection{Test subsubection}
\subsubsection{Test subsubection}
\subsubsection{Test subsubection}

\end{document}

也可以使用其他包来实现相同的重新定义,包括:

相关内容