LuaLaTeXでフォント細かく変更する方法(MS Wordは使いたくない!)
はじめに
課題や予稿、論文等ではフォント等のフォーマット指定がよくあります。MS Wordのテンプレートしか無かったり、MS Minchoなどの古いフォントを指定されるとイライラします。そこでLaTeXで書きたいと思います。ここではエンジンにLuaLaTeXを使用します。LuaLaTeXはPDFを直接出力することからフォントの埋め込みが容易で新しいイケイケなLaTeXだからです。
ドキュメントクラス
ドキュメントクラスにはjlreq
を利用します。jlreq
は日本語組版処理の要件に準拠した新しいドキュメントクラスで、日本に浸透しつつあります。オプションのfontsize=10.5bp
はデフォルトのフォントサイズをとすることを示しています。jlreq
では英・和のフォント比がデフォルトでなので、両方のフォントサイズがになります。MS Wordではですが、TeXではと定義されています。TeXにはとなる単位が存在します。このことからの代わりにを使用しています。
\documentclass[fontsize=10.5bp]{jlreq}
フォントの変更
Times New RomanやMS Minchoなどを指定されたことを想定して説明します。luatexja-fontspec
を使えば簡単に設定できます。問題は太字や斜体の設定です。Times New Romanのようにはじめから太字や斜体が用意されているフォントがほとんどですが、MS Minchoなどは用意されていません。MS WordなどではMS Minchoを太字にするとき疑似的に太字にしています。LuaLaTeXでもオプションにより疑似太字、疑似斜体を実現できます。FakeBold=2
、FakeSlant=0.33
に設定したときMS Wordと同様の結果になりました。
\usepackage{luatexja-fontspec}
\setmainfont[Ligatures={Rare,TeX}]{Times-New-Roman}
\setsansfont{Arial}
\setmainjfont[
YokoFeatures = {JFM=jlreq},
TateFeatures = {JFM=jlreqv},
BoldFont = MS-Gothic,
BoldFeatures = {FakeBold=2},
ItalicFont = MS-Mincho,
ItalicFeatures = {FakeSlant=0.33},
BoldItalicFont = MS-Gothic,
BoldItalicFeatures = {FakeBold=2, FakeSlant=0.33}
]{MS-Mincho}
\setsansjfont[
YokoFeatures = {JFM=jlreq},
TateFeatures = {JFM=jlreqv},
BoldFont = MS-Gothic,
BoldFeatures = {FakeBold=2},
ItalicFont = MS-Gothic,
ItalicFeatures = {FakeSlant=0.33},
BoldItalicFont = MS-Gothic,
BoldItalicFeatures = {FakeBold=2, FakeSlant=0.33}
]{MS-Gothic}
次に数式フォントについてです。現在MS Wordでは数式フォントにCambriaを使用しています。unicode-math
を使用すれば簡単に設定できます。
\usepackage{unicode-math}
\setmathfont{Cambria-Math}
フォントサイズの変更
\Large
等をあらかじめ設定しておくことで、要求された体裁を容易に守ることができます。変更例はこのようになります。また、vpt
やxpt
を変更することでデフォルトフォントサイズを変更することもできます。ここでは割愛させてもらいます。
\renewcommand\tiny{\@setfontsize\tiny{5bp}{6bp}}
\renewcommand\scriptsize{\@setfontsize\scriptsize{7bp}{8bp}}
\renewcommand\footnotesize{\@setfontsize\footnotesize{8bp}{10bp}}
\renewcommand\small{\@setfontsize\small{9bp}{12bp}}
\renewcommand\normalsize{\@setfontsize\normalsize{10bp}{15bp}}
\renewcommand\large{\@setfontsize\large{12bp}{15bp}}
\renewcommand\Large{\@setfontsize\Large{14.4bp}{16bp}}
\renewcommand\LARGE{\@setfontsize\LARGE{17.28bp}{18bp}}
\renewcommand\huge{\@setfontsize\huge{20.74bp}{30bp}}
\renewcommand\Huge{\@setfontsize\Huge{24.88bp}{36bp}}
まとめ
LuaLaTeXでの細かいフォント設定についてまとめました。曖昧なところや間違ってるところがあると思うのでその時は指摘してください。ソースコードは下の文献から見に行けます。