The following list shows all macros of the package in alphabetical order.
abstract(text)
article
or report
macro.
addntosymbol(symbol)(n)(text)
text
n
times to symbol
. The value n
may also be the name
of a defined counter (which is not modified).
affiliation(site)
article
,
report
or book
. The affiliation is only printed when the author field
is not empty. When converting to html the way the affiliation is displayed can
be tuned using CSS id selector specifications. The affiliation has
id="affiliation"
.
AfourEnlarged()
appendix()
article(title)(author)(date)
(n)sect
. In HTML
conversions only one output file is written, while the way the headings are
displayed can be tuned using CSS id selector specifications: the title has
id="title"
, the author id="author"
, and the date id="date"
.)
attrib(text)
text
as an attribute for the next html tag supporting
attrib
. E.g, to set a blue color and 30 pixel left-hand side margin for a
section use
attrib(style="color:blue;margin-left:30px;")\ sect(Section name)This results in the html markup
<h1 style="color:blue;margin-left:30px;">Section name</h1>This macro is only effective with html conversions. It is applied in a stack-wise fasion: when multiple
attrib
calls are used, then the topmost
attrib-string is added to the first macro calling the
attribinsert
macro, with subsequent macros using subsequent elements on
the attrib-stack.
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).
Example: when using
attrib(width = "100" height = "100") attrib(id = "#fig") figure(imgfile)(Caption)(IMG)then the
#id
attribute is applied to <figure>
, and the width
and height
attributes are applied to <img>
, which html markup is
inserted by the figure
macro.
The attrib
macro is supported by the following predefined macros (between
parentheses the number of attribute strings that are inserted by these macros;
if only 1 attribute string is inserted no number is shown):
bf cell cells center chapter code dashes dit em figure(3) 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 tableatt tbl tac tc tnac tnc tr tt ttbegin url
verb verborg verbinclude
.
attribclear()
attribinsert()
bf(text)
text
in boldface.
bind(text)
book(title)(author)(date)
(n)chapter
,
(n)part
being optional. In HTML output files are created for each
chapter, while the way the headings are displayed can be tuned using
CSS id selector specifications: the title has id="title"
, the author
id="author"
, and the date id="date"
.)
cell(contents)
cell()
macro calls are merged into a single blank
character.
Instead of using cell
in table
, consider using tc
in tbl
.
cells(nColumns)(contents)
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: center"
is ignored
(but it can optionally be specified using the attrib
macro).
Instead of using cells
in table
, consider using tnc
in tbl
.
cellsline(from)(count)
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.
Instead of using cellsline
in table
, consider using tline
in
tbl
.
center(text)
text
. Use nl()
in the text to break lines. In html the
attrib
macro is not supported, but a division (div
) with style
definition text-align: center
is used. To center a table in html use
the tableatt
macro. If a table
or tableatt
macro is used inside a
center
macro then the contents of columns are column-wise centered.
Inside a center(...)
context the counter XXcenter
is unequal 0.
chapter(title)
cindex()
[fptv]index
macro.
cite(text)
text
as a citation or quotation
clearpage()
code(text)
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)(through)
columnline
defines a row by itself, consisting of just a horizontal line spanning some of
its columns, rather than the table's full width, like rowline
. The two
arguments represent column numbers. It is the responsibility of the author to
make sure that the from
and through
values are sensible. I.e.,
1 <= from <= through <= ncolumnsTo set a horizontal line in just one column select
through
equal to
from
.
Note: this macro cannot be used if multiple lines must be set in one
row. In those cases the macros tline, tskip
, and tendline
should be
used.
Instead of using columnline
in table
, consider using tline
in
tbl
.
dashes()
In html the attrib
macro is recognized by the <code>
tag that is used
to embed the two dashes.
def(macroname)(nrofargs)(redefinition)
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)
list
as a description list. Use dit(item)
to
indicate items in the list.
dit(itemname)
itemname
in a description list. The list should be
used in description
macros. With html
conversions 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()
eit
macro should be used as
an argument in enumeration
macros.
ellipsis()
em(text)
text
as emphasized, usually italics.
email(address)
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
.
enumeration(list)
enumeration()
starts an enumerated list. Use eit()
in the list to
indicate items in the list.
euro()
evalsymbol(symbol)(expression)
sym
is a defined symbol, then
evalsymbol(sym)(SUBSTR(hello world)(3)(2))assigns the value
lo
to sym
.
fig(label)
figure ref(label)
and just makes the typing
shorter, as in see fig(schematic) for ..
See getfigurestring()
and
setfigurestring()
for the figure
text.
figure(file)(caption)(label)
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 corresponding 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.
When converting to html, this macro uses three attribute-strings (if
available). The string pushed first using an attrib-call defines the
attributes for its <figcaption>
html-markup; the string pushed next defines
the attributes for its <img>
html-markup; the string pushed last defines
the attributes for its <figure>
html-markup. The figure
macro's html
output is organized like this:
<figure -attrib-string pushed last (if any)> <img ... -attrib-string pushed last but one> <figcaption -attrib-string pushed 2nd to last> ... </figcaption> </figure>Starting with Yodl 3.07.00 no
alt="Figure # is shown here..."
attribute is
defined anymore for the img
markup: an alt
-attribute can easily be
defined at the last attrib-call, using getfigurestring()
to obtain
Figure
or its language-specific translation, and
COUNTERVALUE(XXfigurecounter)
to obtain the order-number of the figure
shown in the next figure
-macro call.
file(text)
text
as filename, usually boldface.
In html attrib
macro applies to the <strong>
tag.
findex()
[cptv]index
macro.
footnote(text)
text
as a footnote, or between parentheses when the output format
does not allow footnotes.
gagmacrowarning(name name ...)
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: gagmacrowarning(file)
. Calls
NOUSERMACRO
.
getaffilstring()
setaffilstring()
. Currently, it is relevant only for txt.
getauthorstring()
setauthorstring()
. Currently, it is relevant only for txt.
getchapterstring()
setchapterstring()
.
getdatestring()
setdatestring()
. Currently, it is relevant only for txt.
getfigurestring()
fig()
macro. The string can be redefined using the setfiguretext()
macro.
getpartstring()
setpartstring()
.
gettitlestring()
settitlestring()
. Currently, it is relevant only for txt.
gettocstring()
settocstring()
.
htmlcommand(cmd)
cmd
to the output when converting to html. The cmd
is not
further expanded by Yodl.
htmlheadfile(file)
file
to the head
section of an HTML
document. The contents of file are not interpreted and should contain plain
html text. This option can be useful when large bodies 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)
option
to the current information in the head
section of an HTML document. Option
may (or: should) contain 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()
chapter
definition.
htmlstyle(tag)(definition)
<style type="text/css"> ... </style>
element to the head section
of an HTML document.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) specifyinghtmlstyle(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 htmlstylesheet
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 available).
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)
<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
interpreted for html conversions.
htmltag(tagname)(start)
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)
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 prevent outputting multiple blank lines.
includefile(file)
file
. The default
extension .yo
is supplied if necessary.
Since 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. The originally implemented file inclusion behavior is used when
Yodl's -L
(--legacy-include
) option is used.
includeverbatim(file)
file
into the output. No processing is done, file
should
be in preformatted form, e.g.: whenhtml(includeverbatim(foo.html))
it()
it
macros are
arguments of itemization
macros.
itdesc(itemname)(contents)
itemname
, the contents of the item is defined by contents
. 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)
list
as an itemizationd list. Use it()
to indicate items in the
list.
kindex()
[cfptv]vindex
macro.
label(labelname)
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()
languagedutch()
languageenglish()
languageportugese()
LaTeX()
latexaddlayout(arg)
latexlayoutcmds()
latexcommand(cmd)
cmd
plus a white space to the output when converting to LaTeX. The
cmd
is not further expanded by Yodl.
latexdocumentclass(class)
\documentclass{...}
setting to class
. Normally the class is
defined by the macros article
, report
or book
. This macro
is an escape route in case 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)
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)
documentclass[options]
.
This command must appear before the document type is
stated by article
, report
, etc..
latexpackage(options)(name)
epsf
. This command must appear before the document type is
stated by article
, report
, etc..
lchapter(label)(title)
letter(language)(date)(subject)(opening)(salutation)(author)
latexoptions(11pt)
a4enlarged()
letterreplyto(name)(address)(postalcode/city)
letterfootitem(phone)(number)
, maybe e-mail too.
letteradmin(yourdate)(yourref)
letterto(addressitem)
. Use a separate letterto()
macro call
for each new line of the address.
letteraddenda(type)(value)
letteradmin(yourdate)(yourref)
letterfootitem(name)(value)
letterreplyto(name)(address)(zip city)
letterto(element)
link(description)(labelname)
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)
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 description
and the
label value appears.
lsect(label)(title)
attrib
macro applies to the <h2>
tag.
lsubsect(label)(title)
subsubsect
and subsubsubsect
. A label is added just before the
subsection.
In html attrib
macro applies to the <h3>
tag.
lsubsubsect(label)(title)
attrib
macro applies to the <h4>
tag.
lsubsubsubsect(label)(title)
lurl(locator)
mailto(address)
mailto
address for HTML output. Must appear
before the document type is stated by article
, report
, etc..
makeindex()
mancommand(cmd)
cmd
to the output when converting to man. The cmd
is not
further expanded by Yodl.
manpage(title)(section)(date)(source)(manual)
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
, manpageoptions
, manpagefiles
,
manpageseealso
, manpagediagnostics
, manpagebugs
,
manpageauthor
. Optional extra sections can be added with
manpagesection
. Standard manpageframes for several manpagesections
are provided in /usr/local/share/yodl/manframes
. YODL manual pages can be
converted to groff, html
, or plain ascii text formats.
manpageauthor()
manpage
document. Must be the last section
of a manpage
.
manpagebugs()
manpage
document.
manpagedescription()
manpage
document.
manpagediagnostics()
manpage
document.
manpagefiles()
manpage
document.
manpagename(name)(short description)
manpage
document. The short description is
used by, e.g., the whatis
database.
manpageoptions()
manpage
document.
manpagesection(SECTIONNAME)
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 consistent with the normal typesetting of
manual pages.
manpageseealso()
manpage
document.
manpagesynopsis()
manpage
document.
manttquoted(onOff)
manttquoted(1)
, and
is suppressed after calling manttquoted(0)
. The macro is only active when
converting to man.
mbox()
metaC(text)
metaCOMMENT(text)
mscommand(cmd)
cmd
to the output when converting to ms. The cmd
is not
further expanded by Yodl.
nbsp(count)
count
`non-breaking space' characters into the generated output;
i.e., the space character is not optimized away. If the argument list is empty
one non-breaking space is inserted.
nchapter(title)
book
or report
) without generating a
number before the title and without placing an entry for the chapter in
the table of contents.
In html attrib
macro applies to the <h1>
tag.
nemail(name)(address)
nl()
nodeprefix(text)
nodeprefix(LilyPond) sect(Overview)Currently used in texinfo descriptions only.
nodeprefix(text)
nodeprefix(LilyPond) sect(Overview)Currently used in texinfo descriptions only.
nodetext(text)
nodetext(The GNU Music Typesetter)chapter(LilyPond)Currently used in texinfo descriptions only.
nohtmlfive()
<!DOCTYPE html>
to generated html
files; it is only active in the preamble and is only interpreted for
html conversions.
nohtmlimgstyle()
(<style type="text/css" img {vertical-align: bottom;}></style>)
img
CSS style specification. This macro is
only active in the preamble and is only interpreted for html conversions.
nop(text)
nosloppyhfuzz()
nosloppyhfuzz()
appears
before stating the document type, LaTeX complaints are `vanilla'.
notableofcontents()
manpage
and plainhtml
documents. When present, this option must
appear before stating the document type with article
, report
etc..
notitleclearpage()
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()
clearpage()
instruction is inserted
immediately beyond the document's table of contents. The clearpage()
instruction is default in all but the article
document type. When present,
must appear before stating the document type with article
, book
or
report
. With other converters than the LaTeX converter, it is ignored.
notransinclude(filename)
noxlatin()
xlatin1.tex
. Normally this file gets included in the LateX output
files to ensure the conversion of high ASCII characters (like é) to
LaTeX-understandable codes. (The file xlatin1.tex
comes with the YODL
distribution.)
nparagraph(title)
npart(title)
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)
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)
attrib
macro applies to
the <h3>
tag.
nsubsubsect(title)
attrib
macro applies to the <p>
tag.
nsubsubsect(title)
paragraph(title)
attrib
macro applies to the <p>
tag.
part(title)
book
document.
In html attrib
macro applies to the <h1>
tag.
pindex()
[cftv]index
macro.
plainhtml(title)
article
, except that an author- and
date field are not needed.
printindex()
quote(text)
attrib
macro is recognized by the
<blockquote>
tag.
rangle()
redef(macro)(nrofargs)(redefinition)
macro
to expand to redefinition
.
Similar to def
, but any pre-existing definition is overruled. Use
ARG
x 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)
macro
to expand to redefinition
.
Similar to def
, but any pre-existing definition is overruled. Use
ARG
x 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)
labelname
. Use label
to define a label.
report(title)(author)(date)
chapter
. In html the way the headings are displayed can be tuned using
CSS id selector specifications: the title has id="title"
, the author
id="author"
, and the date id="date"
.
roffcmd(dotcmd)(sameline)(secondline)(thirdline)
dotcmd
- the command itself, e.g., .IP
; sameline
-
when not empty, sameline
is set on the same line, following the
dotcmd
; secondline
- when not empty, is set on the next line;
thirdline
- when not empty, is set on the third line. Note: dotcmd
and
thirdline
are not further expanded by YODL, the other arguments are.
row(contents)
contents
may contain a man-page alignment specification
(only one specification can be entered per row), using setmanalign()
. If
omitted, the standard alignment is used. Furthermore it contains the contents
of the elements of the row, using cell()
or cells()
macros. If
cells()
is used, setmanalign()
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 XXcol
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 XXcol
.
In html attrib
macro applies to the <tr>
tag.
Instead of using row
in table
, consider using tr
in tbl
.
rowline()
columnline
macro. Use rowline
instead of a row
macro call to
provide a table with a horizontal line-separator.
Instead of using rowline
consider using tline
in a tbl
argument.
sc(text)
text
in the tt (code) font, using small caps.
In html the attrib
macro is not supported, while the code
section is embedded in a <div style="font-size: 90%">
section.
sect(title)
attrib
macro is recognized by the
<h2>
tag.
setaffilstring(name)
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)
name
as the `Author information' string, by default
AUTHOR INFORMATION. E.g., after setauthorstring(AUTOR)
,
YODL outputs this portuguese string to describe the author information.
Currently, it is relevant only for txt.
setchapterstring(name)
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)
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)
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)
name
as the `figure' text, used e.g. in figure captions. E.g.,
after setfigurestring(Figuur)
, Yodl uses Dutch names for figures.
sethtmlfigureext(ext)
.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().
See also the setlatexfigureext
macro.
htmlmetacharset(meta-charset)
<meta charset="meta-charset">
to the head of html documents. 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)
setlanguage(name)
setlatexalign(alignment)
l
(for left-alignment), r
(for right alignment), and c
(for centered-alignment) characters as there are columns in the table. See
also table()
.
Instead of using the table
macro consider using the tbl
macro.
setlatexfigureext(ext)
.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().
See also the sethtmlfigureext
macro.
setlatexverbchar(char)
\verb
sequences
setmanalign(alignment)
table
macro, and is used when setting tables in man-pages (see tbl(1)).
Use as many l
(for left-alignment), r
(for right alignment), and c
(for centered-alignment) characters as there are columns in the
table.
Use s
to indicate that the column to its left is combined (spans into) the
current column. Use this specification when cells spanning multiple columns
must be defined.
Each row in a table which must be convertible to a manpage may be preceded by
its own 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.
Instead of using the table
macro consider using the tbl
macro.
setpartstring(name)
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)
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 ~
characters.
This macro can be used in the context of the table
and tbl
macros.
setrofftableoptions(optionlist)
tbl
and table
macros. By default no options are used. Multiple options should be separated
by blanks. From the tbl(1) manpage, the following options are available:
center
Centers the table; default is left-justified. In the
context of the tbl
macro this is implied when the tbl
macro is
specified as argument of the center
macro.
expand
Makes the table as wide as the current line length
box
Encloses the table in a box
allbox
Encloses each item of the table in a box
See also setrofftab
which is used to set the character separating
items in a line of input data.
settitlestring(name)
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)
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)
cmd
to the output when converting to sgml. The cmd
is not
further expanded by Yodl.
sgmltag(tag)(onoff)
htmltag
, but used in the SGML converter.
sloppyhfuzz(points)
sloppyhfuzz()
appears
before stating the document type, LaTeX complaints occur only if hboxes are
overfull by more than points
.
standardlayout()
standardlayout()
directive must appear
before stating the document type as article
, report
, etc..
strong(contents)
contents
are set between <strong>
and
</strong>
tags.
In html attrib
macro applies to the <strong>
tag.
subs(text)
attrib
macro is recognized by the <sub>
tag.
For superscripting, the sups
macro can be used.
subsect(title)
subsubsect
and subsubsubsect
.
In html attrib
macro applies to the <h3>
tag.
subsubsect(title)
attrib
macro applies to the <h4>
tag.
subsubsubsect(title)
sups(text)
attrib
macro is recognized by the <sup>
tag.
For subscripting, the subs
macro can be used.
table(nColumns)(alignment)(Contents)
table
macro, consider using the tbl
macro.
The table()
-macro defines a table. Its first argument specifies the number
of columns in the table.
Its second argument specifies 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 tableatt
macro and the specialized setmanalign()
macro.
tableatt(nColumns)(alignment)(Contents)
tableatt
macro, consider using the tbl
macro.
The tableatt()
-macro defines a table. The last attrib
call that was
specified before using the tableatt()
-macro is used to specify html
attributes for the table. E.g., to center a table in html use
attrib(style="margin-left:auto;margin-right:auto;") tableatt(...)The macro's first argument specifies the number of columns in the table. Its second argument specifies 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 table
macro and the specialized setmanalign()
macro.
tac(alignment)(contents)
tbl
macro. Alternatively, tc,
tnc
, and tnac
can be used.
The tac
macro is used as argument of the tr
macro. The cell's
alignment is defined by the alignment
specification, containing at most
two alignment specifications: a horizontal alignment (one of c, l, r
(centered, left-aligned, right-aligned)) and a vertical alignment (one of t, b
(vertical top- and bottom-alignment)) (not all conversion types may support
all alignment types, e.g., man-conversion does not support vertical bottom
alignment). Specifications other than c, l, r, b, and t and specifications
beyond the second one are ignored. The result of specifying conflicting
alignment types (e.g., lr
or tb
) is not defined.
When converting to man
, if the table's contents should span multiple rows,
then a groff/troff(1) text block must be used. Since most tables do
not use this, a text block is not generated by default. To actually wrap the
contents of column elements in a text block while converting to man
prefix
the first text block requiring a text-block wrapping by twrap(1)
, and end
the last text block requiring a text-block wrapping by wrap(0)
.
The tao
macro can be used to overrule the specified alignment for a
specific conversion type.
The macro tac
recognizes attrib
.
tao(type)(specification)
tbl
macro to override the alignment
specification that would otherwise be used for the next table element. It is
only active for the next tc, tnc, tac,
or tnac
call. Its first
argument defines the conversion type for which the override should be used,
its second argument defines the alignment specification to use.
Here are some examples:
tbl(lr)( tr( tc(left aligned) tc(right aligned) ) tr( tao(html)(c) tc(left aligned, centered with html) tao(latex)(l) tao(man)(l) tac(c)(centered, latex and man: left aligned) ) )
Further details about the tao
macro are provided in the yodltables(7)
man-page.
tbl(align)(contents)
tbl
macro refines the more basic table
macro. It was named after
the tbl(1) table formatting program used with troff(1) documents.
The tbl
macro currently is available for html, man/ms, latex
and
txt
conversions.
Its first argument defines the alignment of the information in the table's
columns, and is used by all conversions except txt
. Use l
for
left-alignment, c
for centered-alignment and r
for
right-alignment. Individual cells of the table may override these default
settings using the macros tac
and tnac
.
Its second argument defines the contents of the table consisting of rows
(using tr
), and horizontal lines (using tline
), which may extend over
the full table width or may cover one or more individual columns. With txt
conversion rough approximations of horizontal lines are used.
Tables defined by the tbl
macro are centered (pseudo centering (8 space
characters) is used for txt
conversion) when used as argument of the
center
macro.
See also the tao
macro for information about how to realize specific
alignments for specific conversion types.
When defining tbl
tables it is advised to clearly layout the table
specification. To avoid inadvertently introducing new lines lines should end
in a backslash (or
The macro tbl
recognizes attrib
.
tc(contents)
tbl
macro. Alternatively,
tnc, tac
, and tnac
can be used.
The tc
macro is used as argument of the tr
macro. Its order within a
row defines its type attribute, using the alignment specification defined by
the first argument of the tbl
call. E.g., if tbl(clr)(...)
was used,
then the contents of the first tc
call in a tr
is centered in the
table's first column; the contents of the second tc
call is left-aligned
in the table's second column; and the contents of the third tc
call is
right-aligned in the table's third column.
When converting to man
, if the table's contents should span multiple rows,
then a groff/troff(1) text block must be used. Since most tables do
not use this, a text block is not generated by default. To actually wrap the
contents of column elements in a text block while converting to man
prefix
the first text block requiring a text-block wrapping by twrap(1)
, and end
the last text block requiring a text-block wrapping by wrap(0)
.
The tao
macro can be used to overrule the default alignment specification
for a specific conversion type.
The macro tc
recognizes attrib
.
tcell(text)
When using the tbl
macro for defining tables the twrap
macro can be
used to set table elements in text-blocks (i.e., enclosing text, possibly
containing newlines in T{
and T}
sequences).
telycommand(cmd)
cmd
to the output when converting to tely. The cmd
is not
further expanded by Yodl.
TeX()
texinfocommand(cmd)
cmd
to the output when converting to texinfo. The cmd
is not
further expanded by Yodl.
tindex()
[cfpv]index
macro.
titleclearpage()
clearpage
) following the title of a
document. This is already the default in books and reports, but can be
overruled using notitleclearpage
. When present, it must appear in the
preamble, i.e., before the document type is stated as article, book or
report.
tline(beginNr)(endNr)
tbl
macro.
If endNr
is not specified, and the tline
call does not follow a
previous line
call in which endNr
was specified, then a horizontal
line spanning the full width of the table is defined (except when converting
to plain text in which case a line of beginNr
- (minus) characters is
written; if beginNr
is not specified then a line of 60 - characters is
written).
If endNr
is not specified, but the tline
call follows previous tline
calls that did specify endNr
then the current row is ended.
If endNr
is specified, then a horizontal line is set, starting at column
number beginNr
continuing through column number endNr
. Note that these
are numbers, not offsets: beginNr
should be at least 1, endNr
must at least be equal to beginNr
and should be at most equal to the
number of columns in the table. The beginNr
values of subsequent tline
calls refer to the same row as the first tline
call, and must exceed
endNr
of the previous tline
call.
Examples:
tline()() sets a line spanning the full table width tline(1)(1) sets a line in column 1 tline(3)(4) sets another line in column 3 and 4 tline()() ends the previous line tline()() sets a line spanning the full table width
tnac(nCells)(alignment)(contents)
tbl
macro. Alternatively, tc,
tac
, and tnc
can be used.
The tnac
macro is used as argument of the tr
macro. Its first argument
defines the number of columns spanned by the contents (2nd argument)
of the tnc
macro.
The cell's alignment is defined by the macro's second (alignment
)
specification, containing at most two alignment specifications: a horizontal
alignment (one of c, l, r (centered, left-aligned, right-aligned)) and a
vertical alignment (one of t, b (vertical top- and bottom-alignment)) (not all
conversion types may support all alignment types). Specifications other than
c, l, r, b, and t and specifications beyond the second one are ignored. The
result of specifying conflicting alignment types (e.g., lr
or tb
) is
not defined.
When converting to man
, if the table's contents should span multiple rows,
then a groff/troff(1) text block must be used. Since most tables do
not use this, a text block is not generated by default. To actually wrap the
contents of column elements in a text block while converting to man
prefix
the first text block requiring a text-block wrapping by twrap(1)
, and end
the last text block requiring a text-block wrapping by wrap(0)
. Multiple
rows in a text block are top-aligned with left and righ neighboring cells.
The tao
macro can be used to overrule the default alignment specification
for a specific conversion type.
The macro tnac
recognizes attrib
.
tnc(nCells)(contents)
tbl
macro. Alternatively, tc, tac
, and tnac
can be used.
The tnc
macro is used as argument to the tr
macro. Its first argument
defines the number of columns spanned by the contents (2nd argument)
of the tnc
macro. The contents are centered in the nCells
columns.
When converting to man
, if the table's contents should span multiple rows,
then a groff/troff(1) text block must be used. Since most tables do
not use this, a text block is not generated by default. To actually wrap the
contents of column elements in a text block while converting to man
prefix
the first text block requiring a text-block wrapping by twrap(1)
, and end
the last text block requiring a text-block wrapping by wrap(0)
. Multiple
rows in a text block are top-aligned with left and righ neighboring cells.
The tao
macro can be used to overrule the default alignment specification
for a specific conversion type.
The macro tc
recognizes attrib
.
tocclearpage()
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 converters than the LaTeX converter, it is ignored.
tr(contents)
tbl
macro.
The macro tr
expects one argument: the contents of the row, defining the
row's column elements. It is not used for defining a (partial) horizontal
line: to set horizontal lines in a table defined by the tbl
macro use the
macro tline
.
Normally the contents of the columns in a (tr
) row is defined by
of one or more calls to the macros tc, tac, tnc,
and/or tnac
.
The macro tr
recognizes attrib
.
tt(text)
text
in teletype font, and prevents it from being expanded.
When converting to man, text
is surrounded by a backtick and a single
quote character.
For unbalanced parameter lists, use CHAR(40)
to get
(
and CHAR(41)
to get )
.
The tt
macro does interpret character tables as well as any SUBST
definitions. This is usually what is intended. In situations where this is
unwelcome the ttbegin
and ttend
pair of macros can be used, between
which the builtin commands PUSHSUBST, POPSUBST, NOEXPAND
and/or
NOTRANS
can be used. E.g., to clearly show two hyphens in LaTeX
teletype font use
ttbegin()--ttend()rather than
tt(--)Likewise, use
ttbegin
and ttend
if the teletype text contains
accented letters like ë. To set this in teletype font use
ttbegin()\"
e+ttend()
.
With html conversions the attrib
macro applies to the <code>
tag.
With man conversions the arguments of tt macros can be quoted. See the
manttquoted
macro for details.
ttbegin()
ttend()
macro should be called.
Usually the tt
macro can be used instead of the ttbegin
--
ttend
combination. However, tt
interprets character tables as well as
SUBST
definitions. In situations where this is unwelcome the ttbegin
and ttend
pair of macros can be used, between which builtin commands like
PUSHSUBST, POPSUBST, NOEXPAND
and/or NOTRANS
can be used.
In html the attrib
macro applies to the <code>
tag.
ttend()
ttbegin
. Refer to the
ttbegin
macro's description for details.
twrap(value)
tc, tnc, tac
, and tnac
macros then their contents are
wrapped in text blocks (T{ ... T}
blocks). To end the wrapping
twrap(0)
must be called. E.g., in the following row-definition the
contents of columns three and four are set in T-blocks when converting to
man/ms:
tr(tc(one)tc(two)twrap(1)tc(one)tc(two)twrap(0))
txtcommand(cmd)
cmd
to the output when converting to txt. The cmd
is not
further expanded by Yodl.
url(description)(locator)
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)
text
in verbatim mode: not subject to macro expansion or character
table expansion, and starting with Yodl version 4.00.00: not using SUBST
definitions. See also verborg
, which does not provide the protection
against SUBST
definitions.
While converting Yodl-documents to target document types Yodl frequently uses
the (not further documented) builtin function XXSUBST
. In the
unlikely event that the text XXSUBST(...)
must be written
in a document, the sequence
XXSUBST+CHAR(40)...CHAR(41)can be used.
The text that is passed as argument to the verb
-macro 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.
When unbalanced parameter lists are required, use CHAR(40)
to get
(
and CHAR(41)
to get )
.
verbinclude(filename)
verb(...)
, when the text to set in verbatim mode is
better kept in a separate file.
verbinsert(args)
args
to yodlverbinsert(1), inserting its output into the
converted file. This macro can be used to insert, e.g., a line-numbered
indented file, or a labeled subsection of a file, into the file that's
currently being written by yodl
. E.g,
verbinsert(-ans4 file) -- inserts file, showing line numbers, using a 4 blank-space character wide indentation. verbinsert(-ns4 //SECT file) -- inserts the section of file, labeled //SECT file, showing line numbers, using a 4 blank-space character wide indentation.
verborg(text)
text
in verbatim mode: not subject to macro expansion or character
table expansion, and starting with Yodl version 4.00.00: this macro replaces
the previosly defined verb
macro. The current verb
macro surrounds
this macro by PUSHSUBST
and POPSUBST
.
The text that is passed as argument to the verborg
-macro appears
literally on the output, albeit that SUBST
definitions are processed,
usually in a teletype font (that depends on the
output format). This macro is for larger chunks, e.g., listings.
When unbalanced parameter lists are required, use CHAR(40)
to get
(
and CHAR(41)
to get )
.
verbpipe(command)(text)
vindex()
[cfkpt]index
macro.
whenhtml(text)
text
to the output when in HTML conversion mode. The text is
further expanded if necessary.
whenlatex(text)
text
to the output when in LATEX conversion mode. The text is
further expanded if necessary.
whenman(text)
text
to the output when in MAN conversion mode. The text is
further expanded if necessary.
whenms(text)
text
to the output when in MS conversion mode. The text is
further expanded if necessary.
whensgml(text)
text
to the output when in SGML conversion mode. The text is
further expanded if necessary.
whentely(text)
text
to the output when in TELY conversion mode. The text is
further expanded if necessary.
whentexinfo(text)
text
to the output when in TEXINFO conversion mode. The text is
further expanded if necessary.
whentxt(text)
text
to the output when in TXT conversion mode. The text is
further expanded if necessary.
whenxml(text)
text
to the output when in XML conversion mode. The text is
further expanded if necessary.
xit(itemname)
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)
cmd
to the output when converting to xml. The cmd
is not
further expanded by Yodl.
xmlmenu(order)(title)(menulist)
Order is the the `order' of the menu. If omitted, no order is defined.
xmlnewfile()
chapter
definition.
xmlsetdocumentbase(name)
name
as the XML document base. No default.
Only interpreted with xml conversions. It is used with the figure and xmlmenu
macros.
xmltag(tag)(onoff)
htmltag
, but used in the XML converter.
yodl(1), yodlbuiltins(7), yodlconverters(1), yodlletter(7), yodlmanpage(7), yodlpost(1), yodlstriproff(1), yodltables(7), yodlverbinsert(1).
-
Frank B. Brokken (f.b.brokken@rug.nl),