保持标题编号与标题间距一致的情况下 ToC 中多行标题的对齐问题

保持标题编号与标题间距一致的情况下 ToC 中多行标题的对齐问题

我有一些多行标题,我想将第二行与第一行对齐。此外,我使用以下代码使标题编号和标题之间的间距保持一致。

\makeatletter
\renewcommand{\numberline}[1]{%
\settowidth\@tempdimb{#1\hspace{0.8em}}%
\ifdim\@tempdima<\@tempdimb%
\@tempdima=\@tempdimb%
\fi%
\hb@xt@\@tempdima{\@cftbsnum #1\@cftasnum\hfil}\@cftasnumb}
\makeatother

我知道我可以改变 的值cftsecnumwidth来控制第二行的缩进。但问题是我需要对标题编号长度不同的条目使用不同的缩进。

受评论提醒,我尝试使用\section[<short title>]{<title>}withparbox来对齐<short title>目录中的。但是,因为我使用 参数[t]将标题编号与标题框的第一行对齐,所以页码也会与第一行对齐,而不是与不使用 时的第二行对齐parbox

在此处输入图片描述

这是原始的完整代码。

\documentclass[11pt]{article}

\usepackage{tocloft}

\makeatletter
\renewcommand{\numberline}[1]{%
\settowidth\@tempdimb{#1\hspace{0.8em}}%
\ifdim\@tempdima<\@tempdimb%
\@tempdima=\@tempdimb%
\fi%
\hb@xt@\@tempdima{\@cftbsnum #1\@cftasnum\hfil}\@cftasnumb}
\makeatother

\begin{document}

\tableofcontents
\newpage

\renewcommand\thesection{\S\arabic{section}}
\section{Hello World Hello World Hello World Hello World Hello World Hello World}

\setcounter{section}{10}
\section{Hello World Hello World Hello World Hello World Hello World Hello World}

\renewcommand\thesection{Appendix \Alph{section}}
\section{Hello World Hello World Hello World Hello World Hello World Hello World}

\end{document}

这是原始结果。

在此处输入图片描述

被这个问题困扰了好几天,如果大家能给我一些建议的话我将非常感激。

相关内容