¿Cómo cambio @makeschapterhead para centrar el título del capítulo?

¿Cómo cambio @makeschapterhead para centrar el título del capítulo?

Redefiní \@makechapterheadpara acortar el espacio antes y después del título de un capítulo, pero no sé cómo centrarlo... ¿alguna ayuda?

\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

Respuesta1

Para centrar toda la construcción del título del capítulo, simplemente reemplace \raggedright(el estilo de alineación actual/típico de los títulos) con \centering:

ingrese la descripción de la imagen aquí

\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}

información relacionada