问题:当文档使用 mathpazo 时,是否可以获得粗体无衬线小写希腊字母?
使用 mathpazo 包时,我在数学环境中遇到了 Sans Serif 字体问题。以下 MWE 在没有 mathpazo 的情况下为无衬线小写希腊字母 \sigma 产生了预期结果。
\documentclass[12pt,a4paper]{article}
\usepackage{amsmath,amssymb}
\usepackage{amsfonts}
% \usepackage{mathpazo}
\usepackage[eulergreek]{sansmath}
\usepackage{bm}
\begin{document}
$\bm \varepsilon$ \quad
$\bm \sigma$ \quad
$\sansmath{\bm \sigma}$
\end{document}
上述MWE的结果是:
但是,当使用 mathpazo 时
\documentclass[12pt,a4paper]{article}
\usepackage{amsmath,amssymb}
\usepackage{amsfonts}
% \usepackage{mathpazo}
\usepackage[eulergreek]{sansmath}
\usepackage{bm}
\begin{document}
$\bm \varepsilon$ \quad
$\bm \sigma$ \quad
$\sansmath{\bm \sigma}$
\end{document}
结果是小写希腊字母没有 Sans Serif:
我正在使用 sansmath 包,因为 mathpazo Palatino 包缺少 sans-serif 字体(如上所述这里)。
此外,正如文档中提到的这里,当使用 sansmath 时,由于 OT1 文本字体不提供小写希腊字母,因此必须使用包选项 [eulergreek] 从 Euler 数学字体中获取小写希腊字母。但即使这样也行不通。
我已经在网上搜索了一个多星期,但找不到解决方案。
论文的模板使用 mathpazo/Palatino,因此我必须遵循它,但此外我还需要一些无衬线小写希腊字母 $\sigma$ 和 $\varepsilon$。
答案1
您可以重新定义希腊命令(我在这里使用 \ssigma 进行比较)。
\documentclass[12pt,a4paper]{article}
\usepackage{amsmath,amssymb}
\usepackage{amsfonts}
\usepackage{mathpazo}
\DeclareSymbolFont{EulerGreek}{U}{eur}{m}{n}
\SetSymbolFont{EulerGreek}{normal}{U}{eur}{m}{n}
\SetSymbolFont{EulerGreek}{bold}{U}{eur}{b}{n}
\DeclareMathSymbol{\ssigma}{\mathord}{EulerGreek}{"1B}
\DeclareMathSymbol{\svarepsilon}{\mathord}{EulerGreek}{"22}
\usepackage{bm}
\begin{document}
$\varepsilon \svarepsilon \bm \varepsilon \bm\svarepsilon $ \quad
$\sigma \ssigma \bm \sigma \bm\ssigma$
\end{document}