可以改变目录中位于章节名称和页面之间的点的大小吗?
艾隆
答案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}
也可以使用其他包来实现相同的重新定义,包括: