Tell me more ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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}
share|improve this question
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

up vote 6 down vote accepted

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}
share|improve this answer
You are a genius. Thanks a lot!! – Olivier May 8 '12 at 16:12

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.