根据我的需要定制目录(右调整章节编号)

根据我的需要定制目录(右调整章节编号)

这是我当前正在使用的自定义目录中的部分标题的代码:

\usepackage[dotinlabels]{titletoc}
\titlecontents{section}[1pc]
{\addvspace{0pc}}
{\thecontentslabel.\hspace{3mm}}
{}
{\normalsize\titlerule*[6pt]{.}\contentspage}
[\addvspace{0pt}]

结果如下: enter image description here

问题:我该如何修改它,以便所有章节标题都能正确“左对齐”,即使是从第 10 节开始的章节标题?我希望章节编号能够适当地“向左移动”,这是实现这一点的必要条件。我该如何实现这一点?

答案1

您可以使用\parboxand向右\hfill推;例如:\thecontentslabel

\parbox{1cm}{\hfill\thecontentslabel}

的宽度\parbox可以使用指定最宽标签的长度来设置。一个完整的示例,其中我将最宽标签的宽度设置为99.99.

\documentclass[fleqn,12pt,a4paper]{book}
\usepackage[dotinlabels]{titletoc}

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

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

\begin{document}

\tableofcontents

\chapter{Test}
\section{section-1}
\section{section-2}
\section{section-3}
\section{section-4}
\section{section-5}
\section{section-6}
\section{section-7}
\section{section-8}
\section{section-9}
\section{section-10}
\section{section-11}
\section{section-12}
\section{section-13}

\end{document}

enter image description here

相关内容