为了创建我的论文的图形(函数图、流程图、线条艺术草图),我选择使用无衬线字体
\renewcommand\familydefault{\sfdefault}
但是当我使用像 $p_{s}$ 这样的数学符号时,它们仍然以罗马字体排版,看起来很奇怪:
因此我想知道:
- 我如何强制数学表达式也排版为
\sfdefault
如果我这样做,是否会产生任何负面影响(希腊符号或其他特殊符号?)
或者我应该用罗马字体排版所有“数学”图表(轴标签等),而只用无衬线字体制作其他图形,如流程图和草图?
答案1
我自己也在研究这个问题,但似乎更加棘手使其适用于数学字体而不是常规文本字体。显然,数学字体有一些用于字距调整的“度量”,而常规字体中没有。我发现了一些(部分)解决方案:
- 使用
fontspec
更改数学字体
像这样:
\setmathrm{Arial}
\setmathsf{Arial}
\setmathtt{Arial}
\setboldmathrm[BoldFont={Optima ExtraBlack}]{Optima Bold}
然而这没有改变由于某种原因,斜体数学字体(并且似乎没有选项可以执行此操作(?))。
- 使用
sfmath
,附带一些预打包的字体
\usepackage[cm]{sfmath}
- 使用自定义数学字体包
\usepackage{cmbright}
效果相当好,但是字体的选择有限。
- 使用
unicode-math
结合STIX 字体(看这里和这里)
例如:
\usepackage{unicode-math}
%\usepackage[math-style=ISO]{unicode-math}
\setmainfont{XITS}
\setmathfont{XITS Math}
%\setmathfont[range=\mathit/{latin,Latin}]{Adobe Garamond Pro}
尽管这存在与...\setmathfont{}
结合使用时产生错误的问题。amsmath
答案2
对于整个文档:
\usepackage{arev}
或者
\usepackage{cmbright}
对于文档部分中仅包含某些字母和数字的情况,使用\mathsf
。
答案3
我发现最简单的方法是使用\mathsf
。所以我写
$ 7\times \rho = \mathsf{c_1} $
答案4
下面是一个如何在文档中使用 sansmath 包并在 sans 和 serif 之间切换的示例。
\documentclass{article}
\usepackage{sansmath}
\begin{document}
{\sansmath Sans: $\alpha = Fml$}
Serif: $\alpha = Fml$
\end{document}
输出为:
您可能还对 SI 单位和 Python 中的 Latex 渲染感兴趣:https://stackoverflow.com/questions/2537868/sans-serif-math-with-latex-in-matplotlib