我如何调整自定义类中章节标题的大小和位置?我使用报告类作为基础。当我在自定义类中使用 titlesec 包时,它抛出了错误
! 软件包 titlesec 错误:在‘easy’设置中不允许。
答案1
错误消息表明您尝试以\titleformat*
错误的方式使用“简易设置”。如需进行大量格式修改,请使用无星号变体\titleformat
;如需更改间距,请使用\titlespacing*
。以下是默认设置,您可以根据需要进行更改:
\usepackage{titlesec}
\titleformat{\chapter}[display]
{\normalfont\huge\bfseries}{\chaptertitlename\ \thechapter}{20pt}{\Huge}
\titlespacing*{\chapter}
{0pt}{50pt}{40pt}
例如,要使标题居中,减少从到之前的空格50pt
以及从到30pt
之后的空格,您可以执行以下操作:40pt
20pt
\documentclass{report}
\usepackage{titlesec}
\usepackage{lipsum}
\titleformat{\chapter}[display]
{\normalfont\huge\bfseries\filcenter}{\chaptertitlename\ \thechapter}{20pt}{\Huge}
\titlespacing*{\chapter}
{0pt}{30pt}{20pt}
\begin{document}
\chapter{Test Chapter}
\lipsum[4]
\end{document}
答案2
常规(编号)章节标题report
由以下方式设置\@makechapterhead
:
\def\@makechapterhead#1{%
\vspace*{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 40\p@
}}
在设置之前,您会看到一个50\p@
(或 50pt)垂直间隙;然后是另一个间隙和标题,然后是另一个。使用设置星号章节:\@chapapp\space \thechapter
\huge\bfseries
20\p@
\Huge\bfseries
40\p@
\@makeschapterhead
\def\@makeschapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedright
\normalfont
\interlinepenalty\@M
\Huge \bfseries #1\par\nobreak
\vskip 40\p@
}}
您可以根据自己的喜好更改这些值。