DockerでLatex

macでLatexの環境がうまく構築できないので他の方が公開しているdockerを利用させて頂くことに。

自分のPCにはVMWare Fusionが入っていて、dockerに対応している。

VMWare Fusionでdockerイメージ使えるようにするにはvctl startで開始。dockerイメージはdocker hubから普通にプルできる。

latexのイメージはこちら。 github.com

$ vctl start 
$ vctl pull paperist/alpine-texlive-ja

プルしたdockerイメージはホスト側のディレクトリをマウントして実行する。

$ vctl run --rm -it -v $PWD:/workdir paperist/alpine-texlive-ja
/workdir #
/workdir # platex test.tex && dvipdfmx test.dvi

いちいちコマンドでコンパイルするのは面倒なので、VSCodeでクリック1つで呼び出せるようにする。

f:id:mailstop:20210102120719p:plain

まずは、VSCodeでLaTeX Workshopというエクステンションをインストールする。 f:id:mailstop:20210102120839p:plain

つぎにsetting.jsonを編集する。f:id:mailstop:20210102121105p:plain

もしVMWare Fusionではなく素のdockerを使う場合は、commandのところはvctlではなくdockerになる。

    "latex-workshop.latex.tools": [
        /* add this section for latex / docker */
        {
            "name": "ptex2pdf",
            "command": "vctl",
            "args": [
              "run",
              "--rm",
              "-v",
              "%DIR%:/workdir",
              "paperist/alpine-texlive-ja",
              "ptex2pdf",
              "-l",
              "/workdir/%DOCFILE_EXT%"
            ]
        }
    ],
    "latex-workshop.latex.recipes": [
        {
          "name": "compile",
          "tools": [
            "ptex2pdf"
          ]
        }
    ],
    /* add a line for latex / docker */
    "latex-workshop.latex.autoBuild.run": "onFileChange",
}