这个非常奇怪。经过一番努力,我把范围缩小到 4 个包的组合。当我评论这 4 个包中的任何一个,错误消失。
平均能量损失
\documentclass[12pt,notitlepage]{article}
\usepackage{newtxmath}
\usepackage{siunitx}
\usepackage{bm}
\usepackage{esvect}
\begin{document} %equation is below is auto-generated by Maple 18.02
\[
\left\{ y \left( x \right) =\int \!{\frac {1}{\sqrt {{\it a4}\,{x}^{4
}+{\it a3}\,{x}^{3}+{\it a2}\,{x}^{2}+{\it a1}\,x+{\it a0}}}}\,{\rm d}
x+{\it \_C1} \right\}
\]
\end{document}
现在
pdflatex
This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014) (preloaded
format=pdflatex)
restricted \write18 enabled.
entering extended mode
....
(/usr/local/texlive/2014/texmf-dist/tex/latex/newtx/untxsyc.fd)
(/usr/local/texlive/2014/texmf-dist/tex/latex/esvect/uesvect.fd)
(/usr/local/texlive/2014/texmf-dist/tex/latex/tex-gyre/t1qhv.fd)
(/usr/local/texlive/2014/texmf-dist/tex/latex/newtx/t1ntxtt.fd)
! LaTeX Error: Too many math alphabets used in version normal.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.12 ...}+{\it a2}\,{x}^{2}+{\it a1}\,x+{\it a0}}}
}\,{\rm d}
?
现在,我可以理解包含一个包会导致错误。但是为什么包含这 4 个看似完全不相关的包会导致错误?包可能与bm
有什么关系siunitx
?与newtxmath
有什么关系esvect
?这一切对我来说似乎都很随机。
在装有 Miktex 的 Windows 上也会发生这种情况:
答案1
你只需要提示bm
一下你正在使用很多字母:
\documentclass[12pt,notitlepage]{article}
\usepackage{newtxmath}
\usepackage{siunitx}
\newcommand\bmmax{2}
\usepackage{bm}
\usepackage{esvect}
\begin{document} %equation is below is auto-generated by Maple 18.02
\[
\left\{ y \left( x \right) =\int \!{\frac {1}{\sqrt {{\it a4}\,{x}^{4
}+{\it a3}\,{x}^{3}+{\it a2}\,{x}^{2}+{\it a1}\,x+{\it a0}}}}\,{\rm d}
x+{\it \_C1} \right\}
\]
\end{document}
答案2
TeX 只能容纳 16 个数学字母。如果您加载定义不同数学字母的包,则效果是累积的。因此,虽然其中任何 3 个包可能会使总数少于 16,但所有 4 个包可能会使其超过 16,而 TeX 会抱怨,因为它无法处理您尝试定义的第 17 个。
如果您只需要这些包中的一些字母,您可以从包中获取您需要的位代码,这样就有可能将总数恢复到 16 以下,而无需放弃任何您想要使用的内容。
对于这个特定的方程,以下方法有效:
\documentclass[12pt,notitlepage]{article}
\usepackage{newtxmath}
\usepackage{siunitx}
\usepackage{bm}
\usepackage{esvect}
\begin{document} %equation is below is auto-generated by Maple 18.02
\[
\left\{ y \left( x \right) =\int \!{\frac {1}{\sqrt {a4\,{x}^{4
}+a3\,{x}^{3}+a2\,{x}^{2}+a1\,x+a0}}}\,{\mathrm{d}}
x+\_C1 \right\}
\]
\end{document}
但在这种情况下,数字当然不再以斜体显示。
答案3
只是为了好玩,假设你的 Maple 转换器总是使用
{\it ...}
看起来是这样,这里有一个避免这个问题的方法对于这个等式:
\documentclass[12pt,notitlepage]{article}
\usepackage{amsmath}
\usepackage{newtxmath}
\usepackage{siunitx}
\usepackage{bm}
\usepackage{esvect}
\let\it\relax
\DeclareRobustCommand\it{%
\ifmmode
\expandafter\mmit
\else
\normalfont\itshape
\fi
}
\def\mmit{%
\egroup % end the started group
\iftrue\expandafter\text\expandafter{\expandafter\itshape\else}\fi
}
\begin{document} %equation is below is auto-generated by Maple 18.02
\[
\left\{ y \left( x \right) =\int \!{\frac {1}{\sqrt {{\it a4}\,{x}^{4
}+{\it a3}\,{x}^{3}+{\it a2}\,{x}^{2}+{\it a1}\,x+{\it a0}}}}\,{\rm d}
x+{\it \_C1} \right\}
\]
\end{document}