使用 .cls 文件从章节标题中删除章节

使用 .cls 文件从章节标题中删除章节

抱歉,这是一个简单的问题,但是我对 LaTeX 还比较陌生,并且一直在尝试理解 .cls 文件中的某些代码。

我正在尝试从 \chapter 标题中删除该章节,并且在 .cls 文件中有以下代码:

\renewcommand{\@makechapterhead}[1]{%
  \vspace*{10\p@}%
  {
    \begin{center}
      \normalfont\heading
      \ifnum \c@secnumdepth >\m@ne
      \if@mainmatter\heading\@chapapp\ \thechapter:\ \fi %\thechapter:\ \fi
      \fi
      \heading #1\par\nobreak
      \vskip 20\p@
    \end{center}
  }
}

我不完全确定我要做什么改变才能删除第 1 章:简介中的“章节”部分。

先感谢您。

答案1

该类是非标准的,但代码可以轻松解释:\heading可能是类中定义的字体选择命令,而是扩展为或扩展为的\@chapapp内核宏,在处理声明后选择后者。\chaptername\appendixname\appendix

因此,省略固定单词“Chapter”(更准确地说,宏中包含的内容\chaptername)是通过删除其后的\@chapapp空格来实现的。\

另外,第一个\heading命令足以设置字体,因此可以在其他地方省略它。但是,您不应该修改类,而应该将此代码放在文档的序言中:

\makeatletter

\renewcommand{\@makechapterhead}[1]{%
  \vspace*{10\p@}%
  {
    \begin{center}
      \normalfont\heading
      \ifnum \c@secnumdepth >\m@ne
      \if@mainmatter\thechapter:\ \fi %\thechapter:\ \fi
      \fi
      #1\par\nobreak
      \vskip 20\p@
    \end{center}
  }
}

\makeatother

如果您决定修改该类,请省略\makeatletter\makeatother(但不要这样做)。

相关内容