『数式組版』を組む技術:プロトリュージョン
本稿において,“本書”とは木枝祐介著『数式組版』ラムダノート(2018)のことである.
>>> https://www.lambdanote.com/collections/mathtypo
また,本書はLuaLaTeXを用いて組まれた.したがって本稿ではLuaLaTeXの使用を前提としている.
本書が組まれた当時はTeX Live 2017が用いられたが,多くのコードはそれより後のTeX Live 2019まで共通して使用可能である.
本稿では,バージョンに強く依存する場合を除いて,各バージョンは明記されないことがある.
microtypeパッケージの利用
LaTeXでプロトリュージョンを実現するには,microtypeパッケージを利用することができる.
とくに,オプション`protrusion=all`を有効にする.
\RequirePackage[protrusion=all]{microtype}
参考:texdoc microtype
microtypeパッケージは書体ごとに設定ファイルを用意するのが基本である.
`mt-`を冠に,いわゆる拡張子を`cfg`とし,読み込み可能なディレクトリに配置する.
たとえば,LatinModernRoman用の設定例として`mt-LatinModernRoman.cfg`が用意されている.
参考:kpsewhich mt-LatinModernRoman.cfg
文字単位での補正
ここでは,和文とのマッチンングによって本書でも扱った行頭の処理をみる.
デフォルトでは,たとえばつぎの図の第2行目および第4行目は突出しているように見える.
注:版面領域外に出てしまっているわけではない.
これをつぎのように補正する.
なお,ファイルの文字コードはUTF-8で記述する.
\SetProtrusion
[ name = LMR-default ]
{ encoding = {EU1,EU2,TU},
family = Latin Modern Roman }
{
a = {-500,},
1 = {-500,}
}
数値は1em=1000である.
したがって,0.5em分だけの調整をおこなっている.
なお,第1成分は行頭での補正量を表わし,第2成分は行末での補正量である.
これらの成分の数値は,正であれば版面領域から突出し,負であれば埋没する.
そして,0あるいは未記入はデフォルト状態と同様である.
今回は行頭で突出しているように見えるものを補正するので,第1成分を負の値にしている.
注:今回は「a」および「1」についてのみ変化がわかりやすいように0.5em分だけ移動させたが,実際には全ての文字についての調整が必要である.
このような補正により,一部で行なわれることのある「1文字だけの欧文は全角(和文,別の文字)を用いる」などといった不合理かつ不統一な組版を避けることは基本的である.
この記事が気に入ったらサポートをしてみませんか?