确保标题中的方程式以粗体显示我还将以下命令添加到我的文档中:
\makeatletter
\g@addto@macro\bfseries{\boldmath}
\makeatother
minitoc
在我将其与和结合起来之前,它一直运行良好tocloft
。虽然全局目录打印正确,但 minitoc 的部分方程式却以粗体显示。
最小工作示例:
\documentclass{scrbook}
\usepackage{minitoc}
\usepackage[titles]{tocloft}
\usepackage{amsmath}
% --- ENSURE THAT BOLD FACE IS NOT IGNORED BY EQUATION ENVIRONMENTS ---
\makeatletter
\g@addto@macro\bfseries{\boldmath}
\makeatother
% --- END ---
\begin{document}
% initialize minitoc:
\dominitoc
% TOC:
\tableofcontents
% dummy structure:
\chapter{Math, hurray!}
\minitoc
\section{Math makes me happy!}
\subsection{$c^2 = a^2 + b^2$ -- The Pythagorean Theorem}
\subsection{Who want to live without math?}
\section{$(a+b)^2 = a^2 + 2ab + b^2$ -- Halleluja}
\end{document}
输出:
...
你能向我解释甚至解决这个奇怪的行为吗?
答案1
您的示例仅在粗体字体在某个组的末尾结束时才按预期工作。如果代码执行类似以下操作,则不起作用
\bfseries some text \normalfont some text
或者
\bfseries some text \mdseries some text
在这种情况下,您必须发出\mathversion{normal}
。例如,在您的示例中
\g@addto@macro\normalfont{\mathversion{normal}}