当我在 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\,
在加载siunitx
v3 之前。
答案2
我的答案与有关,nicematrix
因为我是该软件包的作者。的缺点nicematrix
是它需要多次编译,并在aux
编译之间将信息写入文件(供下次运行使用)。据我所知,Overleaf 使用 进行latexmk
编译,直到aux
文件在两次编译之间没有发生变化。
但是,当 Overleaf 由于超时而停止编译循环时,它不会删除该aux
文件,并且通常,当需要进行新的编译循环时(通过单击相应的按钮),即使您在第一次单击时已经超时,工作也会完成……