The output routine is a basic element of TeX processing which is automatically called at different occasions (e.g., at insertions like footnotes or floats) and finally makes up the contents of a page for shipout after a page break has occurred. Headers and footers as well as floats, margin paragraphs and footnotes are added here.

Technically, \output is a token register which is executed automatically at every page break. It gets the contents of the main vertical list (that is, the type area) in box \@cclv (that is, 255) and adds all the stuff which goes outside of it on the page (plus floats which are inserted) before calling \shipout for really producing a page in the dvi or pdf file.

The output routine is defined by the basic format used (for instance, plain TeX, LaTeX or ConTeXt) and has a large influence on the "flavour" of this format and its page building capabilities. Only very few packages manipulate the output routine (like longtable or multicol), and this has to be done with great care to avoid conflicts.

Questions with this tag are concerned with basic considerations of page building, page breaking, headers, floating items (including \marginpar) or footnotes.

history | show excerpt | excerpt history