ŞäferTeX: Source Code Esthetics for Automated Typesetting
While TeX  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 , LaTeX3 , pdfTeX , and NTS . Front-ends such as TeXmacs  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.
KeywordsProgramming Language Parse Tree Document Design Text Block Normal Text
Unable to display preview. Download preview PDF.
- 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.Hàn, T.T., Rahtz, S., Hagen, H.: The pdftex manual (1999), http://www.ntg.nl/doc/han/pdftex-a.pdf
- 3.Hipp, R.D.: The Lemon Parser Generator (1998), http://www.hwaci.com/sw/lemon
- 4.Knuth, D.E.: The TEXbook. Addison-Wesley, Reading (1983)Google Scholar
- 5.Kopka, H., Daly, P.: A Guide to LATEX. Addison-Wesley, Reading (1992)Google Scholar
- 6.Mittelbach, F., Rowley, C.: The LATEX3 Project. TUGboat 18(3), 195–198 (1997)Google Scholar
- 7.Poskanzer, J., Paxson, V.: Flex, a fast lexical analyzer generator (1995), http://sourceforge.net/projects/lex
- 8.Taylor, P., Zlatuška, J., Skoupy, K.: The NTS project: from conception to implementation. Cahiers GUTenberg (May 2000)Google Scholar
- 9.Troelsen, A.: C# and the .NET Platform. APress (2001)Google Scholar
- 10.van der Hoeven, J.: GNU TEXmacs (2003), http://www.texmacs.org/tmweb/home/welcome.en.html