我目前正在与其他作者合作一个更大的项目。为了便于协作,该项目不仅位于我的本地 PC 上,还位于 Overleaf 上。不幸的是,由于严重依赖 tikzexternalize 和外部图表,编译通常会在 Overleaf 上超时(但在我的本地机器上可以工作,只是重新生成所有图表需要相当长的时间)。理论上,可以通过删除图表并逐个添加来解决这个问题,但这很麻烦,我想避免每次打开文档时都要这样做(而且对于不太熟悉 LaTeX 的其他作者来说,这将使在 Overleaf 上工作更加困难)。
我想到的一个解决方案是检测我是在本地工作还是在 Overleaf 上工作,如果是后者,则使用代表目标图表的后备 pdf 文件,但不必编译它们。这当然不会允许自动重新缩放字体和其他内容,但可以使其在线工作。离线编译时,应照常使用 tikzexternalize。
有没有办法实现这种方法?或者还有其他可能的解决方案来解决这个难题?
答案1
你可以使用
\ifnum\pdfstrcmp{\jobname}{output}=0
overleaf stuff
\else
local stuff
\fi
由于 overleaf 始终设置\jobname
为output
,因此只要您在本地使用文档时不使用--jobname=output
或调用您的文件,这应该是一个可靠的测试。output.tex