在章节中添加垂直空间

在章节中添加垂直空间

我需要在特定章节标题前添加额外的垂直空间,例如“表格列表”。我想这样做是因为某些章节标题前的空间比其他章节少。我尝试在语句\vspace*{1in}前添加\listoftables,但没有成功。任何帮助都将不胜感激。

\documentclass[10pt, letterpaper]{report}
\usepackage{thesis}
\renewcommand\contentsname{TABLE OF CONTENTS}
\usepackage{titlesec}
\renewcommand{\chaptername}{CHAPTER}
\titlespacing*{\chapter}{0pt}{0.45in}{0.3in}
\titleformat{\chapter}[display]
        {\normalfont\Large\centering}{\chaptertitlename\ \thechapter}{0pt}{\Large\uppercase}
\titleformat{\section}{\large\bfseries}{\thesection}{1em}{}



\begin{document}
\tableofcontents

\addcontentsline{toc}{chapter}{LIST OF TABLES}
\renewcommand{\listtablename}{LIST OF TABLES}
\listoftables

\addcontentsline{toc}{chapter}{LIST  OF FIGURES}
\renewcommand{\listfigurename}{LIST  OF FIGURES}
\listoffigures


\chapter{INTRODUCTION}
Lorem ipsum .............
\end{document}

答案1

由于您已在使用titlesec,使用\titlespacing*在之前添加额外的空格\listoftables,然后再次使用该命令恢复默认垂直间距:

\documentclass[10pt, letterpaper]{report}
\usepackage{thesis} % to make the example compilable for everyone
\renewcommand\contentsname{TABLE OF CONTENTS}
\usepackage{titlesec}
\renewcommand{\chaptername}{CHAPTER}
\titlespacing*{\chapter}{0pt}{0.45in}{0.3in}
\titleformat{\chapter}[display]
        {\normalfont\Large\centering}{\chaptertitlename\ \thechapter}{0pt}{\Large\uppercase}
\titleformat{\section}{\large\bfseries}{\thesection}{1em}{}

\begin{document}
\tableofcontents

\addcontentsline{toc}{chapter}{LIST OF TABLES}
\renewcommand{\listtablename}{LIST OF TABLES}
\titlespacing*{\chapter}{0pt}{1.45in}{0.3in}% add extra vertical spacing
\listoftables

\titlespacing*{\chapter}{0pt}{0.45in}{0.3in}% restore original vertical spacing
\addcontentsline{toc}{chapter}{LIST  OF FIGURES}
\renewcommand{\listfigurename}{LIST  OF FIGURES}
\listoffigures


\chapter{INTRODUCTION}
Lorem ipsum .............
\end{document}

答案2

在 ConTeXt 中,你可以实现与 Mico 的方法类似,如下所示:

\definehead[tocchapter][chapter][before={\blank[1in, force]}]

这将定义一个名为 的新标题tocchapter,它继承了 的所有设置chapter,然后重新定义章节标题前的空间。force的参数中的\blank是强制\vskip位于页面顶部的。您可以按如下方式使用此命令。

\showframe % To visualize the page frame.
\starttext
\tocchapter{List of Tables}
\placelistoftables[criterium=all]

\chapter {Normal chapter}
\dorecurse{4}
    {\startplacetable[title={Table #1}]
        \startTABLE
            \NC One \NC Two \NC \NR
            \NC One \NC Two \NC \NR
            \NC One \NC Two \NC \NR
        \stopTABLE
     \stopplacetable
     \input knuth \relax}
\stoptext

请注意,我使用\placelistoftables“不放置章节标题”而不是“放置章节标题” \completelistoftables

答案3

您可以采用两阶段方法:首先,定义一个新的、类似章节的分段命令,指示 LaTeX 在分段线上方和下方留出大于正常量的空白;其次,重新定义\listoftables\listoffigures命令以使用这个特殊的分段命令。

使用report类作为起点,您可以执行此方法,如下面的 MWE 所示。新命令被调用,有点冗长,\chapterwithextraspace\chapterwithextraspace*,以创建编号和未编号的章节,这些章节具有比“标准”命令更多的垂直空白。当然,您可以自由修改代码以选择更简洁的名称。由于您没有指出要创建多少垂直空白,我只是将此 MWE 的默认数量增加了一倍(从分段线上方的 50pt 到 100pt,从分段线下方的 40pt 到 80pt)。您可能应该调整这些数量以满足您的特定需求。

\documentclass{report}
\usepackage{etoolbox,lipsum} % lipsum for filler text
% Part 1: Define new command \chapterwithextraspace and 
%   several required auxilliary macros
\makeatletter
\newcommand\chapterwithextraspace{\if@openright\cleardoublepage\else\clearpage\fi
                    \thispagestyle{plain}%
                    \global\@topnum\z@
                    \@afterindentfalse
                    \secdef\@chapterwithextraspace\@schapterwithextraspace}
\def\@chapterwithextraspace[#1]#2{\ifnum \c@secnumdepth >\m@ne
                         \refstepcounter{chapter}%
                         \typeout{\@chapapp\space\thechapter.}%
                         \addcontentsline{toc}{chapter}%
                                   {\protect\numberline{\thechapter}#1}%
                    \else
                      \addcontentsline{toc}{chapter}{#1}%
                    \fi
                    \chaptermark{#1}%
                    \addtocontents{lof}{\protect\addvspace{10\p@}}%
                    \addtocontents{lot}{\protect\addvspace{10\p@}}%
                    \if@twocolumn
                      \@topnewpage[\@makechapterwithextraspacehead{#2}]%
                    \else
                      \@makechapterwithextraspacehead{#2}%
                      \@afterheading
                    \fi}
\def\@makechapterwithextraspacehead#1{%
  \vspace*{100\p@}%  %default: 50\p@
  {\parindent \z@ \raggedright \normalfont
    \ifnum \c@secnumdepth >\m@ne
        \huge\bfseries \@chapapp\space \thechapter
        \par\nobreak
        \vskip 20\p@
    \fi
    \interlinepenalty\@M
    \Huge \bfseries #1\par\nobreak
    \vskip 80\p@ %default: 40\p@
  }}
\def\@schapterwithextraspace#1{\if@twocolumn
                   \@topnewpage[\@makeschapterwithextraspacehead{#1}]%
                 \else
                   \@makeschapterwithextraspacehead{#1}%
                   \@afterheading
                 \fi}
\def\@makeschapterwithextraspacehead#1{%
  \vspace*{100\p@}% %default: 50\p@
  {\parindent \z@ \raggedright
    \normalfont
    \interlinepenalty\@M
    \Huge \bfseries  #1\par\nobreak
    \vskip 80\p@ %default: 40\p@
  }}
\makeatother

% Part 2: Patch the `\listoffigures` and `\listoftables` commands to use the new,
%   spaced-out chapter heading style
\patchcmd{\listoffigures}%
    {\chapter*}{\chapterwithextraspace*}{}{}
\patchcmd{\listoftables}%
    {\chapter*}{\chapterwithextraspace*}{}{}

\begin{document}

\tableofcontents
\listoftables
\listoffigures

\chapter{Hello}  %normal chapter header
\lipsum[1]

\chapterwithextraspace{Goodbye} %chapter header with extra space above and below header lines
\lipsum[2]
\end{document}

相关内容