YODL is a package that implements a pre-document language and tools to convert this language to many output formats, which can then be further processed. The purpose of this package was to convert YODL documents to either LaTeX for printing or to HTML for publishing via W3, but the package has since then grown. The package is designed to be very easy to use for those who write documents and to be extensible in respect to new commands or output formats.
Chapter 1: Introduction
1.1: Why use YODL?
1.2: Legalese
Chapter 2: YODL User Guide
2.1: Using the yodl program
2.2: The YODL grammar
2.2.1: Language elements
2.2.1.1: Unbalanced parameter lists2.2.2: Line continuation
2.2.3: The +identifier sequence
2.3: YODL's builtin commands
2.3.1: ADDTOCOUNTER
2.3.2: ATEXIT
2.3.3: CHAR
2.3.4: CHDIR
2.3.5: COMMENT
2.3.6: COUNTERVALUE
2.3.7: DEFINECHARTABLE
2.3.8: DEFINEMACRO
2.3.9: DEFINESYMBOL
2.3.10: DUMMY
2.3.11: ENDDEF
2.3.12: ERROR
2.3.13: IFDEF
2.3.14: IFEMPTY
2.3.15: IFSTREQUAL
2.3.16: IFSTRSUB
2.3.17: IFZERO
2.3.18: INCLUDEFILE
2.3.19: INCLUDELITERAL
2.3.20: NEWCOUNTER
2.3.21: NOEXPAND
2.3.22: NOTRANS
2.3.23: NOUSERMACRO
2.3.24: PARAGRAPH
2.3.25: PIPETHROUGH
2.3.26: POPCHARTABLE
2.3.27: PUSHCHARTABLE
2.3.28: RENAMEMACRO
2.3.29: SETCOUNTER
2.3.30: SUBST
2.3.31: STARTDEF
2.3.32: SYSTEM
2.3.33: TYPEOUT
2.3.34: UNDEFINEMACRO
2.3.35: UNDEFINESYMBOL
2.3.36: UPPERCASE
2.3.37: USECHARTABLE
2.3.38: USECOUNTER
2.3.39: WARNING
2.4: Character tables
2.4.1: Defining a translation table
2.4.2: Using a translation table
2.4.3: Pushing and popping character tables
2.5: Sending literal text to the output
2.6: Counters
2.6.1: Creating a counter
2.6.2: Using counters
Chapter 3: A macro package for YODL
3.1: Files of the macro package
3.1.1: Conversion script invocations
3.2: Macros of the package
3.2.1: Conversion defines and literal commands
3.2.2: Document types
3.2.2.1: Pagebreaks after the title and table of contents3.2.3: Typesetting modifiers
3.2.4: Sectioning
3.2.5: Lists and environments
3.2.6: Fonts and sizes
3.2.7: Accents
3.2.8: Labels, links, references and URLs
3.2.9: Figures
3.2.10: Miscellaneous commands
3.2.10.1: National language support3.3: The manpage document type
3.4: Alphabetical list of the macros
3.5: General structure of a YODL document
3.6: Pecularities of conversions
3.6.1: Notes on the LaTeX converter
3.6.1.1: Direct commands to LaTeX3.6.2: Notes on the HTML converter
3.6.2.1: Direct commands to HTML3.6.3: Notes on the groff converter
3.6.3.1: The groff postprocessors3.6.4: Notes on the SGML converter
3.6.5: Notes on the ASCII converter
Chapter 4: Technical information
4.1: Obtaining and installing YODL
4.1.1: Configuring the yodl program
4.1.2: Installing the yodl program
4.1.2.1: Prerequisites for the installation4.2: Internal workings of the YODL package
4.2.1: A single-pass interpreter
4.2.2: Macros of the converters
4.2.2.1: Adding a new macro