我正在使用来自 PNAS 的模板(http://www.pnas.org/site/authors/LaTex.xhtml) 在 sharelatex 上,当我添加如下单位时:
\SI{15}{\mL}
它们没有正确缩放,如附图所示。
此外,有没有办法可以强制 siunitx 使用周围的字体。我曾尝试在序言中使用:
\sisetup{detect-weight=true, detect-family=true}
毫无进展。
任何帮助都将不胜感激。
编辑 1:添加了最小示例
\documentclass{pnastwo}
\usepackage[dvips]{graphicx}
\usepackage{amssymb,amsfonts,amsmath}
\usepackage{gensymb,fixltx2e}
\usepackage{fontspec}
\usepackage{siunitx}
\sisetup{detect-weight=true, detect-family=true}
\begin{document}
\begin{article}
\begin{materials}
This is a minimal example. The following units \SI{15}{\mL} do not render with the same typeface and size as the surrounding text.
\end{materials}
\end{article}
\end{document}
答案1
该类不使用 nfss 来定义字体,因此 siunitx 绝对没有机会检测字体(另外提醒:使用非 ascii 字符时要小心。与 xelatex/lualatex 结合使用时,它们可能会出错或完全丢失)。您可以通过重新定义字体命令来解决这个问题:
\documentclass{pnastwo}
\usepackage{graphicx}
\usepackage{amssymb,amsfonts,amsmath}
\usepackage{gensymb,fixltx2e}
\usepackage{fontspec}
\renewcommand\materialfont{\sffamily\fontsize{7pt}{\baselineskip}\selectfont}
\usepackage{siunitx}
\sisetup{detect-weight=true, detect-family=true}
\begin{document}
\begin{article}
\begin{materials}
This is a minimal example. The following units \SI{15}{\mL} do not render with the same typeface and size as the surrounding text.
\end{materials}
\end{article}
\end{document}
答案2
(评论太长,因此以某种答案的形式发布。)
您的文档设置中肯定存在一些您迄今未告诉我们的问题。pnastwo
文档类本身不会干扰字体,至少不会以影响包的宏的方式干扰字体\siunitx
。
请告诉我们——最好以平均能量损失——如何将文本字体更改为无衬线字体。
\documentclass{pnastwo}
\usepackage[detect-family=true]{siunitx}
\begin{document}
\sffamily
abc
\SI{15}{\milli\liter}
\end{document}