![粗体无衬线数学字体](https://linux22.com/image/344641/%E7%B2%97%E4%BD%93%E6%97%A0%E8%A1%AC%E7%BA%BF%E6%95%B0%E5%AD%A6%E5%AD%97%E4%BD%93.png)
灵感来自卡莱尔先生的回答如下,我想知道如何使用粗体无衬线数学字体。
创建普通粗体无衬线字体的方法文本如下:
\documentclass[]{standalone}
\begin{document}
\textbf{\textsf{This text is bold.}}
\end{document}
我如何获得粗体无衬线字体数学但我尝试了很多组合,例如:
\documentclass[]{standalone}
\begin{document}
\textbf{$\mathsf{x^2+2}$}
\end{document}
然而,这些似乎都没有给出粗体无衬线数学效果!
答案1
答案2
为了将答案扩展到 unicode 空间,该unicode-math
包(fontspec
在后台使用)允许将一个(或多个)字母符号范围(例如斜体和直立)映射到另一个范围(例如粗体无直立),并提供选项。17range
个范围(up
、、、、等)也可以限制为小写/大写/拉丁/希腊或it
数字frak
。tt
cal
对于特定(分组)符号,各种\sym..{}
命令(例如\symbf{}
粗体)执行类似的功能。
插图的关键:斜体(洋红色);斜体映射到粗体无直立(红色);斜体和直立都映射到 bfsfup;\sym..{}
命令的直立版本;\symbfsfup
命令。
\documentclass[12pt]{standalone}
\usepackage{xcolor}
\usepackage{unicode-math}
\setmathfont{Asana Math}[Colour=blue]
%\setmathfont{Asana Math}[range={it},Colour=magenta]
\setmathfont{Asana Math}[range={it->bfsfup,up->bfsfup},Colour=red]
\setmainfont{Noto Serif}
\begin{document}
\begin{tabular}{rl}
\verb|range={it->bfsfup,up->bfsfup}| & $AB ab \Phi \Mu \Lambda \phi \mu \lambda 123$ \\
\end{tabular}
\end{document}
答案3
截至 2020 年,提供unicode-math
字母\symbfsfup
、\symbfsfit
和\mathbfsfup
。\mathbfsfit
如果您使用 PDFLaTeX,该isomath
包提供\mathsfbfit
。
您可能选择声明一个sansbold
数学版本,例如用于粗体无衬线标题中的数学表达式。在 中unicode-math
,没有定义粗体无衬线数学字体,但您可以使用 伪造一个FakeBold
。
\documentclass{article}
\usepackage{unicode-math}
\pagestyle{empty}
\defaultfontfeatures{ Scale = MatchLowercase, Ligatures = TeX }
\setmathfont{Latin Modern Math}
\setmathfont[ version=sansbold,
FakeBold = 1.2
]{Fira Math}
\newcommand\sansboldmath{\mathversion{sansbold}}
\begin{document}
\section{\sffamily\bfseries\upshape\sansboldmath
Proving \( \symup{e}^{\symup{i} \uppi} + 1 = 0 \) }
\end{document}
要在旧版 NFSS 中执行相同的操作,您需要找到与主数学字体编码匹配的无衬线粗体数学字体。该newtxsf
包可能适用于newtxmath
或newpxmath
。