如何将报告中小节标题的文本在报告正文中设置为一种内容,而在目录中设置为另一种内容?

如何将报告中小节标题的文本在报告正文中设置为一种内容,而在目录中设置为另一种内容?

我有这样一个小节标题:

\subsection{${\boldsymbol{b}}$-tagging}

由于这在报告主体中是粗体,所以看起来很好,但在目录中,对于小节来说不是粗体,开头的“b”仍然是粗体,但它实际上不应该是粗体,如下所示:

\subsection{${b}$-tagging}

如何实现这一目标?

答案1

所有分段单位\<sec unit>[<ToC text>]{<body text>}都定义为采用一个可选参数,该<ToC text>参数表示可能与不同<body text>。如果您还加载hyperref,您必须使用\texorpdfstring{<TeX>}{<PDF>}来区分最终可能出现在文档本身或 PDF 书签中的内容:

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath,hyperref}

\begin{document}

\tableofcontents

\section
  [ToC section] % ToC text
  {A section} % Body text
\subsection
  [A subsection \texorpdfstring{$b$}{b}] % ToC text
  {A subsection $\boldsymbol{b}$} % Body text

\end{document}

答案2

许多期刊不会在标题中将数学加粗,因为在许多学科中,粗体字母具有不同的含义,但是这样做也是合理的,特别是如果在已经加粗的上下文中使用额外的粗体字体来表示粗体数学字母。

所以你可以使用

\subsection[$b$-tagging]{${\boldsymbol{b}}$-tagging}

但这是有点可疑的标记,实际上在标题中使用或不使用粗体的决定应该是文档范围的设置。如果您希望文本和数学都为粗体,那么您需要\boldmath设置\bfseries

在此处输入图片描述

\documentclass{report}

% from report.cls
%\newcommand\subsection{\@startsection{subsection}{2}{\z@}%
%                                     {-3.25ex\@plus -1ex \@minus -.2ex}%
%                                     {1.5ex \@plus .2ex}%
%                                     {\normalfont\large\bfseries}}
%
\makeatletter
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
                                     {-3.25ex\@plus -1ex \@minus -.2ex}%
                                     {1.5ex \@plus .2ex}%
                                     {\normalfont\large\boldmath\bfseries}}
\makeatother
\begin{document}

\tableofcontents

\subsection{$b$-tagging}
zzzzzzzz $b$-tagging zzzz

\end{document}

相关内容