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.

I just got the error

Too many math alphabets used in version normal.

on a document I'm editing. What can I do to fix this, other than stop using an alphabet? All I've found online is instructions on what to do if you're using the bm.sty package, which I'm not calling (but maybe it's hidden in the AMS stuff?). I'll note, the thing that broke it was adding mathrsfs and using \mathscr.

Anyways, as you'll see in my preamble, I tried what they suggested anyways, and it didn't work.

My preamble:

\documentclass[11pt]{amsart}  
\newcommand{\bmmax}{0}  
\newcommand{\hmmax}{0}  
\usepackage{amsmath, amssymb, amsthm, latexsym, amscd, enumerate, MnSymbol,bbm, etex,nicefrac,mathrsfs}

I'm using

\mathbf
\mathcal
\mathfrak
\mathscr
\mathsf
\mathbb
\mathbbm %(for a lower case blackboard bold letter)

I recognize this is a lot of math fonts, but doesn't seem unreasonable.


EDIT: getting rid of MnSymbol fixed things...

share|improve this question

1 Answer

It looks like you've got some redundant packages in there which are using up math family slots (of which there are only 16 total). (Note that amsart also loads the amsfonts package which uses up several more for \mathfrak, \mathbb, etc.) For example, in the latexsym docs:

These fonts are not automatically included in the NFSS2/LATEX2ε since they take up important space and aren’t necessary if one makes use of the packages amsfonts or amssymb.

Furthermore, if you're using MnSymbol, doesn't that override much of the amssymb package? I could be wrong about that.

Finally, it looks the bbm family takes up five (or is it only three?) on its own—if you don't need that many you can copy out just the definitions you need, such as

\DeclareMathAlphabet{\mathbbm}{U}{bbm}{m}{n}

Bearing all this in mind, here's a minimal example that at least compiles: (I've removed a couple of unrelated packages)

\documentclass[11pt]{amsart}
\usepackage{amsmath, amssymb, amscd, MnSymbol,mathrsfs}
\DeclareMathAlphabet{\mathbbm}{U}{bbm}{m}{n}% from bbm.sty
\begin{document}
\[
\mathbf A
\mathcal A
\mathfrak A
\mathscr A
\mathsf A
\mathbb A
\mathbbm a
\]
\end{document}
share|improve this answer
Honestly, I have no idea why MnSymbol was there; my coauthor added it at some point. – Ben Webster Oct 2 '10 at 7:51
Interestingly, I must have forgotten at least one math alphabet I was using, since your example compiles on my computer, but using your trick in the actual file doesn't. As I mentioned in the edit to the question, removing MnSymbol does, though. – Ben Webster Oct 2 '10 at 7:53
5  
MnSymbol might be used for an obscure glyph you otherwise can't access. It would be nice, huh, if LaTeX provided better logging of where all the math alphabets got used up :) – Will Robertson Oct 2 '10 at 8:05
A question, since both XeTeX and LuaTeX can have 256 math families (right?), is this LaTeX error still relevant or can we get ride of it? – Khaled Hosny Oct 2 '10 at 9:54
Funny, I never thought of that. I do increase the number of math families that can be allocated in unicode-math, but I haven't done any testing on it. I should add a test file that just defines, say, 50 math families to see what happens. If it works then perhaps this should be added to xltxtra & luatextra as well. – Will Robertson Oct 2 '10 at 10:01
show 6 more comments

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.