Stix 字体系列中粗体倾斜 \lambda 符号不够粗体

Stix 字体系列中粗体倾斜 \lambda 符号不够粗体

1. 重要边界条件

  1. 应该使用 pdflatex。请勿使用 xelatex。
  2. 字体不应该与Computer Modern,Times New Roman,Stix完全不同。
  3. Stix2 是一种看起来完全不同的字体。

为什么?

  • 因为提交给《物理评论》期刊的稿件是由编写的pdflatex
  • 因为很多人从未听说过xelatex

2. 实际问题

我需要使用 STIX 数学斜体(第二行)和数学加粗斜体(第三行)在同一文本中。我发现除 lambda 之外的所有小希腊字母的区别都足够明显。lambda 的形状似乎不一致(太细)。由于我在同一个文本中同时使用了这两种字体,因此很难区分这两个 lambda。在这种情况下,解决方案是什么?

在此处输入图片描述

3. 图形说明

  • 它是用 Adob​​e Illustrator 生成的。据我所知,该stix软件包为文本模式提供了第一行(直立文本),为数学模式提供了第二行和第三行。
  • 第 4 行和第 5 行说明了 a) 直立字体(1)和无衬线直立字体(4)以及 b) 斜体字体(2)和无衬线倾斜字体之间的适当视觉差异。
  • 第 3 行显示了有问题的粗斜体字体。在右侧,我将粗斜体叠加在斜体字体上,以展示 lambda 的微小差异。

4. 可复制粘贴的 Latex 代码

目前,我正在定义无衬线粗体斜体小希腊数学字母

\documentclass{article}
\usepackage{amsmath}
\usepackage{stix}
\usepackage{bm}
\DeclareMathSymbol{\alphaSF}{\mathalpha}{arrows2}{"0B}
\DeclareMathSymbol{\lambdaSF}{\mathalpha}{arrows2}{"15}

\newcommand{\lambdaBold}{{\bm{\lambdaSF}}}
\newcommand{\alphaBold}{{\bm \alphaSF}}
\begin{document}
\begin{align*}
  \alpha&=\lambda\\
  \bm{\alpha}&=\bm{\lambda}\\
  \alphaBold&=\lambdaBold
 \end{align*} 
\end{document}

并使用它们代替粗体斜体,但无衬线字体太突出了。 在此处输入图片描述

答案1

请看下面的截图。在上半部分,数学模式的希腊字母首先以正常形式显示,即倾斜和非粗体形式,然后是粗体、直立和粗体直立形式,用于数学字体XITS Math。正常和粗体倾斜变体确实\lambda看起来非常相似。

在下半部分,显示了相同的四个数学希腊字母,但现在是Stix Two Math数学字体。您会立即注意到常规和粗体倾斜 lambda 字形看起来非常不同。

在此处输入图片描述

\documentclass{article}
\usepackage{unicode-math}
\newcommand\blurb{\alpha\beta\gamma\delta\epsilon\zeta\eta%
                  \theta\iota\kappa\lambda\mu\nu\xi\pi\rho%
                  \sigma\tau\upsilon\phi\chi\psi\omega}
\begin{document}
\obeylines
\setmainfont{XITS}
\setmathfont{XITS Math}
XITS Math glyphs
$\blurb$
$\symbf{\blurb}$
$\symup{\blurb}$
$\symbfup{\blurb}$

\bigskip
\setmainfont{Stix Two Text}
\setmathfont{Stix Two Math}
Stix Two Math glyphs
$\blurb$
$\symbf{\blurb}$
$\symup{\blurb}$
$\symbfup{\blurb}$
\end{document}

答案2

无需加载bmstix字体带有与标准兼容的\mathversion{bold}粗体\boldsymbol字母amsmath

使用 PDFLaTeX,您可以加载带有的粗体无衬线数学字母isomath。有多种选项,包括 Computer Modern Bold 和 Arev。

\documentclass{article}
\usepackage{iftex}

\ifTUTeX
  \usepackage{unicode-math}
  \setmainfont{XITS}[Scale=1.0]
  \setmathfont{XITS Math}[Scale=MatchLowercase] % Also loads STIX Math Bold.
\else
  \usepackage{amsmath}
  \usepackage{stix}
  % sfdefault=zavm is Arev. sfdefault=cmbr is Computer Modern Bright.
  \usepackage[sfdefault=cmbr]{isomath} % For \mathsfbfit

  \newcommand{\mbfitsansalpha}{\mathsfbfit{\alpha}}
  \newcommand{\mbfitsanslambda}{\mathsfbfit{\lambda}}
\fi

\pagestyle{empty} % For convenient cropping of the MWE.

\begin{document}
\begin{align*}
  \alpha              &= \lambda \\
  \boldsymbol{\alpha} &= \boldsymbol{\lambda} \\
  \mbfitsansalpha     &= \mbfitsanslambda
 \end{align*} 
\end{document}

使用 PDFLaTeX 编译后得到:

传统字体输出

有了unicode-math,这一切就变得更加简单:该软件包开箱即用地支持\symbfit和字母表。Khaled Hosny 的 XITS Math 字体还提供了粗体版本。\symbfsfit

使用 LuaLaTeX 或 XeLaTeX 编译的相同 MWE 产生:

XITS 数学示例

选项range=允许unicode-math您用任何其他数学或希腊字体替换无衬线数学字母。以下是如何用 STIX Two Math 替换希腊无衬线斜体字母的示例。

不幸的是,截至 2020 年,range=与数学版本不兼容,因此您在使用时会遇到问题\boldsymbol。因此我改用了\symbfit

\documentclass{article}

\usepackage{unicode-math}
\defaultfontfeatures{Scale=MatchLowercase}
\setmainfont{XITS}[Scale=1.0]
\setmathfont{XITS Math}
\setmathfont{STIX Two Math}[range=bfsfit/{Greek,greek}]

\pagestyle{empty} % For convenient cropping of the MWE.

\begin{document}
\begin{align*}
  \alpha              &= \lambda \\
  \symbfit{\alpha}    &= \symbfit{\lambda} \\
  \symbfsfit{\alpha}  &= \symbfsfit{\lambda}
 \end{align*} 
\end{document}

XITS/STIX 两个样本

您更可能想要替换不同的粗体斜体 lambda (

相关内容