B5サイズを印刷しようとしてフト気付いたのですが,
今さらながらですが初歩的な質問をさせていただきます.
和文用クラスファイル,具体的にはjarticle, ujarticle, ltjarticle ,jsarticle
などでB5サイズのオプションの宣言は
[b5paper]の場合:
\DeclareOption{b5paper}{\setcounter{@paper}{4}%
\setlength\paperheight {257mm}
\setlength\paperwidth {182mm}}
[b5j]の場合:
\DeclareOption{b5j}{\setcounter{@paper}{4}\@stysizetrue
\setlength\paperheight {257mm}
\setlength\paperwidth {182mm}}
です.いずれも用紙サイズは 257x182 と宣言されています.
ソースファイルにおいて
\documentclass[b5j]{上記の和文クラス}
とすると,出来上がりのPDF外形寸法は 257x182 で宣言通りですが,
[b5paper]とすると 250x176 となって宣言と異なり,和文用クラスファイルを使っているにも関わらず
なぜ欧文用のサイズになるのでしょうか.
何か私が誤解しているかも知れませんが,私の場合は以下
のようにドライバに用紙サイズを伝えないと,デフォルト
の a4 サイズになります。以下の場合は,両方ともに
182mm x 257mm になっているような気がします:
%
% ptex2pdf -l test1
%
\documentclass[b5j]{jarticle}
\special{papersize=182mm,257mm}
\begin{document}
This is a test.
\end{document}
%
% ptex2pdf -l test2
%
\documentclass[b5paper]{jarticle}
\special{papersize=182mm,257mm}
\begin{document}
This is a test.
\end{document}
のようにドライバに用紙サイズを伝えないと,デフォルト
の a4 サイズになります。以下の場合は,両方ともに
182mm x 257mm になっているような気がします:
%
% ptex2pdf -l test1
%
\documentclass[b5j]{jarticle}
\special{papersize=182mm,257mm}
\begin{document}
This is a test.
\end{document}
%
% ptex2pdf -l test2
%
\documentclass[b5paper]{jarticle}
\special{papersize=182mm,257mm}
\begin{document}
This is a test.
\end{document}
この辺りのは無は(残念ながら)少しややこしいので、補足しておきます。
B 系サイズが JIS か ISO か
JIS B5 | ISO B5 | |
---|---|---|
和文用クラス(※1) | b5paper / b5j (※2) | ― |
欧文用クラス | ― | b5paper |
geometry パッケージ | b5j | b5paper |
※1 : j*/uj*/ltj*/js*/ltjs*/bxjs* クラス
※2 j*系クラスの
js*系クラスの
b5paper
と b5j
はレイアウトが異なる。用紙サイズは同じ。(b5j
は pLaTeX2.09 でのレイアウトに近い。)js*系クラスの
b5paper
と b5j
は全く等価。(b5j
はj*系との互換性のためのみに存在。)2 つの“用紙サイズ”
LaTeX では「レイアウトに用いる用意サイズ」と「実際に出力する用紙サイズ」を別に管理する。ただし、次のような場合は、自動的に後者が前者に連動する。
- geometry パッケージを読み込んだ場合。
※ gepmetry が行うレイアウト再設定を抑止したい場合はpass
オプションを指定する。 - js系クラスを使用して、
papersize
オプションを与えた場合。
※ ただし、geometry を読み込む場合はpapersize
指定は不可(geometry に任せる)。 - pdfLaTeX(LuaLaTeX)で、graphicx(graphics)パッケージを読み込んだ場合。
※ このことは余り知られてなくて、かつ graphicx は他のパッケージの内部で自動的に読み込まれることが多い(例えば、fontspec パッケージは grahpicx を読み込む)ので、「pdfLaTeX では用紙サイズの連動は自動的に行われる」という誤解を生む原因になっている。
そもそも、2種類の用紙サイズが連動するのがデフォルトでない、というのが「歴史的な理由による不自然なデフォルト」であるわけで、私自身は、pdfTeX 系はデフォルトで連動させた方がよいと思っている。
注意
クラスに指定したオプションは自動的に全てのパッケージに(可能ならば)適用される。従って、例えば:
\documentclass[a5paper]{jsarticle} \usepackage[scale=0.8]{geometry}
の場合、geometry にも a5paper
が 適用されるので改めて指定する必要がなくなる。
ただし、b5paper
の場合は注意が必要で、jsarticle は b5paper
を見て用紙サイズを JIS B5 に設定するが、その後で geometry も b5paper
を見るので、結局用紙サイズは ISO B5 に変更される。