无衬线小写希腊文 mathpazo

无衬线小写希腊文 mathpazo

问题:当文档使用 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的结果是:

Without mathpazo

但是,当使用 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:

With mathpazo

我正在使用 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}

字形槽的列表如下:https://tex.stackexchange.com/a/335857/2388

enter image description here

相关内容