 |
|
| |
Yodl macros(7) |
Your Own Document Language |
Yodl macros(7) |
yodlmacros - Macros for the Yodl converters
This manual page lists the standard macros of the Yodl
package.
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, 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. This affects the (l)includefile, includeverbatim,
notransinclude and verbinclude 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. When converting to html the way the affiliation
is displayed can be tuned using CSS id selector specifications. The
affiliation has id="affiliation".
- 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, 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)
- In html, pushes 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 tt ttbegin url
verb verborg verbinclude.
- attribclear()
- Removes any existing contents from the attrib-stack. This macro is only
active when converting to html
- attribinsert()
- In html, if the attrib-stack is not empty, inserts the value on top of the
attrib-stack and then pops the topmost value. If the attrib-stack is
empty, nothing happens.
- 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, 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)
- 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:
center" 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, 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.
- chapter(title)
- Starts a new chapter in books or
reports.
- cindex()
- Generate an index entry for LaTex() or texinfo c-indices. Its argument is
the index entry. See also the [fptv]index
macro.
- 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 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
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.
- dashes()
- Inserts two 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 ).
- The tt macro interprets character tables as well
as SUBST definitions. This is usually what is
intended. In situations where tt performs
unwelcome transformations, use the pair of ttbegin
and ttend macros.
- In html the attrib macro applies to the
<code> tag.
- 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 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()
- Indicates an item in an enumerated list. The eit
macro should be used as an argument in enumeration
macros.
- 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.
- 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 getfigurestring()
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
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)
- Sets text as filename, usually boldface. In html
attrib macro applies to the
<strong> tag.
- findex()
- Generate an index entry for LaTex() or texinfo f-indices. Its argument is
the index entry. See also the [cptv]index
macro.
- 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: gagmacrowarning(file). Calls
NOUSERMACRO.
- getaffilstring()
- Expands to the string that defines the name of Affiliation
Information, by default AFFILIATION INFORMATION. Can be
redefined for national language support by
setaffilstring(). Currently, it is relevant only
for txt.
- getauthorstring()
- Expands to the string that defines the name of Author Information,
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 language
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 setfiguretext() macro.
- getpartstring()
- Expands to the string that defines a `part’ entry, by default
Part. Can be redefined for national language support by
setpartstring().
- gettitlestring()
- Expands to the string that defines the name of Title Information,
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 contents, by
default Table of Contents. Can be redefined for national language
support by settocstring().
- 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 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)
- Adds the literal text 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()
- 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 converter normally only starts new files prior to a
chapter definition.
- 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 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)
- 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 interpreted 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 prevent the
output of multiple blank lines.
- includefile(file)
- Includes file. The default extension
.yo is supplied if necessary.
- 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 lincludefile.
- 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. Items in it
macros are arguments of itemization macros.
- 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
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)
- Sets list as an itemizationd list. Use
it() to indicate items in the list.
- kindex()
- Generate an index entry for LaTex() or texinfo k-indices. Its argument is
the index entry. See also the [cfptv]vindex
macro.
- 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 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)
- 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 article,
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
letter. If left empty, two dashes are inserted.
- 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 description 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
subsubsect and
subsubsubsect. A label is added just before the
subsection. In html attrib macro applies to the
<h3> tag.
- lsubsubsect(label)(title)
- Starts a sub-subsection, a label is added just before the section 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,
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()
- 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 description 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 consistent 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 opitions on our
unbreakable boxex.
- metaC(text)
- Put a line comment in the output.
- Write format-specific comment to the output.
- 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 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)
- 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.
- 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 <!DOCTYPE
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
nosloppyhfuzz() appears before stating the
document type, LaTeX complaints 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 article,
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 converter, no 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)
- 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 subparagraph 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 subparagraph 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 LaTex() or texinfo p-indices. Its argument is
the index entry. See also the [cftv]index
macro.
- plainhtml(title)
- Starts a document for only a plain HTML conversion. Not available 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. 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)
- Sets a t/nroff command that starts with a dot, on its own line. The
arguments are: dotcmd - the command itself, e.g.,
.IP; sameline - when not
empty, set following the dotcmd on the same line;
secondline - when not empty, set on the next line;
thirdline - when not empty, set on the third line.
Note that dotcmd and
thirdline are not further expanded by YODL, the
other arguments are.
- row(contents)
- The argument 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
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 embedded 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 information. 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 captions. 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 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)
- Sets a new value of the include-path specification used when opening .yo
files. A warning is issued when the path specification does not include a
.: element. Note that the local directory may still be an element of the
new include path, as the local directory may be the only or the last
element of the specification. 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 corresponding
languageXXX() call. For example: languagedutch(). The language macros
should set the names of the headers of the following elements: table of
contents, affiliation, author, chapter, 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 figures 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-alignment), 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 convertible 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 ~ characters.
- 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 starting 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
sloppyhfuzz() appears before stating the document
type, LaTeX complaints 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
standardlayout() directive must appear
before stating the document type as
article, report,
etc..
- 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
subsubsect 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
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)
- 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.
- 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 LaTex() or texinfo t-indices. Its argument is
the index entry. See also the [cfpv]index
macro.
- 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 converter, 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 converters than the LaTeX
converter, 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 ).
- 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 e. To set this in teletype font use
ttbegin()\"e+ttend().
- In html the attrib macro applies to the
<code> tag.
- ttbegin()
- Initiates text set in teletype font. Following the text to set in teletype
font a 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()
- Ends text set in teletype font following ttbegin.
Refer to the ttbegin macro’s description
for details.
- 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, and starting with Yodl version
4.00.00: not using SUBST definitions. See also
veborg, 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)
- Reads filename and inserts it literally in the text, set in verbatim 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.
- verbinsert(args)
- Passes 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)
- Sets 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)
- Pipe text through command, but don’t expand the output.
- vindex()
- Generate an index entry for LaTex() or texinfo v-indices. Its argument is
the index entry. See also the [cfkpt]index
macro.
- 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.
- 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 converter normally only starts new files prior to a
chapter definition.
- xmlsetdocumentbase(name)
- Defines 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)
- Similar to htmltag, but used in the XML
converter.
No options are relevant in respect to the macros.
The files in tmp/wip/macros define the converter’s
macro packages. The scripts yodl2tex, yodl2html,
yodl2man etc. perform the conversions.
yodlstriproff(1), yodl(1), yodlbuiltins(7),
yodlconverters(1), yodlletter(7), yodlmanpage(7),
yodlpost(1), yodlverbinsert(1).
Frank B. Brokken (f.b.brokken@rug.nl),
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc.
|