我想删除附录章节前的 50pts 垂直空间(保留普通章节的默认空间)。以下是 mwe
% !Mode:: "TeX:UTF-8"
\documentclass[a4paper,12pt,oneside]{book}
\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage{titlesec}
\usepackage{appendix}
\begin{document}
\chapter{Normal chapter}
\chapter{Normal chapter}
\appendix
\chapter{Appendix chapter}
\chapter{Appendix chapter}
\end{document}
我尝试通过在序言中添加以下内容来注释书籍类声明中的空格
%remove vspace before chapter
\makeatletter
\def\@makechapterhead#1{%
%\vspace*{50\p@}%
{\parindent \z@ \raggedright \normalfont
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\huge\bfseries \@chapapp\space \thechapter
\par\nobreak
\vskip 20\p@
\fi
\fi
\interlinepenalty\@M
\Huge \bfseries #1\par\nobreak
\vskip 40\p@
}}
\makeatother
但这样做会删除所有章节的空格。是否可以在代码中添加 if-else 条件,以便仅在附录时删除空格?
答案1
apptools
使用和包的解决方案titlesec
:
% !Mode:: "TeX:UTF-8"
\documentclass[a4paper,12pt,oneside]{book}
\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage{titlesec}
\usepackage{appendix, apptools}
\AtAppendix{%
\titleformat{\chapter}[display]{\vspace*{-50pt}\bfseries\huge}{\chaptername~\thechapter}{1em}{}
\titlespacing*{\chapter}{0pt}{0pt}{0pt}}%
\begin{document}
\chapter{Normal chapter}
\chapter{Normal chapter}
\appendix
\chapter{Appendix chapter}
\chapter{Appendix chapter}
\end{document}
答案2
我认为一个更简单的解决方案是删除每个附录前的部分空格,如下所示:
\chapter{\vspace{-5cm}Appendix 1}
等等。