LaTeX文書で好きなフォントを使いたい
Table of Contents
1. このページについて
LaTeX文書で好みのフォントを使いたくなった試行錯誤です。
2. 必要なとこだけ替える
前提:LuaLaTeXです。他の環境はまったくわからん。
luatexja-preset パッケージを使う。これを呼ぶだけで原ノ味(haranoaji)フォントになってそこそこいいかんじ。
一部フォント替えをしたいときには (jfontspec) コマンドが使える。どんなフォントが使えるのかは
% luaotfload-tool --list=""
で見せてくれる。とんでもない量が出るな。TeXWorks が勝手に入れたんだろうか……
\jfontspec{GenEi Koburi Mincho Regular}あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、うつくしい森で飾られたモリーオ市、郊外のぎらぎらひかる草の波。
または
\jfontspec{GenEiKoburiMin-R.ttf}あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、うつくしい森で飾られたモリーオ市、郊外のぎらぎらひかる草の波。
ところでこのコマンドは終端がないので、ほんとうに一部だけフォント替えしたいときにはなにかの環境に閉じ込めておかないといけないのかもしれない。minipageとか。
3. ファイル全体を替える
(luatexja-preset) は (luatexja-fontspec) を内部で呼び、(luatexja-fontspec) は (fontspec) を呼ぶ。なので、luatexja-preset にはこれらふたつの下位パッケージに渡すオプションも一緒に渡すことが可能。
LuaTexja のマニュアル (pdf) には載っていないけど、fontspec 用のオプションもまとめて渡せる。
\usepackage[YokoFeatures={JFM=jlreq},TateFeatures={JFM=jlreqv}]{luatexja-preset}
\ltjnewpreset{GEKoburiMin}{
mc=GenEiKoburiMinT-R.ttf, % 明朝体 \mcfamily\ltseries
}
\ltjapplypreset{GEKoburiMin}
\usepackage[YokoFeatures={JFM=jlreq},TateFeatures={JFM=jlreqv},deluxe]{luatexja-preset}
\ltjnewpreset{ttfBIZUD}{
mc-m=BIZUDMincho-Regular.ttf, % 明朝体 \mcfamily\ltseries
mc-b=BIZUDMincho-Bold.ttf, % 明朝体太字
gt-m=BIZUDGothic-Regular.ttf, % ゴシック体 \mgfamily\ltseries
gt-b=BIZUDGothic-Bold.ttf, % ゴシック体太字
}
\ltjapplypreset{ttfBIZUD}
BizUDフォントをシステムからインストールしたところ、何故か lualatex コンパイラは .ttc ファイルを探して一度コケた。なんでや……Windows 版じゃあるまいし…… ということでファイル名の指定が必須だったりする。
4. 理想と現実
フォントプリセットずらずら並べて本文中で選択できないかな〜! て思ってたのに、どうも1ファイルにひとつしか書けないんだなあ、newpreset。
しょうがないのでフォントごとに1ファイルの設定を書き、\input(file) で読み込んでいる。
5. まとめ
縦書きのときに、行頭にカッコ 「」 が来るときなんだか妙になる件の調整を加えている。
当方では org-mode から LaTeX フォーマットへのエクスポートをしているので、ファイル内のすべての改行が \\ (\n) によって実現されており、これを除外する処理も必要となる。
\usepackage[YokoFeatures={JFM=jlreq},TateFeatures={JFM=jlreqv},deluxe]{luatexja-preset}
\ltjnewpreset{myFontName}{
:
:
}
\ltjapplypreset{myFontName}
\usepackage{bxjaprnind}
\nouselineheadparenindent %強制改行後への処理はしない
\parheadparenindentamount{0.5} %とりあえずこの数値でそれなりに見えるようにはなった
6. 参考にしたサイト
【初級】fontspecでフォントを自由に設定しよう (1) - LuaLaTeX Lab
luatexja-presetの利用(プリセットの定義) - グズてつのぼやき
jlreqクラスの多書体化(ただしLuaLaTeXの場合) #LaTeX - Qiita
そして CTAN(のミラー)。
どうもありがとうございます。