直立希腊字体适合计算机现代

直立希腊字体适合计算机现代

我正在寻找一种用于单个希腊字符(例如“β-decay”或“µ-metal”)的直立希腊字体,其适合默认的 CM/latin 样式,即默认斜体数学模式希腊字母(\beta\mu)的直立版本。

使用或包(、 )cbgreek书写时使用的“默认”直立希腊字体(应该是)与 CM/latin 字体不太匹配,尤其是 µ 符号。有替换整个字体系列的包,例如或,提供完整的希腊字体集,但没有一个是为 CM/latin 制作的。使用另一种字体作为数学模式希腊字体(我猜,也可以通过相应的选项访问),它也与 CM/latin 不太匹配。babeltextgreek\textbeta\textmumathdesignkpfontsupgreekeulertextgreek

如果不是因为该siunitx包使用了 µ,我早就放弃了。它的默认“micro”前缀 ( \si{\micro}) 与 CM/latin 完美契合(见下文比较),我想知道 µ 是否只是 CM 字体的一个独特字符,或者是否有机会在该字体中获得直立的 β 和其他字母。此外,该siunitx包如何获得那个 µ?字符 µ(微符号)和 μ(希腊字母 mu)默认使用 UTF-8 编码打印相同的字符cbgreek(见下文)...

这是一个 MWE(pdflatex):

\documentclass{minimal}
\usepackage[utf8]{inputenc}
\usepackage{siunitx}
\usepackage{textgreek}
\usepackage{upgreek}

\begin{document}

m\si{\micro}\textmu $\mu$

\textbeta $\beta$

$\upmu \upbeta$

µμβ % U+00B5 (micro symbol) U+03BC (greek lower case mu) U+03B2 (greek lower case beta)

\end{document}

结果:

希腊字母

答案1

我意识到我在这里晚了几年,但从 2018 年起,我们可以停止像之前的答案那样采取变通方法,尽管它们很聪明且令人印象深刻。

最简单的方法是直接加载unicode-math并使用\symup{\alpha}等等,或者默认使用选项加载unicode-math。Latin [math-style=upright]Modern Math 是 的默认数学字体unicode-math,包含直立的希腊数学字母,大多数其他 OpenType 数学字体也是如此。

拉丁现代数学

Computer Modern Unicode 项目有一种与非倾斜斜体非常相似的字体:CMU Serif Upright Italic。(它没有粗体,但您可以重新使用该FakeBold=功能fontspec或​​使用默认值。)您只能为直立数学字母加载此字体,如下所示:

\documentclass[varwidth, preview]{standalone}

\usepackage[math-style=upright]{unicode-math}
\setmathfont{Latin Modern Math}
\setmathfont[range=up/{Latin,latin,Greek,greek}]{CMU Serif Upright Italic}

\begin{document}
\( \alpha + \beta = \pi \)
\end{document}

CMU Serif Upright Italic 示例

您还可以使用包加载此字体fontspec,并且可以选择加载它来替换 CMU 系列中的斜体字体,或者将其作为普通字体加载,并将倾斜斜体作为其伴随字体加载。

答案2

在这里,我引用 Bruno 的回答剪切变换一个“盒子”,并用它来消除计算机现代希腊字母的倾斜。我引入了\unslant[slant]{math-symbol},其中消除倾斜校正的默认值设置为 -0.25。

正如你所见,不倾斜的字体非常直观非常与原版兼容,两者均显示。无需任何软件包。

\documentclass[a4paper]{article}
\newsavebox{\foobox}
\newcommand{\slantbox}[2][0]{\mbox{%
        \sbox{\foobox}{#2}%
        \hskip\wd\foobox
        \pdfsave
        \pdfsetmatrix{1 0 #1 1}%
        \llap{\usebox{\foobox}}%
        \pdfrestore
}}
\newcommand\unslant[2][-.25]{\slantbox[#1]{$#2$}}

\begin{document}
$\alpha\beta\gamma\delta\epsilon\eta\mu\phi\sigma\tau\omega\xi\psi\zeta$\par
\unslant\alpha\unslant\beta\unslant\gamma\unslant[-.1]\delta\unslant[-.1]\epsilon%
\unslant\eta\unslant\mu\unslant\phi\unslant\sigma\unslant\tau\unslant\omega%
\unslant[-.15]\xi\unslant\psi\unslant[-.15]\zeta
\end{document}

在此处输入图片描述

虽然默认倾斜度和特定倾斜度可能需要针对每种字体进行一些调整,但这种方法的真正好处在于,原则上,它可以在任何数学字体上工作。在这里,我在 上使用它mathptmx,将默认倾斜度调整unslant[-.18]

\documentclass[a4paper]{article}
\usepackage{mathptmx}
\newsavebox{\foobox}
\newcommand{\slantbox}[2][0]{\mbox{%
        \sbox{\foobox}{#2}%
        \hskip\wd\foobox
        \pdfsave
        \pdfsetmatrix{1 0 #1 1}%
        \llap{\usebox{\foobox}}%
        \pdfrestore
}}
\newcommand\unslant[2][-.18]{\slantbox[#1]{$#2$}}

\begin{document}
$\alpha\beta\gamma\delta\epsilon\eta\mu\phi\sigma\tau\omega\xi\psi\zeta$\par
\unslant\alpha\unslant\beta\unslant\gamma\unslant\delta\unslant\epsilon%
\unslant\eta\unslant\mu\unslant\phi\unslant\sigma\unslant\tau\unslant\omega%
\unslant\xi\unslant\psi\unslant\zeta
\end{document}

在此处输入图片描述

答案3

添加\showoutput到您的文档中你会看到

....\OT1/cmr/m/n/10 m
....\hbox(4.37393+1.94397)x5.5542
.....\TS1/cmr/m/n/10 �

这意味着 siunitx 使用 TS1,即文本配套字体

\usepackage{textcomp}

这意味着你基本上运气不佳,因为 TS1 编码没有希腊字母,只有

\DeclareTextSymbol{\textmu}{TS1}{181} % micro sign

请参阅ts1enc.def基础 LaTeX 分布。

相关内容