我想在新的变量 \kPaf 的开头插入一个 cdot 符号,这样我就不需要一直写它了。当我尝试这样做时,就像在 \cdotkPaf 中一样,\dfrac 被关闭了。如何在开头添加 \cdot 以使其看起来像第三个等式,它仅使用数学模式?
\documentclass[12pt]{article}
\usepackage{amsmath} % for "\dfrac" macro
\usepackage[per-mode = fraction,fraction-function=\dfrac]{siunitx}
\DeclareSIUnit{\kPaf}{\kilo\newton\per\meter\squared}
\DeclareSIUnit{\cdotkPaf}{\cdot\kilo\newton\per\meter\squared}
\begin{document}
\begin{gather}
A=2\si{\kPaf} \\
A=2\si{\cdotkPaf} \\
A=2\cdot\dfrac{kN}{m^{2}}
\end{gather}
\end{document}
答案1
你用\cdot
来表示标量(此处:2
)和相关单位(此处:\kPaf
)的(抽象)乘积,对吗?如果是这样,你似乎在滥用siunitx
机制,试图将\cdot
符号作为单位表达式的一部分。而不是写
A=2\si{\cdotkPaf}
你真的应该写
A=\SI[number-unit-product=\cdot]{2}{\kPaf}
请注意,它\SI
接受两个强制参数:数字部分和单位部分。当然,number-unit-product=\cdot
可以在运行 时声明该选项\sisetup
;这样,每次使用 时就不必重新声明它\SI
。
顺便说一句,如果您确实需要 ,请重新考虑\cdot
。 细间距(使用 时的默认设置SI
)在分隔数字和单位方面同样有效。
另外,我认为提供选项 不是一个好主意fraction-function=\dfrac
。即使没有此选项,如果 TeX 处于显示样式数学模式,也会自动使用显示样式分数符号。但是,如果没有此选项,更合理的方法\tfrac
是在内联数学模式下使用。通过在内联数学模式下使用,几乎可以确保创建一个完整的印刷火车残骸。对于和\dfrac
的内联数学应用,请考虑使用 选项以获得“不拥挤”的外观。\SI
\si
per-mode=symbol
\documentclass[12pt]{article}
\usepackage[per-mode=fraction, % default is "per-mode=symbol"
number-unit-product=\cdot % <-- new
]{siunitx}
\DeclareSIUnit{\kPaf}{\kilo\newton\per\meter\squared}
\begin{document}
$\displaystyle
A=2\cdot\si{\kPaf} \quad
A=\SI{2}{\kPaf} \quad
A=\SI[number-unit-product=\,]{2}{\kPaf} $
\bigskip
\sisetup{number-unit-product={\,}} % revert to default
$A=\SI{2}{\kPaf} \quad
A=\SI[per-mode=symbol]{2}{\kPaf}$
\end{document}