用无衬线字体排版数学符号吗?

用无衬线字体排版数学符号吗?

为了创建我的论文的图形(函数图、流程图、线条艺术草图),我选择使用无衬线字体

\renewcommand\familydefault{\sfdefault} 

但是当我使用像 $p_{s}$ 这样的数学符号时,它们仍然以罗马字体排版,看起来很奇怪:

示例截图

因此我想知道:

  • 我如何强制数学表达式也排版为\sfdefault
  • 如果我这样做,是否会产生任何负面影响(希腊符号或其他特殊符号?)

  • 或者我应该用罗马字体排版所有“数学”图表(轴标签等),而只用无衬线字体制作其他图形,如流程图和草图?

答案1

我自己也在研究这个问题,但似乎更加棘手使其适用于数学字体而不是常规文本字体。显然,数学字体有一些用于字距调整的“度量”,而常规字体中没有。我发现了一些(部分)解决方案:

像这样:

\setmathrm{Arial}
\setmathsf{Arial}
\setmathtt{Arial}
\setboldmathrm[BoldFont={Optima ExtraBlack}]{Optima Bold}

然而这没有改变由于某种原因,斜体数学字体(并且似乎没有选项可以执行此操作(?))。

  • 使用sfmath,附带一些预打包的字体

\usepackage[cm]{sfmath}

\usepackage{cmbright}

效果相当好,但是字体的选择有限。

例如:

\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}

TeX 和 LaTeX 的免费数学字体调查

对于文档部分中仅包含某些字母和数字的情况,使用\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}

输出为:

sansmath 命令示例

您可能还对 SI 单位和 Python 中的 Latex 渲染感兴趣:https://stackoverflow.com/questions/2537868/sans-serif-math-with-latex-in-matplotlib

相关内容