此代码可以打印\si{\us}
\RequirePackage{luatex85}
\documentclass[border=1cm]{standalone}
\usepackage{siunitx}
\begin{document}
Time \si{\us}
\end{document}
虽然这个没有打印所需的输出
\RequirePackage{luatex85}
\documentclass[border=1cm]{standalone}
\usepackage{mathtools}
\usepackage[tuenc,no-math]{fontspec}
\usepackage{unicode-math}
\usepackage{siunitx}
\begin{document}
Time \si{\us}
\end{document}
那么,哪些软件包导致了这样的缺陷?此外,我应该按照什么顺序加载它们?
答案1
我认为这是 unicode-math 中的问题,\mathrm{\upmu}
它尝试使用文本字体输出符号,因此您会收到缺少字符的消息。这会影响 siunitx,因为它内部使用 \mathrm。我提交了一个错误报告:https://github.com/wspr/unicode-math/issues/438
解决方法是使用 mu 的文本版本,或者使用框:
\RequirePackage{luatex85}
\documentclass[border=1cm]{standalone}
\usepackage{unicode-math}
\usepackage{siunitx}
%\sisetup{math-micro=\hbox{$\upmu$},text-micro=µ} %works too
\sisetup{math-micro=\text{µ},text-micro=µ}
\begin{document}
$\mathrm{\upmu} %missing
\mathrm{\hbox{$\upmu$}}$
\si{\us} \si[mode=text]{\us}
\end{document}