我正在尝试将提供的无衬线数学字体与cmbright
适当的黑板粗体符号(也是无衬线)匹配。我发现fourier
和stix
(xits
?)字体提供了这样的符号。但是如何cmbright
在 LuaLaTeX/XeLaTeX 中使用和导入仅黑板粗体符号?
答案1
获取字体的定义fourier
很容易;经过一些反复试验,也可以获得正确的放大倍数。
\documentclass{article}
\usepackage{cmbright}
%%% taken from fourier.sty
\DeclareFontFamily{U}{futm}{}
\DeclareFontShape{U}{futm}{m}{n}{
<-> s * [.97534] fourier-bb % but changing the magnification factor
}{}
\DeclareMathAlphabet{\mathbb}{U}{futm}{m}{n}
\begin{document}
$-3\in\mathbb{Z}\subseteq\mathbb{Q}\ne Q$
\texttt{\sbox0{$Q$}\the\ht0}
\texttt{\sbox0{$\mathbb{Q}$}\the\ht0}
\end{document}
最后两行显示高度匹配(最高可达 0.00001pt)。
对于 STIX 字体,过程类似。
\documentclass{article}
\usepackage{cmbright}
%% taken from the STIX font distribution
\DeclareFontEncoding{LS1}{}{}
\DeclareFontSubstitution{LS1}{stix}{m}{n}
\DeclareFontFamily{LS1}{stixbb}{\skewchar\font127 }
\DeclareFontShape{LS1}{stixbb}{m}{n} {<-> s*[1.032631] stix-mathbb}{}
\DeclareFontShape{LS1}{stixbb}{b}{n} {<-> s*[1.032631] stix-mathbb-bold}{}
\DeclareMathAlphabet{\mathbb}{LS1}{stixbb}{m}{n}
\SetMathAlphabet{\mathbb}{bold}{LS1}{stixbb}{b}{n}
\begin{document}
$-3\in\mathbb{Z}\subseteq\mathbb{Q}\ne Q$
\texttt{\sbox0{$Q$}\the\ht0}
\texttt{\sbox0{$\mathbb{Q}$}\the\ht0}
\end{document}
答案2
这mathalfa
软件包使得这种改变变得相当容易!
为了fourier
:
\usepackage{cmbright}
\usepackage[bb=fourier]{mathalfa} % esstix math bb font
对于stix
(分别esstix
):
\usepackage{cmbright}
\usepackage[bb=esstix]{mathalfa} % fourier math bb font