我读了这个问题siunitx
关于和包的“可能冲突” sansmath
,但这并没有真正解决我的问题。
我有一份文档,其中的文本采用罗马字体,而数学使用无衬线字体(感谢libertine
和sansmath
包)。以下是序言:
\documentclass[a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[detect-all]{siunitx}
\sisetup{text-rm=\sffamily,math-rm=\mathsf}
\usepackage{sansmath}
\sansmath
我注意到,每当我将任何命令放入siunitx
数学“环境”( $ ... $
) 中时,输出似乎都会“忽略”它应该使用 sans。这是我的 MWE,没有使用这些libertine
包。
\begin{document}
Let \ang{30} be an acute angle. Also, \num{30} is a number and
\SI{30}{\metre} is not that far!
Let $\ang{30}$ be an acute angle. Also, $\num{30}$ is a number and
$\SI{30}{\metre}$ is not that far!
\end{document}
生成:
我做错了什么?这不是强制性的,但数学空间内的所有其他数字都是“无符号”,所以我希望底线也显示为无符号。
答案1
使用sfmath
包而不是sansmath
似乎可以工作(即您根本siunitx
不需要更改字体首选项)。siunitx
如果这不是一个选项,那么在文本模式下设置数字就可以了:
\sisetup{
mode=text,
text-rm=\sffamily,
}