# Abstract with amsart class and fontspec (with XeLaTeX)

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}

• I'm not sure what the problem is, but loading mathspec before fontspec will solve it. – Alan Munn May 7 '12 at 17:45
• @AlanMunn very clever! I'm happy with that so far, thanks! – Olivier May 7 '12 at 17:56
• For some unknown (to me) reason, the mathcode of = changes in the abstract environment; with \begin{abstract}\mathcode="303D the example compiles. – egreg May 7 '12 at 18:03
• @egreg Interesting... The parenthesis are also problematic, for instance $f(x)$ in the abstract generates the same error. – Olivier May 7 '12 at 18:10

## 1 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}

• What is the relation between mathspec and fontspec? – Alexey Nov 4 '13 at 14:16
• @Alexey mathspec is built over fontspec and aims to use text fonts also for math; the results are rather good, but not for extensive math usage. – egreg Nov 4 '13 at 14:57
• I see, thanks. If i understand correctly, fontspec is strongly recommended in XeLaTeX, so is it safe to use \usepackage[no-math]{fontspec}? – Alexey Nov 4 '13 at 15:00
• @Alexey The no-math` option basically doesn't change the font used for family 0 (upright math letters). – egreg Nov 4 '13 at 15:05