ŞäferTeX: Source Code Esthetics for Automated Typesetting

  • Frank-Rene Schaefer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3130)


While TeX [4] provides high quality typesetting features, its usability suffers due to its macro-based command language. Many tools have been developed over the years simplifying and extending the TeX interface, such as LaTeX [5], LaTeX3 [6], pdfTeX [2], and NTS [8]. Front-ends such as TeXmacs [10] follow the visual/graphical approach to facilitate the coding of documents. The system introduced in this paper, however, is radical in its targetting of optimized code appearance.

The primary goal of ŞäferTeX is to make the typesetting source code as close as possible to human-readable text, to which we have been accustomed over the last few centuries. Using indentation, empty lines and a few triggers allows one to express interruption, scope, listed items, etc. A minimized frame of ‘paradigms’ spans a space of possible typesetting commands. Characters such as ‘_’ and ‘$’ do not have to be backslashed. Transitions from one type of text to another are automatically detected, with the effect that environments do not have to be bracketed explicitly. The following paper introduces the programming language ŞäferTeX as a user interface to the TeX typesetting engine. It is shown how the development of a language with reduced redundancy increases the beauty of code appearance.


Programming Language Parse Tree Document Design Text Block Normal Text 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Beazley, D.M.: Automated scientific software scripting with SWIG. In: Tools for program development and analysis, vol. 19, pp. 599–609. Elsevier Science Publishers B. V., Amsterdam (2003)Google Scholar
  2. 2.
    Hàn, T.T., Rahtz, S., Hagen, H.: The pdftex manual (1999),
  3. 3.
    Hipp, R.D.: The Lemon Parser Generator (1998),
  4. 4.
    Knuth, D.E.: The TEXbook. Addison-Wesley, Reading (1983)Google Scholar
  5. 5.
    Kopka, H., Daly, P.: A Guide to LATEX. Addison-Wesley, Reading (1992)Google Scholar
  6. 6.
    Mittelbach, F., Rowley, C.: The LATEX3 Project. TUGboat 18(3), 195–198 (1997)Google Scholar
  7. 7.
    Poskanzer, J., Paxson, V.: Flex, a fast lexical analyzer generator (1995),
  8. 8.
    Taylor, P., Zlatuška, J., Skoupy, K.: The NTS project: from conception to implementation. Cahiers GUTenberg (May 2000)Google Scholar
  9. 9.
    Troelsen, A.: C# and the .NET Platform. APress (2001)Google Scholar
  10. 10.
    van der Hoeven, J.: GNU TEXmacs (2003),

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Frank-Rene Schaefer
    • 1
  1. 1. CologneGermany

Personalised recommendations