pdflatex で US Letter の文書を出力する(PDF のページサイズを設定する)


ACM にカメラレディ論文を提出するために要項を見ていたところ,ページのサイズは US Letter (8.5 in * 11 in) でなければならないと書かれていた.
慌てて自分の手元のファイルを pdfinfo で調べてみると

Page size:      595.276 x 841.89 pts (A4)

と言われたので,ページサイズを設定する方法を調べた.

まず,指定のスタイルファイル (.cls) を使っているのになんで A4 になるんだ?と思って調べてみたところ,デフォルトのページサイズがシステムワイドに設定されており,何も指定しないとそのサイズの PDF が出力されるようだ.
手元の環境 (OS X Yosemite, TeX Live 2014) だと

$ tlmgr paper
Current context paper size (from /usr/local/texlive/2014/texmf-config/tex/context/user/cont-sys.tex): a4
Current dvipdfmx paper size (from /usr/local/texlive/2014/texmf-config/dvipdfmx/dvipdfmx.cfg): a4
Current dvips paper size (from /usr/local/texlive/2014/texmf-config/dvips/config/config.ps): a4
Current pdftex paper size (from /usr/local/texlive/2014/texmf-config/tex/generic/config/pdftexconfig.tex): a4
Current psutils paper size (from /usr/local/texlive/2014/texmf-config/psutils/paper.cfg): a4
Current xdvi paper size (from /usr/local/texlive/2014/texmf-config/xdvi/XDvi): a4

と,見事にすべて A4 になっている.
これを変えるというのも手軽そうだが,TeX ファイルを他の人とやりとりするときに人によって違うものが出力されるようでは困るので,やはりファイルの中で何らかの指定をしたい.
ps2pdf を使っている場合コマンドライン引数に -sPAPERSIZE=a4 とするだけで良いっぽいが,今回は pdflatex を使っていたのでそのようなオプションは無さそうだった.

もうちょっと調べるとこういうのが出て来て

\special{papersize=8.5in,11in}
\setlength{\pdfpageheight}{\paperheight}
\setlength{\pdfpagewidth}{\paperwidth}

\begin{document} のあとに足せば良いとのこと.やったー.確かにページサイズが変わった.

と思ったら,変わったのは変わったのだが,

Page size:      627.915 x 819.198 pts

とまた別のサイズになってしまった.

んで,なんかよくわからないけど

\special{papersize=8.5in,11in}
\setlength{\pdfpageheight}{11in}
\setlength{\pdfpagewidth}{8.5in}

とすれば

Page size:      612 x 792 pts (letter)

となるっぽい.なんかよくわからないけど


Leave a Reply

Your email address will not be published. Required fields are marked *