如何创建适合 arXiv 提交准备的本地 LaTeX 环境?

如何创建适合 arXiv 提交准备的本地 LaTeX 环境?

ArXiv 不会为其文件编译许多(衍生)辅助文件,例如 .bbl 和 .ind 文件,这些文件需要与原始源一起上传。

这样做的主要问题是这些文件对版本错误非常敏感。因此,要将文档上传到 arXiv,我必须以某种方式获取降级版本的 LaTeX。

是否有已知的便携式 LaTeX 发行版或预装了大量 LaTeX 软件包的实时 USB 系统,适用于(当前)arXiv 的版本(不需要做太多工作来设置(例如安装另一个操作系统或手动下载软件包)?或者还有其他方法可以避免所有这些麻烦吗?我可以直接下载、运行并完成吗?

我知道有一些黑客可以让你上传没有源文件的 .pdf,但是我宁愿不这样做(尽管如果没有无忧的解决方案,我想我会这样做 --- 老实说,我现在已经厌倦了)。

答案1

我找到了一种比较简单的解决方案。要求是几 GB 的磁盘空间和足够的权限来运行 docker(我在一台机器上确实遇到了一些问题)。这是基于找到的说明这里. 特别感谢 makisyu 维护本指南中使用的 texlive 2016 图像。

步骤如下(自2018年10月14日起,arXiv的texlive升级时需要修改):

  • 安装Docker(Ubuntu 在标准存储库中有它;我猜所有主要发行版也都有它)。
  • 导航到包含您的 tex 文件的目录。
  • 使用以下命令安装 texlive 2016 镜像: docker pull makisyu/texlive-2016
  • 通过命令运行 pdflatex 所需的次数docker run --rm --volume $PWD:/workdir --workdir /workdir makisyu/texlive-2016 pdflatex my_texfile.tex(替换my_texfile.tex为适当的文件名)。
  • 使用命令运行 biber docker run --rm --volume $PWD:/workdir --workdir /workdir makisyu/texlive-2016 biber my_texfilemy_texfile再次用适当的文件名替换)。
  • 运行任何其他必要的命令来生成所需的辅助文件。

Christian Clason 在评论中建议,最后三个步骤可以用 代替docker run --rm --volume $PWD:/workdir --workdir /workdir makisyu/texlive-2016 latexmk my_texflile.tex。我没有测试过(现在也不能),但它应该会使这个过程稍微容易一些。

答案2

也可以同时安装 2016 版的 texlive 和当前版本——可以在以下位置找到:ftp://tug.org/historic/systems/texlive/2016biblatex,其中包含冻结前所有软件包(包括和)的最新版本biber——只需在编译前更改环境变量即可。例如,在 Linux 或 macOS 下使用 bash,您可以打开 shell,切换到相应的目录,然后

  1. 删除全部辅助文件(尤其*.bbl是等biblatex!)
  2. 设置路径(假设您使用标准安装位置):
    • Linux:export PATH=/usr/local/texlive/2016/bin/x86_64-linux:$PATH
    • 苹果系统:export PATH=/usr/local/texlive/2016/bin/x86_64-darwin:$PATH
    • 视窗:set path=c:\texlive\2016\bin\win32;%path%
  3. latexmk my_file.tex
  4. latexmk -c
  5. zip所有内容并上传到 arXiv(他们将忽略所有他们不使用的文件,例如*.pdf*.bib)。

这对我有用(我把它放在一个名为的脚本中arxivmk)。

编辑:我刚刚看到@samcarter 已经在评论中提出了这个建议;也许这些细节仍然有帮助。

答案3

我刚刚发现你可以使用背页使用以下方法编译所需的辅助文件编译器版本选择功能提交功能

对于大多数用途来说,这似乎是获取兼容文件的最便捷方式。

相关内容