![如何动态调整 \cftchapnumwidth?](https://linux22.com/image/246814/%E5%A6%82%E4%BD%95%E5%8A%A8%E6%80%81%E8%B0%83%E6%95%B4%20%5Ccftchapnumwidth%EF%BC%9F.png)
我正在使用tocloft
包来格式化目录。
以下最小工作示例中重现了该问题。附录 A 的缩进级别不正确。但该命令\setlength{\cftchapnumwidth}{30mm}
第二次不起作用。
以下是该图片的文字版本:
Contents
Chapter 1. My chapter name bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla 2
Appendix A: My appendix name bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla 3
^ $
^ - incorrect indentation level (25 mm)
$ - correct indentation level (30 mm)
该图片是由以下代码生成的。
\documentclass[12pt,openany,oneside,a4paper]{book}
\usepackage[titles]{tocloft}
\begin{document}
\setlength{\cftchapnumwidth}{25mm} %25mm have been chosen manually
\tableofcontents
\chapter*{Chapter 1. My chapter name bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla}
\addcontentsline{toc}{chapter}{Chapter 1. My chapter name bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla}
Chapter text.
\appendix
\setlength{\cftchapnumwidth}{30mm} %This command doesn't work!
\chapter*{Appendix A: My appendix name bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla}
\addcontentsline{toc}{chapter}{Appendix A: My appendix name bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla}
Appendix Text.
\end{document}
我不知道如何修补代码。
答案1
\appendix
将后面的行改为
\addtocontents{toc}{\protect\setlength{\cftchapnumwidth}{30mm}}
之后\appendix
,以便在排版目录时,该指令能够在正确的时间发出。