Siunitx 3 和 amsmath:使用 TeX Live 2020 在 Overleaf 上编译超时

Siunitx 3 和 amsmath:使用 TeX Live 2020 在 Overleaf 上编译超时

当我在 TeX Live 2020 上使用 Overleaf 3.0.23 版本时siunitx,运行代码时出现编译超时

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{siunitx}

\begin{document}

This is a test : \qty{5}{\percent}

\end{document}

改变包加载的顺序不会改变最终结果。

删除后amsmath文件可以正常编译,因此siunitx在保留的同时恢复到 Overleaf 上的 TeX Live 2020 中包含的 2.8 版本amsmath。此外,在我每天使用的软件包中,只有nicematrix相同的超时问题,但它是amsmath必需的软件包。

这里有人之前遇到过这个问题吗?

提前致谢。

答案1

\,这是由于旧设置中的 定义不稳健造成的,这意味着在尝试扩展和替换时会出现内部错误\,( 内部需要input-ignore)。最简单的解决方法是使其变得\,稳健,例如

\usepackage{etoolbox}
\robustify\,

在加载siunitxv3 之前。

答案2

我的答案与有关,nicematrix因为我是该软件包的作者。的缺点nicematrix是它需要多次编译,并在aux编译之间将信息写入文件(供下次运行使用)。据我所知,Overleaf 使用 进行latexmk编译,直到aux文件在两次编译之间没有发生变化。

但是,当 Overleaf 由于超时而停止编译循环时,它不会删除该aux文件,并且通常,当需要进行新的编译循环时(通过单击相应的按钮),即使您在第一次单击时已经超时,工作也会完成……

相关内容