はじめに
本記事では、VSCodeでLaTeXの環境構築をする方法を解説します。
文書作成ツールとして広く利用されているのはMicrosoft Wordです。
しかし、特に学術論文や技術文書の作成においては、LaTeXが一般的に使われています。
LaTeXには下記のような利点があります。
- 高品質な組版: LaTeXは自動的に美しいレイアウトを生成してくれます。
- 数式の強力なサポート: 複雑な数式や化学式を簡単に表現できます。
- バージョン管理との相性: テキストファイル形式のため、Gitなどでの共同作業や変更履歴の管理が容易です。
- 無料で利用可能: オープンソースであり、コストをかけずに利用できます。
それでは、環境構築をしていきます。
TeX・LaTeXとは?
基礎知識
TeXは、文書を構築するためのプログラミング言語とツールの総称です。
LaTeXはTeXの上に構築されたマクロパッケージで、TeXの書式を簡単にしたり、標準化したりしたものです。
単に「TeX」といった場合に「LaTeX」を指すことが多いです。
TeXとLaTeXは区別されるべきですが、細かい話はおいておきます。
日本語の文字をさらにサポートするために開発されたのが「pTeX」と「upTeX」、そのマクロ版が「pLaTeX」と「upLaTeX」です。
pTeX
pTeX (英語名: "publishing TeX") は、日本語文章の構築を目的に開発されたTeXの実装です。
ベースのTeXに日本語の漢字、仮名、ルビの利用など、日本語文書の構築に必要な機能が追加されています。
- 日本語ラインブレークに対応
- 正確な打ち切り
- 文章レイアウトのテキスト構築を支援
pLaTeX
pLaTeX は、pTeXをベースにLaTeXのマクロを搭載したシステムです。
- pTeXの機能に加えてLaTeXの標準化された構文を利用可能
- 日本語文書を簡単に構築できる
- フォントサイズやレイアウトのカスタマイズ性
upTeX
upTeX (英語名: "Unicode pTeX") は、pTeXのUnicode対応版です。
- Unicodeの完全支援
- 複数の言語に対応
- pTeXと同様の日本語文章構築機能
upLaTeX
upLaTeX は、upTeXをベースにLaTeXのマクロを搭載したシステムです。
- upTeXのUnicode対応機能に加えてLaTeX構文が使える
- 日本語を含む複数言語構築に適している
- 世界レベルで使用可能な文書の構築
どれを使うべき?
使用するシチュエーションによって選択が分かれます。
- 日本語のみを構築:pTeX や pLaTeX
- Unicode対応や複数言語構築:upTeX や upLaTeX
- 日本語の構築と標準化を重視:pLaTeX
- Unicodeベースの日本語文書を検討:upLaTeX
日本語テキストの構築においては、upTeXとupLaTeXが時代の流れに合っているでしょう。
必要なツール
Visual Studio Codeをインストールする
これは詳しく解説しません。
各自のOSにあったVSCodeをインストールしてください。
LaTeXをインストールする
TeX Liveがいいと思います。
TEX Wikiに詳細が載っているので、そちらにしたがってインストールしてください。
Mac
Macの場合、HomebrewでMacTexをインストールするのが簡単だと思います。
今回は、VSCodeを使う予定なので、GUI-Applicationsなしでも問題ありません。
- GUI-Applicationsあり
$ brew install --cask mactex
- GUI-Applicationsなし
$ brew install --cask mactex-no-gui
MacTeX-2024には以下のパッケージが収録されています。
- TeXLive-2024
TeX Liveの本体です。TeX Liveに含まれるすべてのパッケージをインストールします。 - GUI-Applictions
- BibDesk
文献管理ソフト - LaTeXiT
単独の数式を作成して他のアプリケーションにコピペするのに便利なMacアプリ - TeX Live Utility
tlmgr(TeX Live Manager)のmacOSネイティブのGUIアプリケーション。
- BibDesk
- TeXShop
macOS専用のTeX統合環境 - Ghostscript
PostScriptやPortable Document Format などアドビのページ記述言語用のインタプリタおよび、それを基にしたソフトウェアパッケージのことです。
その他のOS
その他のOSについてこちらを参考にお願いします。
Visual Studio Codeの設定
LaTeX Workshop(拡張機能)
LaTex WorkshopはVSCodeでTeXソースを書くために必須級の拡張機能です.
シンタックスハイライトや補完,PDFのプレビューなど多くの機能を提供してくれます.
LaTeX Workshopのインストールしてください.
LaTeX Workshopの設定
使用可能なLaTeXエンジンを設定
今回は、pLaTeXとupLaTeX(の日本語)に対応するように設定します。
"latex-workshop.latex.tools": [
{
"name": "ptex2pdf(platex)_ja",
"command": "ptex2pdf",
"args": [
"-interaction=nonstopmode",
"-l",
"-ot",
"-kanji=utf8",
"-synctex=1",
"%DOC%"
]
},
{
"name": "ptex2pdf(uplatex)_ja",
"command": "ptex2pdf",
"args": [
"-interaction=nonstopmode", // エラーが発生しても処理を中断せずに続行するモードです。
"-l", // LaTeXベースのフォーマットを使用することを指定します。具体的には、uplatexやplatexを使用する場合に指定します。
"-u", // uplatexを使用することを指定します。
"-ot", // TeXコンパイラに追加のオプションを渡すためのオプションです。例えば、-synctex=1などのオプションを指定することができます。
"-kanji=utf8", // 日本語の文字エンコーディングをUTF-8に設定します。
"-synctex=1", // SyncTeXを有効にします。SyncTeXは、ソースファイルとPDFファイル間の相互参照を可能にする機能で、PDFビューアとエディタ間でのジャンプが容易になります。
"%DOC%" // 処理するTeXファイルのプレースホルダーです。実際のファイル名に置き換えられます。
]
},
{
"command": "pbibtex",
"args": ["%DOCFILE%", "-kanji=utf8"],
"name": "pbibtex"
}
],
LaTeX文書をコンパイル設定
LaTeX文書をコンパイルするためのレシピを定義します。
"latex-workshop.latex.recipes": [
// platex(bibなし)
{
"name": "JA ptex2pdf(platex)",
"tools": ["ptex2pdf(platex)_ja"]
},
// platex(bibあり)
{
"name": "JA ptex2pdf(platex) with bibtex",
"tools": ["ptex2pdf(platex)_ja", "pbibtex", "ptex2pdf(platex)_ja", "ptex2pdf(platex)_ja"]
},
// uplatex(bibなし)
{
"name": "JA ptex2pdf(uplatex)",
"tools": ["ptex2pdf(uplatex)_ja"]
},
// uplatex(bibあり)
{
"name": "JA ptex2pdf(uplatex) with bibtex",
"tools": ["ptex2pdf(uplatex)_ja", "pbibtex", "ptex2pdf(uplatex)_ja", "ptex2pdf(uplatex)_ja"]
},
],
その他の設定
これ以降は、個人の好みに合わせて設定してください。
// デフォルトのビルドレシピ
"latex-workshop.latex.recipe.default": "lastUsed",
// インテリセンス(使用するパッケージから提供されるコマンドや環境のオートコンプリートを有効)
"latex-workshop.intellisense.package.enabled": true,
// プレビューをvscode内に開く
"latex-workshop.view.pdf.viewer": "tab",
// プレビューを横幅いっぱいに表示する
"latex-workshop.view.pdf.zoom": "page-width",
// プレビューを左に開く
"latex-workshop.view.pdf.tab.editorGroup": "left",
// どのように中間ファイルが消されるか定義(保存時に不要な中間ファイルを消すため)
"latex-workshop.latex.clean.method": "glob",
// 不必要なファイルを削除するタイミング
"latex-workshop.latex.autoClean.run": "onBuilt",
// ビルド時に削除するファイルタイプ
"latex-workshop.latex.clean.fileTypes": [
"%DOCFILE%.aux",
"%DOCFILE%.bbl",
"%DOCFILE%.blg",
"%DOCFILE%.idx",
"%DOCFILE%.ind",
"%DOCFILE%.lof",
"%DOCFILE%.lot",
"%DOCFILE%.out",
"%DOCFILE%.toc",
"%DOCFILE%.acn",
"%DOCFILE%.acr",
"%DOCFILE%.alg",
"%DOCFILE%.glg",
"%DOCFILE%.glo",
"%DOCFILE%.gls",
"%DOCFILE%.fls",
"%DOCFILE%.log",
"%DOCFILE%.fdb_latexmk",
"%DOCFILE%.snm",
"%DOCFILE%.synctex(busy)",
"%DOCFILE%.synctex.gz",
"%DOCFILE%.nav",
"%DOCFILE%.vrb"
],
LaTeXエンジンの比較
pLaTeXやupLaTeX以外にもLaTeXエンジンがあるみたいです。
詳しく解説されている方がいたので、そちらを確認されるといいと思います。
エンジン | Unicode対応 | 日本語対応 | 出力形式 | 特徴 |
---|---|---|---|---|
pLaTeX | × | ◎ | DVI/PDF | 日本語文書専用、Shift_JISなど対応 |
upLaTeX | ◎ | ◎ | DVI/PDF | 日本語と多言語文書作成 |
pdfLaTeX | × | △ | 標準LaTeX、欧文向け | |
XeLaTeX | ◎ | ◎ | Unicode、システムフォント対応 | |
LuaLaTeX | ◎ | ◎ | Luaでの拡張が可能 |
最後に
日本語で論文を書くための最低限の設定はできたと思います。
pLaTeXやupLaTeX以外のLaTeXエンジンや英語対応はまたの機会にできたらと思います。