我已经使用 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}