LaTeX: docker with VScode 1

久々にドキュメントを書く機会があった。今の時代、手元にWordなんか無くてもクラウドで利用するなり大体のソフトウェアが沢山あるのだが、なんとなくTeXを使ってみることにした。
とはいえ、TeXの環境なんぞは準備してないわけでdocker作っとくかとやってみた話のメモを残す。

ありがたいことに、次のようなページなどに先人がまとめてくださっておりVScodeとTeXを連携させることはそれほど難しくない。
VSCode で最高の LaTeX 環境を作る #VSCode – Qiita
一旦はサーバーにTeXの環境をインストールしてdocker抜きで使えるようにする。最終的にはコンパイルはdockerに処理させるのが目標になる。

1.VScodeへの LaTeX Workshopのインストール

VScodeのExtensionsから LaTeX Workshopをインストールする。SSHで接続したサーバ側で作業を行うので、LocalにはインストールをせずにSSH先でインストールするようにする。

LaTeX Workshopのインストール

2.settings.jsonの編集

VScodeのsettings.jsonにTeX用の定義を追加する。今時点では特にこだわりが無いので参考先で使用しているのと同じような設定を行う。ただし、docker利用時用にシェルスクリプトを実行する設定を追加しておく。

settingsから設定画面を開く
Open Settings (JSON)からsettings.jsonを開く

Settings.jsonを編集する

settings.jsonの1行目は別のExtension向けに記載済みだったため、末尾に,を付けて2行目以降からTeX向けの設定を追記する。末尾の方のlatex-workshop.latex.recipeslatex-workshop.latex.toolsにdocker利用時を想定したシェルスクリプトを追加しておく。

{
	"markdown.marp.chromePath": "/snap/bin/chromium",
	"[ tex ]": {
		"editor.suggest.snippetsPreventQuickSuggestions": false,
		"editor.tabSize": 2
	},
	"[latex]": {
		"editor.suggest.snippetsPreventQuickSuggestions": false,
		"editor.tabSize": 2
	},
	"[bibtex]": {
		"editor.tabSize": 2
	},
	"latex-workshop.intellisense.package.enabled": true,
	"latex-workshop.latex.clean.fileTypes": [
		"*.aux",
		"*.bbl",
		"*.blg",
		"*.idx",
		"*.ind",
		"*.lof",
		"*.lot",
		"*.out",
		"*.toc",
		"*.acn",
		"*.acr",
		"*.alg",
		"*.glg",
		"*.glo",
		"*.gls",
		"*.ist",
		"*.fls",
		"*.log",
		"*.fdb_latexmk",
		"*.snm",
		"*.nav",
		"*.dvi",
		"*.synctex.gz"
	],
	"latex-workshop.latex.outDir": "out",
	"latex-workshop.latex.recipes": [
		{
			"name": "tex2pdf_docker",
			"tools": [
				"tex2pdf_docker"
			]
		},
		{
			"name": "latexmk",
			"tools": [
				"latexmk"
			]
		}
	],
	"latex-workshop.latex.tools": [
		{
			"name": "latexmk",
			"command": "latexmk",
			"args": [
				"-silent",
				"-outdir=%OUTDIR%",
				"%DOC%"
			]
		},
		{
			"name": "tex2pdf_docker",
			"command": "tex2pdf.sh",
			"args": [
				"%DOCFILE_EXT%"
			]
		}
	]
}