![如何更改某个章节标题的格式而不影响其在目录中的显示方式?](https://linux22.com/image/298831/%E5%A6%82%E4%BD%95%E6%9B%B4%E6%94%B9%E6%9F%90%E4%B8%AA%E7%AB%A0%E8%8A%82%E6%A0%87%E9%A2%98%E7%9A%84%E6%A0%BC%E5%BC%8F%E8%80%8C%E4%B8%8D%E5%BD%B1%E5%93%8D%E5%85%B6%E5%9C%A8%E7%9B%AE%E5%BD%95%E4%B8%AD%E7%9A%84%E6%98%BE%E7%A4%BA%E6%96%B9%E5%BC%8F%EF%BC%9F.png)
在我的文档中的一个例子中,我有以下内容:
\section{\large Multi-worded section heading }
目前在目录中,它看起来比所有其他标题都大(毫无疑问,因为这是我指示 LaTeX 执行的操作)。我如何更改它以使其与其他标题相同?
答案1
我理解为:你只想更改部分标题中的一个或几个的字体(而不是全部)。最简单的方法是使用可选参数,\section
例如
%\section[optional content]{regular content }
\section[Multi-worded section heading]{\large Multi-worded section heading }
因此可选的未格式化内容用于运行标题和目录。这是带有article
类的 MWE(您没有说明是哪个类!)
\documentclass{article}
\begin{document}
\tableofcontents
\section{Some section}
\section[A section]{\Huge A section}
\subsection{A subsection}
\subsubsection{A subsubsection}
\section{Some section again}
\end{document}
如果节号较小,这看起来肯定不好看。更好的方法是定义一个新命令,例如:
\makeatletter
\newcommand\mysection{\@startsection {section}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\normalfont\Huge\bfseries}} %%<-- \Large replaced by \Huge
\makeatother
并按如下方式使用它:
\documentclass{article}
\makeatletter
\newcommand\mysection{\@startsection {section}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\normalfont\Huge\bfseries}}
\makeatother
\begin{document}
\tableofcontents
\section{Some section}
\mysection{A section}
\subsection{A subsection}
\subsubsection{A subsubsection}
\section{Some section again}
\end{document}
如果您想将这些更改应用于所有部分,您最好使用sectsty
(如 Werner 所链接的:章节中有小型大写字母,但目录中没有或使用titlesec
包 ( titleformat*{\section}{\Huge}
)。