声明的符号字体过多错误

声明的符号字体过多错误

我发现了一个新的包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

你的序言有点混乱。

mathabxamssymb一起加载是无用的:如果在 之前newtxmath加载,大多数符号将被重新定义;按照另一种顺序,将覆盖大多数符号。mathabxnewtxmathmathabxnewtxmath

skull为一个符号分配一个数学符号字体​​。这似乎不值得,而且很容易做到,不会浪费一个数学组。

包加载顺序非常重要;在某些情况下会发生冲突。特别是,bm应该在数学字体包之后和之后加载amsmath

不要同时加载它们babelpolyglossia它们会互相争斗。

\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 和正确制作的前言,很少会出现“数学字体太多”错误。

enter image description here

相关内容