这是一个常见的核心问题。我想知道为什么引导点是在数学模式下排版的。
在尝试我自己的切片命令时,我遇到了点对齐问题。这与对齐有关吗?
\leaders\hbox{$\m@th
\mkern \@dotsep mu\hbox{.}\mkern \@dotsep
mu$}\hfill
无论如何,我尝试过
\leaders\hbox{
\kern .8em\hbox{.}\kern .8em}\hfill
而且看起来还相当不错。
从内核 latex.ltx:
\def\@dottedtocline#1#2#3#4#5{%
\ifnum #1>\c@tocdepth \else
\vskip \z@ \@plus.2\p@
{\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
\parindent #2\relax\@afterindenttrue
\interlinepenalty\@M
\leavevmode
\@tempdima #3\relax
\advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
{#4}\nobreak
\leaders\hbox{$\m@th
\mkern \@dotsep mu\hbox{.}\mkern \@dotsep
mu$}\hfill
\nobreak
\hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}%
\par}%
\fi}
请注意tocloft
保持此
\providecommand{\cftdotfill}[1]{%
\def\@tempa{#1}%
\def\@tempb{\cftnodots}%
\ifx\@tempa\@tempb
\hfill
\else
\leaders\hbox{$\m@th\mkern #1 mu\hbox{\cftdot}\mkern #1 mu$}\hfill
\fi
}
答案1
这又回到了普通的 TeX,\dotfill
其定义为
\def\dotfill{\cleaders\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}\hfill}
LaTeX2.09 使用相同的定义,2e 的前几个版本也是如此。然后:
% \changes{v1.1u}{1996/10/28}{Removed math mode}
当前的 2e 定义是
\def\dotfill{%
\leavevmode
\cleaders \hb@xt@ .44em{\hss.\hss}\hfill
\kern\z@}
在 LaTeX 中,2.09 定义中使用的数学模式与原始版本\@dottedtocline
类似。在 2e 中,我们删除了实际的数学设置,但保留了 muskip 间距,可能是为了使现有参数仍然有效。\dotfill
\dotfill
.
\@dotsep
% \item[|\@dotsep|] Separation between dots, in mu units.
% Should be |\def|'d to a number like 2 or 1.7
数学模式的删除.
甚至比以下更早\dotfill
:
% \changes{v1.0k}{1995/04/25}{Added \cs{hbox} around dots.}