Daiji Blog

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

公開:
更新:

はじめに

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

ドキュメントクラス

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

\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と同様の結果になりました

テキストスタイルの適応結果

\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を使用すれば簡単に設定できます

Cambriaによる数式

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

フォントサイズの変更

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

\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. ソースコード
  2. LuaTeX-jaパッケージ
  3. unicode-math
  4. Point typography
  5. LuaLaTeXでフォント細かく変更する方法MS Wordは使いたくない!