# Bug#225833: 225833: letter vs A4 in TeX

Florent Rougon <f.rougon@free.fr> wrote:

> Ross Boylan <ross@biostat.ucsf.edu> wrote:
>
>> Anyway, the BOTTOM LINE with the current Debian setup seems to be that
>> if you want to specify page size explicitly, and have that respected
>> by all post-processing tools, you need to use
>> \usepackage[dvips,xxxx]{geometry}, where xxx is the papersize.
>> Apparently xxx can either be "paper=letterpaper" or just
>> "letterpaper".
>
> Even if this works _now_, I think advising users to pass the "dvips"
> option no matter which driver they are using is 1) ugly 2) bound to lead
> to problems later. I'd rather tell them to specify the driver they are
> actually using.

Well, either that, or let geometry choose a working default.  Atsuhito's
analysis made me think that such a default in fact exists.  I looked at
the code of geometry.sty, and I found that geometry does not really care
for the pdftex or vtex options: It detects properly pdftex in PDF mode
or vtex in two of its modes, and sets its internal driver variables
accordingly.  Moreover, there's no difference between the dvips and
dvipdfm specials.

In other words, we have this matrix of actually used driver specials
(dvips <=> dvipdfm):

\  driver
\  option:    dvips     pdftex     vtex     none
-\
\--\
driver  \-\
used      \_______________________________________
|
DVI mode   |   dvips      none      none     none
|
PDF mode   |   pdftex    pdftex     pdftex   pdftex
|
vtex       |   vtex      vtex       vtex     vtex

In other words: It always uses the right driver with pdfTeX in PDF mode
or vtex, with (pdf)TeX in DVI mode, however, it does nothing unless you
specificy "dvips" (or "dvipdfm").  It seems to assume that one might
want to use some other driver (which do exist), and that this driver
will stop working if dvips-type specials are present.

If this is the case, it might make sense for upstream geometry to not
make dvips the default in DVI mode, but I question whether a
distribution like TeX Live or Debian shouldn't choose dvips as the
default for DVI mode in a configuration file.  Users who want to use
other drivers can always remove the configuration setting.

I just tried it with dvilj6, and it seems to work even with dvips-type
specials in the DVI file (and it did the best it could, creating a a5
file that could be printed on our A4 laserjet).  dvilj says: "dvilj:
warning: Invalid keyword or value in \special - <papersize> ignored", so
this seems safe.  I don't have the energy to try many more, in
particular since

Taking this together, I think there *is* a bug, and that is that we do
not have a sensible default set of \special commands in DVI files.  It
could be fixed by simply doing

-%%\ExecuteOptions{a4paper,dvips}
+\ExecuteOptions{dvips}

in geometry.cfg (moving this file below /etc).

Regards, Frank
--
Dr. Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX/TeXLive)