2.

2.

如果你编译我当前的 TOC 代码:

\documentclass[a4paper,10pt]{book}

\usepackage{lipsum,kantlipsum}
\usepackage[dotinlabels]{titletoc}

\contentsmargin{0pt}
\renewcommand\contentspage{\thecontentspage}

\titlecontents{chapter}[0pc]
{\addvspace{0.8pc}\large\scshape}
{\chaptername\ \thecontentslabel: }
{}
{\normalsize\titlerule*[6pt]{.}\contentspage}
[\addvspace{3pt}]

\newlength\widest
\settowidth\widest{99.99.}

\titlecontents{section}[1.025pc]
{\addvspace{0pc}}
{\parbox[t]{\widest}{\hfill\thecontentslabel.}\hspace{3mm}}
{}
{\normalsize\titlerule*[6pt]{.}\contentspage}
[\addvspace{0pt}]

\renewcommand\thesection{\arabic{section}}

\begin{document}
\tableofcontents
\chapter{Chapter 1}\section{Section 1}\kant[1-8]
\chapter{Chapter 2}\section{Section 2}\kant[1-60]
\chapter{Chapter 3}\section{Section 3}
\end{document}

您将看到如下所示的目录:

目录

我对此几乎非常满意,但仍有两个问题:

  1. 章节点并非与节点完全 100% 对齐。更准确地说,章节名称后的每个点与节名称后其下方的点并不具有完全相同的水平位置。

  2. 章节后的页码与节后的页码看起来不完全相同。水平方向的位置也不相同。我想让第一章看起来与第一节完全相同(不改变章节标题的字体大小)。

你能帮我吗?简而言之:所有点和页码看起来都一样且正确对齐,无论是章节还是部分。

答案1

2.

对于您正在使用的章节,只有字体大小通过点和页码\large\scshape重置。将字体形状重置为正常设置:\normalsize\upshape

\titlecontents{chapter}...{\normalsize\upshape\titlerule*[6pt]{.}\contentspage}...

1.

\titlerule*\leaders目录中的用途。因此,点在垂直方向上完全对齐。可能您指的是标题和点后的水平距离。此空间可以为零,页码前的空间也可以为零。因此,我至少会在点前后添加一些空间\,

\documentclass[a4paper,10pt]{book}

\usepackage{lipsum,kantlipsum}
\usepackage[dotinlabels]{titletoc}

\contentsmargin{0pt}
\renewcommand\contentspage{\thecontentspage}

\titlecontents{chapter}[0pc]
{\addvspace{0.8pc}\large\scshape}
{\chaptername\ \thecontentslabel: }
{}
{\normalsize\upshape\,\titlerule*[6pt]{.}\,\contentspage}
[\addvspace{3pt}]

\newlength\widest
\settowidth\widest{99.99.}

\titlecontents{section}[1.025pc]
{\addvspace{0pc}}
{\parbox[t]{\widest}{\hfill\thecontentslabel.}\hspace{3mm}}
{}
{\normalsize\,\titlerule*[6pt]{.}\,\contentspage}
[\addvspace{0pt}]

\renewcommand\thesection{\arabic{section}}

\begin{document}
\tableofcontents
\chapter{Chapter 1}\section{Section 1}\kant[1-8]
\chapter{Chapter 2}\section{Section 2}\kant[1-60]
\chapter{Chapter 3}\section{Section 3}
\newpage
\setcounter{page}{100}
\chapter{Chapter 4}   
\end{document}

结果

答案2

添加\normalfont\normalsize:在章节条目中,您使用小型大写字体的句点,这与普通字体略有不同。

\titlecontents{chapter}[0pc]
{\addvspace{0.8pc}\large\scshape}
{\chaptername\ \thecontentslabel: }
{}
{\normalsize\normalfont\titlerule*[6pt]{.}\contentspage}
[\addvspace{3pt}]

这也应该可以解释数字上的差异(我无法注意到)。

相关内容