I know that tex and latex produce dvi output.

Are there any others?

  • 2
    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, 2012 at 4:36
  • 3
    @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.
    – qubyte
    Jan 25, 2012 at 8:32
  • 2
    @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.
    – qubyte
    Jan 25, 2012 at 8:44
  • 1
    @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. Jan 25, 2012 at 14:27
  • 1
    latex is not a program. Please read the levels of TeX. Jan 25, 2012 at 16:25

2 Answers 2

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)
jadetex          pdftex        Jade/OpenJade in dvi mode
pdfjadetex       pdftex        Jade/OpenJade 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). Jan 25, 2012 at 7:31
  • 2
    since pdftex uses the etex extension by default it is the same. However, there are some more programs which are linked to pdftex
    – user2478
    Jan 25, 2012 at 7:41
  • sorry, you're right. Btw, how did you notify me without an @Bruno? Jan 25, 2012 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.
    – qubyte
    Jan 25, 2012 at 8:35
  • 2
    @MarkS.Everitt The back-end also strips out the '@' notification if it is 'not needed'.
    – Joseph Wright
    Jan 25, 2012 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).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.