无法将 Molar 与 siunitx 一起使用

无法将 Molar 与 siunitx 一起使用

直到昨天,我才可以\usepackage[alsoload=synchem]{siunitx}在序言中声明。所以我可以写类似的东西\SI{20.00}{\milli\Molar},这样事情就会排版得很好。

今天,我将 TexLive 更新到 3.141592653-2.6-1.40.23 (TeX Live 2021),现在一切都无法正常工作。我收到错误! Package keyvalue Error: Unknown option 'alsoload' for package siunitx.

我尝试获取有关 siunitx 的最新手册,但看不到使用该\Molar宏的示例。

我知道我可以手动声明所需的单元,但是它已从\Molar包中删除?

我在 Linux Mint 20.2 上使用 pdflatex,以 TeXMaker 作为前端。

我的 MWE:

\documentclass[a4paper, 12pt]{article}
\usepackage[alsoload=synchem]{siunitx}

\begin{document}
Prepare a \SI{20.0}{\Molar}.
\end{document}

答案1

alsoload选项来自 的版本 1 siunitx\Molar单位也是如此。当版本 2 发布时,大约在 2010 年,据我从更改日志中所知,为版本 1 提供了一些向后兼容代码。关于这一点,siunitxrepo 中最古老的版本 2 历史文件对此的评论是:

从版本 1 升级的用户siunitx会注意到,版本 1 中可用的各种“专家”单位不再作为可加载选项提供。\footnote{它们包含在加载的配置文件中version-1,但这纯粹是为了简化向版本 2 的过渡。} 这些不包含在版本 2 中,因为包含此类单位的标准远不明确,并且很难证明在包中提供明显的非 SI 单位是合理的。

该选项alsoload在版本 2 中是无操作的,但它发出了编译警告:Package siunitx Warning: Version 1 option 'alsoload' detected.

因此,该选项和单元显然已被弃用,并且已经弃用很长时间了。最近升级到版本 3 已不再支持它。您可以争取一些时间并加载版本 2,如 @Mico 所建议的那样,使用:

\usepackage[alsoload=synchem]{siunitx}[=v2]

但是,考虑到情况,除非您由于某种原因无法升级,否则我的建议是保留最近的升级(它包含许多改进并且是当前版本),并定义您需要的单元。

该特定单位的定义如下siunitx-version-1.cfg

\DeclareSIUnit\Molar{\textsc{m}}

相关内容