LaTeX環境を用意するのって大変ですよね。
環境は汚すし時間はかかるし、Macの場合、font周りで訳のわからないことになるし...
今回は、そういった煩わしさを消し去って、爆速でLaTeX執筆環境を用意する方法を教えます。
目次
概要
VS Codeの拡張機能である、Remote - Containersを利用して、LaTeXのビルド環境(uplatexやlatexmk)および、執筆環境(エディタやsynctex)を構築するための、Dockerイメージおよび、テンプレートを作成しました。
以下で、使い方等を説明します。
うれしいこと
- Dockerイメージ内に、LaTeX環境があるため、ホストマシンの環境を汚さない!
- インストールが速い!楽!
- latexindentでフォーマットできる!
- synctexが使える!
synctexもうごくうごく pic.twitter.com/CNjhEIY3fm
— cangoxina⤴︎💪😇 (@Shitimi_613) 2019年6月13日
インストール
インストール方法を記します。ちなみに、イメージのOSはubuntu18.04で、TeX Liveは2017(だったはず)です。
必要なもの
Docker、docker-composeが動作するPC
この手法では、Dockerとdocker-composeを利用します。
インストールしておいてください。(参考)
Visual Studio Code
この手法では、LaTeXを実際に執筆するエディタとして、Visual Studio Codeを利用します。 インストールしておいてください。(参考)
"Remote - Containers"をVS Codeにインストール
上記のリンク先の、Install
をクリックすると、VS Codeが立ち上がり、拡張機能をインストールできる。
左下が、上の画像のようになればOK
テンプレートをgit clone
git clone --depth=1 https://github.com/korosuke613/texlive-ja-devcontainer-template.git
git clone
できない人は、ここから、zipをダウンロードしてください。
テンプレートをVS Codeで開く
メニューバーの、ファイル
→開く...
をクリックし、先ほどcloneした、texlive-ja-devcontainer-template
フォルダを開く。
たぶんこんな感じになるはず。
Reopen in Containerする
フォルダを開いたら、
の青いボタン(><)をクリックする。
上の方に選択肢がでるので、Reopen Folder in Container
をクリックすると、Dockerイメージのpull、Remote機能の適用、docker-composeが始まる。
イメージサイズがけっこうデカい()ので、初回は結構時間がかかる。(5,6分?)
準備ができたら、上の画像のような感じになり、左下の青い部分が、Dev Container: ubuntu-texlive-ja
となる。
これで、準備完了!
確認
インストールが完了したかどうか、チェックする。
sample.tex
を開く。- 左サイドバーにある、TEXマークをクリックする。
Build LaTeX Project
→Recipe upLaTeX
をクリックする。ビルドが開始される。- 下の画像の、PDFと虫眼鏡っぽいマークをクリックする。
- PDFが開く。問題なく表示されていればインストール完了!
その他
font
IPAフォントを利用しています。
LaTeX統合環境
この手法では、エディタにVS Codeを使い、LaTeXの統合環境を追加する拡張機能にLaTeX Workshopを使っています。
なので、PDFの開き方や、開発時の細かい設定などは、こちらを参照してください。
latexmk
今回のテンプレートでは、latexmkの設定を追加しています。latexmkの設定に関しては、こちらを参照させていただきました。
alpine-texlive-ja
本当は、alpine-texlive-ja
というイメージを使いたかったのですが、alpineではRemote - Containers機能を利用できなかったため、Ubuntuで作り直しました。
カスタマイズ方法
もし、さらにapt-getしたい場合やfontを変えたい場合は、テンプレート内の.devcontainer/Dockerfile
および、.devcontainer/docker-compose.yml
を修正してください。
Dockerfile
FROM korosuke613/ubuntu-texlive-ja:latest MAINTAINER Futa HIRAKOBA RUN apt-get update && apt-get install -y \ git \ cpanminus \ texlive-extra-utils \ make \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* RUN cpanm Log::Log4perl Log::Dispatch::File YAML::Tiny File::HomeDir Unicode::GCString
新たにapt-getしたい場合は、RUN apt-get update && apt-get install -y \
の後に、パッケージ名を追加してください。
docker-compose.yml
Dockerfileを変更したら、
これを、
version: "3" services: ubuntu-texlive-ja: image: korosuke613/ubuntu-texlive-ja-devcontainer #build: . command: sleep infinity volumes: - ../:/workdir - ~/.gitconfig:/root/.gitconfig environment: SHELL: "/bin/bash"
こう変えてください。
version: "3" services: ubuntu-texlive-ja: build: . command: sleep infinity volumes: - ../:/workdir - ~/.gitconfig:/root/.gitconfig environment: SHELL: "/bin/bash"
これで、Dockerfileをビルドするようになります。
synctexのショートカット(追記:2020/01/11)
エディタのカーソル行からプレビューにジャンプしたい場合は、以下のショートカットでジャンプできます。
逆に、プレビューからエディタの行にジャンプしたい場合は、ctrl
を押しながらジャンプしたい要素をクリックすることで、ジャンプできます。
おわりに
今回は、爆速で日本語LaTeX執筆環境を用意する方法を記しました。とても便利なのですが、Remote - Containers
機能が、まだまだプレビュー版な為、ビルド時にたまに失敗するなど、不安定な感じはします。dockerの知識があれば、自分でトラブルシューティングはできると思うのですが、dockerの知識が無い人は、エラーがでた時に結構厳しいかも知れません。
もしなんかあったら、コメントするか、issue、pull requestを飛ばしてください。