![声明的符号字体过多错误](https://linux22.com/image/350144/%E5%A3%B0%E6%98%8E%E7%9A%84%E7%AC%A6%E5%8F%B7%E5%AD%97%E4%BD%93%E8%BF%87%E5%A4%9A%E9%94%99%E8%AF%AF.png)
我发现了一个新的包newtxmath
,可惜比 更好mathptmx
。我也想用这个bm
包来显示粗体希腊字母。
它与 配合使用很好mathptmx
,但与 配合使用会导致错误newtxmath
。
这是我的文档(使用LuaLaTex编译)。
\documentclass[10pt,a4paper]{book}
\usepackage{bm}
\usepackage{lscape}
\usepackage{ragged2e}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{thmtools}
\usepackage{yfonts}
\usepackage{mathtools}
\usepackage{comment}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{mathabx}
\usepackage{wasysym}
\usepackage{wrapfig}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\usepackage{skull}
\usepackage{faktor}
\usepackage{xfrac}
\usepackage{enumitem}
\usepackage{lipsum}
\usepackage[russian]{babel}
\usepackage{polyglossia}
\defaultfontfeatures{Ligatures=TeX}
\usepackage{mathptmx}
%\usepackage{newtxmath}
\setmainfont{Georgia}
\newfontfamily\cyrillicfont{Georgia}
\usepackage{fontspec}
\setmainlanguage{russian}
\begin{document}
$$
\bm{\Phi}
$$
\end{document}
很抱歉在这里发布了这么多软件包,但我无法弄清楚哪个软件包与冲突newtxmath
,因为mathptmx
还加载了数学字体,所以它们应该都会导致问题,或者都不会导致问题(显然,我在这里错了)。
浏览这个网站后,我发现所有答案都过于个人化和具体。不幸的是,我无法将任何解决方案应用到我自己身上。
答案1
你的序言有点混乱。
mathabx
与amssymb
一起加载是无用的:如果在 之前newtxmath
加载,大多数符号将被重新定义;按照另一种顺序,将覆盖大多数符号。mathabx
newtxmath
mathabx
newtxmath
还skull
为一个符号分配一个数学符号字体。这似乎不值得,而且很容易做到,不会浪费一个数学组。
包加载顺序非常重要;在某些情况下会发生冲突。特别是,bm
应该在数学字体包之后和之后加载amsmath
。
不要同时加载它们babel
:polyglossia
它们会互相争斗。
\documentclass[10pt,a4paper]{book}
\usepackage{fix-cm}% just to avoid some spurious messages
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{amsthm}
\usepackage{thmtools}
\usepackage{wasysym}
%\usepackage{skull} % see later
\usepackage{newtxmath}
%\usepackage{amssymb} % not with newtxmath
%\usepackage{mathabx} % not with newtxmath
\usepackage{bm}
\usepackage{lscape}
\usepackage{ragged2e}
\usepackage{faktor}
\usepackage{xfrac}
\usepackage{enumitem}
\usepackage{yfonts}
\usepackage{comment}
\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\usepackage{lipsum}
%\usepackage[russian]{babel} % either babel or polyglossia
\usepackage{polyglossia}
\setmainlanguage{russian}
\setmainfont{Georgia}
\newfontfamily\cyrillicfont{Georgia}
%%% Loading a math symbol font for just one symbol is a big waste
%%% The following lines do the same as skull.sty
\DeclareFontFamily{U}{skulls}{}
\DeclareFontShape{U}{skulls}{m}{n}{ <-> skull }{}
\newcommand{\skull}{\text{\usefont{U}{skulls}{m}{n}\symbol{'101}}}
\begin{document}
\[
\bm{\Phi}+\skull
\]
\end{document}
最后,更新你的 TeX 系统:使用 XeLaTeX 和正确制作的前言,很少会出现“数学字体太多”错误。