# Which TeX programs produce dvi output?

I know that `tex` and `latex` produce `dvi` output.

Are there any others?

-
Both pdfTeX and pdfLaTeX can be directed to produce either `dvi` files or `pdf` files. (There's also the original TeX engine, of course, but nowadays when people type `tex myfile.tex`, they run the pdftex engine.) –  Mico Jan 25 '12 at 4:36
@PredragPunosevac: As far as I know, microtype uses features of PDF itself. You are indeed using pdflatex, but micro typography cannot be used with the other output types, so you don't see it. –  Mark S. Everitt Jan 25 '12 at 8:32
@PredragPunosevac: Ah, some (but not all) features available when outputting to pdf directly are available for dvi. See table 1 on page 7 of the documentation. –  Mark S. Everitt Jan 25 '12 at 8:44
@PedragPunosevac --- I think if you look at the very first line of the log file you will see what engine was used to compile a document. –  Ian Thompson Jan 25 '12 at 14:27
@wasteofspace: Please no spaces in user names when you use the `@` syntax. They act as terminators. In this case I got notified instead of MartinSchroeder. It is indeed a waste of space in this case ;-) –  Martin Scharrer May 7 '12 at 13:00

``````Program name     links to      comment (used option)
-----------------------------------------------------------------------------------
tex              tex           the original TeX, only dvi

etex             pdftex        dvi mode
eplain           pdftex        format eplain in dvi mode
latex            pdftex        format latex in dvi mode
pdftex           pdftex        pdf mode or dvi mode (-output-format dvi)
pdflatex         pdftex        format latex in pdf or dvi mode (-output-format dvi)

luatex           luatex        in pdf or dvi mode (-output-format dvi)
lualatex         luatex        format latex in pdf or dvi mode (-output-format dvi)
dviluatex        luatex        dvi mode
dvilualatex      luatex        format latex in dvi mode

xetex            xetex         in pdf or xdv mode (-no-pdf)
xelatex          xetex         format latex in pdf or xdv mode (-no-pdf)

texexec          pdftex/xetex  cont-en format in pdf or dvi mode (--dvi)
context          luatex        cont-en format in pdf mode

xmltex           pdftex        xml parser with dvi output
pdfxmltex        pdftex        xml parser in pdf or dvi mode (-output-format dvi)

mtex             pdftex        special format for polish in dvi mode
pdfmtex          pdftex        special format for polish in pdf or dvi mode (-output-format dvi)
utf8mex          pdftex        special format for polish in dvi mode

cslatex          pdftex        special format for czech/slovak in dvi mode
pdfcslatex       pdftex        special format for czech/slovak in pdf or dvi mode (-output-format dvi)
csplain          pdftex        special plain format for czech/slovak in dvi mode
pdfcsplain       pdftex        special plain format for czech/slovak in pdf or dvi mode (-output-format dvi)

aleph            aleph         TeX with unicode for multiligual in dvi mode
lamed            aleph         aleph with format latex in dvi mode

amstex           pdftex        special format in pdf or dvi mode (-output-format dvi)

texsis           pdftex        special format for physic papers in pdf or dvi mode (-output-format dvi)
``````
• `xetex` in xdv mode needs a `xdvipdfmx` driver, which is installed by default
• `aleph` is no more maintained, it was a successor of `omega` and is now superseeded by `luatex`
• `lamed` was a successor of `lambda` and now also superseeded by `luatex`
-
I also have `pdfetex` => `pdftex` in pdf mode with format eplain (I think). –  Bruno Le Floch Jan 25 '12 at 7:31
since `pdftex` uses the etex extension by default it is the same. However, there are some more programs which are linked to `pdftex` –  Herbert Jan 25 '12 at 7:41
sorry, you're right. Btw, how did you notify me without an `@Bruno`? –  Bruno Le Floch Jan 25 '12 at 7:59
@BrunoLeFloch: I think these comment threads are a little bit clever. If the conversation is just between the question/answer and one commenter, then one party is automatically notified when the other comments, until a third party enters. –  Mark S. Everitt Jan 25 '12 at 8:35
@MarkS.Everitt The back-end also strips out the '@' notification if it is 'not needed'. –  Joseph Wright Jan 25 '12 at 9:19

Clearly Knuth's original TeX, TeX82, can produce `.dvi` files. Of the 'current' engines, pdfTeX and LuaTeX can produce both `.dvi` and `.pdf` files directly, while XeTeX produces a extended DVI (`.xdv`) format. There are also some more specialist engines, for example KerTeX which again produce `.dvi` files. (I am unsure about pTeX.)

In terms of which commands run a TeX engine in DVI mode, this depends on your TeX distribution and how old it is. pdfTeX has been the standard engine for TeX Live since 2004, as detailed in the release notes:

`pdfetex` is now the default engine for all formats except (plain) `tex` itself. (Of course it generates DVI when run as `latex`, etc.) This means, among other things, that the microtypographic features of `pdftex` are available in LaTeX, ConTeXt, etc., as well as the e-TeX features (`texmf-dist/doc/etex/base/`).

This means that running `latex foo`, `etex foo`, etc. uses pdfTeX in DVI mode. For example, on my system running `latex` gives header information

``````This is pdfTeX, Version 3.1415926-2.3-1.40.12 (TeX Live 2011)
restricted \write18 enabled.
``````

MiKTeX is similar, although I am unsure of the exact date it switched over to using pdfTeX as the standard engine.

If you want to use pdfTeX for a plain document in DVI mode, then `tex foo` will not work as that will always use TeX82. So you would need to do `pdftex "\pdfoutput=0 \input foo"`, or similar. (Normally, setting `\pdfoutput` directly is discouraged as it is done correctly in the format-building procedure.)

When using pdfTeX, it's also important to note that some of the 'new' primitives work in DVI mode, and some do not. The exact details are covered by the pdfTeX manual (`texdoc pdftex`).

-