15
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

15
Last updated at Posted at 2021-02-02

はじめに

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

ドキュメントクラス

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

\documentclass[fontsize=10.5bp]{jlreq}

フォントの変更

Times New RomanやMS 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 を使用すれば簡単に設定できます。

\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}}

まとめ

アンチMS Wordな人のためにLuaLaTeXでの細かいフォント設定についてまとめました。曖昧なところや間違ってるところがあると思うのでその時は指摘してください。ソースコードは下の文献から見に行けます。

文献

  1. ソースコード (GitHub)
  2. LuaTeX-jaパッケージ (CTAN)
  3. unicode-math (CTAN)
  4. Point typography (Wiki)
15
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
15
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?