
我重新定義了\@makechapterhead
縮短章節標題前後的空格,但我不知道如何將其置中......有什麼幫助嗎?
\makeatletter
\def\@makechapterhead#1{%
%%%%\vspace*{50\p@}% %%% removed!
{\parindent \z@ \raggedright \normalfont
\ifnum \c@secnumdepth >\m@ne
\normalsize\bfseries \@chapapp\space \thechapter
\par\nobreak
\vskip 20\p@
\fi
\interlinepenalty\@M
\normalsize \bfseries #1\par\nobreak
\vskip 40\p@
}}
\def\@makeschapterhead#1{%
%%%%%\vspace*{50\p@}% %%% removed!
{\parindent \z@ \raggedright
\normalfont
\interlinepenalty\@M
\normalsize \bfseries #1\par\nobreak
\vskip 40\p@
}}
\makeatother
答案1
要使整個章節標題結構居中,只需將\raggedright
(標題的當前/典型對齊樣式)替換為\centering
:
\documentclass{report}
\usepackage{lipsum}% Just for this example
\makeatletter
\def\@makechapterhead#1{%
%%%%\vspace*{50\p@}% %%% removed!
{\parindent \z@ \centering \normalfont
\ifnum \c@secnumdepth >\m@ne
\normalsize\bfseries \@chapapp\space \thechapter
\par\nobreak
\vskip 20\p@
\fi
\interlinepenalty\@M
\normalsize \bfseries #1\par\nobreak
\vskip 40\p@
}}
\def\@makeschapterhead#1{%
%%%%%\vspace*{50\p@}% %%% removed!
{\parindent \z@ \centering
\normalfont
\interlinepenalty\@M
\normalsize \bfseries #1\par\nobreak
\vskip 40\p@
}}
\makeatother
\begin{document}
\chapter{A chapter}
\lipsum[1]
\end{document}