我一直在 LaTeX 文档中使用mathpazo
+ eulervm
,对结果非常满意,但有一个例外: 的字符\mathcal
没有按照我想要的方式显示;我更喜欢单独\mathcal
使用 下的字体mathpazo
。两个 独立的问题:
有没有办法将
\mathcal
下面的字体mathpazo
用于整个mathpazo
+eulervm
文档?有没有办法使用
\mathcal
下面的字体mathpazo
具体的整个mathpazo
+eulervm
文档的信件?
非常感谢您的帮助。
答案1
\mathcal
定义的版本由mathpazo
以下公式给出:
\DeclareSymbolFont{symbols}{OMS}{zplm}{m}{n}
\SetSymbolFont{symbols}{bold}{OMS}{zplm}{b}{n}
\DeclareSymbolFontAlphabet{\mathcal}{symbols}
这些和其他数学字体定义当然会被 的字体定义覆盖eulervm
,因此唯一要做mathpazo
的就是使用 Palatino 字体来显示文本。(为此,您可能需要切换到 TeX Gyre Pagella 或 New PX,但这只是个人喜好问题。)
如果你不介意浪费一个数学字母,你可以将上面给出的几行修改为类似
\documentclass{article}
\usepackage{mathpazo}
\usepackage{eulervm}
\DeclareMathAlphabet{\mathpazocal}{OMS}{zplm}{m}{n}
\SetMathAlphabet{\mathpazocal}{bold}{OMS}{zplm}{b}{n}
\begin{document}
% eulervm version
$\mathcal{ABCDE}$ {\boldmath$\mathcal{ABCDE}$}
% mathpazo version for one single symbol
$\mathpazocal{ABCDE}$ {\boldmath$\mathpazocal{ABCDE}$}
% make them synonyms
\DeclareRobustCommand*{\mathcal}[1]{\mathpazocal{#1}}
$\mathcal{ABCDE}$ {\boldmath$\mathcal{ABCDE}$}
\end{document}