この記事は、鹿児島大学生 Advent Calendar 2019の8日目の記事です。
やっていき
この時期になるといよいよ卒論や修論を書き始めるぞ、という方が多いのではないでしょうか?
どうせ書くならいい環境を作ってから執筆したいですよね。
2年前、卒論執筆環境は以下の記事を参考に構築したのですが、
- 日常的に使用しているテキストエディタがAtomからVSCodeに変わった
- なんとなくDockerが使えるようになった
といった自身の変化があり、それに合わせた論文執筆環境を構築します。
意外とWordで論文書いてた or 書くつもり という友人・後輩も多かったので、参考になれば幸いです。
(参考)【必見】Atomで作る快適な論文執筆TeX環境【Mac】【卒論】【LaTeX】
Dockerの導入
まずはDockerの環境です。
macの方はこちらから
・DockerをMacにインストールする(更新: 2019/7/13)
Windowsの方は、
奇しくも鹿児島大学生 Advent Calendar 20197日目の記事がまんまそれなのでこちらを参照してみてください。(さっそくカレンダーが繋がって嬉しい)
【Docker】Docker for Windowsの環境をセットアップしてDockerを試す
VSCodeの導入
VSCodeをインストールしてください。
インストール後、左のブロックのアイコンから拡張機能を追加できますので、
Remote Developmentをインストールします。
(参考)
・VS Code Remote Development で Docker 開発環境を利用する
・Dockerで立ち上げた開発環境をVS Codeで開く!
余談ですが、VSCode Remoteは本当に便利な機能で、研究室のGPUマシンやGCPのインスタンスにssh接続してVSCode上で開発できるのでとても重宝しています。
テンプレートをgit clone
こちらのテンプレートをフォークしてオレオレテンプレートを作成しました。
git clone https://github.com/fuchami/thesis-sample.git
してください。
https://github.com/fuchami/thesis-sample.git
Dockerfileはこちらを参考にしました(ほとんど同じです)
https://github.com/Paperist/docker-alpine-texlive-ja
ハマったところとしては、
- alpine-linuxがbashではなく、ashがデフォルトなところ
- sedコマンドが何故かmacとLinuxでは非互換なところ
sedのスペース要る要らないは初見じゃ絶対分からないです...
(参考)
sedの-iオプションの非互換
執筆の流れ
VSCode Containerへ
texファイルがあるディレクトリをVSCodeで開いたら、
左下にある青い><
マークをクリック
フォルダーの選択
Open Folder in Container...
を選択してcloneしてきたディレクトリを開きます。
コンテナの選択
コンテナをどこから選ぶか聞かれるので、
From 'docker-compose.yml'
を選択します。
buildを待つ
Dockerのbuildが走るので5分ほど待ちます。
これでDockerでのLatex環境が整いました。
Latex Workshopを入れる
このタイミングで拡張機能の [LaTex Workshop](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop)も入れましょう。シンタックスハイライトやスニペット機能、VSCode内でPDFファイルが閲覧可能となり、本記事上部の状態が出来上がります。いざ
あとは、下部のターミナルにて、
# PDFファイルをコンパイル
$ latexmk thesis.tex
# 監視モードを起動。texファイルが更新されるたびにPDFをコンパイル
$ latexmk -pvc thesis.tex
などなどすればOKです。
まとめ
Docker&VSCodeを使うことで、環境を汚さずに簡単に論文執筆環境を構築することが出来ました。
VSCode内でPDF閲覧手段がLaTex Workshopでの機能のみ&自動更新が無いのでそのあたりの痒いところに手が届けば完璧かなと思います。