1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VSCodeでLatex環境を整える

Last updated at Posted at 2024-12-22

はじめに

本記事では、VSCodeでLaTeXの環境構築をする方法を解説します。
文書作成ツールとして広く利用されているのはMicrosoft Wordです。
しかし、特に学術論文や技術文書の作成においては、LaTeXが一般的に使われています。
LaTeXには下記のような利点があります。

  1. 高品質な組版: LaTeXは自動的に美しいレイアウトを生成してくれます。
  2. 数式の強力なサポート: 複雑な数式や化学式を簡単に表現できます。
  3. バージョン管理との相性: テキストファイル形式のため、Gitなどでの共同作業や変更履歴の管理が容易です。
  4. 無料で利用可能: オープンソースであり、コストをかけずに利用できます。

それでは、環境構築をしていきます。

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アプリケーション。
  • TeXShop
    macOS専用のTeX統合環境
  • Ghostscript
    PostScriptやPortable Document Format などアドビのページ記述言語用のインタプリタおよび、それを基にしたソフトウェアパッケージのことです。

その他のOS

その他のOSについてこちらを参考にお願いします。

Visual Studio Codeの設定

LaTeX Workshop(拡張機能)

LaTex WorkshopはVSCodeでTeXソースを書くために必須級の拡張機能です.
シンタックスハイライトや補完,PDFのプレビューなど多くの機能を提供してくれます.
LaTeX Workshopのインストールしてください.

vscode_latex-workshop(extension).png

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 × PDF 標準LaTeX、欧文向け
XeLaTeX PDF Unicode、システムフォント対応
LuaLaTeX PDF Luaでの拡張が可能

最後に

日本語で論文を書くための最低限の設定はできたと思います。
pLaTeXやupLaTeX以外のLaTeXエンジンや英語対応はまたの機会にできたらと思います。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?