# [tex-live] pdfetex the default engine

Hans Hagen pragma at wxs.nl
Thu Mar 25 10:30:21 CET 2004

At 23:27 24/03/2004, Thomas Esser wrote:
>Even though it seems like a good idea to help people using broken code by
>    \let\pdfoutput\undefined
>I no longer think that we should do this.
>
>\pdfoutput is not the only primitive added by pdftex and not everybody
>checks for \pdfoutput. E.g. geometry does:
>
>   \ifx\pdfpagewidth\@undefined\else
>     \ifnum\pdfoutput=\@ne
>       \Gm at setdriver{pdftex}%
>     \fi
>   \fi
>
>This breaks badly if we \let\pdfoutput\undefined.
>
>So, really, I think that it is (to some extend) ok that bad code breaks,
>but we should not make dirty hacks that breaks existing good code.
>
>For teTeX, I have checked all macro packages by looking at every single
>file that uses \pdfoutput. changebar still needs to be fixed, ltnews.cls
>(not that important, I think) needs to be fixed and texinfo is fixed.
>Everything else (in teTeX) looks ok. Maybe, someone should do the same
>check for TeX Live.

let's assume that pdfoutput and alike are used in situations where one
wants to determine if pdftex is used and if pdf mode is enabled, i.e. we
cannot easily change their meanings (in itself a pity, since i can imagine
\pdfoutput>1 to be useful)

in etex, there is this compatibilitymode feature, currently controlled by
the *, as well as the \...state mechanism (only one state currently, but
the idea was to have one for each new feature that would interfere with
previous behaviour)

\pdfstate=0 : all pdftex primitives undefined
\pdfstate=1 : all pdftex primitives defined

with (since it's pdftex) state 1 being teh default; that way one can
generate a dvi format with \pdfstate0 on the command line;

also, looking at the * feature, we can think of adding

--dvi : equivalent to \pdfstate=0 == all pdftex primitives undefined
--tex : (or --dek) which is equivalent to the (somewhat funny * triggered)
compatibility mode of tex

so, we can get old tex's with:

pdfetex : <nothing>
pdftex  : --dek
etex    : --dvi
tex     : --dek

Hans