如何更改 @makeschapterhead 以使章節標題居中?

如何更改 @makeschapterhead 以使章節標題居中?

我重新定義了\@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}

相關內容