投稿日:
更新日:
brew + VSCode で TeX 環境を構築する
- Authors
- Name
- ごとれん
- X
- @ren510dev
目次
- 目次
- はじめに
- 各種パッケージのインストール
- Homebrew
- VSCode
- MacTeX
- VSCode Extension Framework
- settings.json
- settings.json の書き方
- TeX ファイルの種類
- Hello, World !
- 【おまけ】Formatter を導入する
- latexindent をインストール
- latex-formatter 追加
- settings.json の編集
- 【おまけ】LaTeX エンジンの種類
- LaTeX エンジンの確認
はじめに
ソースコードだろうと論文だろうと VSCode で全てを完結させたい!
今回は、mactex-no-gui というパッケージを導入して VSCode に Tex 環境を構築してみました。
各種パッケージのインストール
Homebrew
VSCode
MacTeX
latexmk
コマンド- LaTeX 文書をコンパイルおよびプレビューするためのツール
- コンパイルとプレビューのステップを統合して文書の作成プロセスを簡略化するためのコマンド
- LaTeX 文書を自動的にコンパイルし、必要な回数だけコンパイルを実行して文書を生成する
- ソースファイルが変更されると、自動的に再コンパイルを開始する
- 文書内のクロスリファレンスや参照等に関連する依存関係も自動的に処理する
- 内部の PDF Viewer を起動してコンパイルされた PDF ファイルを表示する
- LaTeX 文書をコンパイルおよびプレビューするためのツール
tlmgr
コマンド- TeX Live Manager
- TeXLive(TeX のディストリビューション)のパッケージ管理ツール
- TeXLive パッケージのインストール、アップデート、削除を行うコマンドラインツール
- 新しい LaTeX パッケージをインストールする
- インストールされているパッケージを最新バージョンにアップデートする
- 不要なパッケージを削除する
- インストールされているパッケージの情報を表示する
VSCode Extension Framework
VSCode 拡張機能をインストール
settings.json
- VSCode を立ち上げて
⌘ + ,
でsetting.json
を開く - もしくは直接
~/Library/Application\ Support/Code/User/settings.json
を編集
settings.json の書き方
latex-workshop.latex.tools
と latex-workshop.latex.recipes
という 2 つを組み合わせて使用する。
latex-workshop.latex.tools
- コンパイルコマンドの定義(手順)とそれを識別する名前を定義する
latex-workshop.latex.recipes
- デフォルトで用いる一連の動作を定義する
latex-workshop.latex.tools
で指定した名前を用いて動作を定義する- 基本的に、
latex-workshop.latex.tools
と 1 対 1 で定義する
よく使用しているコンパイル手順:
- コンパイル順序
latex-workshop.latex.tools (args)
の定義- LaTeX コンパイル:
platex
コマンドを使用して LaTeX 文書をコンパイル - BibTeX 処理:
pbibtex
コマンドを使用して BibTeX を実行 - Biber 処理:
biber
コマンドを使用して Biber を実行 - MakeIndex 処理:
mendex
コマンドを使用して MakeIndex を実行 - DVI から PDF への変換:
dvipdfmx
コマンドを使用して DVI から PDF へ変換
- LaTeX コンパイル:
※ %DOC%
はビルド対象の LaTeX 文書ファイルを示すマクロであり、コンパイル時に実際の文書ファイルに置換される
latexmk
コマンド-halt-on-error
オプション- エラー発生時に即座にコンパイルを停止
- 最低限のログを記録することでエラー箇所の特定がしやすくなる
"latex-workshop.latex.clean.method": "glob"
- コンパイル後に不要なファイル(
.aux
等)を自動削除する
- コンパイル後に不要なファイル(
"latex-workshop.view.pdf.viewer": "tab"
- VSCode の PDF Viewer を使用する
"browser"
を指定するとデフォルトに設定しているブラウザで PDF が開かれる
"latex-workshop.latex.autoBuild.cleanAndRetry.enabled": true
- タイプセットに失敗した場合、補助ファイルを削除して自動再タイプセットする
- 一度失敗しているなら繰り返す必要がないと感じる場合には
false
として無効化しておく
TeX ファイルの種類
.tex
- LaTeX の ソースファイル
.dvi
- DeVice Independent
- LaTeX 処理した結果を記録するバイナリファイル
.ps
- Post Script
- DVI ファイルを印刷する際にプリンタが解釈可能なファイルに変換する
dvi2ps
コマンドを使用して DVI ファイルから PS ファイルを生成する
.aux
- AUXiiliar
- LaTeX 内部での情報の参照に利用されるファイル
- 目次や参考文献を付与する際に、リファレンスの参照を行う
.toc
- Table Of Contents
- 目次を作成する場合に生成されるファイル
.lof
- List of Figures
- 図表目次を作成する場合に生成されるファイル
.log
- コンパイルログが出力されたファイル
.cls
- Class
- 文書クラスを定義するファイル
- 指定された文書クラスに対応するクラスファイルを環境変数
TEXINPUTS
で指定されたディレクトリから検索して読み込む
.clo
- Class Option
- クラスオプションを定義するファイル
- cls ファイルと同様に環境変数
TEXINPUTS
で指定されたディレクトリから読み込まれる
.sty
- Style
- cls, clo ファイルと同様に環境変数
TEXINPUTS
で指定されたディレクトリから読み込まれる
Hello, World !
こんな感じで編集できれば設定完了!
では、論文頑張って書いていきましょう 👍
【おまけ】Formatter を導入する
latexindent をインストール
latex-formatter 追加
settings.json の編集
【おまけ】LaTeX エンジンの種類
LaTex を使用して .tex
文書ファイルから PDF を変換する際のワークフロー(コンパイル方式)は 7 つある。
- pLaTeX + dvips(最も古い方式)
- (TeX の本来の出力形式である)DVI ファイルを出力し、その後、
dvips
で DVI から PDF を生成する
- (TeX の本来の出力形式である)DVI ファイルを出力し、その後、
- pLaTeX + dvipdfmx
- (TeX の本来の出力形式である)DVI ファイルを出力し、その後、
dvipdfmx
で DVI から PDF を生成する
- (TeX の本来の出力形式である)DVI ファイルを出力し、その後、
- upLaTeX + dvips
- (TeX の本来の出力形式である)DVI ファイルを出力し、その後、
dvips
で DVI から PDF を生成する
- (TeX の本来の出力形式である)DVI ファイルを出力し、その後、
- upLaTeX + dvipdfmx
- (TeX の本来の出力形式である)DVI ファイルを出力し、その後、
dvipdfmx
で DVI から PDF を生成する
- (TeX の本来の出力形式である)DVI ファイルを出力し、その後、
- pdfLaTeX
- TEX から PDF を直接出力する
- XeLaTeX
- TEX から PDF を直接出力する
- LuaLaTeX(最近流行り)
- TEX から PDF を直接出力する
LaTeX エンジンの確認
以下の TeX ファイルをコンパイルすると確認できる。