我遇到了以下问题。我使用 harvard-thesis 包来撰写论文,当我想使用包 bm 时,遇到了问题。这是一个最小示例。使用此代码:
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
\documentclass{harvard-thesis}
\usepackage{amssymb, amsthm}
\usepackage{graphicx,xspace}
\usepackage{bm}
\usepackage{epsfig}
\usepackage{enumitem}
\usepackage{xcolor}
\usepackage{gensymb}
\usepackage{todonotes}
\newcommand{\todoMaciej}[1]{\todo[color=red!40]{\textsc{Maciej} says: #1}}
\newcommand{\todoPiotr}[1]{\todo[color=blue!40]{\textsc{Piotr} says: #1}}
\usepackage{tikz}
\usetikzlibrary{decorations,calc,through}
\usetikzlibrary{decorations.pathmorphing}
\usetikzlibrary{decorations.pathreplacing}
\usepackage{hyperref}
\begin{document}
$\bm{\alpha}$
\end{document}
我收到以下错误:
./thesis.tex:113 Undefined control sequence.
\Call@AtVeryEndDocument ...cumentHook \@undefined
\global \let \Call@AtVeryE...
l.113 $\bm{\alpha}
$
?
LaTeX 和 XeLaTeX 都会出现此错误。我使用 TeXShop 作为编辑器。我使用的模板可以找到这里。
答案1
您的例子不是很简洁,我在 github 上找到了一个 harvard-thesis 类文件,但是它使用了我没有的其他非标准包和字体,所以我无法真正运行它。
但我认为造成这个问题的主要原因是
\RequirePackage{mathspec}
我根本没有看过mathspec
,但是我看过unicode-math
并且bm
与 xelatex 和 luatex 中的扩展数学原语基本上不兼容。
我有一个完成了一半的扩展版本,主要与 xetex 配合使用,但它仍然会在您的文档上产生错误。
如果您正在使用具有数学字母块的unicode数学字体(例如STIX,Cambria Math,..),那么您根本不需要,bm
您可以直接将粗体字母作为unicode字符U + 1D6C2访问(