LoginSignup
21
20

More than 5 years have passed since last update.

upLaTeXからLuaTeX-jaに移行するのに必要そうなことをまとめた

Last updated at Posted at 2018-03-07

現在,TeXで日本語を扱うのはupLaTeXが優勢ですが,pdfLaTeXのようにTeXファイルから直接PDFを出力するエンジンとしてLuaTeX-jaが開発されています.このLuaTeX-jaはDVIを経由しないことから,フォントの取り扱いがpTeX系と大きく異なります.

そこで,公式ドキュメントの日本語版(2018-03-08時点)を読んで,upLaTeXと同じように使うために必要なことを自分なりにまとめました.ただしあまり高度な使い方は考えず,基本的な機能に限って述べます.

Note 以下では明示的に引用はしていませんが,ほとんどがドキュメントをそのまままとめただけです.

使い方

最低限の設定をするためには,luatexja.styを読み込む:

\usepackage{luatexja}

これによって次の設定がされる:

  • 和文フォントのエンコーディングに,横組はJY3,縦組はJT3を用いる.
  • 標準のフォントはIPAexの明朝体(ファミリ:mc)とゴシック体(ファミリ:gt)を用いる.
  • 数式モード中の和文は明朝体.
  • \verbverbatim環境中の和文フォントは\jttdefaultで指定する.デフォルトは\mcdefault

ドキュメントクラス

LuaTeXではjclassesとjsclassesは使えない.その代わりにltjclassesやltjsclassesを使う.また,縦組クラス(ltjtarticle.clsなど)でもgeometryパッケージを利用できるようにパッチを当てている(pLaTeXの縦組クラスではgeometryパッケージを使えない).

フォントの変更

フォントの属性を変更するには\fontfamily, \fontseries, \fontshapeなどを利用する.ただし,欧文と和文の両方を変更するか,片方を変更するかによっていくつか種類がある:

encoding family series shape use
欧文 \romanencoding \romanfamily \romanseries \romanshape \useroman
和文 \kanjiencoding \kanjifamily \kanjiseries \kanjishape \usekanji
両方 \fontseries \fontshape
自動選択 \fontencoding \fontfamily \usefont

和文フォントファミリの定義には\DeclareFontFamilyの代わりに\DeclareKanjiFamilyを用いる.和文フォントのシェイプの定義には\DeclareFontShapeを使う.

fontspecパッケージ

fontspecパッケージは,LuaTeXやXeTeXにおいてTrueType/OpenTypeフォントを扱うためのものであるが,LuaTeX-jaの場合,欧文フォントに対してのみ有効になる.和文フォントに対してfontspecの機能を用いるにはluatexja-fontspecパッケージを読み込む:

\usepackage[<options>]{luatexja-fontspec}

これは自動でluatexjaパッケージとfontspecパッケージを読み込む.

fontspecパッケージは\fontspec, \setmainfont, \setsansfont, \setmonofont, \newfontfamily, \newfontface, \defaultfontfeatures, \addfonntfeaturesという(欧文フォントについての)7つのコマンドを提供する.luatexja-fontspecパッケージにおいて対応するコマンドは,\jfontspec, \setmainjfont, \setsansjfont, \setmonojfont, \newjfontfamily, \newjfontface, \defaultjfontfeatures, \addfonntfeaturesである.(ただし,\setmonojfontは後述のmatchオプションが指定されたときのみ定義される.)

このパッケージのオプションは以下を指定できる:

match
\rmfamily, \textrm{...}, \sffamily等が,欧文フォントだけでなく和文フォントも変更するようになる.\setmonojfontはこのオプションが指定されたときのみ定義される.
pass=opts
obsolete. fontspecパッケージに渡すオプションoptsを指定する.
scale=float
欧文に対する和文の比率floatを指定する.
その他
上記以外のオプションはすべてfontspecパッケージに渡される.

和文フォントのプリセット

よく使われている和文フォント設定を一行で指定できるようにしたのがluatexja-presetパッケージである.

\usepackage[kozuka-pr6n]{luatexja-preset}

のように使う.指定できるフォント設定はLuaTeX-ja の使い方#フォントのプリセット設定を参照.

主なオプションは以下の通り:

match
luatexja-fontspecパッケージのmatchと同じ.
deluxe
明朝体・ゴシック体各3ウェイトと,丸ゴシック体(mg)を利用可能にする.明朝体は細字(ltシリーズ)・中字・太字が,ゴシック体は中字・太字・極太(ebシリーズ)がある. 明朝体細字,ゴシック体極太,丸ゴシック体が存在しない場合,それぞれ明朝体中字,ゴシック体太字,ゴシック体太字で代用する.
nodeluxe
デフォルト.deluxeオプションの否定.
expert
横組・縦組専用仮名を用いる.\rubyfamilyでルビ用仮名が使用可能になる.
bold
明朝体太字をゴシック体太字によって代替する.
90jis / jis2004
出来る限り90JIS / JIS2004の字形を使う.
その他
他にはfontspec(デフォルト), nfssonly, jfm_yoko=jfm, jfm_tate=jfm, jisがある.これら以外のオプションはすべてluatexja-fontspecに渡る.

otfパッケージ

pLaTeXで広く用いられているotfパッケージは,LuaTeX-jaではluatexja-otfというパッケージで実装されている.ただし,otfパッケージのオプションdeluxe, expert, boldを使うことはできない.これらのオプションはluatexja-presetパッケージのオプションとして指定できる.

21
20
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
21
20