删除章节标题、节和小节名称中的粗体

删除章节标题、节和小节名称中的粗体

如何删除章节标题、节和小节名称中的粗体?我找到了以下章节代码,但找不到章节和小节的方法。

\makeatletter
 \renewcommand\section{\@startsection {section}{1}{\z@}%
 {-3.5ex \@plus -1ex \@minus -.2ex}%
 {2.3ex \@plus.2ex}%
 {\normalfont\Large}}
 \makeatother

编辑:除了 Tobi 和 Werner 的答案之外,请务必检查我提供的答案。

答案1

根据您使用的类别,有不同的或多或少简单的方法。

如果您使用* KOMA-Script(特别推荐用于德语文本),您可以更改disposition字体元素:

\documentclass{scrbook}% analogus to book class

\setkomafont{disposition}{\mdseries\rmfamily}

\begin{document}
\chapter{Chapter}
\section{Section}
\subsection{Subsection}
\subsubsection{Subsubsection}
\end{document}

否则titlesec包裹可能有帮助

\documentclass{book}

\usepackage[md]{titlesec}

\begin{document}
\chapter{Chapter}
\section{Section}
\subsection{Subsection}
\subsubsection{Subsubsection}
\end{document}

titlesec软件包也可以与 KOMA-Script 一起使用……

* 全面工作最小工作示例(MWE)会向全班同学展示,这样我就不用猜了;-)

答案2

你也可以修补标准book文档类使用命令etoolbox

在此处输入图片描述

\documentclass{book}
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\makeatletter
\patchcmd{\@makechapterhead}{\bfseries}{\relax}{}{}% Non-bold \chapter name
\patchcmd{\@makechapterhead}{\bfseries}{\relax}{}{}% Non-bold \chapter title
\patchcmd{\section}{\bfseries}{\relax}{}{}% Non-bold \section
\patchcmd{\subsection}{\bfseries}{\relax}{}{}% Non-bold \subsection
\makeatother
\begin{document}
\chapter{First chapter} This is a chapter.
\section{First section} This is a section.
\subsection{First subsection} This is a subsection.
\end{document}

之所以要打\@makechapterhead两次补丁是因为 中的名称(章节)和标题是分别排版的\bfseries

答案3

这个答案其实是对 Werner 答案的评论。虽然最初我接受并使用了 Tobi 的答案,但最终我决定使用 Werner 答案中描述的方法。

我注意到一些有趣的事情,想与大家分享。这一切始于我决定保留章节标题(第 1、2 章……)粗体,但删除章节名称(简介……)的粗体。

以下是摘录book.cls

\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \raggedright \normalfont
    \ifnum \c@secnumdepth >\m@ne
      \if@mainmatter
        \huge\bfseries \@chapapp\space \thechapter
        \par\nobreak
        \vskip 20\p@
      \fi
    \fi
    \interlinepenalty\@M
    \Huge \bfseries #1\par\nobreak
    \vskip 40\p@
  }}

第一个\bfseries是指章节标题(第 1、2 章......),第二个是指章节名称。

所以:

如果我同时使用

\patchcmd{\@makechapterhead}{\bfseries}{}{}{}
\patchcmd{\@makechapterhead}{\bfseries}{}{}{}

章节标题和名称都不应加粗。事实上,情况确实如此。

如果我只使用

\patchcmd{\@makechapterhead}{\huge\bfseries }{\huge }

章节标题不应该是粗体,但章节名称应该是粗体。事实上,情况确实如此。

如果我使用

\patchcmd{\@makechapterhead}{\Huge \bfseries}{\Huge }{}{}

我希望章节标题为粗体,章节名称为非粗体。但事实是,两个元素都是粗体!!!!

不知何故,第一个(指章节标题)\bfseries也会影响章节名称(我不知道为什么,但我猜更了解乳胶语法的人可以解释)。

为了绕过这种行为,我必须限制第一个 的范围\bfseries。所以我使用了

\patchcmd{\@makechapterhead}{\huge\bfseries \@chapapp\space \thechapter}{\huge{\bfseries \@chapapp\space \thechapter}}{}{}

(请注意插入的额外一对花括号\bfseries \@chapapp\space \thechapter

修补此补丁后,\patchcmd{\@makechapterhead}{\Huge \bfseries}{\Huge }{}{}

按预期工作。

相关内容