编译 LaTeX 项目的最佳方法

编译 LaTeX 项目的最佳方法

很久以前,我广泛使用 LaTeX 和Makefile我在互联网上找到的 。这使我能够根据需要多次自动构建/重建我的项目,以使所有内容都准备就绪。当然,它还负责参考书目和将图表转换jpgeps。最后,dvi被翻译成 ,ps然后 被翻译成pdf

这非常简单,因为我只需配置我的文本编辑器(Vim)即可使用它Makefile

如今情况已经发生了很大变化,人们倾向于使用latexmk我不知道的脚本。而且直接pdflatex与观众一起使用似乎Sumatra比与普通dvi观众一起使用更简单。

最常见的方法是一步构建包含以下元素的整个 LaTeX 项目?

  • LaTeX 文件
  • 参考书目
  • 图像(jpg、pdf、eps)
  • 代码(c、php、...)
  • 脚本输出(Matlab/Octave、Perl 等)

答案1

与此同时,我找到了一个强大的解决方案,其中包括:

  • Docker 映像
  • GitHub 存储库
  • TravisCI 等 CI
  • Makefile

一个最小的例子是https://github.com/heig-vd-tin/refcard

允许Makefile使用Docker镜像来构建项目

# Sed replacement for WSL
PWD!=pwd | sed 's/^\/mnt//'
DOCKER=docker run -it -v "$(PWD):/srv" -w=/srv nowox/latex:1.1

all: main.tex
    $(DOCKER) latexmk -pdf -xelatex $<

clean:
    $(DOCKER) latexmk -C

.PHONY: clean

.travis.yml文件将在每次提交时构建项目:

sudo: required
language: latex
services: docker

before_install:
  - docker pull nowox/latex:1.1

script:
  - make

相关内容