\
pdfpagewidth
and
\
pdfpageheight
, that are written into the output PDF file.
Unfortunately, most of the core software predates PDFTeX, so not even
PDFLaTeX sets the correct values into those variables, to match the
paper size specified in a \
documentclass
option.
The DVI drivers dvips and dvipdfm define
\
special
commands for the document to specify its own paper size;
so in those cases, as when PDFTeX or VTeX is being used, the
paper size can be programmed by the document. Users who wish to, may
of course consult the manuals of the various programs to write the
necessary code.
The geometry package (whose main business is defining
typeset page areas), also takes notice the size of the paper that the
document is going to be printed on, and can issue the commands
necessary to ensure the correct size of paper is used. If
geometry is used when a document is being processed by
PDFLaTeX, it can set the necessary dimensions “in the output”.
If the document is being processed by LaTeX on a TeX or e-TeX
engine, there are package options which instruct geometry
which \
special
commands to use. (Note that the options are
ignored if you are using either PDFLaTeX or VTeX.)
So, the resolution of the problem is to add
\usepackage[dvixxx,...]{geometry}
(where dvixxx
is your current favourite DVI
driver — geometry knows about dvips
and
dvipdfm
), and the document will run correctly with
LaTeX. If you’re using PDFLaTeX, load with
\usepackage[pdftex,...]{geometry}
Needless to say, both the “big” classes (koma-script and memoir) provide their own ways to get the paper size “right”. The typearea package is the Koma-script distribution’s way of providing page layout functionality. Load it with the
pagesize
option and it will ensure the correct
paper is selected, for PDF output from PDFLaTeX, and for
PostScript output from LaTeX via dvips.
Memoir has the standard classes’ paper-size selections
(a4paper
, letterpaper
and so on), but also
permits the user to choose an arbitrary paper size, by setting the
length registers \
stockheight
and \
stockwidth
. The commands
\
fixdvipslayout
(for LaTeX processing), and \
fixpdflayout
(for PDFLaTeX processing) then instruct the processor to produce
output that specifies the necessary paper size.
This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=papergeom