Yodl stands for `Yet oneOther Document Language' and is basically a
pre-processor to convert document files in a special macro language (the Yodl
language) to any output format. The Yodl language is not a `final' language,
in the sense that it can be viewed or printed directly. Rather, a document in
the Yodl language is a `pre-document', that is converted with some macro
package to an output format, to be further processed.
In this, Yodl somewhat resembles SGML (Standard Generalized Markup
Language) but is designed to be more transparent and easier to use.
I wrote Yodl because I needed a good document preprocessor to convert output to
either LaTeX (for printing) or to HTML (HyperText Markup Language,
used in WWW documents) for publishing via a WWW site. Although SGML does this
too, I wanted something that is used `intuitively' and with greater ease. This
is reflected in the syntax of the Yodl language, in the available macros of the
Yodl macro package, and very probably also in other aspects of Yodl. However,
Yodl is designed to convert to any output format; so it is possible
to write a macro package that converts Yodl documents to, say, the man
format for manual pages. I am not very familiar with the man
format, but
I've put some work into this too; resulting in the `manpage' document type and
its converter.
A few highlights of Yodl are:
Yodl allows the inclusion of files. This makes it easier to split up a
document into `logical' parts, each kept in a separate file. Thus, a `main
document' file can include all the sub-parts. (Imagine that you're the
editor of a journal. Authors are likely to send in their submissions in
separate files; inclusion can then be very handy!)
Files which are included are searched for either `as-is', or in a
given `system-wide include' directory, similar to the workings of the
C preprocessor. Therefore, it is possible to create a set of include
files holding macros, and to place them into one macro directory. (See
also chapter ??, where a macro package that is distributed
with Yodl is described.)
For all the handled files (either stated on the commandline or
included), Yodl supplies an extension if none is present. The default
extension is .yo
, but can be defined to anything in the compilation of
the yodl
program.
Yodl supports conditional parsing of its input, controlled by defined
symbols. This resembles the #ifdef
/ #else
/ #endif
preprocessor macros of the C language. Yodl also supports other if
clauses, e.g., to test for the presence of an argument to a macro.
Yodl offers hooks to define counters, to modify them, and to use them
in a document. Thereby Yodl offers the possibility for automatic numbering
of e.g., sections. Of course, some document languages (e.g., LaTeX) offer
this too; but some don't. When converting a Yodl document to, say, HTML,
this feature is very handy.
Yodl is designed to be easy to use: Yodl uses `normal' characters to
identify commands in the text, instead of insisting weird-looking tags or
escape characters. Editing a document in the Yodl macro language is
designed to be as easy as possible.
Similar to other document languages, Yodl supports `character
conversion tables' which define how a character should appear in the
output.
This document first describes Yodl from the point of the user: how can macros
be defined, how is the program used etc.. Next, my own macro package is
presented and the macros therein described. Finally, this document holds
technical information about the installation and the inner workings of Yodl.
Go back to index of Yodl.
Please send Yodl questions and comments to
yodl@icce.rug.nl.
Please send comments on these web pages to
(address unknown)
Copyright (c) 1997, 1998, 1999 Karel Kubat and Jan Nieuwenhuizen.
Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.
This page was built from Yodl-1.31.18 by
<(address unknown)>, Wed Mar 17 18:44:01 2010 UTC.