Printer paper sizes

Paper sizes can be a pain: they're a forgotten backwater, because there's no DVI command to specify the paper size of the document. One usually finds American "letter" paper size being used, by default, in macro packages (such as plain and LaTeX); but distributions provide configuration files for DVI drivers (and since most distributions originate in Europe, the drivers usually default to ISO "A4" paper size).

This is (of course) pretty unsatisfactory. Users may change the paper size their document is designed for, pretty easily (and once off), but they have to ensure that every run of xdvi, dvips, or whatever, is given the correct override for using anything non-'standard'.

Of course, the default paper size for DVI drivers may be changed by a distribution management command, but this still doesn't provide for people using the "wrong" sort of paper for some reason.

An interestingly different issue arises for users of PDFTeX - the PDF format does have the means of expressing paper size, but much of the core software predates PDFTeX, so not even PDFLaTeX sets the correct values into \pdfpagewidth and \pdfpageheight.

The DVI drivers dvips and dvipdfm define \special commands for the document to specify its own paper size; so in those cases, as in the case of PDFTeX and VTeX, 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 of the paper size the document is going to print to, and can issue the commands necessary to ensure the correct size is used. If geometry is used when a document is being processed by either PDFLaTeX or VTeX, it will set the necessary dimensions as a matter of course. If the document is being processed by LaTeX on a TeX or e-TeX engine, there are two package options (dvipdfm and dvips) 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), and the document will run correctly with any of LaTeX (whether or not run on VTeX) or PDFLaTeX.

Give the typearea package the pagesize and it will do the same job, for PDFLaTeX output and PostScript output from LaTeX via dvips.

geometry.sty
macros/latex/contrib/geometry (zip, browse)
typearea.sty
Distributed as part of macros/latex/contrib/koma-script (zip, browse)

This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=papersize