我已经为 Head Chapter 定义了一个特定的格式
\def\@makechapterhead#1{
{\parindent \z@ \centering
\normalfont
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\Large\bfseries \@chapapp\space \thechapter
\par\nobreak
%\vskip 20\p@
\fi
\fi
\interlinepenalty\@M
\Large \bfseries #1\par\nobreak
\vskip 40\p@
\thispagestyle{empty}
}}
但是当我使用 chapter*{} 命令时,它不起作用。如何避免这种情况?
答案1
\chapter
的标题/标题设置为 ,\@makechapterhead
而\chapter*
的标题/标题设置为\@makeschapterhead
。因此,为了保持您定义的内容的相同风格,请复制定义并删除有关设置标签的部分Chapter X
:
\documentclass{book}
\makeatletter
\def\@makechapterhead#1{
{\parindent \z@ \centering
\normalfont
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\Large\bfseries \@chapapp\space \thechapter
\par\nobreak
%\vskip 20\p@
\fi
\fi
\interlinepenalty\@M
\Large \bfseries #1\par\nobreak
\vskip 40\p@
\thispagestyle{empty}
}}
\def\@makeschapterhead#1{
{\parindent \z@ \centering
\normalfont
%\ifnum \c@secnumdepth >\m@ne
%\if@mainmatter
%\Large\bfseries \@chapapp\space \thechapter
%\par\nobreak
%%\vskip 20\p@
%\fi
%\fi
%\interlinepenalty\@M
\Large \bfseries #1\par\nobreak
\vskip 40\p@
\thispagestyle{empty}
}}
\makeatother
\begin{document}
\chapter{A chapter}
\chapter*{Another chapter}
\end{document}