This section describes how to add a new user-defined macro. For the sake of
simplicity, a macro tt(fname(name)) is defined to typeset a filename. The
macro maps to tt(em()) in LaTeX output or to tt(bf()) in other formats. 

startit()

    it() The place to insert the macro is tt(lib/yodl/shared.yo.in) in the
    Yodl source tree. This is the `master file' from which both the final
    macrofile and relevant documentation is created.

    it() The macro must appear in alphabetical order in the list of all other
    macros, this is relevant for the documentation. Hence, the tt(fname) macro
    would appear somewhere near tt(footnote()) though before it.

    it() The documentation about the hypothetical macro must be set between
    two tags tt(@startdoc) and tt(@enddoc). The tt(make) process looks for
    these tags. The documentation itself must appear as a macro which is
    (appropriately) called tt(macro), and expects two arguments: the new macro
    that is being defined, and its description:

verb(\
@startdoc
macro(fname(file))
(Sets a filename in either boldface or italics,
depending on the output format.)
@enddoc)

    it() Following the documentation, the macro itself is defined using
    tt(when)em(format)() commands and/or em(format)tt(command)():

verb(
    DEFINEMACRO(fname)(1)(\ 
        whenlatex(em(ARG1))\ 
        whenhtml(bf(ARG1))\ 
        whenman(bf(ARG1))\ 
        whenms(bf(ARG1))\ 
        whentxt(bf(ARG1))\ 
        whensgml(bf(ARG1))))

endit()

The new macro is now in place. A new tt(make) job should install it all, and
if necessary, make the appropriate new documentation files.

After this, please kindly mail me your addition to the Yodl package. I will
include it (if it's worth while), stating full credits too.
