Docker 是一种容器技术,它使运行变得更容易,因为它带来了所有必要的配置,并将安装与系统其余部分封装在一起。它类似于虚拟机,但更轻量级。
我认为可能存在这样的容器,例如来自 arXiv、sharelatex 或类似的项目。
我想象编译这样的脚本:
$ sudo docker run docker-latex pdflatex my-pdf-file.tex
答案1
Ubuntu bionic 包含 tex live。我不确定是否有官方版本,但您可以轻松创建自己的版本。
基本上一切都归结为:
FROM ubuntu:bionic
RUN ln -snf /usr/share/zoneinfo/Etc/UTC /etc/localtime \
&& echo "Etc/UTC" > /etc/timezone \
&& apt-get update \
&& apt-get upgrade -y \
&& apt-get install texlive-latex-base texlive-latex-extra texlive-fonts-recommended xzdec -y \
&& rm -rf /var/lib/apt/lists/*
您只需定义一个入口点并挂载 tex 文件夹,该文件夹包含容器中的源文件。命令行参数也可以传递给容器。我想您还可以通过将 docker run 命令包装在 bash 文件中来进一步简化它,例如将当前文件夹映射到容器内某个预定义的挂载点,以减少调用期间的参数数量。https://benkiew.wordpress.com/2017/12/03/running-latex-using-a-docker-container/正在列举这种方法的一个例子。
docker 渲染服务器可能是一种替代方法(https://hub.docker.com/r/vsfexperts/latex-render-server/),如果您只有一个 tex 文件而没有任何外部引用。您只需通过 http 与服务器交互。它是开源的,因此没有任何附加条件。