Purplelink
← ModernTex

Mac で日本語 LaTeX(upLaTeX / LuaLaTeX)を使う

Mac で日本語の LaTeX 文書をビルドする方法を、LuaLaTeX(LuaTeX-ja、jlreq)と upLaTeX の2通りで説明します。コピーして使える最小のファイルを付けました。

Mac で日本語の LaTeX 文書をビルドする方法を、LuaLaTeX と upLaTeX の2通りで説明します。どちらもコピーして使える最小のファイルを付けました。

どちらを選ぶか

テンプレートに指定がある場合は、その指定に従ってください。

準備: TeX を入れる

MacTeX には日本語のパッケージが最初から入っています。小さな TinyTeX を使う場合は、ターミナルで必要なものを足します。tlmgr が見つからなければ ~/Library/TinyTeX/bin/universal-darwin/tlmgr を指定してください。LuaLaTeX の場合:

tlmgr install luatexja haranoaji haranoaji-extra jlreq regexpatch

upLaTeX の場合は、日本語 TeX 一式のコレクションを入れます。容量の大きいコレクションです。

tlmgr install collection-langjapanese

TinyTeX を入れていない場合、ModernTex はコンパイル時に TeX が見つからないと、ワンクリックの TinyTeX インストールを案内します。

方法 1: LuaLaTeX と ltjsarticle

次を main.tex として UTF-8 で保存します。

% !TEX program = lualatex
\documentclass[a4paper,11pt]{ltjsarticle}
\usepackage{amsmath}

\title{日本語 LaTeX のテスト}
\author{山田 太郎}
\date{\today}

\begin{document}
\maketitle
\section{はじめに}
これは LuaLaTeX と LuaTeX-ja による日本語の文書です。数式 $E = mc^2$ も使えます。
\begin{equation}
  \int_0^\infty e^{-x^2}\,dx = \frac{\sqrt{\pi}}{2}
\end{equation}
\end{document}

ターミナルでのビルドは次のとおりです。

latexmk -lualatex main.tex

1行目の % !TEX program = lualatex は、ModernTex のようなエディタに使うエンジンを伝えるための書き方です。latexmk 自身は読まないので、ターミナルでは -lualatex を付けます。

ltjsarticle は、日本語の既定フォントとして TeX Live に入っている原ノ味(haranoaji)を使います。Mac に入っているヒラギノを使いたいときは、\usepackage{amsmath} の前に次の1行を足します。

\usepackage[hiragino-pro]{luatexja-preset}

方法 2: LuaLaTeX と jlreq

jlreq は、日本語組版処理の要件に沿ったクラスです。LuaLaTeX では次のように書きます。

% !TEX program = lualatex
\documentclass[paper=a4,lualatex]{jlreq}
\usepackage{luatexja-preset}

\title{jlreq のテスト}
\author{山田 太郎}
\date{\today}

\begin{document}
\maketitle
\section{はじめに}
jlreq クラスは、日本語組版の要件に沿った組版を行います。句読点、括弧、行頭禁則を確認します。
\end{document}

ビルドは方法 1 と同じ latexmk -lualatex main.tex です。

方法 3: upLaTeX と dvipdfmx

3つのファイルを同じフォルダに置きます。まず main.tex です。

\documentclass[uplatex,dvipdfmx,a4paper,11pt]{jsarticle}
\usepackage{amsmath}

\title{upLaTeX のテスト}
\author{山田 太郎}
\date{\today}

\begin{document}
\maketitle
\section{はじめに}
これは upLaTeX と dvipdfmx による日本語の文書です。文献\cite{yamada2020}を引用します。数式 $E = mc^2$。

\bibliographystyle{jplain}
\bibliography{refs}
\end{document}

文献データベース refs.bib です。

@book{yamada2020,
  author = {山田 太郎},
  title = {日本語の組版},
  publisher = {例示出版},
  year = {2020},
}

そして、latexmk に upLaTeX の道具立てを教える latexmkrc です。

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

各行の意味は次のとおりです。$latex は upLaTeX を呼び、$bibtex は日本語対応の upbibtex を呼びます。$dvipdf は DVI を PDF に変えます。$makeindex は upmendex を呼びます。$pdf_mode = 3 は、PDF を DVI から作る設定です。ビルドは次のとおりです。

latexmk main.tex

文字コード

上のファイルはすべて UTF-8 です。古い Shift_JIS のファイルは、macOS 付属の iconv で変換できます。

iconv -f CP932 -t UTF-8 old.tex > new.tex

ModernTex で使う

LuaLaTeX と XeLaTeX の文書は、1行目に % !TEX program = lualatex のように書けばビルドできます。upLaTeX は専用のプリセットがないため、プロジェクトの latexmkrc(Full ビルドで、確認したあとに実行されます。ModernTex 1.10.0 以降)か、Full ビルド用の独自ビルドコマンド(1.11.0 以降)で指定します。この latexmkrc の内容は TinyTeX のターミナルで確かめたもので、ModernTex の中でのビルドは確かめていません。

確認したこと

2026年10月29日に、macOS 上の TinyTeX(TeX Live 2026)で、このページの main.tex を次のとおりビルドしました。方法 1(原ノ味とヒラギノの両方)、方法 2、方法 3 はいずれも PDF になり、方法 3 では文献 [1] も正しく表示されました。TinyTeX は、上の tlmgr のコマンドを足した状態です。

よくある質問

HaranoAjiMincho-Regular.otf が見つからないと出ます。

原ノ味フォントが入っていません。TinyTeX では tlmgr install haranoaji haranoaji-extra を実行してください。ヒラギノを使うなら、\usepackage[hiragino-pro]{luatexja-preset} を足す方法もあります。

regexpatch.sty が見つからないと出ます。

tlmgr install regexpatch を実行してください。LuaTeX-ja が使う補助パッケージです。

latexmk が「Bst file not found」と表示しますが、文献は出ます。

upLaTeX で jplain などの日本語用スタイルを使うと、latexmk は自分の検索でスタイルファイルを見つけられず、この表示を出しますが、upbibtex は見つけてくれます。ビルド結果の文献が正しく出ていれば、そのままで問題ありません。

jsarticle と ltjsarticle は何が違いますか。

jsarticle は upLaTeX と pLaTeX 用、ltjsarticle は LuaLaTeX(LuaTeX-ja)用の同じ体裁のクラスです。使うエンジンに合わせて選びます。

古い Shift_JIS のファイルはそのまま使えますか。

いいえ。上の方法は UTF-8 を前提にしています。iconv -f CP932 -t UTF-8 で変換してから使ってください。

ModernTex でビルドする

ModernTex は、ソースに追従する PDF プレビュー、平易な言葉のエラー説明、投稿前チェックを備えた Mac 用の LaTeX エディタです。手元の TeX を使うので、ここまでの手順がそのまま使えます。7日間無料で、気に入れば 19.99ドルの買い切りです。