Is LaTeX intended for unattended typesetting?

It has always been a possibility although obviously the document markup side of latex is mostly aimed at hand authored documents, but even back while 2e was being developed there were wysiwyg systems like sw that are essentially generating latex that isn't touched and latex is often used for typesetting from XML (or previously SGML) using xslt or dsssl or similar (Sebastian's jadetex stylesheets for typesetting TEI SGM via dsssl being more or less contemporary with the development of 2e).

Of course how far you can get by without hand editing the generated tex depends on what kind of document it is and how much control you have elsewhere in the process.

If you are typesetting millions of standard invoices from some database queries or similar where there are no typographic problems and you are just using tex as a convenient pdf generator then you can (and people do) automate the whole process.

In a system like scientific word (or I suppose lyx, although I haven't seen that) you don't (normally) edit the tex but you have manual control over the layout to an extent via the GUI.

Then there are people using database backed catalogue systems where tex is used to typeset fragments but the logic to arrange and paginate those fragments is pushed off to other software (or lua) or whatever.

One of the main aims of L3 will be a more flexible output routine (as the memory constraints now are so different from the constraints when 2.09 and 2e were developed) That can help TeX make better (and so hopefully more automatic) decisions about page breaking and float placement, but time will tell....


People who want perfect typography will often be unsatisfied with LaTeX's output without manual adjustment. However, if you are fine with reasonably good output, then the answer is yes: LaTeX can be used for unattended typesetting. There are plenty of options that change LaTeX's behavior for avoiding orphans, widows, and to influence figure placements, which give you a good starting point that can also be used as-it-is for most purposes.

There are a few exceptions to the rule, however, such as balancing the columns on the last page of a document in two-column mode. While there is at least one package for doing this, the float behavior is a bit odd. As long as you only use features that do not require special attention, LaTeX should be suitable for the job.

Note that many manual LaTeX placement-and-layout tricks that people do are meant to reduce the number of pages without influencing the layout significantly. This is for example of relevance in scientific publications to be submitted to venues with a page limit. If this is of relevance, then no automated system that will do a very good job for you.


Here is an example that I know where LaTeX has been used in an automated manner: the largest German telecommunications company used LaTeX for making their invoices (and might still do so - not sure). This was visible from the invoice PDF files that one would get by mail when opting out of paper invoices. Admittedly, they did not have complicated floats or similar stuff. I strongly suspect that that they did not post-process the invoices manually to improve their layout.


Since this is my most voted question on Stack Exchange, I gathered I owe everybody an answer over here…

Obtaining aesthetic page breaks for slightly complex documents, taking for example into account figures, widows and orphans may still requires manual intervention in the LaTeX code.

Quoting Frank Mittelbach:

This issue describes the fundamental problem in TeX’s approach: the program builds optimized paragraph shapes without any knowledge about their final placement on a page. The result is a “galley” from which columns are cut to a specified vertical size. A consequence of this is that one can’t have the shape of a paragraph depend on its final position on the page when using TEX’s page builder algorithm.

For this reason, I now resort to automatic CSS typesetting with PrinceXML for any content that is longer than a letter and not commercial. The PDF printouts on my web site are generated this way without any user intervention.

If you think of it, HTML+CSS is exactly intended for that: unattended typesetting on screens of unpredictable dimensions. A printed page is merely another media viewport.

This was not possible with LaTeX 2ε for the reasons mentioned above, even though I tried hard! ConTeXt came close, but unfortunately no cigar either! This does not take away from the fact that I continue to use LaTeX for writing formal letters and for my curriculum vitæ (newer version). ConTeXt is employed for writing business contracts.

Anyhow, with Prince XML one is in good company as more and more professional DocBook users are trading in XSL-FO for automatic CSS typestting. Prince XML is a commercial product though. If it were to pursue a FLOSS business strategy, its adoption rate might well skyrocket.

On print-css.rocks, one can follow the latest developments in unattended CSS paged media typesetting.