siunitx 包中的字体设置

siunitx 包中的字体设置

我已经使用 fontspec 包改变了整个字体设置。

\documentclass{article}

\usepackage{fontspec}
\setmainfont{Source Sans Pro}[
UprightFont     =Source Sans Pro-Light,
BoldFont        =Source Sans Pro-Semibold,
ItalicFont      =Source Sans Pro-Light Italic,
BoldItalicFont  =Source Sans Pro-Semibold Italic]

\usepackage{siunitx}

\begin{document}

 5 km \SI{5}{\km} $\SI{5}{\km}$ $5\text{km}$
\end{document}

在此处输入图片描述

但是当我在 \SI 环境中输入时,我希望字体与数学模式中的字体相同。我该如何实现?

答案1

siunitx 中的 \SI 宏具有可选参数(键值对列表)。其中一个关键字是“mode”,可能值为“text”、“math”。您可能必须在 \sisetup 中将“detect-mode”设置为 false。
如果您想总是使用数学字体作为测量单位,然后就可以使用

\sisetup{mode=math}

siunitx 包的文档对此进行了解释。您还可以使用其他包宏选择数学字体。完整示例(请注意,我使用的是 LuaLatex):

\documentclass[a4paper,article,openany,12pt]{memoir}
\usepackage{lipsum}
\usepackage{mathpazo} %shows the differences between math and text mode better
\usepackage{fontspec}
\usepackage{siunitx}


\begin{document}
\sisetup{mode=math}    

\SI[mode=text]{9.8}{\kilogram\metre\per\second\squared}\\
\SI{9.8}{\kilogram\metre\per\second\squared}\\
$\SI{9.8}{\kilogram\metre\per\second\squared}$

\end{document}

相关内容