如果将 accents.sty 和 blindtext.sty 与 XeLaTeX 一起使用,为什么 \blindmathpaper 会缺少数字?

如果将 accents.sty 和 blindtext.sty 与 XeLaTeX 一起使用,为什么 \blindmathpaper 会缺少数字?

为什么在以下使用 的源代码中,accents.sty与 一起加载会blindtext.sty产生错误?\blindmathpaperunicode-math.sty

错误是:

./blindmathpaperXeLaTeXError.tex:16: Missing number, treated as zero.
<to be read again> 
                   \protect 
l.16 \blindmathpaper

其他 OpenType 字体也会出现同样的错误,例如 TeX Gyre Termes

\documentclass{article}

\usepackage{amsmath}% need to load first to avoid \dddot clash
\usepackage{fontspec}
\usepackage[main=english]{babel}
\babelfont{rm}[Ligatures=TeX,SmallCapsFont={Latin Modern Roman Caps}]{Latin Modern Roman}
\usepackage{amsfonts}
\usepackage{unicode-math}
\setmathfont[Ligatures=TeX]{TeX Gyre Termes Math}

\usepackage{accents}
\usepackage[math]{blindtext}

\begin{document}

\blindmathpaper

\end{document}

答案1

一个非常简单的例子是

\documentclass{article}

\usepackage{unicode-math}
\setmathfont[Ligatures=TeX]{TeX Gyre Termes Math}
\usepackage{accents}

\begin{document}

$\bar{x}$

\end{document}

我总是坚持先加载包,然后再进行设置,这是有原因的。事实上,“正确”的代码

\documentclass{article}

\usepackage{unicode-math}
\usepackage{accents}

\setmathfont[Ligatures=TeX]{TeX Gyre Termes Math}

\begin{document}

$\bar{x}$

\end{document}

运行完美。

就你的情况而言:

\documentclass{article}

\usepackage{amsmath}% need to load first to avoid \dddot clash
\usepackage{fontspec}
\usepackage[main=english]{babel}
\usepackage{amsfonts}
\usepackage{unicode-math}
\usepackage{accents}

\usepackage[math]{blindtext}

\babelfont{rm}[Ligatures=TeX,SmallCapsFont={Latin Modern Roman Caps}]{Latin Modern Roman}
\setmathfont[Ligatures=TeX]{TeX Gyre Termes Math}

\begin{document}

\blindmathpaper

\end{document}

相关内容