harvard-thesis 模板和使用 bm 包的错误

harvard-thesis 模板和使用 bm 包的错误

我遇到了以下问题。我使用 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访问(

相关内容