マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

TeX Live での(DVIウェア側の)用紙サイズの既定をA4にしたい

導入

LaTeX の用紙サイズの扱いは(歴史的な理由で)ややこしいということは、LaTeX をある程度使い続けている人なら知っている(はずの)事実である。すなわち、

  • LaTeX が文書のレイアウトを決めるために用いる用紙サイズ
  • DVI ウェアが実際に(紙、PS 文書、PDF 文書に)出力を行う時に用いる用紙サイズ

の 2 つの設定が全く別になっているのであった。*1この記事では後者の用紙サイズの既定値について述べる。(なお、LaTeX 文書内で後者の用紙サイズを前者に合わせる設定を行う方法については過去の記事を参照されたい。)

各 DVI ウェアでの後者の用紙サイズの既定値(つまり文書内でもソフトウェアの起動時オプションでも非指定の場合の適用値)は、W32TeX やその他の日本向けの TeX ディストリビューションにおいては A4 になっている。一方で、TeX Live の場合、インストール時に既定の用紙サイズを A4 とレターサイズのどちらかを選択できるようになっている(参照)。ここでもし、何らかの理由でレターサイズが既定である状態で TeX Live がインストールされてしまっている場合、既定を A4 に変更するにはどうしたらいいか。

本家 TeX Live における設定法

DVI ウェア側の既定用紙サイズの変更は tlmgr コマンドで行う。

tlmgr paper a4

で既定が A4 に変更される。*2

tlmgr paper

で現在の設定値が表示される。

補足

注意として、この方法が有効なのは、TeX Live 本家のマネジャーである tlmgr が使えるディストリビューションに限られる。本家の TeX Live をインストールした場合は勿論使えるが、OS のパッケージレポジトリにあるものでは使えないかも知れない。

もう一つ補足。前者(LaTeX 側)の用紙サイズ設定の既定値は文書クラスにより定められていて、例えば欧文標準クラス(article 等)ではレターサイズ(letterpaper)であるのに対して和文標準蔵w素(jarticle 等)では A4(a4paper)になっている。これらの「既定値」を変更することは、文書クラスのファイルを改変しない限りは不可能である。

[追記]DebianLinux で OS のパッケージシステムが提供する TeX Live をインストールしている場合は、DVI ウェア側の既定用紙サイズ設定は paperconfig の設定に追従するようである。従って、以下のコマンドで既定を A4 に変更できる(はず)。

paperconfig -p a4

*1:元来の TeX は後者の意味での用紙サイズの概念を持たず、ゆえに DVI 形式には PS でいうところの「バウンディングボックス」の情報を持っていない。後者の用紙サイズを (La)TeX 文書で指定する機能は全て DVI ウェアの special 命令または派生エンジンの拡張機能である。

*2:レターサイズに変更したい場合は「tlmgr paper letter」。なお、あまり一般的ではないと思うが、DVI ウェア毎に異なる既定値を与えることもできて、この場合は A4 とレターサイズ以外も指定できる(可能な値は DVI ウェア毎に異なる)。詳しくは tlmgr のドキュメントを参照されたい。