はじめに
本記事では、$\LaTeX$ の環境構築の手順を説明します。
Mac を想定していますが、Windows などでもほぼ同じ手順で実行できます。
卒業論文や修士論文を LaTeX で執筆する学生は多いです。特に、理系分野の学生は、Microsoft Word ではなく LaTeX で執筆せざるをえません。
オンライン上で LaTeX を執筆する環境としては、Cloud LaTeX や Overleaf があります。Cloud LaTeX はデフォルトで日本語に対応しており、VSCode の拡張機能で簡単に連携できるので、おすすめです。
一方、卒業論文・修士論文を執筆する時期になると、アクセスが集中し、サーバダウンがときどき起こります。
したがって、ローカルに LaTeX の執筆環境を整えておくのは重要です。
1. LaTeX をインストールする
-
MaxTeX を Homebrew でインストールする
- GUI アプリケーションなしをインストールする
- ターミナルに入力する
- 時間がかかる(20 分ほど)
- 途中、パスワードの入力が必要になる
brew install mactex-no-gui --cask
exec $SHELL -l
2. LaTeX をアップデートする
- MaxTeX をアップデートする
- 時間がかかる(30 分ほど)
sudo tlmgr update --self --all
3. デフォルトを A4 用紙に設定する
sudo tlmgr paper a4
4. VSCode の拡張機能 LaTeX Workshop をインストールする
- VSCode で拡張機能 LaTeX Workshop を検索し、インストールする
5. setting.json
を編集する
-
⌘
+,
で設定画面に移動し、 右上のボタンからsetting.json
を開く
5.1. LaTeX エンジンの設定を記入する
- pLaTeX
- upLaTeX
- LuaLaTeX
- pdfLaTeX
- pBibTeX
- BibTeX
setting.json
// ----- LaTeX エンジンの設定 ----- //
"latex-workshop.latex.tools": [
{ // pLaTeX
"name": "platex",
"command": "ptex2pdf",
"args": [
"-interaction=nonstopmode",
"-l",
"-ot",
"-kanji=utf8",
"-synctex=1",
"%DOC%"
],
"env": {
"PATH": "/Library/TeX/texbin"
}
},
{ // upLaTeX
"name": "uplatex",
"command": "ptex2pdf",
"args": [
"-interaction=nonstopmode",
"-l",
"-u",
"-ot",
"-kanji=utf8",
"-synctex=1",
"%DOC%"
],
"env": {
"PATH": "/Library/TeX/texbin"
}
},
{ // pBibTeX
"command": "pbibtex",
"args": ["%DOCFILE%", "-kanji=utf8"],
"name": "pbibtex",
"env": {
"PATH": "/Library/TeX/texbin"
}
},
{ // LuaLaTeX
"name": "lualatexmk",
"command": "latexmk",
"args": [
"-lualatex",
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-outdir=%OUTDIR%",
"%DOC%"
],
"env": {
"PATH": "/Library/TeX/texbin"
}
},
{ // pdfLaTeX
"name": "pdflatex",
"command": "pdflatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOC%"
],
"env": {
"PATH": "/Library/TeX/texbin"
}
},
{ // BibTeX
"name": "bibtex",
"command": "bibtex",
"args": [
"%DOCFILE%"
],
"env": {
"PATH": "/Library/TeX/texbin"
}
},
],
5.2. LaTeX レシピの設定を記入する
-
上記の「5.1. LaTeX エンジンの設定を記入する」に続けて記入する
-
pLaTeX(BiBTeX あり)
-
pLaTeX(BiBTeX なし)
-
upLaTeX(BiBTeX あり)
-
upLaTeX(BiBTeX なし)
-
LuaLaTeX
-
pdfLaTeX(BiBTeX あり)
-
pdfLaTeX(BiBTeX なし)
setting.json
// ----- LaTeX レシピの設定 ----- //
"latex-workshop.latex.recipes": [
{ // pLaTeX(BiBTeX あり)
"name": "pLaTeX pBibTeX",
"tools": ["platex", "pbibtex", "platex", "platex"]
},
{ // pLaTeX(BiBTeX なし)
"name": "pLaTeX",
"tools": ["platex"]
},
{ // upLaTeX(BiBTeX あり)
"name": "upLaTeX pBibTeX",
"tools": ["uplatex", "pbibtex", "uplatex", "uplatex"]
},
{ // upLaTeX(BiBTeX なし)
"name": "upLaTeX",
"tools": ["uplatex"]
},
{ // LuaLaTeX
"name": "lualatex",
"tools": [
"lualatexmk"
]
},
{ // pdfLaTeX(BibTeX あり)
"name": "pdfLaTeX BibTeX",
"tools": [
"pdflatex",
"bibtex",
"pdflatex",
"pdflatex"
]
},
{ // pdfLaTeX(BibTeX なし)
"name": "pdfLaTeX",
"tools": [
"pdflatex"
]
},
],
5.3. コンパイル時の設定を記入する
- 上記の「5.2. LaTeX レシピの設定を記入する」に続けて記入する
setting.json
// ----- コンパイル時の設定 ----- //
// ⌘ + s でファイル保存時に自動でコンパイルする
"latex-workshop.latex.autoBuild.run": "onSave",
// 直近で使用したレシピでコンパイルする
"latex-workshop.latex.recipe.default": "lastUsed",
// PDF(プレビュー)
// PDF を VSCode で開く
"latex-workshop.view.pdf.viewer": "tab",
// PDF の幅を調整する
"latex-workshop.view.pdf.zoom": "page-width",
// PDF を右側に開く
"latex-workshop.view.pdf.tab.editorGroup": "right",
// LaTeX Workshop のインテリセンスを有効にする
"latex-workshop.intellisense.package.enabled": true,
// 不要なファイルを削除する
"latex-workshop.latex.clean.method": "glob",
"latex-workshop.latex.autoClean.run": "onBuilt",
"latex-workshop.latex.clean.fileTypes": [
"%DOCFILE%.acn",
"%DOCFILE%.acr",
"%DOCFILE%.alg",
"%DOCFILE%.aux",
"%DOCFILE%.bbl",
"%DOCFILE%.blg",
"%DOCFILE%.dvi",
"%DOCFILE%.fdb_latexmk",
"%DOCFILE%.fls",
"%DOCFILE%.glg",
"%DOCFILE%.glo",
"%DOCFILE%.gls",
"%DOCFILE%.idx",
"%DOCFILE%.ind",
"%DOCFILE%.lof",
"%DOCFILE%.lot",
"%DOCFILE%.nav",
"%DOCFILE%.out",
"%DOCFILE%.snm",
"%DOCFILE%.toc",
"%DOCFILE%.vrb"
],
6. VSCode に LaTeX スニペットを設定する
- VSCode の左下の設定ボタンから「Snippets(スニペット)」を開く
-
LaTeX と入力し、
latex.json
を開く - スニペットを設定しておくと、毎回、同じコードを入力する手間が省ける
latex.json
"my_latex_template": {
"prefix": "my_template",
"body": [
"\\documentclass[${1:a4paper, 11pt}]{${2:jsarticle}}",
// よく使うパッケージを設定
"\\usepackage{amsmath}",
"\\usepackage{amssymb}",
"\\usepackage[dvipdfmx]{graphicx}",
"\\usepackage{enumitem}",
"\\usepackage[nobreak]{cite}",
"${3}",
"",
"\\begin{document}",
"",
"\\title{${4}}",
"\\author{${5}}",
"\\date{${6:\\today}}",
"\\maketitle",
"",
"\\section{はじめに}",
"$0",
"",
"\\end{document}",
"",
],
"description": "LaTeX テンプレート"
}
7. 実際にローカルで LaTeX を執筆する
- VSCode で空の LaTeX ファイルを作成する
-
my_template
と入力すると、上記の「6. VSCode に LaTeX スニペットを設定する」で設定したスニペットが自動入力される - タイトルや本文などを適当に記入する
- VSCode の左側に表示されている $\TeX$ のボタンを押す
- 今回は BiBTeX は使用していないため、「Build LaTeX project(LaTeX プロジェクトをビルド)」から、「Recipe: pLaTex (レシピ:pLaTex)」もしくは「Recipe: upLaTex(レシピ:upLaTex)」を実行する
- 「View LaTeX PDF(LaTeX PDF を表示)」を実行すると、右側に PDF が表示される
-
Recipe terminated with fatal error: spawn ptex2pdf ENOENT.
というエラーが出る場合は、後述の「8. エラーが出る場合」を確認する
sample.tex
\documentclass[a4paper, 11pt]{jsarticle}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[dvipdfmx]{graphicx}
\usepackage{enumitem}
\usepackage[nobreak]{cite}
\begin{document}
\title{\LaTeX 環境構築の手順}
\author{著者名}
\date{\today}
\maketitle
\section{はじめに}
本稿では,\LaTeX の環境構築の手順を説明する.
\end{document}
8. エラーが出る場合
8.1. Recipe terminated with fatal error: spawn ptex2pdf ENOENT.
-
ptex2pdf
が設定と異なる場所にあるというエラー - ターミナルで
ptex2pdf
の正しい場所を探す
which ptex2pdf
- 「5.1. LaTeX エンジンの設定を記入する」で記入した
setting.json
の一部を修正する - pLaTeX や upLaTeX 以外も同様に修正しておく
setting.json
"env": {
"PATH": "<ptex2pdf の正しい場所>"
}
8.2. LuaLaTeX で env: perl: no such file or directory
- ターミナルで latexmk -lualatex -synctex=1 -interaction=nonstopmode sample.tex を実行して成功するか確認する
- 成功するなら、
perl
の場所を探す
which perl
- 「5.1. LaTeX エンジンの設定を記入する」で記入した
setting.json
の一部を修正する
setting.json
{ // LuaLaTeX
"name": "lualatexmk",
"command": "latexmk",
"args": [
"-lualatex",
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-outdir=%OUTDIR%",
"%DOC%"
],
"env": {
"PATH": "/Library/TeX/texbin:<perl の場所>"
}
},
参考