見出し画像

『数式組版』を組む技術:基本版面(3)

本稿において,“本書”とは木枝祐介著『数式組版』(ラムダノート,2018のことである.
>>> https://www.lambdanote.com/collections/mathtypo 
また,本書はLuaLaTeXを用いて組まれた.したがって本稿ではLuaLaTeXの使用を前提としている.
本書が組まれた当時はTeX Live 2017が用いられたが,多くのコードはそれより後のTeX Live 2019まで共通して使用可能である.
本稿では,バージョンに強く依存する場合を除いて,各バージョンは明記されないことがある.

判型領域に対する版面領域の位置設定

判型全体の領域を判型領域とよぶことにする.
以下では,`\voffset`と`\hoffset`の値は0ptと仮定する.
これにより,各種距離参照の基準点が判型領域の左上端に一致することになる.

画像3

◆縦方向の設定
縦方向を制御するのは,次の3つものもである.

▶ `\topmargin`:ヘッダーまでの垂直方向の最小距離
▶ `\headheight`:ヘッダーの高さ
▶ `\headsep`:ベッダーと版面領域の間の最小距離

画像3

この各要素の大きさの合計が判型領域上端から版面領域上端までの最小距離となる.
この最小距離を天アキ量とよぶことにする.

\newdimen\@headersize    \@headersize 11\jH
\newdimen\@total@headsep

`\@headersize`はヘッダー用書体のフォントサイズ(11級)であるが,ここでは距離であるため単位は歯で記述している(11歯).これはヘッダー用書体を設定する際に再利用することになる.
`\@total@headsep`は上に示した天アキ量を保存する為に用意した.

画像3

天地中央
本書は判型領域に対し版面領域は天地中央である.
次で版面領域を天地中央に配置するために,天アキ量を算出している.

\@tempdima\paperheight
\advance\@tempdima -\textheight
\divide\@tempdima by 2

ここで計算した大きさ`\@tempdima`が上記の“3つの大きさの合計”である.

\@total@headsep\@tempdima

`\topmargin`,`\headheight`,`\headsep`を次のように定義する.`\headheight`は`\@headersize`をそのまま用いる.`\headsep`は絶対値で定義する.
それらを`\@total@headsep`から減じたものを`\topmargin`に代入する.

\@tempdima\@total@headsep
\headheight\@headersize
\headsep 20\jH
\advance\@tempdima -\headheight
\advance\@tempdima -\headsep
\topmargin\@tempdima

◆横方向の設定
判型領域左端から版面領域左端までの最小距離をノドアキ量とよぶことにする.

横方向を制御するのは,次の2つものもである.

▶ `\oddsidemargin`:奇数ページのノドアキ量
▶ `\evensidemargin`:偶数ページのノドアキ量

画像4

◇左右中央
本書は判型領域に対し版面領域は左右中央である.
天の位置を算出したときと同様に計算すればよい.

\@tempdima\paperwidth
\advance\@tempdima -\textwidth
\divide\@tempdima by 2
\oddsidemargin\@tempdima\relax

左右中央であることから,奇数ページと偶数ページとでノドアキ量は同じである.
したがって,`\evensidemargin`は`\oddsidemargin`の値と同じでよい.

\evensidemargin\oddsidemargin\relax

:判型領域内における版面領域の位置決定には,天とノドの大きさを決定すれば十分である.


この記事が気に入ったらサポートをしてみませんか?