让 overleaf 强制编译

让 overleaf 强制编译

如果 Overleaf 可以编译包含少量错误的文件,那就太好了。这在 Texworks 中已经可以实现:按下 control+T,它会提示错误,然后你仍然要编译。按住 Enter 键足够长的时间,你就可以跳过所有错误。

Overleaf 对错误的容忍度非常低。我能做些什么来覆盖 overleaf 中的错误吗?

答案1

我不知道 OverLeaf 到底是做什么的。但我可以确认的是

\scrollmode
\documentclass{article}
\usepackage[utf8]{inputenc}
\begin{document}
\textbf{abc}

\textba{def}

\textsf{ghi}

\textit{jkl}
\end{document}

编译失败并出现错误。最初,我认为这一定是因为 OverLeaf 也在命令行中使用了--halt-on-error选项,因为pdflatex --halt-on-error编译失败并出现错误。

然而,改变

\scrollmode

\batchmode

导致编译在本地编译时仅仅暂停然后继续,即使使用--halt-on-error。然而,在 OverLeaf 上,编译仍然会失败并出现错误。

日志文件以此内容开头:

This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/Debian) (preloaded format=pdflatex 2016.11.17)  24 NOV 2016 02:33
entering extended mode
 \write18 enabled.
 file:line:error style messages enabled.
 %&-line parsing enabled.

相比之下,本地编译:

This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) (preloaded format=pdflatex 2016.11.20)  24 NOV 2016 02:27                      
entering extended mode
 restricted \write18 enabled.
 %&-line parsing enabled.

只是file:line:error style messages enabled.因为 OverLeaf 必须传递--file-line-errorpdflatex。这不会停止\batchmode继续编译 - 至少,它不会在本地执行此操作。添加 也不会--shell-escape解释 OverLeaf 日志中没有 的原因restricted。(大概,他们无论如何都在全局限制事情。)这些都不足为奇 - 如果这些选项有所不同,那就很奇怪了。我只是记录了我仔细检查的事实,以确保安全。

我猜想在出现错误时会有其他进程中断编译,尽管我猜想无论如何安装都可能被修改为这样做。但我猜想是一个独立的进程,因为他们使用这样的进程在其他情况下中断编译,例如如果编译时间过长,它将被终止。所以我猜想他们的监控进程也会在出现错误时停止编译,无论用户做什么。

这只是一个猜测,但如果它是正确的,那么除非你能说服 OverLeaf 改变该流程的工作方式,否则你就无能为力。

我应该说我对这些都不太确定,主要发布这篇文章是为了让更有知识的人可以看到 OverLeaf 在做什么并提供解释和说明!

相关内容