这是我当前正在使用的自定义目录中的部分标题的代码:
\usepackage[dotinlabels]{titletoc}
\titlecontents{section}[1pc]
{\addvspace{0pc}}
{\thecontentslabel.\hspace{3mm}}
{}
{\normalsize\titlerule*[6pt]{.}\contentspage}
[\addvspace{0pt}]
结果如下:
问题:我该如何修改它,以便所有章节标题都能正确“左对齐”,即使是从第 10 节开始的章节标题?我希望章节编号能够适当地“向左移动”,这是实现这一点的必要条件。我该如何实现这一点?
答案1
您可以使用\parbox
and向右\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}