TOC 多行章节标题错位

TOC 多行章节标题错位

我在对齐目录中的多行章节标题时遇到了一些困难。 ToC 示例

后面有一个多余的空格第1章:

我不想要多余的空间。此外,目录中的所有多行章节、节和小节都应正确对齐,即第二行、第三行(等等)应与第一行完全对齐(删除第一行中的空格后)。在我的情况下,第二行和第三行对齐正确,但第一行对齐不正确。请注意,附录中有多余的空格(后 :) 我也不需要。

非常感谢您的任何帮助。

在此处输入图片描述

我正在使用以下代码来实现(在 USC-Thesis 类文件中)ToC 设置:

\newlength\mylenprt %part
\newlength\mylenchp %chp
\newlength\mylenapp %app
\newlength\mylena %fig
\newlength\mylenb %tab  

\renewcommand\cftpartpresnum{\partname~}
\renewcommand\cftchappresnum{\chaptername~}
\renewcommand\cftfigpresnum{\figurename~}
\renewcommand\cfttabpresnum{\tablename~}
\renewcommand\cftchapaftersnum{:}
\renewcommand{\cftfigaftersnum}{:}
\renewcommand{\cfttabaftersnum}{:}

\settowidth\mylenprt{\cftpartfont\cftpartpresnum\cftpartaftersnum}
\settowidth\mylenchp{\cftchapfont\cftchappresnum\cftchapaftersnum}
\settowidth\mylenapp{\cftchapfont\appendixname~\cftchapaftersnum}
\settowidth\mylena{\cftfigfont\figurename~\cftfigaftersnum}
\settowidth\mylenb{\cfttabfont\tablename~\cfttabaftersnum}
\addtolength\mylenprt{\cftpartnumwidth}
\addtolength\mylenchp{\cftchapnumwidth}
\addtolength\mylenapp{\cftchapnumwidth}
\addtolength\cftfignumwidth{\mylena}
\addtolength\cfttabnumwidth{\mylenb}

\setlength\cftpartnumwidth{\mylenprt}
\setlength\cftchapnumwidth{\mylenchp}
\setlength\cftbeforefigskip{30pt}

下面是我的最小示例:

\documentclass[final]{USC-Thesis}
\usepackage[titles]{tocloft}
\usepackage[lofdepth,lotdepth]{subfig}
\usepackage{appendix} %[titletoc]
\renewcommand{\cftchapfont}{
\bfseries   %\normalfont 
}
\renewcommand{\cftchappagefont}{%
\bfseries   %\normalfont 
}

\begin{document}

\renewcommand{\contentsname}{Table of Contents}
\tableofcontents

\mainmatter

\chapter{This is a super long chapter heading that requires more than one 
line in the Table of Contents. It can go more than 3 lines.}

\section{Section I}

\subsection{This is a super long chapter heading that requires more than one 
line in the Table of Contents. It can go more than 3 lines Section II}

\subsection{Section III}

\subsubsection{Subsection I}

\appendix
\addtocontents{toc}{% NB!!! must be inside the first \include
    \protect\renewcommand\protect\cftchappresnum{\appendixname~}%
    \protect\setlength{\cftchapnumwidth}{\mylenapp} \protect\newpage
    }%
\noappendicestocpagenum
\addappheadtotoc
\chapter{Some title 1}
\chapter{Some title 2}
\chapter{Some title 3}
\end{document}

答案1

我认为您的 MWE 中至少存在两个问题。

}首先,你的标题末尾缺少一个\chapter

其次你定义:

\renewcommand{\cftchapfont}{
  \bfseries
}

而它应该是

\renewcommand{\cftchapfont}{%
  \bfseries
}

这将消除章节冒号和标题开头之间的多余空格。

相关内容