我有一些使用 siunitx 和 Units 包的旧版 LaTeX 文件。下面是一个最小工作示例:
\documentclass{article}
\usepackage{siunitx}
\usepackage{units} % Line 3
\begin{document}
$1\unit{F}$
\end{document}
这些文件在大多数平台上都能很好地运行,例如 Fedora 37 和 Overleaf。但是在 Debian 12 上,我收到此错误:
$ pdflatex a.tex
...
! Package siunitx Error: Package 'units' incompatible.
For immediate help type H <return>.
...
l.4 \begin{document}
?
如果我注释 LaTeX 文件的第 3 行,它在 Debian 上可以正常工作。但是,经过此更改后,该文件不再适用于其他平台。我收到的错误(在 Fedora 37 上)是:
! Undefined control sequence.
l.5 $1\unit
{F}$
?
有没有办法修改我的 LaTeX 文件,使其适用于所有平台?否则,我的 Debian 12 LaTeX 安装有什么问题吗?(请告诉我是否应该在超级用户等处重新发布此问题。)我正在使用以下方法在 Debian 12 上安装 LaTeX:
apt-get install texlive-full
安装包的版本texlive-science
为 2022.20230122-4
答案1
siunitx
于 2008 年首次发布,目的是让使用它的人远离旧软件包。对于 v2,可以同时加载siunitx
和units
:我在 v3 中对此进行了调整,以获得更好的命令名称。假设您乐意使用 v3 名称,您可以这样做
\usepackage{siunitx}
\ifdefined\unit\else
\NewDocumentCommand\unit{m}{\si{#1}}
\fi
允许您使用siunitx
来提供\unit
您是否拥有 v2 或 v3。