日本語LaTeX環境 (Ubuntu 24.04 on WSL2, 2025年度版)
はじめに_
- Emacsがインストール済みであること。
- 日本語でLaTeXを使う環境を構築する。インストールに時間がかかるので安定したネットワーク環境&十分に時間があるときに実施すること。
参考URL_
以下のWebページを参考に環境を整えている。
日本語LaTeXのインストール_
Ubuntu 24.04 LTSにおいては以下のコマンドで日本語TeX環境を整えることができる。インストール時間はネットワーク回線の帯域にもよるが30分弱かかることもある。
% sudo apt update % sudo apt upgrade -y % sudo apt install -y texlive-lang-japanese texlive-latex-extra texlive-luatex evince
インストールができているか確認する。
% which lualatex /usr/bin/lualatex % lualatex --version This is LuaHBTeX, Version 1.17.0 (TeX Live 2023/Debian) Development id: 7581 Execute 'luahbtex --credits' for credits and version details. There is NO warranty. Redistribution of this software is covered by the terms of the GNU General Public License, version 2 or (at your option) any later version. For more information about these matters, see the file named COPYING and the LuaTeX source. LuaTeX is Copyright 2022 Taco Hoekwater and the LuaTeX Team. % which platex /usr/bin/platex % platex --version e-upTeX 3.141592653-p4.1.0-u1.29-230214-2.6 (utf8.euc) (TeX Live 2023/Debian) kpathsea version 6.3.5 ptexenc version 1.4.3 Copyright 2023 D.E. Knuth. There is NO warranty. Redistribution of this software is covered by the terms of both the e-upTeX copyright and the Lesser GNU General Public License. For more information about these matters, see the file named COPYING and the e-upTeX source. Primary author of e-upTeX: Japanese TeX Development Community. % which evince /usr/bin/evince % evince --version GNOME Document Viewer 46.3.1
確認_
埼玉大学工学部情報システム工学科LaTeX用学位論文テンプレート(非公式)からファイルをダウンロードし、コンパイルおよびPDFファイルを作成できるかを確かめる。
% mkdir -p ~/Sandbox % cd ~/Sandbox % git clone https://github.com/yuichigoto/tex-template-ics.git % cd tex-template-ics/Jpn/BMthesis % lualatex sample.lualatex.tex (注:初めてlualatexを使う際には少し時間がかかる) % evince sample.lualatex.pdf &
基本的な使い方は、埼玉大学工学部情報工学科1年生向け講義「情報基礎」にて説明する。
yatexのインストール_
emacsでのLaTeX形式のファイル作成支援環境 yatex をインストールする。
% sudo apt install -y yatex
~/.emacs.d/init.elにyatexの設定を加える。emacsで~/.emacs.d/init.elを開く。
% emacs &
emacsでinit.elを開き、「(provide 'init)」の上に以下の内容を追記し、保存する。
;; YaTeX
(leaf yatex
  :commands yatex-mode
  :mode (("\\.tex$" . yatex-mode))
  :init
  (setq tex-command "lualatex")
  (setq dvi2-command "evince")
  :config
  )
保存した上で、emacsを終了し、設定を反映させる。
% cd ~/.emacs.d % emacs --batch -f batch-byte-compile init.el ~中略~ In wl-paste: init.el:260:12: Warning: reference to free variable ‘wl-copy-process’ init.el:275:9: Warning: assignment to free variable ‘tex-command’ init.el:276:9: Warning: assignment to free variable ‘dvi2-command’ (上記のような警告メッセージがでるが無視してよい)
先ほどの tex-template-ics/Jpn/BMthesis/sample.lualatex.tex をemacsで開き、YaTeXモードになっているかを調べる。なお、emacsがすでに起動している場合は起動しなおすこと。
YaTeXモードが読み込まれていると以下のようにemacsのミニバッファにメッセージが表示される。
 
VSCodeをLaTeXのエディタとして使用する(希望者のみ)_
VSCodeのインストール_
注:「情報基礎」の講義ではVSCodeを使用しません。
Microsoft社が提供している汎用のコードエディタ(プログラミング用のエディタ)であるVSCodeをLaTeXのエディタとして利用することができる、そして、LaTeXのコンパイルはWSL上のLinuxにインストールされているLaTeXを使用することができる。
まず、Windows側にVSCodeをインストールし、WSL上のUbuntuと連携させる。以下を参照のこと。
LaTeX Workshopのインストール_
VSCodeのインストールが終わり、WSL上のUbuntuと連携済みとする。LaTeX用に以下の拡張機能をインストールする。
- LaTeX Workshop (説明→LaTeX Workshop)
settings.json の設定_
つづいて、VSCodeからLaTeXのコンパイル(TeXファイルからPDFファイルを生成する)を実施できるように設定する。LaTeX Workshopがインストール済みとする。
VSCodeで管理のアイコン(下の画像の赤枠部分)をクリックし、「設定」を開く。
 
つづいて、右上にあるアイコン「設定JSON」(下の画像の赤枠部分)をクリックし、settings.jsonの画面を開く。
 
これまでにsettings.jsonを設定していなければ、以下の画像のように何も記載されていない。
 
中括弧(波括弧)の中に以下を記載する。以下の記載は最低限の記載なので追加してもよい。
    //----- 拡張機能 LaTeX Workshop用 ----    
    // 使用パッケージのコマンドや環境の補完を有効にする
    "latex-workshop.intellisense.package.enabled": true,
    "latex-workshop.latex.tools": [
        {
            "name": "lualatex",
            "command": "lualatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOCFILE%.tex"
            ]
        },
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": [
                "%DOCFILE%"
            ]
        },
        {
            "name": "platex",
            "command": "platex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-kanji=utf8",
                "-guess-input-enc",
                "%DOCFILE%.tex"
            ]
        },
        {
            "name": "pbibtex",
            "command": "pbibtex",
            "args": [
                "-kanji=utf8",
                "%DOCFILE%"
            ]
        },
        {
            "name": "dvipdfmx",
            "command": "dvipdfmx",
            "args": [
                "%DOCFILE%"
            ]
        }
    ],
    "latex-workshop.latex.recipes": [
        // lualatexを使ってTeXファイル→PDFファイル生成
        {
            "name": "lualatex",
            "tools": [
                "lualatex"
            ]
        },
        // lualatex+bibtexを使ってTeXファイル→PDFファイル生成
        {
            "name": "lua_bib",
            "tools": [
                "lualatex"
                "bibtex"
                "lualatex"
                "lualatex"
            ]
        },
        // platexを使ってTeXファイル→DVIファイル→PDFファイル生成
        {
            "name": "platex",
            "tools": [
                "platex",
                "platex",
                "dvipdfmx"
            ]
        }
        // platexとpbibtexを使ってTeXファイル→DVIファイル→PDFファイル生成
        {
            "name": "platex_bib",
            "tools": [
                "platex",
                "pbibtex",
                "platex",
                "platex",
                "dvipdfmx"
            ]
        }
    ],
    // 生成ファイルを削除するときに対象とするファイル
    "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"
    ],
上記をsettings.jsonにコピーしたら保存する(メニューの「ファイル」→「保存」)。
 
lualatexについてはコンパイルにかかる時間が長いので、1回のみ実行するようにした。platexの方はコンパイルが短いので、platexを2回実行し、その後、PDFファイルを生成するためにdvipdfmxを実行するようにしている。
記載内容については以下のページを参考にした。
- LaTeX Workshop:settings.jsonに記載するパラメーターの説明がある(英語)
- Qiita@tatsuyayamakawa(山川 達也):VSCodeにおけるsettings.jsonの優先度について / Cursorも対応
- Qiita@rainbartown:VSCode で最高の LaTeX 環境を作る
- Qiita@YuH25:WSL2 + VSCode + LuaLaTexでレポートを書く
- Qiita@zr_tex8r:重点解説! LuaLaTeXを遅くしない方法
VSCode上でのコンパイル方法_
上述の「埼玉大学工学部情報システム工学科LaTeX用学位論文テンプレート(非公式)」を使って、VSCodeから実際にコンパイルできるか確認してみる。
VSCodeでTeXのソースコードが置かれているフォルダを開く。今回の例ではUbuntu上に ~/Sandbox/tex-template-ics/ (この例では /home/gotoh/Sandbox/tex-template-ics/)にTeXのフォルダがあるとする。
VSCodeのメニューから「ファイル」→「フォルダーをワークスペースに追加」(下画像の1の部分)を選択する。その後、開いた検索窓(下の画像の2の部分)にTeXのフォルダの絶対パスを入力する。今回の例では /home/gotoh/Sandbox/tex-template-ics/ となる。入力したら「追加」のボタンをクリックする。
 
追加したフォルダを信頼できるかどうか尋ねられるので「はい」を選択する。その後、左にあるアイコンの「エクスプローラー」(下画像の赤枠の部分)をクリックすると追加したディレクトリを視覚的に確認できる。
 
エクスプローラーからtex-template-ics → Jpn → BMthesis と展開し、sample.lualatex.texをクリックする。すると以下のように当該ファイルがタブで開く。練習のため「\author」と「\studentID」を自分の名前と学籍番号に変更し、保存する。
 
コンパイルしてみる。左の「TeX」アイコン(下画像の赤枠部分)をクリックする。このアイコンは開いているファイルの拡張子が .tex の場合に表示される。
 
LaTeX Workshopで提供している機能が表示される。「ログファイルを表示」→「LaTeXコンパイルログ」をクリックする。すると、右下にログファイルを表示する枠が表示される。
 
「LaTeXプロジェクトをビルド」→「レシピ lualatex」をクリックするとPDFファイルが生成される。
 
「LaTeX PDFを表示」→「VSCodeタブで表示」をクリックするとPDFファイルが同時に表示される。
 
以上のとおり、Ubuntu上のLaTeXをVSCodeから利用することができる。