TOC 章节条目对齐

TOC 章节条目对齐

我在格式化文档的目录时遇到了麻烦。我的章节标题很长,会换行到两行目录文本中。问题是单个章节标题的第二行与章节号对齐,但我需要它与第一行标题文本的开头对齐:

章节标题过长,对齐不佳

我正在使用学校里流行的样式文件,这里是 \l@chapter 的定义:

\def\l@chapter#1#2{%
\pagebreak[3]
\vskip .75em plus 1pt \@tempdima 1.5em 
\begingroup
    \parindent \z@ \rightskip \@pnumwidth
    \parfillskip -\@pnumwidth
    \leavevmode {\MakeUppercase{#1}\mydotfill \hbox to\@pnumwidth{\hss #2}}
    \par
\endgroup
}

关于如何使第二行与第一行文本对齐,有什么想法吗?

谢谢!

答案1

这也许是实现这一目标的更简单的方法:

在此处输入图片描述

\documentclass{report}

\makeatletter
\def\l@chapter#1#2{%
\pagebreak[3]
\vskip .75em plus 1pt \@tempdima 1.5em 
\begingroup
  \parindent \z@ \rightskip \@pnumwidth
  \parfillskip -\@pnumwidth
  \advance\leftskip\@tempdima
  \hskip -\leftskip
  \leavevmode \MakeUppercase{#1}\dotfill \hbox to\@pnumwidth{\hss #2}
  \par
\endgroup
}
\makeatother

\begin{document}

\tableofcontents

\chapter{This is a super long chapter heading that requires more than one line in the Table of Contents}

\end{document}

的调整\leftskip直接取自\l@chapterbook.cls

答案2

我的妻子想出了一个解决方案!(类似于 Sigur)。我在短标题中手动换行并添加 \hspace*,然后调整 hspace 距离直到对齐。虽然不优雅,但很有效!

相关内容