普通の LaTeX 文書作成者にとって重要なのは、前回書いたような TeX レベルのゴタゴタ話ではなく、「何を使えば出力 PDF の紙面サイズが正しく指定されるか」であろう。
- JS 文書クラス(jsarticle 等)を使っているのであれば、クラスオプションに
papersize
を付ければよい(例:\documentclass[b5paper,papersize]{jsarticle}
)。 - hyperref パッケージを用いている場合は、既定で用紙サイズの設定が記録される。
- geometry パッケージを用いている場合も、既定で用紙サイズの設定が記録される。
では、JS クラス以外を用いていて、かつハイパーリンクもレイアウト再設定も不要で、用紙サイズの記録だけが必要な場合はどうしたらいいか? 一つの方法は、geometry パッケージの pass
オプションを用いる方法である。これがある場合、geometry はレイアウト再設定を全く行わなくなり、用紙サイズの記録だけが実行される。
\documentclaas[a5paper]{jarticle}
% jarticle のレイアウトのままで、用紙サイズがDVIに記録される
\usepackage[dvipdfm,pass]{geometry}
dvipdfmx を使う場合はドライバ指定 dvipdfm
(x なし)を含める。XeTeX や pdfTeX(LuaTeX)ではドライバ指定は不要(自動判定される)。
※ ん? bxbase パッケージの \recordpapersize
命令? なるほど、それもありますね :)