LuaLaTeXでフォント細かく変更する方法MS Wordは使いたくない!

はじめに

課題や予稿論文等ではフォント等のフォーマット指定がよくありますMS Wordのテンプレートしか無かったりMS Minchoなどの古いフォントを指定されるとイライラしますそこでLaTeXで書きたいと思いますここではエンジンにLuaLaTeXを使用しますLuaLaTeXPDFを直接出力することからフォントの埋め込みが容易で新しいイケイケなLaTeXだからです

ドキュメントクラス

ドキュメントクラスにはjlreqを利用しますjlreqは日本語組版処理の要件に準拠した新しいドキュメントクラスで日本に浸透しつつありますオプションのfontsize=10.5bpはデフォルトのフォントサイズを\mathrm{10.5\,bp}\mathrm{10.5\,bp}とすることを示していますjlreqでは英和のフォント比がデフォルトで11なので両方のフォントサイズが\mathrm{10.5\,bp}\mathrm{10.5\,bp}になりますMS Wordでは1\,\mathrm{pt}=1/72\,\mathrm{inch}1\,\mathrm{pt}=1/72\,\mathrm{inch}ですがTeXでは1\,\mathrm{pt}=1/72.27\,\mathrm{inch}1\,\mathrm{pt}=1/72.27\,\mathrm{inch}と定義されていますTeXには1\,\mathrm{bp}=1/72\,\mathrm{inch}1\,\mathrm{bp}=1/72\,\mathrm{inch}となる単位が存在しますこのことから\mathrm{pt}\mathrm{pt}の代わりに\mathrm{bp}\mathrm{bp}を使用しています

1
\documentclass[fontsize=10.5bp]{jlreq}

フォントの変更

Times New RomanMS Minchoなどを指定されたことを想定して説明しますluatexja-fontspecを使えば簡単に設定できます問題は太字や斜体の設定ですTimes New Romanのようにはじめから太字や斜体が用意されているフォントがほとんどですがMS Minchoなどは用意されていませんMS WordなどではMS Minchoを太字にするとき疑似的に太字にしていますLuaLaTeXでもオプションにより疑似太字疑似斜体を実現することができますFakeBold=2FakeSlant=0.33に設定したときMS Wordと同様の結果になりました

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
\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を使用すれば簡単に設定できます

1
2
\usepackage{unicode-math}
\setmathfont{Cambria-Math}

フォントサイズの変更

\Large等をあらかじめ設定しておくことで要求された体裁を容易に守ることができます変更例はこのようになりますまたvptxptを変更することでデフォルトフォントサイズを変更することもできますここでは割愛させてもらいます

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
\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での細かいフォント設定についてまとめました曖昧なところや間違ってるところがあると思うのでその時は指摘してくださいソースコードは下の文献から見に行けます

文献

  1. ソースコード(GitHub)
  2. LuaTeX-jaパッケージ(CTAN)
  3. unicode-math (CTAN)
  4. Point typography (Wiki)
  5. LuaLaTeXでフォント細かく変更する方法MS Wordは使いたくない!(Qiita)