[Tex/LaTex] Abstract with amsart class and fontspec (with XeLaTeX)

amsartfontspecxetex

There is an error message which I do not understand when I use amsart in conjunction with fontspec. The math text in the abstract seems to be deemed too small?

The error is

\textfont 6 is undefined (character =).

Here is a minimal working example:

\documentclass{amsart}

\title{T}\author{A}

\usepackage{fontspec}

\begin{document}

\begin{abstract}
$a=b$
\end{abstract}
\maketitle

\end{document}

Best Answer

It seems to be a bug in the compatibility of fontspec with the AMS classes. The problem happens when a font size changing command such as \Small is issued (such a command is defined by amsart and amsbook to change font size relative to the current font size).

Apparently, the legacymaths symbol font doesn't get defined, and this upsets amsart or, more precisely, the font size changing commands.

The solution is to call

\usepackage[no-math]{fontspec}

(which is done by mathspec, so Alan Munn's advice works) or to define the required symbol font:

\usepackage{fontspec}
\DeclareSymbolFont{legacymaths}{OT1}{cmr}{m}{n}
\SetSymbolFont{legacymaths}{bold}{OT1}{cmr}{bx}{n}