如何在提交给 ArXiv 之前“清理”文章源代码?

如何在提交给 ArXiv 之前“清理”文章源代码?

ArXiv 要求上传 TeX 源。他们对此给出的理由在我看来相当薄弱,但这不是重点。

清理文章以供提交的最简单方法是什么?ArXiv 建议自动删除以 % 开头的所有行,但这当然大大低估了 LaTex 的可能性:我的许多文件都包含复杂的 \if 语句、\iffalse-\fi 块,并非所有 % 符号都标记注释等。

是否有一个好的自动化方法来准备文件以供提交?

在编译过程中,显然 LaTeX 在某个时候必须决定忽略哪些部分、编译哪些部分、如何处理条件等等。有没有办法将这些结果发送到文件中?

或者是否有其他关于如何解决这个问题的好主意?

答案1

Google 提供了一个简洁的工具来清理 arxiv 提交的源代码 -https://github.com/google-research/arxiv-latex-cleaner

它会删除辅助文件和代码中的注释,并且还有一些其他实用的功能。

答案2

Pandoc 有一个清理源代码的选项:

  pandoc withcomments.tex -o withoutcomments.tex

答案3

latexindent.pl可以使用其开关来帮助解决这个问题-rr

例如,如果你从

% my comment
\documentclass{article} % trailing comment

%comment
\begin{document}
\begin{equation}
x^2
\end{equation} % more comments
% leading comment
\end{document}

以及以下设置rmh.yaml

replacements:
    -
        substitution: s/^%.*\R//mg

并运行命令:

latexindent.pl -rr -l=rmh.yaml myfile.tex

然后你收到

\documentclass{article} % trailing comment

\begin{document}
\begin{equation}
x^2
\end{equation} % more comments
\end{document}

以上内容留下了尾随注释。如果您也想删除这些注释,则可以探索

replacements:
    -
        substitution: s/%.*\R//mg

如果您想要更微妙的替换,我们必须在您的问题中看到前后情况:)

相关内容