在普通数学设置中添加数学模式(可能在 cmbright 中)的粗体无衬线希腊字母

在普通数学设置中添加数学模式(可能在 cmbright 中)的粗体无衬线希腊字母

我几乎使用默认设置,以 Computer Modern 作为主要字体;我必须尽可能坚持使用,并尽可能保持序言简短明了。
到目前为止,我一直在数学模式中使用(倾斜的)无衬线希腊字母,在cmbright字体系列中,完全按照这个答案(我从中复制了我的设置,然后我以某种方式解决了大写问题)。
一切都很顺利,我对结果很满意,但现在我还需要添加(倾斜)大胆的无衬线希腊字母(至少是其中的一些)。
我能够使用 做到这一点cmss,如下所示另一个答案,但我对结果并不满意;MWE 比较了结果:

\documentclass{article}
\usepackage[LGR,T1]{fontenc}
\usepackage{amsmath,etoolbox}

\DeclareSymbolFont{sfletters}{OML}{cmbrm}{m}{it}
\DeclareMathSymbol{\salpha}{\mathord}{sfletters}{"0B}
\DeclareMathSymbol{\sbeta}{\mathord}{sfletters}{"0C}
\DeclareMathSymbol{\sLambda}{\mathord}{sfletters}{'3}

\newcommand{\declaresfgreek}[2]{%
    \protected\csdef{sf#1}{\mathord{\text{\sfgreekfont#2}}}%
}
\newcommand{\sfgreekfont}{\usefont{LGR}{cmss}{m}{it}}% change the family
\declaresfgreek{alpha}{a}
\declaresfgreek{beta}{b}
\declaresfgreek{Lambda}{L}

\newcommand{\declarebsfgreek}[2]{%
    \protected\csdef{bsf#1}{\mathord{\text{\bsfgreekfont#2}}}%
}
\newcommand{\bsfgreekfont}{\usefont{LGR}{cmss}{bx}{it}}% change the family
\declarebsfgreek{alpha}{a}
\declarebsfgreek{beta}{b}

\begin{document}

\begin{equation*}
\salpha\ne\alpha\ne\sfalpha\ne\bsfalpha
\end{equation*}

\begin{equation*}
{\sLambda^\salpha}_\sbeta\ne{\varLambda^\alpha}_\beta%
\ne{{\sfLambda}^{\sfalpha}}_{\sfbeta}
\end{equation*}

\end{document}

应该得到:

在此处输入图片描述

在我看来:

  1. cmss和的希腊字体cmbright差别太大;它们不能一起使用;我试图在第一个等式中显示这一事实(cmbright ≠ cm ≠ cmss ≠ bold cmss);
  2. cmss不能很好地处理上标和下标(因为它太粗了!),而cmbright很棒;实际上,我发现它cmbright给出了 CM 衬线表达的最佳无衬线“翻译”,而 却cmss离它很远(cmbright ≠ cm ≠ cmss)。

出于某种原因,我不能简单地“改变家庭”(如上面的代码注释中所建议的;那部分是从第二个链接复制的)在\sfgreekfont\bsfgreekfontcmbright;我猜cmbright没有粗体希腊字母,但我不是这方面的专家,恰恰相反;顺便说一下,在cmbright 包装文档他们解释了如何获得粗体希腊字母,但我无法根据自己的具体需求进行整理。
那么,有没有办法添加粗体无衬线希腊字母cmbright(或其他一些产生非常相似结果的字体系列:字体粗细不太重、适合索引、不会对 CM 造成太大影响)以与默认数学设置一起使用?

答案1

分子武器

由于您对问题进行了重大修改,因此我将重大重写我的答案。

LuaLaTeX 中默认的无衬线粗体斜体拉丁现代数学:

\documentclass{article}
\tracinglostchars=2
\usepackage[math-style=ISO]{unicode-math}

\newcommand\mathvec[1]{\symbfit{#1}}
\newcommand\mathtensor[1]{\symbfsfit{#1}}

\begin{document}
\[ \alpha\beta\Gamma \ne \mathvec{\alpha\beta\Gamma} \ne \mathtensor{\alpha\beta\Gamma} \]
\end{document}

拉丁现代数学样本

LuaLaTeX 中的计算机现代 Unicode 明亮粗体斜体:

\documentclass{article}
\tracinglostchars=2
\usepackage[math-style=ISO]{unicode-math}

\setmathfont{Latin Modern Math}
\setmathfont{cmunbxo.otf}[range=bfsfit, Scale=MatchUppercase]

\newcommand\mathvec[1]{\symbfit{#1}}
\newcommand\mathtensor[1]{\symbfsfit{#1}}

\begin{document}
\[ \alpha\beta\Gamma \ne \mathvec{\alpha\beta\Gamma} \ne \mathtensor{\alpha\beta\Gamma} \]
\end{document}

CMU 明亮样本

PDFLaTeX 中的 Sans Math 字体:

\documentclass{article}
\tracinglostchars=2
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage[OMLmathsfit,sfdefault=cmssm]{isomath}

\newcommand\mathvec[1]{\mathbfit{#1}}
\newcommand\mathtensor[1]{\mathsfbfit{#1}}

\begin{document}
\[ \alpha\beta\Gamma \ne \mathvec{\alpha\beta\Gamma} \ne \mathtensor{\alpha\beta\Gamma} \]
\end{document}

Sansmathfonts 示例

PDFLaTeX 中的 Computer Modern Bright:

\documentclass{article}
\tracinglostchars=2
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage[OMLmathsfit,sfdefault=cmbr]{isomath}

\newcommand\mathvec[1]{\mathbfit{#1}}
\newcommand\mathtensor[1]{\mathsfbfit{#1}}

\begin{document}
\[ \alpha\beta\Gamma \ne \mathvec{\alpha\beta\Gamma} \ne \mathtensor{\alpha\beta\Gamma} \]
\end{document}

计算机现代明亮字体示例

原始答案

您可以使用\symbfsfit中的字母unicode-math。这将为您提供数学字母数字符号

相关内容