For several reasons I need to typeset in Plain TeX, however I have always worked with LaTeX. So how hard will this be? I basically need something like the book or report documentclass (with toc, chapters, sections, Theorems, ..., appendices, index, bib, ...). Most of the things I have learned about LaTeX have come from examples, can somebody direct me to a complete example of a book typeset in Plain TeX?

  • 3
    Well, there's the TeXBook itself, typeset entirely in Plain TeX. Same goes, I believe, for all other books written by Don Knuth himself.
    – Mico
    Commented Jul 11, 2012 at 1:49
  • 2
    As reference for the TeXBook, see texbook.tex.
    – Werner
    Commented Jul 11, 2012 at 2:23
  • 2
    You might be interested in Eplain.
    – morbusg
    Commented Jul 11, 2012 at 4:09
  • 2
    @Mico It's a bit more complex than that because The TeXbook uses a lot of additional macros on top of plain, collected together as manmac.
    – Joseph Wright
    Commented Jul 11, 2012 at 6:21
  • 3
    AMS-TeX is based on plain TeX, so might be consulted for reference. it's included in TeX Live, so texdoc amsguide would give you an idea of what's included. the source for this guide should also be in TeX Live, and it was prepared using AMS-TeX, so it can be viewed (loosely, since it's more like an extended article than a book) as a model. unfortunately, the documentation on the document-related macros (mostly in amsppt.sty) is sketchy, and as noted elsewhere, there is nothing like LaTeX's automatic numbering, cross-referencing, contents, or indexing facilities. Commented Jul 11, 2012 at 13:16

2 Answers 2


Plain TeX does not provide the 'pre-built' structural concepts which LaTeX provides, such as TOC, sections and so on. Instead, it provides the basic typesetting mechanisms from which you can build these up. As mentioned in the comments, Knuth's The TeXbook is not only the definitive reference for TeX but also a guide to how to create a book using plain TeX, as the source is available for examination.

It's clear from The TeXbook that Knuth expected authors to create a suitable bundle of support macros for each document they create. He does this for The TeXbook in a file called manmac.tex which is then used with the plain format to provide the necessary layout and so on for the book.

Some parts of this process are easier than others. LaTeX works hard to make life easy for authors in some places, for example automatically constructing a table of contents from sections using the .toc file with a two-pass workflow, or providing the \label/\ref system via the .aux file. Setting these up by hand is non-trivial, and it is notable that Knuth does all of these things by hand in The TeXbook.

Depending on the exact requirements, creating a document in plain TeX may require quite a bit of TeX programming experience. The eplain set of macros are often recommended to allow plain TeX to use the LaTeX mechanisms for dealing with some driver-dependent work such as graphics.

  • 6
    The question does not give detail of the reasons to require plain TeX here, and so it is tricky to know exactly what features are required. I've tried to cover the general points.
    – Joseph Wright
    Commented Jul 11, 2012 at 7:05
  • 1
    You can add to the general points, the problem to use a foreign language (build a format to use french hyphenation is not easy), the problem to use utf8. Commented Jul 11, 2012 at 8:51
  • 2
    @Altermundus: Plain-tex – or should I say Plain-XeTeX (plain-tex format with XeTeX) doesn't have a problem with Finnish at least, neither with UTF8. I suppose the same applies to plain-tex format with LuaTeX, or should I say plain-LuaTeX. My point is, Unicode support (and via that, foreign language support) depends on the engine, not on the format (as much, anyway). Dunno about French, tho. Doesn't \uselanguage{french} work properly?
    – morbusg
    Commented Jul 11, 2012 at 15:20
  • @morbusg From memory, I think the set up in TeX Live is that tex is always created with only US hyphenation, but pdftex, xetex, etc. use the same hyphenation set up as the LaTeX formats. So if you want to really stick with Knuth's TeX you still have to compile your own format to get internationalised hyphenation.
    – Joseph Wright
    Commented Jul 11, 2012 at 15:36
  • @Joseph: I don't see anyone mentioning Knuth's TeX? Or do you mean Altermundus' comment? I mean, I myself use plain-tex format with XeTeX, and the point I was trying to get across was that the used format is a different thing entirely from the used engine.
    – morbusg
    Commented Jul 11, 2012 at 15:44

Try to grab a copy of TeX for the Beginner by Wynter Snow. She teaches you how to handle the basics of Plain programming (regardless of engine: she explains ClassicTeX) and makes frequent cross-references for the experienced LaTeX user. You may use some of her macros together with eplain to mimick some functionality of LaTeX. And if you want to handle multiple languages, or at least something other than US English, try Enrico Gregorio's hyplain, available at CTAN. Make sure you know how to make your own formats.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .