\bm
当我在已编号的节标题中使用命令时,在hyperref
加载包时出现错误。错误如下:
错误:TeX 容量超出,抱歉 [输入堆栈大小=5000]。
--- TeX 说 --- 需要再次阅读>
{ l.10 ...ction{$p,\bm{w}$ 中凸性的证明}
这是 MWE
\documentclass{article}
\usepackage{bm}
\usepackage[bookmarks]{hyperref}
\begin{document}
\section{A proof of convexity in $p,\bm{w}$}
\end{document}
请注意,如果我执行以下任何操作,都可以避免该错误
- 用
\section*
代替\section
(这真的让我很感兴趣!) \bm{}
从标题中删除- 删除包
hyperref
我注意到有一个问题与我的问题类似(例如这),但解决方案似乎与我的问题无关。
有人知道如何解决这个问题吗?
答案1
PDF 书签不能有格式,因此您可以
\texorpdfstring
在命令中使用\section
来提供用于书签的替代文本:\section{A proof of convexity in \texorpdfstring{$p,\bm{w}$}{$p,w$}}
或者使用
\pdfstringdefDisableCommands
禁用宏(感谢史蒂芬莱姆克指出这一点):\pdfstringdefDisableCommands{% \renewcommand*{\bm}[1]{#1}% % any other necessary redefinitions }
我更喜欢这种方法,因为它不会使您的正文变得混乱。
代码:\texorpdfstring
:
\documentclass{article}
\usepackage{bm}
\usepackage[bookmarks]{hyperref}
\begin{document}
\section{A proof of convexity in \texorpdfstring{$p,\bm{w}$}{$p,w$}}
\end{document}
代码:\pdfstringdefDisableCommands
:
\documentclass{article}
\usepackage{bm}
\usepackage[bookmarks]{hyperref}
\pdfstringdefDisableCommands{%
\renewcommand*{\bm}[1]{#1}%
% any other necessary redefinitions
}
\begin{document}
\section{A proof of convexity in $p,\bm{w}$}
\end{document}