SIunits 和 siunitx 包之间的差异

SIunits 和 siunitx 包之间的差异

我正在审查人们在 LaTeX 中默认加载哪些包?,并注意到该siunitx软件包是推荐的。我一直在使用\usepackage[mediumspace,mediumqspace,squaren,binary]{SIunits}

那么,这两个软件包之间有什么区别? 是否已弃用? 从 切换到SIUnits时需要注意什么?SIUnitssiunitx

理想情况下,我希望使用一个可以处理非 SI 单位的包,例如英里、磅、华氏温度等。

答案1

补充一下 Seamus 的回答,结合了和siunitx的功能,因此有了新名称。因此,和现在都具有“仅修复错误”状态。SIstyleSIunitsSIstyleSIunits

siunitx可以以两种方式操作。建议的方式是要求在宏的参数中使用单位,\SI并且\si

\SI{10}{\metre}
\si{\kilogram\metre\per\second} % Note no `\usk' here

可以加载包以定义“独立”单元(\usepackage[free-standing-units]{siunitx}),但这可能会导致一些宏命名的尴尬,并且还会使某些功能不太可靠。

该包定义了许多“开箱即用”的单位,但这些都是 SI 单位。对于下一个版本 (v2.3),我将向集合中添加自动定义的缩写单位(目前这些是加载时选项):

\SI{13.4}{\kg\per\V}

二进制单位可作为加载时选项使用。(我可能会在 v2.3 中自动实现这些功能:我还没有决定。)可以在序言中定义新单位

\DeclareSIUnit\lb{lb}
...
\SI{100}{\lb}

或者你可以包含没有任何定义的单位

\SI{60}{mph}
\SI{100}{\SIUnitSymbolDegree F}
\si{psi}

中的设置siunitx由宏控制\sisetup。对于使用 加载的间距SIunits,所需的选项是

\sisetup{number-unit-product = \:, inter-unit-product = \:}

答案2

siunitx是由 Joseph Wright 编写的,他曾一度维护SIunits. siunitxreplacesSIunits和另一个名为 的包SIstyle。它是基本思想的完整重新实现。

它可以轻松处理非 SI 单位。文档有关于如何定义新单位的详细信息。

相关内容