使用文档类书籍、章节标题(第一章) 左对齐。如何让它们居中?
答案1
使用该titlesec
包你可以说:
\usepackage{titlesec}
\titleformat{\chapter}[display]
{\normalfont\huge\bfseries\centering}{\chaptertitlename\ \thechapter}{20pt}{\Huge}
如果标题和标题都要居中,或者
\usepackage{titlesec}
\titleformat{\chapter}[display]
{\normalfont\huge\bfseries}{\centering\chaptertitlename\ \thechapter}{20pt}{\Huge}
如果仅标题必须居中。
如果标题和标题都要居中,该sectsty
包提供了另一种简单的解决方案:
\documentclass{book}
\usepackage{sectsty}
\chapterfont{\centering}
\begin{document}
\chapter{Test chapter}
\end{document}
如果由于某种原因,不使用附加软件包,则需要重新定义\@makechapterhead
(对于编号章节)和(对于未编号章节)(这两个命令的原始定义可以在 中找到):\@makeschapterhead
book.cls
\documentclass{book}
\makeatletter
\def\@makechapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \centering\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@
}}
\def\@makeschapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \centering
\normalfont
\interlinepenalty\@M
\Huge \bfseries #1\par\nobreak
\vskip 40\p@
}}
\makeatother
\begin{document}
\chapter{Test chapter}
\end{document}