Sublime Text(LaTeXTools)

Sublime Text は、この節に並ぶエディタのなかで唯一有料で、しかも何も入れないうちは LaTeX について構文定義しか知りません。無料版というものが存在したことはなく、あるのは期限を強制しない評価版だけ——それでいて個人ライセンスは一括 99 ドル、対する競合は無料、という位置に立ち続けています。このエディタを LaTeX 環境に変えるのが LaTeXTools です。このページでは、LaTeXTools が何を足すのか、Ctrl+B の裏で結局 latexmk が走る仕組み、このパッケージ最大の見どころである \ref\cite のクイックパネル、upLaTeX を通す .latexmkrc の書き方、そして——読者が本当に迷うのはそこなので——いま Sublime Text を選ぶ意味を扱います。

LaTeXTools は誰が作り、いま誰が保守しているのか

「LaTeXTools はもう死んでいるのでは」という疑いには、はっきり いいえ と答えられます。リポジトリが作られたのは 2011 年 3 月で、README は作者として Ian Bacher・Marciano Siniscalchi・Richard Stein の三名を挙げ、現在の保守担当を DeathAxe と記しています。安定版 4.5.14 が公開されたのは 2026 年 7 月 30 日で、非推奨や「メンテナ募集」の掲示はどこにもありません。ひとつ注意すべきは置き場所です。GitHub の SublimeText という組織にありますが、これは Sublime HQ 社ではなくコミュニティの組織 で、自己紹介にも「コミュニティが保守するパッケージ集」とあります。エディタ本体とパッケージは別の会社・別の人たちの持ち物だ、ということです。

導入は Package Control 経由が定石です。Package Control 自体は同梱コードではなくブートストラップ式のインストーラで、それを呼び出すメニュー項目とコマンドパレット項目は Sublime Text 3 の build 3124(2016 年 9 月)から入っています。まずコマンドパレット(Windows・Linux は Ctrl+Shift+P、macOS は Cmd+Shift+P)で Install Package Control を実行し、次に Package Control: Install Package から LaTeXTools を選ぶ。再起動は不要で、.tex を開けばシンタックスが LaTeX に切り替わり機能が生きます。

そのあと必ずやることが二つあります。一つは設定ファイルの用意で、Preferences → Package Settings → LaTeXTools → Settings – User を開くと、User ディレクトリに編集可能な LaTeXTools.sublime-settings ができます(プラグインフォルダ内の既定ファイルは更新のたびに上書きされるので、絶対に触らないこと)。もう一つは点検で、コマンドパレットから LaTeXTools: Check system を実行すると、TeX のコマンド・PDF ビューア・subl 実行ファイルが LaTeXTools から見えているかを一覧できます。このコマンドにキー割り当ては無く、パレットからしか呼べません。何かが動かないときに最初に打つのはこれです。

Ctrl+B の裏では latexmk が走っている

ビルドは Sublime Text 標準の Ctrl+B(macOS は Cmd+B)です。LaTeXTools は独自のキーを増やすのではなく、ビルドシステムそのものを差し替えます。既定のビルダは traditional で、一回のビルドで、現在のファイルを保存し、TeX のビルドコマンドを起動し、ログを解析してエラー・警告・(有効なら)オーバーフルボックスを下部のパネルに並べ、最後に PDF ビューアを開いてカーソル位置へ前方検索します。パネルのエラー行をクリックすればその行へ飛べますし、パネルを閉じたあとは Shift+Escape で呼び戻せます。

肝心なのは、traditional ビルダの実体が latexmkということです。TeX Live と MacTeX では latexmk を、MiKTeX では texify を呼びます。既定のコマンドラインはこうです。-cd は処理の前にソースのディレクトリへ移り、-f はエラーが出ても可能な限り進み、-interaction=nonstopmode は対話停止を避け、-synctex=1 が後述の前方・逆検索に必要な同期データを吐き出します。そして %Eプレースホルダ で、選ばれたエンジンに応じて -pdf(pdfLaTeX)・-lualatex-xelatex に置き換わります。つまりエンジンの選択とは、%E が何に展開されるかを変えることに他なりません。

terminal
latexmk -cd -f -%E -interaction=nonstopmode -synctex=1

ここから一つ警告が出ます。LaTeXTools は latexmk に依存しているのに、latexmk はいつでもそこにあるとは限らないのです。macOS の BasicTeX には含まれていないので、sudo tlmgr install latexmk を実行するか、TeX Live Utility から入れるか、latexmk を必要としないビルダに builder を切り替えます。Ubuntu も同様で、apt-get install texlive では入らないため apt-get install latexmk が要ります。MiKTeX ではビルダが texify を呼びますが、texifyoutput_directoryaux_directoryjobname のいずれにも対応しません。それらが必要なら basic ビルダに移ります(こちらは対応しますが makeindex は扱いません)。なお builder_settings には環境変数を渡す env キーもあり、PATH 以外の変数を build の中だけで立てたいときに使えます。

エンジンを選ぶいちばん手軽な方法は、ファイル先頭の マジックコメント です。.tex の 1 行目にこれを書けば対応するエンジンが使われます(無ければ既定は pdfLaTeX)。複数ファイル構成ならこの行は ルート(マスター)ファイル に置きます。TeXShop 互換のため TS-program も同じ意味で通ります。受け付ける値は pdflatexlualatexxelatex の三つだけです。同じ系列に %!TEX options = ...(エンジンへ渡す追加オプション。--shell-escape など)、%!TEX root = <master>(ルートファイルの指定)、%!TEX output_directory%!TEX jobname(生成物の置き場と名前)があります。優先順位は覚えておく価値があります——ディレクティブは設定ファイルより強く、Ctrl+Shift+B で選ぶビルドバリアントはそのディレクティブより強い。バリアントを選んだままエンジンが変わらない、という混乱はこれが原因です。

latex
%!TEX program = lualatex
%!TEX root = main.tex
%!TEX options = --shell-escape

もう一つの要所が texpath です。これは latexmk などを起動するときに TeX のコマンドを探す PATH で、とりわけ macOS では GUI から起動した Sublime Text がシェルとは違う PATH を持つため、値が誤っていると「command not found」で落ちます。鉄則は texpath$PATH を含めること(自分のパスを先に、そのあと $PATH)。macOS なら "/Library/TeX/texbin:$PATH" が典型で、Windows なら自分の導入先に合わせた "C:\\texlive\\2026\\bin\\windows;$PATH" のような値になります。Windows ではさらに distro"texlive""miktex" に合わせておきます。ビルダを替えたい場合は builderbasic(エンジンと bibtex/biber を回す最小構成)や scriptscript_commands に自分でコマンド列を書く)にします。

terminal
{
  // LaTeXTools.sublime-settings (User)
  "texpath": "/Library/TeX/texbin:$PATH",
  "builder": "traditional",
  "builder_settings": {
    "program": "lualatex",
    "options": ["--shell-escape"]
  }
}

\ref{\cite{ を打った瞬間に出るクイックパネル

LaTeXTools でいちばん気持ちがよいのはここです。\ref{\cite{ を打ち終えた瞬間、画面上部に クイックパネル(Sublime Text 標準の絞り込みリスト)が降りてきます。\ref{ なら文書中のすべての \label\cite{ なら \bibliography{} や biblatex の \addbibresource{} で参照している文献ファイルの全項目です。数文字打てば曖昧一致で絞り込まれ、選んで Enter を押すと \ref{my-label} のように 命令ごと挿入 されます。閉じ括弧の直前でコンマを打って \cite{paper1, とすれば、複数引用の二件目以降も同じ手順で選べます。

落とし穴が二つあります。第一に、LaTeXTools が候補を集めるのは 保存済みのファイル からです。いま足したラベルやキーが出てこないときは、まず保存してください。第二に、対応しているのは 外部の .bib ファイルだけ で、本文中に直接書いた \bibitem は拾いません。自動で出るのが邪魔なら設定で切れますし、手で呼び出したいときは \ref{ などの直後に Ctrl+l, x(macOS は Cmd+l, x)か Ctrl+l, Ctrl+f を押します。cleveref・fancyref・varioref・natbib・biblatex の参照命令・引用命令も認識されます。

補完はもう二系統あります。命令の補完は TeXStudio 由来の補完語彙リスト(CWL)を同梱していて、\ で始めた瞬間に候補が出ます。\te と打てば \textit などが並ぶ、という具合です。挙動は command_completion 設定で決まり、prefixed(既定。\ で始めたときだけ)・alwaysnever から選びます。文書が読み込んでいるパッケージの候補は cwl_autoload(既定で有効)が自動で足します。env_auto_trigger を有効にすれば \begin{\end{ の環境名も補完されます。もう一系統が Fill Helper で、\usepackage{\include{\input{\includegraphics{ などを打つと、導入済みパッケージやカレントディレクトリのファイル(\includegraphics なら画像に絞られます)を出します。手で呼ぶなら Ctrl+l, Ctrl+f。準備が要るのはパッケージ補完だけで、コマンドパレットから LaTeXTools: Build cache for LaTeX packages を一度実行しておきます。

upLaTeX と dvipdfmx——経路は .latexmkrc に書く

ここが日本語の文書でつまずく場所です。%!TEX programpdflatexlualatexxelatex しか受け付けないので、uplatexplatex を直接名指しすることはできません。LuaLaTeX で組むなら話は簡単で、%!TEX program = lualatex と書いて luatexjaltjsclasses 系のクラスを使えば済みます。問題は、DVI を作ってから PDF に変換する upLaTeX + dvipdfmx の経路です。

解決は素直で、.latexmkrc にエンジンを選ばせることです。traditional ビルダの実体は latexmk なので、プロジェクトのディレクトリ(またはホーム)に .latexmkrc を置けば、LaTeXTools 側の設定をほとんど触らずに日本語向けの経路へ切り替わります。要点は、$latexuplatex$dvipdfdvipdfmx を割り当て、$pdf_mode = 3 で「DVI を作ってから dvipdfmx で PDF にする」を選ぶこと。$latex にも -synctex=1 を渡しておけば、DVI を経由しても同期データが PDF まで運ばれ、後述の検索が効きます。LaTeXTools 側では %!TEX program 行を書かないのが安全です(書くと pdfLaTeX の %E が選ばれてしまいます)。

latexmkrc
$latex = 'uplatex -synctex=1 -interaction=nonstopmode -file-line-error %O %S';
$bibtex = 'upbibtex %O %B';
$biber = 'biber --bblencoding=utf8 -u -U --output_safechars %O %S';
$makeindex = 'upmendex %O -o %D %S';
$dvipdf = 'dvipdfmx %O -o %D %S';
$pdf_mode = 3;
$max_repeat = 5;

もっと明示したいなら、builder_settingscommand キーで latexmk を直接名指しできます。"command": "latexmk" と書いておけば(オプションは .latexmkrc 側に置いたまま)、日本語向けに設定した latexmk が確実に走ります。command を自分で書くと %!TEX program によるエンジン自動選択は無効になりますが、和文のように 経路を .latexmkrc で固定する構成では失うものがありません。latexmk 自体の設定は自動ビルドのページが持ち主です。

前方検索は Ctrl+l, j、逆検索はビューア側の設定

LaTeXTools の既定のビルドコマンドには -synctex=1 が入っているので、普通に Ctrl+B すれば同期データ(.synctex.gz)は勝手に書き出されます。あとは押すだけで、.tex を編集中に Ctrl+l, j(macOS は Cmd+l, j)でカーソル位置に対応する PDF のページが出ます。ビルド直後には前方検索が自動で走るので、Ctrl+B だけでも正しい場所が開きます。同期せず PDF を開くだけなら Ctrl+l, v です。なお Ctrl+l は素の Sublime Text では「選択を行に広げる」キーですが、LaTeXTools が有効な .tex ではプラグインのコマンド群のプレフィックスになります。SyncTeX の仕組みそのものは専用ページにあります。

逆検索(PDF → ソース)はビューアから Sublime Text を呼び返す仕組みなので、設定はビューア側です。既定のビューアは OS ごとに決まっていて、viewer 設定で変えられます。Windows は SumatraPDFmacOS は SkimLinux は Evince(Linux Mint では XReader)が既定で、Linux では Okular・Zathura も選べます。Sioyek は三つの OS すべてで使え、これらはいずれも前方・逆検索の両方に対応します。注意すべき例外が macOS の Preview.app で、これは どちらの検索にも対応しません。クリックの作法もビューアごとに違い、Skim は Cmd+Shift+クリック、SumatraPDF は ダブルクリック、Evince と Zathura は Ctrl+左クリック、Okular は Shift+左クリック です。

viewer の値OS備考
skimmacOSmacOS の既定。macOS で前方・逆検索の両方が使える事実上唯一のビューア
previewmacOSPreview.app を開くだけ。前方検索も逆検索も使えません
sumatraWindowsWindows の既定。Adobe の PDF ビューアは開いている間 PDF をロックしてビルドを壊すので避けます
evinceLinuxLinux の既定。システムの Python に dbus のバインディングが要ります
okularLinux逆検索は Settings → Configure Okular → Editor で subl "%f:%l" を登録します
zathuraLinuxほぼ無設定で動きます。フォーカスの制御に wmctrlxdotool があると確実です
xreaderLinuxLinux Mint の既定。Evince とほぼ同じ扱い
sioyekLinux / macOS / Windows技術書・論文向けのビューア。三つの OS すべてで使えます
commandLinux / macOS / Windows任意のビューアを自分で繋ぐ抜け道。view_commandforward_sync_command を書きます

macOS の Skim なら、環境設定の Sync タブで「Sublime Text」プリセットを選ぶだけです。プリセットが無い古いビルドでは Custom を選び、Command に subl の絶対パス(/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl)、Arguments に "%file":%line を入れます。Windows の SumatraPDF では、同期データを持つ PDF を開いたときにだけ逆検索の設定欄が現れるので、先に Ctrl+B で一度ビルドし、その PDF を Sumatra で開いてから Settings → Options に下のコマンドラインを登録します。うまくいかないときは、-synctex=1 付きでビルドされたか、ビューアのプリセットやコマンドが正しいか、そして LaTeXTools: Check systemsublime_executablesubl の場所)が見えているか——この順に確かめてください。

terminal
"C:\\Program Files\\Sublime Text\\sublime_text.exe" "%f:%l"

いま LaTeX のために Sublime Text を買う意味はあるか

まずライセンスの形を正確に押さえます。Sublime HQ 自身の言い方では、Sublime Text は無料でダウンロードして評価できるが、使い続けるにはライセンスの購入が必要で、評価に強制的な期限は現在設けられていません。ライセンスは利用者単位で、EULA によれば対応するすべての OS で有効、主たる利用者が本人であれば複数のコンピュータでも使えます。個人向けは一括購入で 3 年ぶんの更新が付き、3 年を過ぎてさらに更新を受け取るにはアップグレードが必要です。法人向けは形が違い、年額のシート課金で、最初の 10 シートが 1 シートあたり年 65 ドル、シート数が増えるほど単価が下がる段階制です(2026 年 8 月時点で個人ライセンスは 99 ドル)。

そのうえで、正直に見ておくべき数字が二つあります。ひとつは開発の速度。安定版は build 4200 が 2025 年 5 月 21 日に出たきりで、2026 年 8 月の時点で 1 年以上動いていません(開発版は 4207 まで進んでいますが、そちらはライセンス保有者だけが使えます)。もうひとつは利用者の分布で、Stack Overflow の 2025 年開発者調査では、統合開発環境として Visual Studio Code を挙げた回答が 75.9%、Sublime Text は 10.5% でした。おおよそ 7 倍の開きです。

それでも判断は割り切れます。すでに Sublime Text を持っていて、その速さが自分の作業の理由になっているなら、LaTeXTools は十分に完成しており、いまも保守されています——ビルドも補完も参照パネルも、必要なものは揃っています。逆に、いま LaTeX のためだけにエディタを選ぶのなら、拡張の数も情報の量も VS Code の側にあります。原稿の側から見れば、どちらを選んでも .tex.bib.latexmkrc は同じで、乗り換えの費用は設定ファイル数枚ぶんです。エディタを決めるより、ビルドをプロジェクトに固定しておくことのほうがはるかに大切だ、という話に落ち着きます。

最初の点検——四つだけ確かめる

  • 最初に打つコマンド: コマンドパレットから LaTeXTools: Check system を実行し、TeX のコマンド・PDF ビューア・subl 実行ファイルが見えていることを確かめます。
  • 日本語の分岐: LuaLaTeX なら %!TEX program = lualatex。upLaTeX なら %!TEX program を書かず、経路は .latexmkrc に預けます。
  • 動かないとき: Ctrl+B が「コマンドが見つからない」と言うなら texpath。参照が更新されないなら保存してからビルド。PDF からソースへ戻れないならビューアの逆検索設定。
  • プロジェクトにする合図: 図やチャプタのファイルが増えてきたら、Sublime のプロジェクトか %!TEX root でマスターを固定し、どのタブから Ctrl+B しても同じ PDF が出るようにします。