我想在目录 (TOC) 中的章节编号和标题之间使用两种不同的间距
我已经尝试过以下解决方案:
但我认为它们不合适。
好吧,最小的例子是:
\documentclass[a4paper,12pt,twoside]{scrreprt}
\usepackage{hyperref}
\hypersetup{colorlinks,breaklinks,plainpages=false,linktocpage,hypertexnames=true,naturalnames=false}
\hypersetup{linkcolor=red,citecolor=blue,filecolor=blue,urlcolor=blue} %Colorful
\usepackage{tocloft}
%%% Configure de distance
\setlength{\cftsecnumwidth}{4em}
\begin{document}
\tableofcontents
\chapter{Hardware Data} \label{chap.hardware}
\setcounter{section}{19}
\section{Test section one}
\subsection{test section one one}
\subsection{test section one two}
\section{Test section two}
\subsection{test section two one}
\subsection{test section two two}
%%%% Appendix
\cleardoublepage
\phantomsection
\appendix
\chapter*{Appendix}
\addcontentsline{toc}{part}{Appendix}
\chapter{Appendix Test Chapter}
\setcounter{section}{199}
\section{Test Section}
%%%%%%%%%%%%%%%% Annex:
\cleardoublepage
\phantomsection
\setcounter{chapter}{0}
\renewcommand{\theHchapter}{an.\Alph{chapter}}
\renewcommand{\thechapter}{$\,\!$\Alph{chapter}}
\renewcommand{\appendixname}{Annex}
\addcontentsline{toc}{part}{Annex}
\chapter*{Annex}
\renewcommand{\thesection}{\thechapter$_{x}$.\arabic{section}}
\chapter{Annex Test Chapter}
\setcounter{section}{1199}
\section{Test Section}
\end{document}
下图中的结果取决于
\setlength{\cftsecnumwidth}{4em}
好吧,我希望在附件中留出更多空间,但我也希望为常规章节中的部分保留较小的间距。
有人有线索和/或可以提供帮助吗?
多谢 !
将要
PS:顺便说一下,我也问过这个问题
答案1
这个过程可能有点违反直觉,但你需要在文档中间插入间距更改,才能使其在目录中产生部分影响。这样做的原因是,.toc
在调用 时会读取整个文件\tableofcontents
。因此,更改之前的任何内容(例如,在序言中)都会对整个目录产生影响。解决方案是添加
\addtocontents{toc}{\setlength{\cftsecnumwidth}{4em}}
在您启动附录后:
\documentclass[a4paper,12pt,twoside]{scrreprt}% http://ctan.org/pkg/koma-script
\usepackage{hyperref}% http://ctan.org/pkg/hyperref
\hypersetup{colorlinks,breaklinks,plainpages=false,linktocpage,hypertexnames=true,naturalnames=false}
\hypersetup{linkcolor=red,citecolor=blue,filecolor=blue,urlcolor=blue} %Colorful
\usepackage{tocloft}
\begin{document}
\tableofcontents
\chapter{Hardware Data} \label{chap.hardware}
\setcounter{section}{19}
\section{Test section one}
\subsection{test section one one}
\subsection{test section one two}
\section{Test section two}
\subsection{test section two one}
\subsection{test section two two}
%%%% Appendix
\cleardoublepage
\phantomsection
\appendix
\chapter*{Appendix}
\addcontentsline{toc}{part}{Appendix}
%%% Configure de distance
\addtocontents{toc}{\setlength{\cftsecnumwidth}{4em}}
\chapter{Appendix Test Chapter}
\setcounter{section}{199}
\section{Test Section}
%%%%%%%%%%%%%%%% Annex:
\cleardoublepage
\phantomsection
\setcounter{chapter}{0}
\renewcommand{\theHchapter}{an.\Alph{chapter}}
\renewcommand{\thechapter}{$\,\!$\Alph{chapter}}
\renewcommand{\appendixname}{Annex}
\addcontentsline{toc}{part}{Annex}
\chapter*{Annex}
\renewcommand{\thesection}{\thechapter$_{x}$.\arabic{section}}
\chapter{Annex Test Chapter}
\setcounter{section}{1199}
\section{Test Section}
\end{document}
由于您正在向目录添加内容,因此只有在第二次编译时才会显示结果。