Yodl macros(7) Your Own Document Language Yodl macros(7)NAMEyodlmacros - Macros for the Yodl converters
SYNOPSIS
This manual page lists the standard macros of the Yodl package.
DESCRIPTION
The following list shows the macros defined by the Yodl converters
define and which can be used in Yodl documents. Refer to the Yodl user
guide, distributed with the Yodl package, for a full description.
NOTE: Starting with Yodl version 3.00.0 Yodl’s default file inclusion
behavior has changed. The current working directory no longer remains
fixed at the directory in which Yodl is called, but is volatile, chang‐
ing to the directory in which a yodl-file is located. This has the
advantage that Yodl’s file inclusion behavior now matches the way C’s
#include directive operates; it has the disadvantage that it may break
some current documents. Conversion, however is simple but can be
avoided altogether if Yodl’s -L (--legacy-include) option is used. This
affects the (l)includefile, includeverbatim, notransinclude and verbin‐
clude macros (see below).
The following list shows all macros of the package in alphabetical
order.
abstract(text)
Defines an abstract for an article or report document. Abstracts
are not implemented for books or manpages. Must appear before
starting the document with the article or report macro.
addntosymbol(symbol)(n)(text)
Adds text n times to symbol. The value n may also be the name of
a defined counter (which itself will not be modified).
affiliation(site)
Defines an affiliation, to appear in the document titlepage
below the author field. Must appear before starting the document
with article, report or book. The affiliation is only printed
when the author field is not empty.
AfourEnlarged()
Enlarges the usable height of A4 paper by 2 cm.: the top margin
is reduced by 2 cm. This macro should be called in the preamble.
The macro is available only for LaTeX conversions.
appendix()
Starts appendices
article(title)(author)(date)
Starts an article. The top-level sectioning command is (n)sect.
In HTML conversions only one output file is written.
attrib(text)
In html, adds text as an attribute to the next html tag. E.g,
to set a blue color and 30 pixel left-hand side margin for a
section use attrib(style="color:blue;mar‐
gin-left:30px;")sect(Section name), resulting in the html markup
<h1 style="color:blue;margin-left:30px;">Section name</h1>.
This macro is only effective with html conversions, and is only
applied to the next macro defining a html tag. E.g., when using
attrib(id="x")em(a)tt(b) only the em-macro is given the id="x"
attribute.
Commonly used attributes are id="idname", expecting a #idname
CSS label in either internal or external CSS specifications, or
style="spec" (as shown in the example).
When a series of attrib macro calls are specified only the last
one will be used, as each attrib call redefines the contents of
Yodl’s attribute string. (e.g., attrib(x)attrib(y)sect(z)
ignores x, and adds attrib="y" to sect(z)).
The attrib macro is supported by the following macros: bf cell
cells center chapter code dit em figure file htmltag itdesc
lchapter link lref lsect lsubsect lsubsubsect nchapter npart
nsect nsubsect nsubsubsect paragraph part quote row sc sect
strong subs subsect subsubsect subsubsubsect sups tt url verb
verbinclude.
bf(text)
Sets text in boldface.
bind(text)
Generate a binding character after text.
book(title)(author)(date)
Starts a book document. The top-level sectioning command is
(n)chapter, (n)part being optional. In HTML output files are
created for each chapter.
cell(contents)
Sets a table cell, i.e., one element in a row. With the man/ms
converters multiple blanks between cell() macro calls are merged
into a single blank character.
cells(nColumns)(contents)
Set a table cell over nColumns columns. With LaTeX and xml the
information in the combined cells is centered.
With man/ms conversions the cells() macro simply calls the
cell() macro, but here the setmanalign() macro can be used to
determine the alignment of multiple cells.
With html the macro attrib can be used, but when it contains a
style specification the macro’s default style="text-align: cen‐
ter" is ignored (but it can optionally be specified using the
attrib macro).
cellsline(from)(count)
Sets a horizontal line starting at column number from over count
columns in a row. If from is less then the number of columns
already added to a row then it is ignored. This macro must be
embedded in a row macro defining a table row. To put a line
across the table’s full width use rowline. To set horizontal
lines across columns 1 until 2 and columns 4 until 5 table of a
table use:
row(cellsline(1)(2)cellsline(4)(2))
Combining cellsline and cell or cells calls in one row produces
undefined results.
center(text)
Centers text. Use nl() in the text to break lines. In html the
attrib macro is not supported.
chapter(title)
Starts a new chapter in books or reports.
cindex()
Generate an index entry for index c.
cite(1)
Sets a citation or quotation
clearpage()
Starts a new page, when the output format permits. Under HTML a
horizontal line is drawn.
code(text)
Sets text in code font, and prevents it from being expanded.
For unbalanced parameter lists, use CHAR(40) to get ( and
CHAR(41) to get ).
columnline(from)(to)
Sets a horizontal line over some columns in a row. Note that
columnline defines a row by itself, consisting of just a hori‐
zontal line spanning some of its columns, rather than the ta‐
ble’s full width, like rowline. The two arguments represent col‐
umn numbers. It is the responsibility of the author to make sure
that the from and to values are sensible. I.e.,
1 <= from <= to <= ncolumns
Note: this macro cannot be used if multiple lines must be set in
one row. In those cases the macro colsline should be used.
def(macroname)(nrofargs)(redefinition)
Defines macroname as a macro, having nrofargs arguments, and
expanding to redefinition. This macro is a shorthand for
DEFINEMACRO. An error occurs when the macro is already defined.
Use redef() to unconditionally define or redefine a macro.
description(list)
Sets list as a description list. Use dit(item) to indicate items
in the list.
dit(itemname)
Starts an item named itemname in a descriptive list. The list
should be defined as contents of a description(). With html con‐
versions the contents of a description item is separated from
the item itself. The dit macro only defines the item, and not
the description itself. This macro sets the item in bold-face
(`strong’ font). The macro itdesc, available since Yodl 3.05,
can be used to defines an item and its description, using its
suggested format (i.e., indenting the description relative to
the item).
eit() Indicates an item in an enumerated list. The eit() macro should
be an argument in enumerate().
ellipsis()
Sets ellipsis (...).
em(text)
Sets text as emphasized, usually italics.
email(address)
In HTML, this macro sets the address in a <a href="mailto=..">
locator. In other output formats, the address is sent to the
output. The email macro is a special case of url.
endcenter()
DEPRECATED. Use center().
enddit()
DEPRECATED. Use description().
endeit()
DEPRECATED. Use enumeration().
endit()
DEPRECATED. Use itemization().
endmenu()
DEPRECATED. Use menu().
endtable()
DEPRECATED. Use table().
enumerate(list)
DEPRECATED. Use enumeration().
enumeration(list)enumeration() starts an enumerated list. Use eit() in the list
to indicate items in the list.
euro() Sets the euro currency symbol in latex, html, (and possibly sgml
and xml). In all other conversions EUR which is the official
textual abbreviation (cf. http://ec.europa.eu/euro/entry.html)
is written. Note that LaTeX may require latexpackage()(eurosym).
fig(label)
This macro is a shorthand for figure ref(label) and just makes
the typing shorter, as in see fig(schematic) for .. See getfig‐
urestring() and setfigurestring() for the figure text.
figure(file)(caption)(label)
Sets the picture in file as a figure in the current document,
using the descriptive text caption. The label is defined as a
placeholder for the figure number and can be used in a corre‐
sponding ref statement. Note that the file must be the filename
without extension: By default, Yodl will supply .gif when in
HTML mode, or .ps when in LaTeX mode. Figures in other modes may
not (yet) haven been implemented.
file(text)
Sets text as filename, usually boldface. In html attrib macro
applies to the <strong> tag.
findex()
Generate an index entry for index f.
footnote(text)
Sets text as a footnote, or between parentheses when the output
format does not allow footnotes.
gagmacrowarning(name name ...)
Prevents the yodl program from printing cannot expand possible
user macro. E.g., if you have in your document the file(s) are
.. then you might want to put before that: gagmacrowarn‐
ing(file). Calls NOUSERMACRO.
getaffilstring()
Expands to the string that defines the name of Affiliation
Information, by default AFFILIATION INFORMATION. Can be rede‐
fined for national language support by setaffilstring(). Cur‐
rently, it is relevant only for txt.
getauthorstring()
Expands to the string that defines the name of Author Informa‐
tion, by default AUTHOR INFORMATION. Can be redefined for
national language support by setauthorstring(). Currently, it is
relevant only for txt.
getchapterstring()
Expands to the string that defines a `chapter’ entry, by default
Chapter. Can be redefined for national language support by
setchapterstring().
getdatestring()
Expands to the string that defines the name of Date Information,
by default DATE INFORMATION. Can be redefined for national lan‐
guage support by setdatestring(). Currently, it is relevant only
for txt.
getfigurestring()
Returns the string that defines a `figure’ text, in captions or
in the fig() macro. The string can be redefined using the set‐
figuretext() macro.
getpartstring()
Expands to the string that defines a `part’ entry, by default
Part. Can be redefined for national language support by setpart‐
string().
gettitlestring()
Expands to the string that defines the name of Title Informa‐
tion, by default TITLE INFORMATION. Can be redefined for
national language support by settitlestring(). Currently, it is
relevant only for txt.
gettocstring()
Expands to the string that defines the name of the table of con‐
tents, by default Table of Contents. Can be redefined for
national language support by settocstring().
htmlbodyopt(option)(value)
DEPRECATED. Use htmlstyle().
htmlcommand(cmd)
Writes cmd to the output when converting to html. The cmd is not
further expanded by Yodl.
htmlheadfile(file)
Adds the contents of file to the head section of an HTML docu‐
ment. The contents of file are not interpreted and should con‐
tain plain html text. This option can be useful when large bod‐
ies of text, like the contents of <script> sections, must be
included into the head section of html documents. This macro is
only active in the preamble, should only specified once, and is
only interpreted for html conversions.
htmlheadopt(option)
Adds the literal text option to the current information in the
head section of an HTML document. Option may (or: should) con‐
tain plain html text. A commonly occurring head option is link,
defining, e.g., a style sheet. Since that option is frequently
used, it has received a dedicated macro: htmlstylesheet. When
large bodies of html-text must be added to html documents the
macro htmlheadfile should be used. This macro is only active in
the preamble and is only interpreted for html conversions.
htmlnewfile()
In HTML output, starts a new file. All other formats are not
affected. Note that you must take your own provisions to access
the new file; say via links. Also, it’s safe to start a new
file just befoore opening a new section, since sections are
accessible from the clickable table of contents. The HTML con‐
verter normally only starts new files prior to a chapter defini‐
tion.
htmlstyle(tag)(definition)
Adds <style type="text/css"> ... </style> element to the head
section of an HTML document.
Use htmlstyle to specify one or more CSS definitions which are
eventually inserted at the ellipsis (...) in the generic style
definition shown above. E.g., (using #rrggbb to specify a color,
where rr are two hexadecimal digits specifying the color’s red
component, gg two hexadecimal digits specifying the color’s
green component, and bb two hexadecimal digits specifying the
color’s blue component) specifying
htmlstyle(body)(color: #rrggbb; background-color: #rrggbb)
htmlstyle(h1)(color: blue; text-align: center)
htmlstyle(h2)(color: green)
results in the element
<style type="text/css">
body {color: #rrggbb; background-color: #rrggbb;}
h1 {color: blue; text-align: center;}
h2 {color: green;}
</style>
The macros htmlheadopt and htmlstylesheet could also be used to
put information into the head-section of an HTML document, but
htmlheadopt is of a much more general nature, while html‐
stylesheet refers to CSS elements stored in an external file.
The macro attrib can be used to define inline styles.
The htmlstyle macro is only active in the preamble and is only
interpreted for html conversions.
Refer to available CSS specifications (cf.,
http://www.w3schools.com/cssref/ for an overview of how CSS
specifications are used, and which CSS specifications are avail‐
able).
By default the internal style specification
figure {text-align: center;} img {vertical-align: center;}
is used. If this is not appropriate, specify nohtmlimgstyle() in
the preamble.
htmlstylesheet(url)
Adds a <link rel="stylesheet" type="text/css" ...> element to
the head section of an HTML document, using url in its href
field. The argument url is not expanded, and should be plain
HTML text, without surrounding quotes. The macro htmlheadopt can
also be used to put information in the head-section of an HTML
document, but htmlheadopt is of a much more general nature.
This macro is only active in the preamble and is only inter‐
preted for html conversions.
htmltag(tagname)(start)
Sets tagname as a HTML tag, enclosed by < and >. When start is
zero, the tagname is prefixed with /. As not all html tags are
available through predefined Yodl-macros (there are too many of
them, some are used very infrequently, and you can easily define
macros for the tags for which Yodl doesn’t offer predefined
ones), the htmltag macro can be used to handle your own set of
macros. In html the attrib macro is supported. E.g.,
attrib(title="World Health Organization")htmltag(abbr)()WHO+htmltag(abbr)(0)
ifnewparagraph(truelist)(falselist)
The macro ifnewparagraph should be called from the PARAGRAPH
macro, if defined. It will insert truelist if a new paragraph is
inserted, otherwise falselist is inserted (e.g., following two
consecutive calls of PARAGRAPH). This macro can be used to pre‐
vent the output of multiple blank lines.
includefile(file)
Includes file. The default extension .yo is supplied if neces‐
sary.
NOTE: Starting with Yodl version 3.00.0 Yodl’s default file
inclusion behavior has changed. The current working directory no
longer remains fixed at the directory in which Yodl is called,
but is volatile, changing to the directory in which a yodl-file
is located. This has the advantage that Yodl’s file inclusion
behavior now matches the way C’s #include directive operates; it
has the disadvantage that it may break some current documents.
Conversion, however is simple but can be avoided altogether if
Yodl’s -L (--legacy-include) option is used.
Furthermore, the includefile macro no longer defines a label. To
define a label just before the file’s inclusion use linclude‐
file.
includeverbatim(file)
Include file into the output. No processing is done, file
should be in preformatted form, e.g.:
whenhtml(includeverbatim(foo.html))
NOTE: Starting with Yodl version 3.00.0 Yodl’s default file
inclusion behavior has changed. The current working directory no
longer remains fixed at the directory in which Yodl is called,
but is volatile, changing to the directory in which a yodl-file
is located. This has the advantage that Yodl’s file inclusion
behavior now matches the way C’s #include directive operates; it
has the disadvantage that it may break some current documents.
Conversion, however is simple but can be avoided altogether if
Yodl’s -L (--legacy-include) option is used.
it() Indicates an item in an itemized list. The list is either sur‐
rounded by startit() and endit(), or it is an argument to item‐
ize().
itdesc(itemname)(contents)
Starts an item and its description in a description list. Its
name is itemname, the contents of the item is defined by con‐
tents. The itemname is defined by using the dit macro.
With html conversions the contents are surrounded by <dd> and
</dd> tags, resulting in contents which are indented relative to
the itemname. When the attrib macro is used it is applied to the
itemname (dt-tags).
With other conversions the contents are quoted (as if using
quote(contents)).
itemization(list)
Sets list as an itemizationd list. Use it() to indicate items in
the list.
itemize(list)
DEPRECATED. Use itemization().
kindex()
Generate an index entry for index k.
label(labelname)
Defines labelname as an anchor for a link command, or to stand
for the last numbering of a section or figure in a ref command.
langle()
Character <
languagedutch()
Defines the Dutch-language specific headers. Active this macro
via setlanguage(dutch).
languageenglish()
Defines the English-language specific headers. Active this macro
via setlanguage(english).
languageportugese()
Defines the Portugese-language specific headers. Active this
macro via setlanguage(portugese).
LaTeX()
The LaTeX symbol.
latexaddlayout(arg)
This macro is provided to add Yodl-interpreted text to your own
LaTeX layout commands. The command is terminated with an
end-of-line. See also the macro latexlayoutcmds()latexcommand(cmd)
Writes cmd plus a white space to the output when converting to
LaTeX. The cmd is not further expanded by Yodl.
latexdocumentclass(class)
Forces the LaTeX \documentclass{...} setting to class. Normally
the class is defined by the macros article, report or book.
This macro is an escape route incase you need to specify your
own document class for LaTeX. This option is a modifier and must
appear before the article, report or book macros.
latexlayoutcmds(NOTRANSs)
This macro is provided in case you want to put your own LaTeX
layout commands into LaTeX output. The NOTRANSs are pasted right
after the \documentclass stanza. The default is, of course, no
local LaTeX commands. Note that this macro does not overrule my
favorite LaTeX layout. Use nosloppyhfuzz() and standardlayout()
to disable my favorite LaTeX layout.
latexoptions(options)
Set latex options: documentclass[options]. This command must
appear before the document type is stated by article, report,
etc..
latexpackage(options)(name)
Include latex package(s), a useful package is, e.g., epsf. This
command must appear before the document type is stated by arti‐
cle, report, etc..
lchapter(label)(title)
Starts a new chapter in books or reports, setting a label at the
beginning of the chapter.
letter(language)(date)(subject)(opening)(salutation)(author)
Starts a letter written in the indicated language. The date of
the letter is set to `date’, the subject of the letter will be
`subject’. The letter starts with `opening’. It is based on the
`letter.cls’ document class definition. The macro is available
for LaTeX only. Preamble command suggestions:
o latexoptions(11pt)
o a4enlarged()
o letterreplyto(name)(address)(postalcode/city)
o letterfootitem(phone)(number), maybe e-mail too.
o letteradmin(yourdate)(yourref)
o letterto(addressitem). Use a separate letterto() macro call for
each new line of the address.
letteraddenda(type)(value)
Adds an addendum at the end of a letter. `type’ should be
`bijlagen’, `cc’ or `ps’.
letteradmin(yourdate)(yourref)
Puts `yourletterfrom’ and `yourreference’ elements in the let‐
ter. If left empty, two dashes are inserted.
letterfootitem(name)(value)
Puts a footer at the bottom of letter-pages. Up to three will
usually fit. LaTeX only.
letterreplyto(name)(address)(zip city)
Defines the `reply to’ address in LaTeX or txt-letters.
letterto(element)
Adds `element’ as an additional line to the address in LaTeX
letters.
link(description)(labelname)
In HTML output a clickable link with the text description is
created that points to the place where labelname is defined
using the label macro, and attrib macro applies to the <a> tag.
Using link is similar to url, except that a hyperlink is set
pointing to a location in the same document. For output formats
other than HTML, only the description appears.
lref(description)(labelname)
This macro is a combination of the ref and link macros. In HTML
output a clickable link with the text description and the label
value is created that points to the place where labelname is
defined using the label macro, and attrib macro applies to the
<a> tag. For output formats other than HTML, only the descrip‐
tion and the label value appears.
lsect(label)(title)
Starts a new section, setting a label at the beginning of the
section. In html attrib macro applies to the <h2> tag.
lsubsect(label)(title)
Starts a new subsection. Other sectioning commands are subsub‐
sect and subsubsubsect. A label is added just before the subsec‐
tion. In html attrib macro applies to the <h3> tag.
lsubsubsect(label)(title)
Starts a sub-subsection, a label is added just before the sec‐
tion In html attrib macro applies to the <h4> tag.
lsubsubsubsect(label)(title)
Starts a sub-sub-sub section. This level of sectioning is not
numbered, in contrast to `higher’ sectionings. A label is added
just before the subsubsubection.
lurl(locator)
An url described by its Locator. For small urls with readable
addresses.
mailto(address)
Defines the default mailto address for HTML output. Must appear
before the document type is stated by article, report, etc..
makeindex()
Make index for latex.
mancommand(cmd)
Writes cmd to the output when converting to man. The cmd is not
further expanded by Yodl.
manpage(title)(section)(date)(source)(manual)
Starts a manual page document. The section argument must be a
number, stating to which section the manpage belongs to. Most
often used are commands (1), file formats (5) and macro packages
(7). The sectioning commands in a manpage are not (n)sect etc.,
but manpage...(). The first section must be the manpagename, the
last section must be the manpageauthor. The standard manpage for
section 1 contains the following sections (in the given order):
manpagename, manpagesynopsis, manpagedescription, manpageop‐
tions, manpagefiles, manpageseealso, manpagediagnostics, man‐
pagebugs, manpageauthor. Optional extra sections can be added
with manpagesection. Standard manpageframes for several manpage‐
sections are provided in /usr/local/share/yodl/manframes.
manpageauthor()
Starts the AUTHOR entry in a manpage document. Must be the last
section of a manpage.
manpagebugs()
Starts the BUGS entry in a manpage document.
manpagedescription()
Starts the DESCRIPTION entry in a manpage document.
manpagediagnostics()
Starts the DIAGNOSTICS entry in a manpage document.
manpagefiles()
Starts the FILES entry in a manpage document.
manpagename(name)(short description)
Starts the NAME entry in a manpage document. The short descrip‐
tion is used by, e.g., the whatis database.
manpageoptions()
Starts the OPTIONS entry in a manpage document.
manpagesection(SECTIONNAME)
Inserts a non-required section named SECTIONNAME in a manpage
document. This macro can be used to augment `standard’ manual
pages with extra sections, e.g., EXAMPLES. Note that the name of
the extra section should appear in upper case, which is consis‐
tent with the normal typesetting of manual pages.
manpageseealso()
Starts the SEE ALSO entry in a manpage document.
manpagesynopsis()
Starts the SYNOPSIS entry in a manpage document.
mbox() Unbreakable box in LaTeX. Other formats may have different opi‐
tions on our unbreakable boxex.
menu(list)
DEPRECATED.
metaC(text)
Put a line comment in the output.
metaCOMMENT(text)
Write format-specific comment to the output.
mit() DEPRECATED.
mscommand(cmd)
Writes cmd to the output when converting to ms. The cmd is not
further expanded by Yodl.
nchapter(title)
Starts a chapter (in a book or report) without generating a num‐
ber before the title and without placing an entry for the chap‐
ter in the table of contents. In html attrib macro applies to
the <h1> tag.
nemail(name)(address)
Named email. A more consistent naming for url, lurl, email and
nemail would be nice.
nl() Forces a newline; i.e., breaks the current line in two.
node(previous)(this)(next)(up)
DEPRECATED Defines a node with name this, and links to nodes
previous, next and (up), for the node command.
nodeprefix(text)
Prepend text to node names, e.g.
nodeprefix(LilyPond)sect(Overview)
Currently used in texinfo descriptions only.
nodeprefix(text)
Prepend text to node names, e.g.
nodeprefix(LilyPond)sect(Overview)
Currently used in texinfo descriptions only.
nodetext(text)
Use text as description for the next node, e.g.
nodetext(The GNU Music Typesetter)chapter(LilyPond)
Currently used in texinfo descriptions only.
nohtmlfive()
Starting yodl 3.05 html-conversions by default use html5. This
can be suppressed (in favor of using html4) by calling this
macro. This macro merely suppresses writing the initial <!DOC‐
TYPE html> to generated html files; it is only active in the
preamble and is only interpreted for html conversions.
nohtmlimgstyle()
By default html-pages specify
(<style type="text/css" img {vertical-align: bottom;}></style>)
This macro suppresses this img CSS style specification. This
macro is only active in the preamble and is only interpreted for
html conversions.
nop(text)
Expand to text, to avoid spaces before macros e.g.: a. Although
a+sups(2) should have the same effect.
nosloppyhfuzz()
By default, LaTeX output contains commands that cause it to shut
up about hboxes that are less than 4pt overfull. When nosloppyh‐
fuzz() appears before stating the document type, LaTeX com‐
plaints are `vanilla’.
notableofcontents()
Prevents the generation of a table of contents. This is default
in, e.g., manpage and plainhtml documents. When present, this
option must appear before stating the document type with arti‐
cle, report etc..
notitleclearpage()
Prevents the generation of a clearpage() instruction after the
typesetting of title information. This instruction is default in
all non article documents. When present, must appear before
stating the document type with article, book or report.
notocclearpage()
With the LaTeX convertor, no clearpage() instruction is inserted
immediately beyond the document’s table of contents. The
clearpage() instruction is default in all but the article docu‐
ment type. When present, must appear before stating the document
type with article, book or report. With other convertors than
the LaTeX convertor, it is ignored.
notransinclude(filename)
Reads filename and inserts it literally in the text not subject
to macro expansion or character translation. No information is
written either before or after the file’s contents, not even a
newline.
NOTE: Starting with Yodl version 3.00.0 Yodl’s default file
inclusion behavior has changed. The current working directory no
longer remains fixed at the directory in which Yodl is called,
but is volatile, changing to the directory in which a yodl-file
is located. This has the advantage that Yodl’s file inclusion
behavior now matches the way C’s #include directive operates; it
has the disadvantage that it may break some current documents.
Conversion, however is simple but can be avoided altogether if
Yodl’s -L (--legacy-include) option is used.
noxlatin()
When used in the preamble, the LaTeX converter disables the
inclusion of the file xlatin1.tex. Normally this file gets
included in the LateX output files to ensure the conversion of
high ASCII characters (like e) to LaTeX-understandable codes.
(The file xlatin1.tex comes with the YODL distribution.)
nparagraph(title)
Starts a non-numbered paragraph (duh, corresponds to subpara‐
graph in latex).
npart(title)
Starts a part in a book document, but without numbering it and
without entering the title of the part in the table of contents.
In html attrib macro applies to the <h1> tag.
nsect(title)
Starts a section, but does not generate a number before the
title nor an entry in the table of contents. Further sectioning
commands are nsubsect, nsubsubsect and nsubsubsubsect. In html
attrib macro applies to the <h2> tag.
nsubsect(title)
Starts a non-numbered subsection. In html the attrib macro
applies to the <h3> tag.
nsubsubsect(title)
Starts a non-numbered sub-sub section. In html attrib macro
applies to the <p> tag.
nsubsubsect(title)
Starts a non-numbered sub-subsection.
paragraph(title)
Starts a paragraph. This level of sectioning is not numbered, in
contrast to `higher’ sectionings (duh, corresponds to subpara‐
graph in latex). In html attrib macro applies to the <p> tag.
part(title)
Starts a new part in a book document. In html attrib macro
applies to the <h1> tag.
pindex()
Generate an index entry for index p.
plainhtml(title)
Starts a document for only a plain HTML conversion. Not avail‐
able in other output formats. Similar to article, except that an
author- and date field are not needed.
printindex()
Make index for texinfo (?).
quote(text)
Sets the text as a quotation. Usually, the text is indented,
depending on the output format. In html attrib macro applies to
the <blockquote> tag.
rangle()
Inserts the right angle character (>).
redef(macro)(nrofargs)(redefinition)
Defines macro macro to expand to redefinition. Similar to def,
but any pre-existing definition is overruled. Use ARGx in the
redefinition part to indicate where the arguments should be
pasted. E.g., ARG1 places the first argument, ARG2 the second
argument, etc...
redefinemacro(macro)(nrofargs)(redefinition)
Defines macro macro to expand to redefinition. Similar to def,
but any pre-existing definition is overruled. Use ARGx in the
redefinition part to indicate where the arguments should be
pasted. E.g., ARG1 places the first argument, ARG2 the second
argument, etc... This commands is actually calling redef().
ref(labelname)
Sets the reference for labelname. Use label to define a label.
report(title)(author)(date)
Starts a report type document. The top-level sectioning command
in a report is chapter.
roffcmd(dotcmd)(sameline)(secondline)(thirdline)
Sets a t/nroff command that starts with a dot, on its own line.
The arguments are: dotcmd - the command itself, e.g., .IP; same‐
line - when not empty, set following the dotcmd on the same
line; secondline - when not empty, set on the next line; third‐
line - when not empty, set on the third line. Note that dotcmd
and thirdline are not further expanded by YODL, the other argu‐
ments are.
row(contents)
The argument contents may contain a man-page alignment specifi‐
cation (only one specification can be entered per row), using
setmanalign(). If omitted, the standard alignment is used. Fur‐
thermore it contains the contents of the elements of the row,
using cell() or cells() macros. If cells() is used, set‐
manalign() should have been used too. In this macro call only
the cell(), cells() and setmanalign() macros should be called.
Any other macro call may produce unexpected results.
The row macro defines a counter XXcellnr that can be inspected
and is incremented by predefined macros adding columns to a row.
The counter is initially 0. Predefined macros adding columns to
a row add the number of columns they add to the row inserting
the contents of those columns. These macros rely on the correct
value of this counter and any user-defined macros adding columns
to table rows should correctly update XXcellnr. In html attrib
macro applies to the <tr> tag.
rowline()
Sets a horizontal line over the full width of the table. See
also columnline(). Use rowline() instead of a row() macro call
to obtain a horizontal line-separator.
sc(text)
Set text in the tt (code) font, using small caps. In html the
attrib macro is not supported, while the code section is embed‐
ded in a <div style="font-size: 90%"> section.
sect(title)
Starts a new section. In html attrib macro applies to the <h2>
tag.
setaffilstring(name)
Defines name as the `affiliation information’ string, by default
AFFILIATION INFORMATION. E.g., after setaffilstring(AFILIACION),
YODL outputs this Spanish string to describe the affiliation
information. Currently, it is relevant only for txt.
setauthorstring(name)
Defines name as the `Author information’ string, by default
AUTHOR INFORMATION. E.g., after setauthorstring(AUTOR), YODL
outputs this portuguese string to describe the author informa‐
tion. Currently, it is relevant only for txt.
setchapterstring(name)
Defines name as the `chapter’ string, by default Chapter. E.g.,
after setchapterstring(Hoofdstuk), YODL gains some measure of
national language support for Dutch. Note that LaTeX support has
its own NLS, this macro doesn’t affect the way LaTeX output
looks.
setdatestring(name)
Defines name as the `date information’ string, by default DATE
INFORMATION. E.g., after setdatestring(DATA), YODL outputs this
portuguese string to describe the date information. Currently,
it is relevant only for txt.
setfigureext(name)
Defines the name as the `figure’ extension. The extension should
include the period, if used. E.g., use setfigureext(.ps) if the
extensions of the figure-images should end in .ps
setfigurestring(name)
Defines the name as the `figure’ text, used e.g. in figure cap‐
tions. E.g., after setfigurestring(Figuur), Yodl uses Dutch
names for figures.
sethtmlfigureext(ext)
Defines the filename extension for HTML figures, defaults to
.jpg. Note that a leading dot must be included in ext. The new
extension takes effect starting with the following usage of the
figure macro. It is only active in html, but otherwise acts
identically as setfigureext().
htmlmetacharset(meta-charset)
Adds <meta charset="meta-charset"> to the head of html docu‐
ments. By default <meta charset="UTF-8"> is used. This macro is
only active in the preamble and is only interpreted for html
conversions.
setincludepath(name)
Sets a new value of the include-path specification used when
opening .yo files. A warning is issued when the path specifica‐
tion does not include a .: element. Note that the local direc‐
tory may still be an element of the new include path, as the
local directory may be the only or the last element of the spec‐
ification. For these eventualities the new path specification is
not checked.
setlanguage(name)
Installs the headers specific to a language. The argument must
be the name of a language, whose headers have been set by a cor‐
responding languageXXX() call. For example: languagedutch(). The
language macros should set the names of the headers of the fol‐
lowing elements: table of contents, affiliation, author, chap‐
ter, date, figure, part and title
setlatexalign(alignment)
This macro defines the table alignment used when setting tables
in LaTeX. Use as many l (for left-alignment), r (for right
alignment), and c (for centered-alignment) characters as there
are columns in the table. See also table()setlatexfigureext(ext)
Defines the filename extension for encapsulated PostScript fig‐
ures in LaTeX, defaults to .ps. The dot must be included in t
new extension ext. The new extension takes effect starting with
a following usage of the figure macro. It is only active in
LaTeX, but otherwise acts identically as setfigureext().
setlatexverbchar(char)
Set the char used to quote LaTeX \verb sequences
setmanalign(alignment)
This macro defines the table alignment used when setting tables
used in man-pages (see tbl(1)). Use as many l (for left-align‐
ment), r (for right alignment), and c (for centered-alignment)
characters as there are columns in the table. Furthermore, s can
be used to indicate that the column to its left is combined
(spans into) the current column. Use this specification when
cells spanning multiple columns are defined. Each row in a table
which must be convertable to a manpage may contain a separate
setmanalign() call. Note that neither rowline nor columnline
requires setmanalign() specifications, as these macros define
rows by themselves. It is the responsibility of the author to
ensure that the number of alignment characters is equal to the
number of columns of the table.
setpartstring(name)
Defines name as the `part’ string, by default Part. E.g., after
setpartstring(Teil), Yodl identifies parts in the German way.
Note that LaTeX output does its own national language support;
this macro doesn’t affect the way LaTeX output looks.
setrofftab(x)
Sets the character separating items in a line of input data of a
roff (manpage) table. By default it is set to ~. This separator
is used internally, and needs only be changed (into some unique
character) if the table elements themselves contain ~ charac‐
ters.
setrofftableoptions(optionlist)
Set the options for tbl table, default: none. Multiple options
should be separated by blanks, by default no option is used.
From the tbl(1) manpage, the following options are selected for
consideration:
o center Centers the table (default is left-justified)
o expand Makes the table as wide as the current line length
o box Encloses the table in a box
o allbox Encloses each item of the table in a box Note that start‐
ing with Yodl V 2.00 no default option is used anymore. See
also setrofftab() which is used to set the character separating
items in a line of input data.
settitlestring(name)
Defines name as the `title information’ string, by default TITLE
INFORMATION. E.g., after settitlestring(TITEL), YODL outputs
this Dutch string to describe the title information. Currently,
it is relevant only for txt.
settocstring(name)
Defines name as the `table of contents’ string, by default Table
of Contents. E.g., after settocstring(Inhalt), YODL identifies
the table of contents in the German way. Note that LaTeX output
does its own national language support; this macro doesn’t
affect the way LaTeX output looks.
sgmlcommand(cmd)
Writes cmd to the output when converting to sgml. The cmd is not
further expanded by Yodl.
sgmltag(tag)(onoff)
Similar to htmltag, but used in the SGML converter.
sloppyhfuzz(points)
By default, LaTeX output contains commands that cause it to shut
up about hboxes that are less than 4pt overfull. When sloppyh‐
fuzz() appears before stating the document type, LaTeX com‐
plaints occur only if hboxes are overfull by more than points.
standardlayout()
Enables the default LaTeX layout. When this macro is absent,
then the first lines of paragraphs are not indented and the
space between paragraphs is somewhat larger. The standardlay‐
out() directive must appear before stating the document type as
article, report, etc..
startcenter()
DEPRECATED. Use center().
startdit()
DEPRECATED. Use description().
starteit()
DEPRECATED. Use enumeration().
startit()
DEPRECATED. Use itemization().
startmenu()
DEPRECATED. Use menu().
starttable()
DEPRECATED. Use table().
strong(contents)
In html and xml the contents are set between <strong> and
</strong> tags. In html attrib macro applies to the <strong>
tag.
subs(text)
Sets text in subscript in supporting formats. In html attrib
macro applies to the <sub> tag.
subsect(title)
Starts a new subsection. Other sectioning commands are subsub‐
sect and subsubsubsect. In html attrib macro applies to the
<h3> tag.
subsubsect(title)
Starts a sub-subsection. In html attrib macro applies to the
<h4> tag.
subsubsubsect(title)
Starts a sub-sub-sub-subsection. This level of sectioning is not
numbered, in contrast to `higher’ sectionings.
sups(text)
Sets text in superscript in supporting formats In html attrib
macro applies to the <sup> tag.
table(nColumns)(alignment)(Contents)
The table()-macro defines a table. Its first argument specifies
the number of columns in the table. Its second argument speci‐
fies the (standard) alignment of the information within the
cells as used by LaTeX or man/ms. Use l for left-alignment, c
for centered-alignment and r for right alignment. Its third
argument defines the contents of the table which are the rows,
each containing column-specifications and optionally man/ms
alignment definitions for this row.
See also the specialized setmanalign() macro.
tcell(text)
Roff helper to set a table textcell, i.e., a paragraph. For
LaTeX special table formatting p{} should be used.
telycommand(cmd)
Writes cmd to the output when converting to tely. The cmd is not
further expanded by Yodl.
TeX() The TeX symbol.
texinfocommand(cmd)
Writes cmd to the output when converting to texinfo. The cmd is
not further expanded by Yodl.
tindex()
Generate an index entry for index t.
titleclearpage()
Forces the generation of a clearpage() directive following the
title of a document. This is already the default in books and
reports, but can be overruled with notitleclearpage(). When
present, must appear in the preamble; i.e., before the document
type is stated with article, book or report.
tocclearpage()
With the LaTeX convertor, a clearpage() directive if inserted,
immediately following the document’s table of contents. This is
already the default in all but the article document type, but it
can be overruled by notocclearpage(). When present, it must
appear in the preamble; i.e., before the document type is stated
with article, book or report. With other convertors than the
LaTeX convertor, it is ignored.
tt(text)
Sets text in teletype font, and prevents it from being expanded.
For unbalanced parameter lists, use CHAR(40) to get ( and
CHAR(41) to get ). In html attrib macro applies to the <code>
tag.
txtcommand(cmd)
Writes cmd to the output when converting to txt. The cmd is not
further expanded by Yodl.
url(description)(locator)
In LaTeX documents the description is sent to the output. For
HTML, a link is created with the descriptive text description
and pointing to locator. The locator should be the full URL,
including service; e.g, http://www.icce.rug.nl, but excluding
the double quotes that are necessary in plain HTML. Use the
macro link to create links within the same document. For other
formats, something like description [locator] will appear. In
html attrib macro applies to the <a> tag.
verb(text)
Sets text in verbatim mode: not subject to macro expansion or
character table expansion. The text appears literally on the
output, usually in a teletype font (that depends on the output
format). This macro is for larger chunks, e.g., listings. For
unbalanced parameter lists, use CHAR(40) to get ( and CHAR(41)
to get ).
verbinclude(filename)
Reads filename and inserts it literally in the text, set in ver‐
batim mode. not subject to macro expansion. The text appears
literally on the output, usually in a teletype font (that
depends on the output format). This macro is an alternative to
verb(...), when the text to set in verbatim mode is better kept
in a separate file.
NOTE: Starting with Yodl version 3.00.0 Yodl’s default file
inclusion behavior has changed. The current working directory no
longer remains fixed at the directory in which Yodl is called,
but is volatile, changing to the directory in which a yodl-file
is located. This has the advantage that Yodl’s file inclusion
behavior now matches the way C’s #include directive operates; it
has the disadvantage that it may break some current documents.
Conversion, however is simple but can be avoided altogether if
Yodl’s -L (--legacy-include) option is used. In html attrib
macro applies to the <pre> tag.
verbpipe(command)(text)
Pipe text through command, but don’t expand the output.
vindex()
Generate an index entry for index v.
whenhtml(text)
Sends text to the output when in HTML conversion mode. The text
is further expanded if necessary.
whenlatex(text)
Sends text to the output when in LATEX conversion mode. The text
is further expanded if necessary.
whenman(text)
Sends text to the output when in MAN conversion mode. The text
is further expanded if necessary.
whenms(text)
Sends text to the output when in MS conversion mode. The text is
further expanded if necessary.
whensgml(text)
Sends text to the output when in SGML conversion mode. The text
is further expanded if necessary.
whentely(text)
Sends text to the output when in TELY conversion mode. The text
is further expanded if necessary.
whentexinfo(text)
Sends text to the output when in TEXINFO conversion mode. The
text is further expanded if necessary.
whentxt(text)
Sends text to the output when in TXT conversion mode. The text
is further expanded if necessary.
whenxml(text)
Sends text to the output when in XML conversion mode. The text
is further expanded if necessary.
xit(itemname)
Starts an xml menu item where the file to which the menu refers
to is the argument of the xit() macro. It should be used as
argument to xmlmenu(), which has a 3rd argument: the default
path prefixed to the xit() elements.
This macro is only available within the xml-conversion mode. The
argument must be a full filename, including .xml extension, if
applicable.
No .xml extension indicates a subdirectory, containing another
sub-menu.
xmlcommand(cmd)
Writes cmd to the output when converting to xml. The cmd is not
further expanded by Yodl.
xmlmenu(order)(title)(menulist)
Starts an xmlmenu. Use itemization() to define the items. Only
available in xml conversion. The menutitle appears in the menu
as the heading of the menu. The menulist is a series of xit()
elements, containing the name of the file to which the menu
refers as their argument (including a final /). Prefixed to
evert every xit()-element is the value of XXdocumentbase.
Order is the the `order’ of the menu. If omitted, no order is
defined.
xmlnewfile()
In XML output, starts a new file. All other formats are not
affected. Note that you must take your own provisions to access
the new file; say via links. Also, it’s safe to start a new
file just befoore opening a new section, since sections are
accessible from the clickable table of contents. The XML con‐
verter normally only starts new files prior to a chapter defini‐
tion.
xmlsetdocumentbase(name)
Defines name as the XML document base. No default. Only inter‐
preted with xml conversions. It is used with the figure and xml‐
menu macros.
xmltag(tag)(onoff)
Similar to htmltag, but used in the XML converter.
OPTIONS
No options are relevant in respect to the macros.
FILES
The files in tmp/wip/macros define the converter’s macro packages. The
scripts yodl2tex, yodl2html, yodl2man etc. perform the conversions.
SEE ALSOyodlstriproff(1), yodl(1), yodlbuiltins(7), yodlconverters(1), yodllet‐
ter(7), yodlmanpage(7), yodlpost(1), yodlverbinsert(1).
BUGS-
AUTHOR
Frank B. Brokken (f.b.brokken@rug.nl),
yodl_3.05.01.tar.gz 1996-2015 Yodl macros(7)