标题中有粗体数学符号,但目录中没有

标题中有粗体数学符号,但目录中没有

我曾经见过类似的问题,但我无法解决。

基本上,我在章节标题中有一个粗体数学符号,但我不希望它在目录中以粗体显示,如下图所示。

图1

图 2

我的代码是:

\section{L\texorpdfstring{\textsubscript{L1} = 1.2\boldmath{$H$}}{First magnet}}\label{1st_magnet}

谢谢!

答案1

解决方案如下titlesec

\documentclass[11pt, fleqn]{book}
\usepackage{titlesec}
\titleformat*{\section}{\bfseries\boldmath}
\usepackage[detect-all]{siunitx}
\usepackage{hyperref} % for \texorpdfstring

\setcounter{chapter}{4}

\begin{document}

\tableofcontents

\section{\texorpdfstring{$L_\text{L1} = \SI{1.2}{\henry}$}{First magnet}}
\label{1st_magnet}

\end{document} 

在此处输入图片描述

答案2

您可以使用该sectsty包将其应用于\boldmath所有部分\allsectionsfont{\boldmath}。看看我如何不再需要\boldmath在节标题中使用显式。

此外,\boldmath不接受参数,但字体切换。要了解我的意思,请比较\boldmath{$a$} $b${\boldmath $a$} $b$

\documentclass{book}
\pagestyle{empty}
\usepackage{sectsty}
\allsectionsfont{\boldmath}
\usepackage{hyperref} % for \texorpdfstring
\begin{document}
\tableofcontents
\section{L\texorpdfstring{\textsubscript{L1} = 1.2$H$}{First magnet}}
\label{1st_magnet}
\end{document}

在此处输入图片描述

正如 Christian 在评论中所建议的那样,最好使用排版单元包。就像 Christian 一样,我也建议siunitx这样做。

\documentclass{book}
\usepackage{sectsty}
\allsectionsfont{\boldmath}
\usepackage[detect-all]{siunitx}
\usepackage{hyperref} % for \texorpdfstring
\begin{document}
\tableofcontents
\section{\texorpdfstring{$L_{\text{L1}} = \SI{1.2}{\henry}$}{First magnet}}
\label{1st_magnet}
\end{document}

在此处输入图片描述


您可以忽略此解决方案,但其他人可能对如何使用 ConTeXt 来实现感兴趣。

\setupinteraction[state=start]
\placebookmarks[section]

\setuphead[section][style=bold]

\starttext

\placecontent

\startsection
  [
    title={$L_{\tf L1} = \unit{1.2 henry}$},
    bookmark={First magnet},
    reference=1st_magnet,
  ]
\stopsection

\stoptext

相关内容