圖表清單中缺少章節間休息

圖表清單中缺少章節間休息

我正在使用 tufte-book 並包含(九)個單獨的章節和一個附錄,我將其排版為(加星號的)\chapter*{Appendix}(因為我不希望將其編號為章節)。

下面不是 MWE,但給出了我的文檔的核心結構:

\documentclass[twoside,symmetric]{tufte-book}
\begin{document}
.
.
.

\include{PaPCh1}  
.
.
.
\include{PaPCh9} 
\include{PaPApp}
.
.
.
\listoffigures
.
.
.

附錄原始碼 PaPApp.tex 的起始位置為:

\chapter*{Appendix} \addcontentsline{toc}{chapter}{Appendix} 

\renewcommand{\thesection}{\Alph{section}}

\renewcommand{\thesubsection}{\thesection.\arabic{subsection}}

\renewcommand{\thefigure}{A\arabic{figure}}

大部分排版文件都很好,第一章的圖正確編號為 1.1、1.2;第 2 章中的 2.1、2.2;等,以及附錄A.1、A.2等。

在 \listoffigures 的排版中,每個單獨章節的圖形列表之間(即第一章和第二章之間)(正確地)有一個空格。圖片列表未能在最後一章(「未加星號」)的圖形與附錄中的圖形之間插入空格:

圖列表中第 9 章和附錄之間沒有空格

如何確保圖列表中最後一章的圖列表與附錄中的圖列表之間有空格?

答案1

在附錄的開頭插入以下行:

\addtocontents{lof}{\vspace{\baselineskip}}

(或根據需要的其他尺寸)。

\enlargethispage可使用此\addtocontents指令插入修改,例如在條目之間新增空格、分頁符號、變更頁面長度 ( )。第一個參數指定哪個列表:tocloflot。第二個參數給予要插入的命令。

如果要套用插入a 章,章節為\included,\addtocontents 必須被放置在帶有命令的文件中\chapter,因為\include將推遲這樣的命令,直到完全處理包含的文件,結果是添加的材料將比預期晚出現。

順序始終很重要。在本例中,\addtocontents可以在附錄中第一個數字之前的任何時間插入,但最好將其放在附錄(章節)的開頭附近,以便以後需要更改時可以輕鬆找到它。

答案2

呼叫時會自動新增垂直空間\chapter,從其定義可看出book.clsreport.cls:

\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
                        \thispagestyle{plain}%
                        \global\@topnum\z@
                        \@afterindentfalse
                        \secdef\@chapter\@schapter}
    \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
                           \if@mainmatter
                             \refstepcounter{chapter}%
                             \typeout{\@chapapp\space\thechapter.}%
                             \addcontentsline{toc}{chapter}%
                                       {\protect\numberline{\thechapter}#1}%
                           \else
                             \addcontentsline{toc}{chapter}{#1}%
                           \fi
                        \else
                          \addcontentsline{toc}{chapter}{#1}%
                        \fi
                        \chaptermark{#1}%
                        \addtocontents{lof}{\protect\addvspace{10\p@}}% <-- Gap in LoF
                        \addtocontents{lot}{\protect\addvspace{10\p@}}% <-- Gap in LoT
                        \if@twocolumn
                          \@topnewpage[\@makechapterhead{#2}]%
                        \else
                          \@makechapterhead{#2}%
                          \@afterheading
                        \fi}

所以我們應該在附錄的開頭插入以下程式碼

\makeatletter
\addtocontents{lof}{\protect\addvspace{10\p@}}% <-- Gap in LoF
\addtocontents{lot}{\protect\addvspace{10\p@}}% <-- Gap in LoT
\makeatother

由於10\p@等價於10pt,因此代碼可以簡化如下:

\addtocontents{lof}{\protect\addvspace{10pt}}% <-- Gap in LoF
\addtocontents{lot}{\protect\addvspace{10pt}}% <-- Gap in LoT

透過這種方式,我們可以添加與開始列出圖形列表中其他章節的圖形之前添加的空格相同的高空格,並且它將自動檢查是否在頁面的頂部或其他位置添加空格。

相關內容