B5用紙サイズについて

B5用紙サイズについて

- 浮亭 夢介 の投稿
返信数: 9
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 となって宣言と異なり,和文用クラスファイルを使っているにも関わらず
なぜ欧文用のサイズになるのでしょうか.
浮亭 夢介 への返信

Re: B5用紙サイズについて

- Akira Kakuto の投稿
何か私が誤解しているかも知れませんが,私の場合は以下
のようにドライバに用紙サイズを伝えないと,デフォルト
の 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}
浮亭 夢介 への返信

Re: B5用紙サイズについて

- Z. R. の投稿

ひょっとして、geometry パッケージを使ってるのではないですか?

(geometry は“日本用”のものでないので、b5paper は JIS B5 でなく ISO B5 です。)

Z. R. への返信

Re: B5用紙サイズについて

- Akira Kakuto の投稿
\documentclass[b5paper]{jarticle}
\usepackage[paper=b5j]{geometry}
\begin{document}
This is a test.
\end{document}

日本の方のおかげで b5j も用意されていました。
浮亭 夢介 への返信

Re: B5用紙サイズについて

- 奥村 晴彦 の投稿
jsarticle/jsbookの場合は
\documentclass[b5paper,papersize]{jsarticle}
のようにpapersizeオプションで組版寸法とPDF外形寸法が一致します。
奥村 晴彦 への返信

Re: B5用紙サイズについて

- 浮亭 夢介 の投稿
ご回答ありがとうございます.
再度,試行したところ次のようになりました.

(1)ltj, ltjs クラスは ZRさんのご指摘通りgeometryを外したら正しい寸法になりました.
(2)js クラスは papersizeオプションを付加すると正しい寸法になりました.
(3)j, uj クラスは geometryを外したら A4 サイズとなり,中味のテキスト部分はB5のようです.

上記の(3)は問題があるように思います.
浮亭 夢介 への返信

Re: B5用紙サイズについて

- 浮亭 夢介 の投稿
(3)は角藤さんの指摘通り
\documentclass[b5paper]{jarticle}
\usepackage[paper=b5j]{geometry}
とすればよいようです.
浮亭 夢介 への返信

Re: B5用紙サイズについて

- 浮亭 夢介 の投稿
追加です.
和文用クラスファイルの場合には
[b5j]オプションを使ったほうが問題なさそうです.
この場合 geometry を使っても問題ありませんでした.
浮亭 夢介 への返信

Re: B5用紙サイズについて

- Z. R. の投稿

この辺りのは無は(残念ながら)少しややこしいので、補足しておきます。

B 系サイズが JIS か ISO か
JIS B5ISO B5
和文用クラス(※1)b5paper / b5j (※2)
欧文用クラスb5paper
geometry パッケージb5jb5paper
※1 : j*/uj*/ltj*/js*/ltjs*/bxjs* クラス
※2 j*系クラスの b5paperb5j はレイアウトが異なる。用紙サイズは同じ。(b5j は pLaTeX2.09 でのレイアウトに近い。)
js*系クラスの b5paperb5j は全く等価。(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 に変更される。