
                           DebianDoc-SGML Manual
                           ---------------------

                  Ardo van Rangelrooij <ardo@debian.org>

                   Ian Jackson <ijackson@gnu.ai.mit.edu>

                                2026-01-31


-------------------------------------------------------------------------------


Abstract
--------

     This is the manual of the DebianDoc-SGML DTD and tools.


Copyright Notice
----------------

     Copyright (C) 1998-2002 Ardo van Rangelrooij
     Copyright (C) 1996 Ian Jackson

     This manual_is free software; you may redistribute it and/or modify it
     under the terms of the GNU General Public License as published by the
     Free Software Foundation; either version 2, or (at your option) any
     later version.

     This is distributed in the hope that it will be useful, but _without
     any warranty_; without even the implied warranty of merchantability or
     fitness for a particular purpose.  See the GNU General Public License
     for more details.

     A copy of the GNU General Public License is available as
     `/usr/share/common-licenses/GPL' in the Debian GNU/Linux distribution
     or on the World Wide Web at http://www.gnu.org/copyleft/gpl.html.  You
     can also obtain it by writing to the Free Software Foundation, Inc.,
     59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.


-------------------------------------------------------------------------------


Contents
--------

     1.        Debiandoc SGML

     2.        SGML markup and metacharacters

     3.        Overall structure

     4.        Chapters, appendices, sections, and paragraphs

     5.        Marked-up inline text and character style markup
     5.1.      Character style
     5.2.      Cross-references
     5.3.      Footnotes
     5.4.      Comment

     6.        Lists and examples
     6.1.      Lists
     6.2.      Examples

     7.        Limitations

     8.        Unsupported SGML Features

     A.        ISO Character Entities
     A.1.      Added Latin 1
     A.2.      Added Latin 2
     A.3.      Greek Letters
     A.4.      Monotoniko Greek
     A.5.      Russian Cyrillic
     A.6.      Non-Russian Cyrillic
     A.7.      Numeric and Special Graphic
     A.8.      Diacritical Marks
     A.9.      Publishing
     A.10.     Box and Line Drawing
     A.11.     General Technical
     A.12.     Greek Symbols
     A.13.     Alternative Greek Symbols
     A.14.     Added Math Symbols: Ordinary
     A.15.     Added Math Symbols: Binary Operators
     A.16.     Added Math Symbols: Relations
     A.17.     Added Math Symbols: Negated Relations
     A.18.     Added Math Symbols: Arrow Relations
     A.19.     Added Math Symbols: Delimiters

     B.        Conversion to XML
     B.1.      Basic conversion method
     B.2.      Advanced conversion methods
     B.3.      Testing generated XML file(s)


-------------------------------------------------------------------------------


1. Debiandoc SGML
-----------------

     Debiandoc SGML is a set of SGML rules.  The text file conforming to
     this Debiandoc SGML can be processed by `debiandoc2*' commands
     provided by `debiandoc-sgml' package to generate plain text, HTML,
     XML, SGML, PostScript, PDF, etc.

     See more on manpage debiandoc2html(1) after installing
     `debiandoc-sgml' package.


-------------------------------------------------------------------------------


2. SGML markup and metacharacters
---------------------------------

     As entered in a text editor SGML document consists of text
     interspersed with tags denoting the start and end of elements.

     Tags take the form `<<element>>' to start the element <element> and
     `<</element>>' to finish it.

     There are some shorthands you can use: `<<element/><contents/>'
     specifies an element <element> with contents <contents> - but the
     <contents> may not contain a slash `/'.  `</>' closes the innermost
     currently open element.

     Some types of element start tag can have attributes; these appear
     inside the closing angle bracket, and are separated from the element
     name by whitespace.  The attributes allowed in a particular element's
     start tag are described along with the element.

     If you want to include SGML's markup characters (angle brackets `<'
     `>' and ampersands `&') as text you must refer to them by name (this
     is called an entity reference in SGML-speak).  `&<name>;' produces the
     character whose name is <name>.

     Some useful character names are:
     `lt'
          less than sign (left angle bracket) `<'
     `gt'
          greater than sign (right angle bracket) `>'
     `amp'
          ampersand `&'
     `copy'
          copyright symbol `(C)'

     DebianDoc-SGML supports the full set of ISO entities as defined in the
     files `/usr/share/sgml/entities/*ml-iso-entities-*.*/ISO*'.

     You can also use `&#<number>;' to refer to the character whose number
     is <number> (in ISO-LATIN-1).  <number> should be in decimal.


-------------------------------------------------------------------------------


3. Overall structure
--------------------

     The first line of the document should be

          <!doctype debiandoc public "-//DebianDoc//DTD DebianDoc//EN">

     or

          <!doctype debiandoc system>

     to indicate that the document is a Debiandoc-SGML file.

     The document should start with the `<book>' tag and end with
     `</book>'.  This may optionally be enclosed between `<debiandoc>' tag
     and `</debiandoc>'.

     This should be followed by the `<title>', one or more `<author>'s or
     `<translator>'s (each consisting of a `<name>' and an
     optional`<email>'), and optionally a `<version>'.  Each of these is a
     piece of marked-up inline text - see Chapter 5, `Marked-up inline text
     and character style markup'.  The `<version>' may also contain a
     `<date>' which stands for the date at the time the document is
     formatted.

     Then may come an `<abstract>', a `<copyright>' notice, and a `<toc>'
     marker.

     The `<abstract>' contains a single paragraph.

     The `<copyright>' notice contains one or more copyright summaries
     marked with `<copyrightsummary>' and `</copyrightsummary>' followed by
     one or more paragraphs, the first of which must be indicated by a
     `<p>' tag to distinguish it from the summaries.

     The `<toc>' marker specifies that a table of contents is to be
     produced.  The `<toc>' doesn't contain anything in the SGML source -
     its contents are generated by the processing systems.  The `<toc>' can
     have an attribute saying how detailed it should be; for example, `<toc
     sect1>' says that subsections should be included, whereas `<toc
     chapt>' says that only chapters and appendices should be included.
     The values allowed are `chapt', `sect', `sect1' and `sect2'.

     Following these parts comes the body of the document - one or more
     chapters `<chapt>', optionally followed by one or more appendices
     `<appendix>'.

     It is not necessary to mark the end of the `<title>', `<author>',
     `<version>', `<abstract>' and `<copyright>' elements - they are
     implicitly ended by the start of the next element.

     Here is an example of simple Debiandoc SGML file.

<!doctype debiandoc public "-//DebianDoc//DTD DebianDoc//EN" [

<-- Next line is an example to include external definition -->
<!ENTITY % default  SYSTEM "default.ent">  %default;
<-- Next line is an example of common definition -->
<!ENTITY common-definition "Foo Bar" >

]>

<debiandoc>

<book>

Book Title Here
<author>
 <name>Osamu Aoki</name>
 <email>debian@aokiconsulting.com</email>
</author>

<version>Version 1.00</version>

<abstract>
This provides a simple skeleton example of a debiandoc-sgml document.
You cannot place "p" or "ref" tags in here.
</abstract>

<copyright>
  <copyrightsummary>
    Copyright (C) 2006 by Osamu Aoki <email>debian@aokiconsulting.com</>
  </copyrightsummary>
  <p>
  <url id="http://www.gnu.org/copyleft/gpl.html"
        name="This document may used under the terms of the GNU General Public License version 2 or higher.">
</copyright>

<toc sect1>  

<chapt id="chapter-one"><heading>Chapter title</heading>

<p>
...
<sect id="ch-1-sect-1">Section title here
<p>
...contents. "&common-definition;" becomes "Foo Bar".

<sect1 id="ch-1-sect1-1">Sect-1-level title
<p>
...contents

<sect2 id="ch-1-sect2-1">Sect-2-level title
<p>
...contents

</sect2>
</sect1>
</sect>

</book>

</debiandoc>

-------------------------------------------------------------------------------

4. Chapters, appendices, sections, and paragraphs
-------------------------------------------------

     Each chapter starts with a `<chapt>' tag, followed by the chapter's
     title.  The title may contain marked-up inline text, but no
     cross-references (see Chapter 5, `Marked-up inline text and character
     style markup').  The start of the title may be optionally marked with
     `<heading>' tag.  The end of the title may be marked by `<heading>'
     tag explicitly or implicitly defined by the start of `<p>' tag.  The
     same applies for an appendix, except that it starts with a
     `<appendix>' tag.

     The body of the chapter or an appendix is zero or more paragraphs, the
     first of which must be indicated by a `<p>' tag to distinguish it from
     the title, and then zero or more sections.

     A section starts with `<sect>', and has a similar structure: title,
     optionally some paragraphs, and then optionally some subsections.

     Subsections are `<sect1>'; there are also smaller divisions `<sect2>',
     `<sect3>' and `<sect4>'.

     Paragraphs are introduced by `<p>'.  Sometimes the start of paragraph
     tag can be omitted, but it is mandatory after `<chapt>', `<sect>' and
     so forth.  It is never necessary to mark the end of a paragraph with
     `</p>'.

     Paragraphs can contain marked up inline text (see Chapter 5,
     `Marked-up inline text and character style markup') and also lists and
     examples (Chapter 6, `Lists and examples').


-------------------------------------------------------------------------------


5. Marked-up inline text and character style markup
---------------------------------------------------

     Ordinary text (called `inline text' in this document) may contain a
     elements for special formatting and cross-referencing.  Inline text
     appears in chapter, appendix and section titles, in the copyright
     summary, inside paragraphs and in other similar places.


5.1. Character style
--------------------

     There are a number of elements for denoting special significance of
     certain pieces of text.  For all of them the end of the special text
     must be marked up explicitly, by using an explicit end tag
     `<<element>>', the abbreviated end tag for closing the innermost
     element `</>' or the slash `/' which finishes the most abbreviated
     form of element markup (see Chapter 2, `SGML markup and
     metacharacters').

     `<em>' - emphasis
          Indicates that the contained text is more important or more
          significant than that surrounding it.

          Typically this will be represented by italics if available, or
          emboldened or underlined text, or in plain text formats with no
          character highlighting available by surrounding the text with
          asterisks like *this*.

     `<strong>' - more emphasis
          Indicates that the contained text is even more important or even
          more significant than that surrounding it.

          Typically this will be represented by bold if available or in
          plain text formats with no character highlighting available by
          surrounding the text with asterisks like *this*.

     `<var>' - metasyntactic variable
          Indicates that the contained text is a metasyntactic variable.
          Ie, it is the name of an object or piece of syntax which when
          actually used would have a real value substituted.

          Typically this will be represented by italics, or in plain text
          formats by surrounding the text with angle brackets like <this>.
          If several metasyntactic variables appear one after the other
          they should each be given their own `<var>' element.

     `<package>' - package name
          Indicates that the contained text is the name of a Debian
          package.

          This will usually be rendered using a fixed-width font; in
          plain-text formats quotes may be used around the element.

     `<prgn>' - name of a program or well-known file
          Indicates that the contained text is the name of a program, a
          well-known filename (usually without paths), a function or some
          similar thing which has a name in the computer.

          In output formats where character highlighting and various font
          styles are available this is usually represented by using a
          fixed-width font.  In plain text output formats quotes may be
          used around the element.

     `<file>' - full file or directory name
          Indicates that the contained text is the full pathname of a file,
          buffer, directory, etc.

          This will usually be rendered using a fixed-width font; in
          plain-text formats quotes may be used around the element.

     `<tt>' - code or output fragment, command string
          Indicates that the contained text is a general string which came
          out of or is going in to a computer.  It should be used for
          command strings or code fragments that should be displayed inline
          and wordrapped (see also Section 6.2, `Examples' for an
          alternative), and so forth.  It is frequently necessary to
          introduce metasyntactic variables into these strings, in which
          case they should be made part of the `<tt>' element rather than
          elements alongside it.

          This will usually be rendered using a fixed-width font; in
          plain-text formats quotes may be used around the element.

     `<qref id="<refid>">' - quiet reference
          Produces a `quiet reference' to the named reference id (see
          Section 5.2, `Cross-references').  This should be used where a
          cross-reference would be useful if not intrusive, but where it is
          not essential and should be left out if it would need to intrude
          on the text.

          In formats where cross-references can be made non-intrusively by
          making a region of text a hyperlink without introducing in-line
          text this element will cause its contained text to become a
          hyperlink to the target of the cross-reference.  In other formats
          this element will not have any effect.


5.2. Cross-references
---------------------

     There are a number of elements for introducing cross-references either
     to other parts of the same document or to other documents.

     The intra-document cross-references are based on a scheme of reference
     identifiers.  Each chapter, appendix, section, subsection etc.  may
     have an `id' attribute giving its reference id - for example `<chapt
     id="spong">' specifies that the chapter or appendix being started has
     reference id `spong'.  This reference id can then be referred to in
     other parts of the document using the special cross-referencing
     elements.

     The reference identifier will also be used for generating filenames
     and reference tokens for formats such as HTML which produce several
     output files; if no reference ids are specified then the chapter,
     appendix and section numbers will be used.  It is a good idea to give
     at least all your chapter and appendix reference ids so that the
     filenames will not change if you change the order of the chapters,
     appendices or sections in your document.

     `<ref id="<refid>">' - intra-document cross reference
          This generates a cross-reference within the same document to the
          chapter, appendix or section with id <refid>.

          The `<ref>' element does not have any contents; the chapter,
          appendix or section number and title and its page number or
          whatever is appropriate for the output format will be inserted
          into the text at the point where the tag appears.

          Syntactically the cross reference is a noun phrase, suitable for
          uses like `(see <ref id="<...>">)' or `further info is in <ref
          id="<...>">.'.

     `<manref name="<name>" section="<section>">' - manpage
          Generates a cross-reference to the manpage for <name> in section
          <section>.  This tag does not have any contents; text describing
          the page, typically `<name>(<section>)', will be inserted at the
          point where `<manref>' appears.

     `<email>' - email address
          Indicates that the contained text is an email address.  The
          contents of the tag should be just the text of the email address
          itself; character style markup and cross-references are
          forbidden.  Usually the end tag `</email>' may not be omitted,
          but it may be left out when it appears in an `<author>' as the
          end of the `<author>', implied by the start of the next element,
          will imply the end of the email address.

          In some formats this will generate a true cross-reference which
          might (for example) be used to send email to the address quoted.
          In others it will just mark the text specially, usually including
          angle brackets `<' `>' around it.

     `<ftpsite>' - anonymous FTP site name
     `<ftppath>' - path on most recently named FTP site
          `<ftpsite>' indicates that the content of the element is the DNS
          name of an anonymous FTP site, and `<ftppath>' that it is a
          pathname on that site.  Both elements may not contain any
          character style markup or cross-references.

          Typically both elements will be rendered in a fixed width font;
          if possible, the `<ftppath>' will be made into a functional
          hyperlink to the named file or directory on the most recent
          `<ftpsite>'.

          `<ftppath>' must always have been preceded by a `<ftpsite>' in
          the same chapter or appendix, but once one site has been named
          several paths may be appear.

     `<httpsite>' - HTTP site name
     `<httppath>' - path on most recently named HTTP site
          `<httpsite>' indicates that the content of the element is the DNS
          name of an HTTP site, and `<httppath>' that it is a pathname on
          that site.  Both elements may not contain any character style
          markup or cross-references.

          Typically both elements will be rendered in a fixed width font;
          if possible, the `<httppath>' will be made into a functional
          hyperlink to the named file or directory on the most recent
          `<httpsite>'.

          `<httppath>' must always have been preceded by a `<httpsite>' in
          the same chapter or appendix, but once one site has been named
          several paths may be appear.

     `<url id="<id>" name="<name>">' - URL
          Generates a cross-reference to the URL with the indicated <id>
          and uses the optional <name> in the document as reference
          indicator.  This tag does not have any contents.

          Typically this element will be rendered in a fixed width font; if
          possible, <id> will be made into a functional hyperlink using
          <name> as place holder.

          Do not put this tag between <file> and </file>.  This is known to
          break relative link in PDF format.


5.3. Footnotes
--------------

     Footnotes may appear in most inline text, and are indicated by
     `<footnote><...></footnote>'.  The text of the footnote itself will be
     removed and placed elsewhere (where depends on the format), and
     replaced with a reference or hyperlink to the footnote.

     The contents of the footnote should be one or more paragraphs; the
     start of the first paragraph need not be marked explicitly.  Inline
     markup elements such as character style do not take effect on the
     contents of footnotes defined inside them - the footnote gets a `clean
     slate'.

     Footnotes may be nested, but this is rarely a good idea.


5.4. Comment
------------

     Comments may appear in most inline text, and are indicated by
     `<comment editor="foo"><...></comment>'.  The text of the comment
     itself will be removed and placed elsewhere (where depends on the
     format), and replaced with a reference or hyperlink to the footnote if
     -m option is used to enable this.

     The contents of the comment should be one or more paragraphs; the
     start of the first paragraph need not be marked explicitly.


-------------------------------------------------------------------------------


6. Lists and examples
---------------------


6.1. Lists
----------

     There are three kinds of lists:
        * `<list>' - ordinary (bulleted) list
        * `<enumlist>' - numbered list
        * `<taglist>' - tagged list

     Each entry in an ordinary or numbered list is an item introduced by
     `<item>'.  Each entry in a tagged list is one or more `<tag>'s
     followed by an `<item>'.

     It is not necessary to mark the end of `<tag>' or `<item>' elements.

     All three types of list come in two flavours, depending on whether you
     specify the `compact' attribute (eg, `<taglist compact>') or not (eg,
     `<enumlist>').  The `<tag>' may contain only marked-up inline text.

     The compact versions are intended for use within paragraphs.  The
     formatter will not put gaps around the list or between entries.[1] The
     entries in a compact list should each be a single paragraph (it is not
     necessary to mark the start of the paragraph).  Any lists inside a
     compact list should themselves be marked compact (though the
     formatters will in fact infer for themselves that they ought to be
     compact).

     The non-compact versions are intended to stand as paragraphs
     themselves.  Each entry in such a list may contain more than one
     paragraph (once again, the start of the first paragraph need not be
     marked).  The list is separated from the surrounding text, and the
     entries from each other, by blank lines as would be expected for
     paragraph breaks.

[1]  There is a problem with this in HTML.  The HTML formatter tries not
     to, by using HTML lists' `compact' attribute on the lists it
     generates, but not many browsers understand it properly.


6.2. Examples
-------------

     Examples - multi-line code fragments, scripts, and similar pieces of
     computer text - are introduced with `<example>' and finish with
     `</example>'.

     The example will be formatted exactly as it is typed in, with spacing
     and newlines reproduced.  It will be displayed in a fixed-width font,
     usually the one used for the `<tt>' character style, even if the
     formatter usually uses a proportional font.  Any indentation which is
     appropriate will be added by the formatter; the example should be
     entered starting in the left hand column.

     Examples may contain marked up character text but may not contain
     cross-references or the character style elements `<em>', `<strong>',
     `<package>', `<prgn>', `<file>', and `<tt>'.  See Chapter 5,
     `Marked-up inline text and character style markup'.

     An example does not produce a paragraph break; examples are considered
     parts of paragraphs.  If an example is to be a paragraph on its own
     then paragraph start tags should be added as appropriate.

     Any SGML markup characters in the example must be escaped as usual -
     see Chapter 2, `SGML markup and metacharacters'.  `<example>' does not
     work like TeX's `verbatim' environment.


-------------------------------------------------------------------------------


7. Limitations
--------------

     Due to limitations of the LaTeX backend it is not recommended to make
     the contents of the <tag> elements of a <taglist> long.  The LaTeX
     backend cannot wrap long tags nicely to the next line(s).  Instead
     they simply keep on going over the right side of the page.


-------------------------------------------------------------------------------


8. Unsupported SGML Features
----------------------------

     The `debiandoc-sgml' package does not support the SUBDOC feature of
     SGML.  Although it is possible to declare a SUBDOC entity in the
     document preamble and then refer to this entity in the document body,
     the generated output is very likely not as expected.


-------------------------------------------------------------------------------


A. ISO Character Entities
-------------------------

     This appendix contains an overview of the ISO 8879:1986 character
     entities and their equivalents in the output formats that
     DebianDoc-SGML supports.  [1]

[1]  The output of this document may not produce expected characters.  That
     is probably due to the gliph availability of the font used to either
     generate or to display this document.


A.1. Added Latin 1
------------------

        * &aacute; => a'
        * &Aacute; => A'
        * &acirc; => a^
        * &Acirc; => A^
        * &agrave; => a`
        * &Agrave; => A`
        * &aring; => aa
        * &Aring; => AA
        * &atilde; => a~
        * &Atilde; => A~
        * &auml; => a"
        * &Auml; => A"
        * &aelig; => ae
        * &AElig; => AE
        * &ccedil; => c,
        * &Ccedil; => C,
        * &eth; => [eth]
        * &ETH; => [ETH]
        * &eacute; => e'
        * &Eacute; => E'
        * &ecirc; => e^
        * &Ecirc; => E^
        * &egrave; => e`
        * &Egrave; => E`
        * &euml; => e"
        * &Euml; => E"
        * &iacute; => i'
        * &Iacute; => I'
        * &icirc; => i^
        * &Icirc; => I^
        * &igrave; => i`
        * &Igrave; => I`
        * &iuml; => i"
        * &Iuml; => I"
        * &ntilde; => n~
        * &Ntilde; => N~
        * &oacute; => o'
        * &Oacute; => O'
        * &ocirc; => o^
        * &Ocirc; => O^
        * &ograve; => o`
        * &Ograve; => O`
        * &oslash; => [oslash]
        * &Oslash; => [Oslash]
        * &otilde; => o~
        * &Otilde; => O~
        * &ouml; => o"
        * &Ouml; => O"
        * &szlig; => ss
        * &thorn; => [thorn]
        * &THORN; => [THORN]
        * &uacute; => u'
        * &Uacute; => U'
        * &ucirc; => u^
        * &Ucirc; => U^
        * &ugrave; => u`
        * &Ugrave; => U`
        * &uuml; => u"
        * &Uuml; => U"
        * &yacute; => y'
        * &Yacute; => Y'
        * &yuml; => y"


A.2. Added Latin 2
------------------

        * &abreve; => a(
        * &Abreve; => A(
        * &amacr; => a=
        * &Amacr; => A=
        * &aogon; => [aogon]
        * &Aogon; => [Aogon]
        * &cacute; => c'
        * &Cacute; => C'
        * &ccaron; => c<
        * &Ccaron; => C<
        * &ccirc; => c^
        * &Ccirc; => C^
        * &cdot; => c.
        * &Cdot; => C.
        * &dcaron; => d<
        * &Dcaron; => D<
        * &dstrok; => [dstrok]
        * &Dstrok; => [Dstrok]
        * &ecaron; => e<
        * &Ecaron; => E<
        * &edot; => e.
        * &Edot; => E.
        * &emacr; => e=
        * &Emacr; => E=
        * &eogon; => [eogon]
        * &Eogon; => [Eogon]
        * &gacute; => g'
        * &gbreve; => g(
        * &Gbreve; => G(
        * &Gcedil; => G,
        * &gcirc; => g^
        * &Gcirc; => G^
        * &gdot; => g.
        * &Gdot; => G.
        * &hcirc; => h^
        * &Hcirc; => H^
        * &hstrok; => [hstrok]
        * &Hstrok; => [Hstrok]
        * &Idot; => I.
        * &Imacr; => I=
        * &imacr; => i=
        * &ijlig; => ij
        * &IJlig; => IJ
        * &inodot; => [inodot]
        * &iogon; => [iogon]
        * &Iogon; => [Iogon]
        * &itilde; => i~
        * &Itilde; => I~
        * &jcirc; => j^
        * &Jcirc; => J^
        * &kcedil; => k,
        * &Kcedil; => K,
        * &kgreen; => [kgreen]
        * &lacute; => l'
        * &Lacute; => L'
        * &lcaron; => l<
        * &Lcaron; => L<
        * &lcedil; => l,
        * &Lcedil; => L,
        * &lmidot; => [lmidot]
        * &Lmidot; => [Lmidot]
        * &lstrok; => [lstrok]
        * &Lstrok; => [Lstrok]
        * &nacute; => n'
        * &Nacute; => N'
        * &eng; => [eng]
        * &ENG; => [ENG]
        * &napos; => n'
        * &ncaron; => n<
        * &Ncaron; => N<
        * &ncedil; => n,
        * &Ncedil; => N,
        * &odblac; => o''
        * &Odblac; => O''
        * &omacr; => o=
        * &Omacr; => O=
        * &oelig; => oe
        * &OElig; => OE
        * &racute; => r'
        * &Racute; => R'
        * &rcaron; => r<
        * &Rcaron; => R<
        * &rcedil; => r,
        * &Rcedil; => R,
        * &sacute; => s'
        * &Sacute; => S'
        * &scaron; => s<
        * &Scaron; => S<
        * &scedil; => s,
        * &Scedil; => S,
        * &scirc; => s^
        * &Scirc; => S^
        * &tcaron; => t<
        * &Tcaron; => T<
        * &tcedil; => t,
        * &Tcedil; => T,
        * &tstrok; => [tstrok]
        * &Tstrok; => [Tstrok]
        * &ubreve; => u(
        * &Ubreve; => U(
        * &udblac; => u''
        * &Udblac; => U''
        * &umacr; => u=
        * &Umacr; => U=
        * &uogon; => [uogon]
        * &Uogon; => [Uogon]
        * &uring; => u*
        * &Uring; => U*
        * &utilde; => u~
        * &Utilde; => U~
        * &wcirc; => w^
        * &Wcirc; => W^
        * &ycirc; => y^
        * &Ycirc; => Y^
        * &Yuml; => Y"
        * &zacute; => z'
        * &Zacute; => Z'
        * &zcaron; => z<
        * &Zcaron; => Z<
        * &zdot; => z.
        * &Zdot; => Z.


A.3. Greek Letters
------------------

        * &agr; => [agr]
        * &Agr; => [Agr]
        * &bgr; => [bgr]
        * &Bgr; => [Bgr]
        * &ggr; => [ggr]
        * &Ggr; => [Ggr]
        * &dgr; => [dgr]
        * &Dgr; => [Dgr]
        * &egr; => [egr]
        * &Egr; => [Egr]
        * &zgr; => [zgr]
        * &Zgr; => [Zgr]
        * &eegr; => [eegr]
        * &EEgr; => [EEgr]
        * &thgr; => [thgr]
        * &THgr; => [THgr]
        * &igr; => [igr]
        * &Igr; => [Igr]
        * &kgr; => [kgr]
        * &Kgr; => [Kgr]
        * &lgr; => [lgr]
        * &Lgr; => [Lgr]
        * &mgr; => [mgr]
        * &Mgr; => [Mgr]
        * &ngr; => [ngr]
        * &Ngr; => [Ngr]
        * &xgr; => [xgr]
        * &Xgr; => [Xgr]
        * &ogr; => [ogr]
        * &Ogr; => [Ogr]
        * &pgr; => [pgr]
        * &Pgr; => [Pgr]
        * &rgr; => [rgr]
        * &Rgr; => [Rgr]
        * &sgr; => [sgr]
        * &Sgr; => [Sgr]
        * &sfgr; => [sfgr]
        * &tgr; => [tgr]
        * &Tgr; => [Tgr]
        * &ugr; => [ugr]
        * &Ugr; => [Ugr]
        * &phgr; => [phgr]
        * &PHgr; => [PHgr]
        * &khgr; => [khgr]
        * &KHgr; => [KHgr]
        * &psgr; => [psgr]
        * &PSgr; => [PSgr]
        * &ohgr; => [ohgr]
        * &OHgr; => [OHgr]


A.4. Monotoniko Greek
---------------------

        * &aacgr; => [aacgr]
        * &Aacgr; => [Aacgr]
        * &eacgr; => [eacgr]
        * &Eacgr; => [Eacgr]
        * &eeacgr; => [eeacgr]
        * &EEacgr; => [EEacgr]
        * &idigr; => [idigr]
        * &Idigr; => [Idigr]
        * &iacgr; => [iacgr]
        * &Iacgr; => [Iacgr]
        * &idiagr; => [idiagr]
        * &oacgr; => [oacgr]
        * &Oacgr; => [Oacgr]
        * &udigr; => [udigr]
        * &Udigr; => [Udigr]
        * &uacgr; => [uacgr]
        * &Uacgr; => [Uacgr]
        * &udiagr; => [udiagr]
        * &ohacgr; => [ohacgr]
        * &OHacgr; => [OHacgr]


A.5. Russian Cyrillic
---------------------

        * &acy; => [acy]
        * &Acy; => [Acy]
        * &bcy; => [bcy]
        * &Bcy; => [Bcy]
        * &vcy; => [vcy]
        * &Vcy; => [Vcy]
        * &gcy; => [gcy]
        * &Gcy; => [Gcy]
        * &dcy; => [dcy]
        * &Dcy; => [Dcy]
        * &iecy; => [iecy]
        * &IEcy; => [IEcy]
        * &iocy; => [iocy]
        * &IOcy; => [IOcy]
        * &zhcy; => [zhcy]
        * &ZHcy; => [ZHcy]
        * &zcy; => [zcy]
        * &Zcy; => [Zcy]
        * &icy; => [icy]
        * &Icy; => [Icy]
        * &jcy; => [jcy]
        * &Jcy; => [Jcy]
        * &kcy; => [kcy]
        * &Kcy; => [Kcy]
        * &lcy; => [lcy]
        * &Lcy; => [Lcy]
        * &mcy; => [mcy]
        * &Mcy; => [Mcy]
        * &ncy; => [ncy]
        * &Ncy; => [Ncy]
        * &ocy; => [ocy]
        * &Ocy; => [Ocy]
        * &pcy; => [pcy]
        * &Pcy; => [Pcy]
        * &rcy; => [rcy]
        * &Rcy; => [Rcy]
        * &scy; => [scy]
        * &Scy; => [Scy]
        * &tcy; => [tcy]
        * &Tcy; => [Tcy]
        * &ucy; => [ucy]
        * &Ucy; => [Ucy]
        * &fcy; => [fcy]
        * &Fcy; => [Fcy]
        * &khcy; => [khcy]
        * &KHcy; => [KHcy]
        * &tscy; => [tscy]
        * &TScy; => [TScy]
        * &chcy; => [chcy]
        * &CHcy; => [CHcy]
        * &shcy; => [shcy]
        * &SHcy; => [SHcy]
        * &shchcy; => [shchcy]
        * &SHCHcy; => [SHCHcy]
        * &hardcy; => [hardcy]
        * &HARDcy; => [HARDcy]
        * &ycy; => [ycy]
        * &Ycy; => [Ycy]
        * &softcy; => [softcy]
        * &SOFTcy; => [SOFTcy]
        * &ecy; => [ecy]
        * &Ecy; => [Ecy]
        * &yucy; => [yucy]
        * &YUcy; => [YUcy]
        * &yacy; => [yacy]
        * &YAcy; => [YAcy]
        * &numero; => [numero]


A.6. Non-Russian Cyrillic
-------------------------

        * &djcy; => [djcy]
        * &DJcy; => [DJcy]
        * &gjcy; => [gjcy]
        * &GJcy; => [GJcy]
        * &jukcy; => [jukcy]
        * &Jukcy; => [Jukcy]
        * &dscy; => [dscy]
        * &DScy; => [DScy]
        * &iukcy; => [iukcy]
        * &Iukcy; => [Iukcy]
        * &yicy; => [yicy]
        * &YIcy; => [YIcy]
        * &jsercy; => [jsercy]
        * &Jsercy; => [Jsercy]
        * &ljcy; => [ljcy]
        * &LJcy; => [LJcy]
        * &njcy; => [njcy]
        * &NJcy; => [NJcy]
        * &tshcy; => [tshcy]
        * &TSHcy; => [TSHcy]
        * &kjcy; => [kjcy]
        * &KJcy; => [KJcy]
        * &ubrcy; => [ubrcy]
        * &Ubrcy; => [Ubrcy]
        * &dzcy; => [dzcy]
        * &DZcy; => [DZcy]


A.7. Numeric and Special Graphic
--------------------------------

        * &half; => 1/2
        * &frac12; => 1/2
        * &frac14; => 1/4
        * &frac34; => 3/4
        * &frac18; => 1/8
        * &frac38; => 3/8
        * &frac58; => 5/8
        * &frac78; => 7/8
        * &sup1; => ^1
        * &sup2; => ^2
        * &sup3; => ^3
        * &plus; => +
        * &plusmn; => +/-
        * &lt; => <
        * &equals; => =
        * &gt; => >
        * &divide; => /
        * &times; => x
        * &curren; => [curren]
        * &pound; => L
        * &dollar; => $
        * &cent; => c
        * &yen; => Y
        * &num; => #
        * &percnt; => %
        * &amp; => &
        * &ast; => *
        * &commat; => @
        * &lsqb; => [
        * &bsol; => \
        * &rsqb; => ]
        * &lcub; => {
        * &horbar; => --
        * &verbar; => |
        * &rcub; => }
        * &micro; => u
        * &ohm; => [ohm]
        * &deg; => [deg]
        * &ordm; => [ordm]
        * &ordf; => [ordf]
        * &sect; => S
        * &para; => P
        * &middot; => .
        * &larr; => <--
        * &rarr; => -->
        * &uarr; => [uarr]
        * &darr; => [darr]
        * &copy; => (C)
        * &reg; => (R)
        * &trade; => (TM)
        * &brvbar; => |
        * &not; => [not]
        * &sung; => [sung]
        * &excl; => !
        * &iexcl; => !
        * &quot; => "
        * &apos; => '
        * &lpar; => (
        * &rpar; => )
        * &comma; => ,
        * &lowbar; => __
        * &hyphen; => -
        * &period; => .
        * &sol; => /
        * &colon; => :
        * &semi; => ;
        * &quest; => ?
        * &iquest; => ?
        * &laquo; => <<
        * &raquo; => >>
        * &lsquo; => `
        * &rsquo; => '
        * &ldquo; => ``
        * &rdquo; => ''
        * &nbsp; =>
        * &shy; => -


A.8. Diacritical Marks
----------------------

        * &acute; => '
        * &breve; => (
        * &caron; => <
        * &cedil; => ,
        * &circ; => ^
        * &dblac; => ''
        * &die; => "
        * &dot; => .
        * &grave; => `
        * &macr; => =
        * &ogon; => [ogon]
        * &ring; => *
        * &tilde; => ~
        * &uml; => "


A.9. Publishing
---------------

        * &emsp; => [emsp]
        * &ensp; => [ensp]
        * &emsp13; => [emsp13]
        * &emsp14; => [emsp14]
        * &numsp; => [numsp]
        * &puncsp; => [puncsp]
        * &thinsp; => [thinsp]
        * &hairsp; => [hairsp]
        * &mdash; => ---
        * &ndash; => --
        * &dash; => -
        * &blank; => _
        * &hellip; => ...
        * &nldr; => ..
        * &frac13; => 1/3
        * &frac23; => 2/3
        * &frac15; => 1/5
        * &frac25; => 2/5
        * &frac35; => 3/5
        * &frac45; => 4/5
        * &frac16; => 1/6
        * &frac56; => 5/6
        * &incare; => c/o
        * &block; => [block]
        * &uhblk; => [uhblk]
        * &lhblk; => [lhblk]
        * &blk14; => [blk14]
        * &blk12; => [blk12]
        * &blk34; => [blk34]
        * &marker; => [marker]
        * &cir; => o
        * &squ; => [squ]
        * &rect; => [rect]
        * &utri; => [utri]
        * &dtri; => [dtri]
        * &star; => [star]
        * &bull; => *
        * &squf; => [squf]
        * &utrif; => [utrif]
        * &dtrif; => [dtrif]
        * &ltrif; => [ltrif]
        * &rtrif; => [rtrif]
        * &clubs; => [clubs]
        * &diams; => [diams]
        * &hearts; => [hearts]
        * &spades; => [spades]
        * &malt; => [malt]
        * &dagger; => [dagger]
        * &Dagger; => [Dagger]
        * &check; => [check]
        * &cross; => x
        * &sharp; => #
        * &flat; => [flat]
        * &male; => [male]
        * &female; => [female]
        * &phone; => [phone]
        * &telrec; => [telrec]
        * &copysr; => [copysr]
        * &caret; => ^
        * &lsquor; => '
        * &ldquor; => "
        * &fflig; => ff
        * &filig; => fi
        * &fjlig; => fj
        * &ffilig; => ffi
        * &ffllig; => ffl
        * &fllig; => fl
        * &mldr; => ...
        * &rdquor; => "
        * &rsquor; => '
        * &vellip; => :
        * &hybull; => -
        * &loz; => [loz]
        * &lozf; => [lozf]
        * &ltri; => [ltri]
        * &rtri; => [rtri]
        * &starf; => [starf]
        * &natur; => [natur]
        * &rx; => [rx]
        * &sext; => [sext]
        * &target; => [target]
        * &dlcrop; => [dlcrop]
        * &drcrop; => [drcrop]
        * &ulcrop; => [ulcrop]
        * &urcrop; => [urcrop]


A.10. Box and Line Drawing
--------------------------

        * &boxh; => [boxh]
        * &boxv; => [boxv]
        * &boxur; => [boxur]
        * &boxul; => [boxul]
        * &boxdl; => [boxdl]
        * &boxdr; => [boxdr]
        * &boxvr; => [boxvr]
        * &boxhu; => [boxhu]
        * &boxvl; => [boxvl]
        * &boxhd; => [boxhd]
        * &boxvh; => [boxvh]
        * &boxvR; => [boxvR]
        * &boxhU; => [boxhU]
        * &boxvL; => [boxvL]
        * &boxhD; => [boxhD]
        * &boxvH; => [boxvH]
        * &boxH; => [boxH]
        * &boxV; => [boxV]
        * &boxUR; => [boxUR]
        * &boxUL; => [boxUL]
        * &boxDL; => [boxDL]
        * &boxDR; => [boxDR]
        * &boxVR; => [boxVR]
        * &boxHU; => [boxHU]
        * &boxVL; => [boxVL]
        * &boxHD; => [boxHD]
        * &boxVH; => [boxVH]
        * &boxVr; => [boxVr]
        * &boxHu; => [boxHu]
        * &boxVl; => [boxVl]
        * &boxHd; => [boxHd]
        * &boxVh; => [boxVh]
        * &boxuR; => [boxuR]
        * &boxUl; => [boxUl]
        * &boxdL; => [boxdL]
        * &boxDr; => [boxDr]
        * &boxUr; => [boxUr]
        * &boxuL; => [boxuL]
        * &boxDl; => [boxDl]
        * &boxdR; => [boxdR]


A.11. General Technical
-----------------------

        * &aleph; => N
        * &and; => /\
        * &ang90; => |_
        * &angsph; => [angsph]
        * &ap; => [ap]
        * &becaus; => [becaus]
        * &bottom; => [bottom]
        * &cap; => [cap]
        * &cong; => [cong]
        * &conint; => [conint]
        * &cup; => U
        * &equiv; => [equiv]
        * &exist; => [exist]
        * &forall; => [forall]
        * &fnof; => f
        * &ge; => >=
        * &iff; => <==>
        * &infin; => [infin]
        * &int; => [int]
        * &isin; => [isin]
        * &lang; => <
        * &lArr; => <==
        * &le; => <=
        * &minus; => -
        * &mnplus; => -/+
        * &nabla; => [nabla]
        * &ne; => !=
        * &ni; => [ni]
        * &or; => \/
        * &par; => ||
        * &part; => [part]
        * &permil; => [permil]
        * &perp; => [perp]
        * &prime; => '
        * &Prime; => ''
        * &prop; => [prop]
        * &radic; => [radic]
        * &rang; => >
        * &rArr; => ==>
        * &sim; => [sim]
        * &sime; => [sime]
        * &square; => [square]
        * &sub; => [sub]
        * &sube; => [sube]
        * &sup; => [sup]
        * &supe; => [supe]
        * &there4; => [there4]
        * &Verbar; => ||
        * &angst; => AA
        * &bernou; => B
        * &compfn; => o
        * &Dot; => [Dot]
        * &DotDot; => [DotDot]
        * &hamilt; => H
        * &lagran; => L
        * &lowast; => *
        * &notin; => [notin]
        * &order; => O
        * &phmmat; => M
        * &tdot; => [tdot]
        * &tprime; => '''
        * &wedgeq; => [wedgeq]


A.12. Greek Symbols
-------------------

        * &alpha; => [alpha]
        * &beta; => [beta]
        * &gamma; => [gamma]
        * &Gamma; => [Gamma]
        * &gammad; => [gammad]
        * &delta; => [delta]
        * &Delta; => [Delta]
        * &epsi; => [epsi]
        * &epsiv; => [epsiv]
        * &epsis; => [epsis]
        * &zeta; => [zeta]
        * &eta; => [eta]
        * &thetas; => [thetas]
        * &Theta; => [Theta]
        * &thetav; => [thetav]
        * &iota; => [iota]
        * &kappa; => [kappa]
        * &kappav; => [kappav]
        * &lambda; => [lambda]
        * &Lambda; => [Lambda]
        * &mu; => [mu]
        * &nu; => [nu]
        * &xi; => [xi]
        * &Xi; => [Xi]
        * &pi; => [pi]
        * &piv; => [piv]
        * &Pi; => [Pi]
        * &rho; => [rho]
        * &rhov; => [rhov]
        * &sigma; => [sigma]
        * &Sigma; => [Sigma]
        * &sigmav; => [sigmav]
        * &tau; => [tau]
        * &upsi; => [upsi]
        * &Upsi; => [Upsi]
        * &phis; => [phis]
        * &Phi; => [Phi]
        * &phiv; => [phiv]
        * &chi; => [chi]
        * &psi; => [psi]
        * &Psi; => [Psi]
        * &omega; => [omega]
        * &Omega; => [Omega]


A.13. Alternative Greek Symbols
-------------------------------

        * &b.alpha; => [b.alpha]
        * &b.beta; => [b.beta]
        * &b.gamma; => [b.gamma]
        * &b.Gamma; => [b.Gamma]
        * &b.gammad; => [b.gammad]
        * &b.delta; => [b.delta]
        * &b.Delta; => [b.Delta]
        * &b.epsi; => [b.epsi]
        * &b.epsiv; => [b.epsiv]
        * &b.epsis; => [b.epsis]
        * &b.zeta; => [b.zeta]
        * &b.eta; => [b.eta]
        * &b.thetas; => [b.thetas]
        * &b.Theta; => [b.Theta]
        * &b.thetav; => [b.thetav]
        * &b.iota; => [b.iota]
        * &b.kappa; => [b.kappa]
        * &b.kappav; => [b.kappav]
        * &b.lambda; => [b.lambda]
        * &b.Lambda; => [b.Lambda]
        * &b.mu; => [b.mu]
        * &b.nu; => [b.nu]
        * &b.xi; => [b.xi]
        * &b.Xi; => [b.Xi]
        * &b.pi; => [b.pi]
        * &b.piv; => [b.piv]
        * &b.Pi; => [b.Pi]
        * &b.rho; => [b.rho]
        * &b.rhov; => [b.rhov]
        * &b.sigma; => [b.sigma]
        * &b.Sigma; => [b.Sigma]
        * &b.sigmav; => [b.sigmav]
        * &b.tau; => [b.tau]
        * &b.upsi; => [b.upsi]
        * &b.Upsi; => [b.Upsi]
        * &b.phis; => [b.phis]
        * &b.Phi; => [b.Phi]
        * &b.phiv; => [b.phiv]
        * &b.chi; => [b.chi]
        * &b.psi; => [b.psi]
        * &b.Psi; => [b.Psi]
        * &b.omega; => [b.omega]
        * &b.Omega; => [b.Omega]


A.14. Added Math Symbols: Ordinary
----------------------------------

        * &ang; => [ang]
        * &angmsd; => [angmsd]
        * &beth; => [beth]
        * &bprime; => `
        * &comp; => C
        * &daleth; => [daleth]
        * &ell; => l
        * &empty; => [empty]
        * &gimel; => [gimel]
        * &image; => [image]
        * &inodot; => [inodot]
        * &jnodot; => [jnodot]
        * &nexist; => [nexist]
        * &oS; => [oS]
        * &planck; => [planck]
        * &real; => [real]
        * &sbsol; => \
        * &vprime; => '
        * &weierp; => P


A.15. Added Math Symbols: Binary Operators
------------------------------------------

        * &amalg; => [amalg]
        * &Barwed; => [Barwed]
        * &barwed; => [barwed]
        * &Cap; => [Cap]
        * &Cup; => [Cup]
        * &cuvee; => [cuvee]
        * &cuwed; => [cuwed]
        * &diam; => [diam]
        * &divonx; => [divonx]
        * &intcal; => [intcal]
        * &lthree; => [lthree]
        * &ltimes; => [ltimes]
        * &minusb; => [minusb]
        * &oast; => [oast]
        * &ocir; => [ocir]
        * &odash; => [odash]
        * &odot; => [odot]
        * &ominus; => [ominus]
        * &oplus; => [oplus]
        * &osol; => [osol]
        * &otimes; => [otimes]
        * &plusb; => [plusb]
        * &plusdo; => [plusdo]
        * &rthree; => [rthree]
        * &rtimes; => [rtimes]
        * &sdot; => [sdot]
        * &sdotb; => [sdotb]
        * &setmn; => [setmn]
        * &sqcap; => [sqcap]
        * &sqcup; => [sqcup]
        * &ssetmn; => [ssetmn]
        * &sstarf; => [sstarf]
        * &timesb; => [timesb]
        * &top; => [top]
        * &uplus; => [uplus]
        * &wreath; => [wreath]
        * &xcirc; => [xcirc]
        * &xdtri; => [xdtri]
        * &xutri; => [xutri]
        * &coprod; => [coprod]
        * &prod; => [prod]
        * &sum; => [sum]


A.16. Added Math Symbols: Relations
-----------------------------------

        * &ape; => [ape]
        * &asymp; => [asymp]
        * &bcong; => [bcong]
        * &bepsi; => [bepsi]
        * &bowtie; => [bowtie]
        * &bsim; => [bsim]
        * &bsime; => [bsime]
        * &bump; => [bump]
        * &bumpe; => [bumpe]
        * &cire; => [cire]
        * &colone; => [colone]
        * &cuepr; => [cuepr]
        * &cuesc; => [cuesc]
        * &cupre; => [cupre]
        * &dashv; => [dashv]
        * &ecir; => [ecir]
        * &ecolon; => [ecolon]
        * &eDot; => [eDot]
        * &esdot; => [esdot]
        * &efDot; => [efDot]
        * &egs; => [egs]
        * &els; => [els]
        * &erDot; => [erDot]
        * &fork; => [fork]
        * &frown; => [frown]
        * &gap; => [gap]
        * &gsdot; => [gsdot]
        * &gE; => [gE]
        * &gel; => [gel]
        * &gEl; => [gEl]
        * &ges; => [ges]
        * &Gg; => [Gg]
        * &gl; => [gl]
        * &gsim; => [gsim]
        * &Gt; => [Gt]
        * &lap; => [lap]
        * &ldot; => [ldot]
        * &lE; => [lE]
        * &lEg; => [lEg]
        * &leg; => [leg]
        * &les; => [les]
        * &lg; => [lg]
        * &Ll; => [Ll]
        * &lsim; => [lsim]
        * &Lt; => [Lt]
        * &ltrie; => [ltrie]
        * &mid; => [mid]
        * &models; => [models]
        * &pr; => [pr]
        * &prap; => [prap]
        * &pre; => [pre]
        * &prsim; => [prsim]
        * &rtrie; => [rtrie]
        * &samalg; => [samalg]
        * &sc; => [sc]
        * &scap; => [scap]
        * &sccue; => [sccue]
        * &sce; => [sce]
        * &scsim; => [scsim]
        * &sfrown; => [sfrown]
        * &smid; => [smid]
        * &smile; => [smile]
        * &spar; => [spar]
        * &sqsub; => [sqsub]
        * &sqsube; => [sqsube]
        * &sqsup; => [sqsup]
        * &sqsupe; => [sqsupe]
        * &ssmile; => [ssmile]
        * &Sub; => [Sub]
        * &subE; => [subE]
        * &Sup; => [Sup]
        * &supE; => [supE]
        * &thkap; => [thkap]
        * &thksim; => [thksim]
        * &trie; => [trie]
        * &twixt; => [twixt]
        * &vdash; => [vdash]
        * &Vdash; => [Vdash]
        * &vDash; => [vDash]
        * &veebar; => [veebar]
        * &vltri; => [vltri]
        * &vprop; => [vprop]
        * &vrtri; => [vrtri]
        * &Vvdash; => [Vvdash]


A.17. Added Math Symbols: Negated Relations
-------------------------------------------

        * &gnap; => [gnap]
        * &gne; => [gne]
        * &gnE; => [gnE]
        * &gnsim; => [gnsim]
        * &gvnE; => [gvnE]
        * &lnap; => [lnap]
        * &lnE; => [lnE]
        * &lne; => [lne]
        * &lnsim; => [lnsim]
        * &lvnE; => [lvnE]
        * &nap; => [nap]
        * &ncong; => [ncong]
        * &nequiv; => [nequiv]
        * &ngE; => [ngE]
        * &nge; => [nge]
        * &nges; => [nges]
        * &ngt; => [ngt]
        * &nle; => [nle]
        * &nlE; => [nlE]
        * &nles; => [nles]
        * &nlt; => [nlt]
        * &nltri; => [nltri]
        * &nltrie; => [nltrie]
        * &nmid; => [nmid]
        * &npar; => [npar]
        * &npr; => [npr]
        * &npre; => [npre]
        * &nrtri; => [nrtri]
        * &nrtrie; => [nrtrie]
        * &nsc; => [nsc]
        * &nsce; => [nsce]
        * &nsim; => [nsim]
        * &nsime; => [nsime]
        * &nsmid; => [nsmid]
        * &nspar; => [nspar]
        * &nsub; => [nsub]
        * &nsube; => [nsube]
        * &nsubE; => [nsubE]
        * &nsup; => [nsup]
        * &nsupE; => [nsupE]
        * &nsupe; => [nsupe]
        * &nvdash; => [nvdash]
        * &nvDash; => [nvDash]
        * &nVDash; => [nVDash]
        * &nVdash; => [nVdash]
        * &prnap; => [prnap]
        * &prnE; => [prnE]
        * &prnsim; => [prnsim]
        * &scnap; => [scnap]
        * &scnE; => [scnE]
        * &scnsim; => [scnsim]
        * &subne; => [subne]
        * &subnE; => [subnE]
        * &supne; => [supne]
        * &supnE; => [supnE]
        * &vsubnE; => [vsubnE]
        * &vsubne; => [vsubne]
        * &vsupne; => [vsupne]
        * &vsupnE; => [vsupnE]


A.18. Added Math Symbols: Arrow Relations
-----------------------------------------

        * &cularr; => [cularr]
        * &curarr; => [curarr]
        * &dArr; => [dArr]
        * &darr2; => [darr2]
        * &dharl; => [dharl]
        * &dharr; => [dharr]
        * &lAarr; => [lAarr]
        * &Larr; => [Larr]
        * &larr2; => [larr2]
        * &larrhk; => [larrhk]
        * &larrlp; => [larrlp]
        * &larrtl; => [larrtl]
        * &lhard; => [lhard]
        * &lharu; => [lharu]
        * &hArr; => [hArr]
        * &harr; => [harr]
        * &lrarr2; => [lrarr2]
        * &rlarr2; => [rlarr2]
        * &harrw; => [harrw]
        * &rlhar2; => [rlhar2]
        * &lrhar2; => [lrhar2]
        * &lsh; => [lsh]
        * &map; => [map]
        * &mumap; => [mumap]
        * &nearr; => [nearr]
        * &nlArr; => [nlArr]
        * &nlarr; => [nlarr]
        * &nhArr; => [nhArr]
        * &nharr; => [nharr]
        * &nrarr; => [nrarr]
        * &nrArr; => [nrArr]
        * &nwarr; => [nwarr]
        * &olarr; => [olarr]
        * &orarr; => [orarr]
        * &rAarr; => [rAarr]
        * &Rarr; => [Rarr]
        * &rarr2; => [rarr2]
        * &rarrhk; => [rarrhk]
        * &rarrlp; => [rarrlp]
        * &rarrtl; => [rarrtl]
        * &rarrw; => [rarrw]
        * &rhard; => [rhard]
        * &rharu; => [rharu]
        * &rsh; => [rsh]
        * &drarr; => [drarr]
        * &dlarr; => [dlarr]
        * &uArr; => [uArr]
        * &uarr2; => [uarr2]
        * &vArr; => [vArr]
        * &varr; => [varr]
        * &uharl; => [uharl]
        * &uharr; => [uharr]
        * &xlArr; => [xlArr]
        * &xhArr; => [xhArr]
        * &xharr; => [xharr]
        * &xrArr; => [xrArr]


A.19. Added Math Symbols: Delimiters
------------------------------------

        * &rceil; => [rceil]
        * &rfloor; => [rfloor]
        * &rpargt; => [rpargt]
        * &urcorn; => [urcorn]
        * &drcorn; => [drcorn]
        * &lceil; => [lceil]
        * &lfloor; => [lfloor]
        * &lpargt; => [lpargt]
        * &ulcorn; => [ulcorn]
        * &dlcorn; => [dlcorn]


-------------------------------------------------------------------------------


B. Conversion to XML
--------------------

     Now debiandoc-sgml package offers conversion to Docbook XML format for
     its user to smoothly migrate to the newer well maintained tool set
     called Docbook XML.

     This appendix was written by Osamu Aoki (GPL2) in 2005.


B.1. Basic conversion method
----------------------------

     No particular preparation of debiandoc-sgml SGML source is needed to
     use the conversion tool `debiandoc2xml' .  See debiandoc2xml(1).

     To make a single XML file from valid debiandoc-sgml source, issue the
     following commands:

          $ cd path/to/sgml-source-tree/
          $ debiandoc2xml -1 foo.sgml
          $ cd foo.xml/
          $ mv index.xml foo.xml

     The generated XML file is named as `index.xml' and let's manually
     rename as `foo.xml' for this time.


B.2. Advanced conversion methods
--------------------------------

     In order to make generated file manageable, you may want to have them
     split into separate files for each chapter and preserve external
     `ENTITY' definitions as separate file.  They are quite easy.

B.2.1. Split XML file output
----------------------------

     When issuing `debiandoc2xml' command, just issue it without `-1'
     option in the above example.  You get XML files with file names
     matching `id' values of `chapt' tags.  The top page is `index.xml' and
     it will contain file inclusion directions.

B.2.2. Preserving external `ENTITY' definitions
-----------------------------------------------

     Some SGML sources use external file to manage common information
     across the documentation source and maintain good coherence.  Creating
     this `ENTITY' definitions in a separate file named `default.ent' is
     common practice.  It contains entries such as:

          <!ENTITY debianhome     "http://www.debian.org/">

     You probably want to preserve these remote definition after XML
     conversion.  Following describes how to do this.

     In order to simplify this conversion, you need to simplify
     `default.ent' by removing definition for conditional switching such
     as:

          <!ENTITY % q-ref   "IGNORE">

     and

          <![%lang-fr;[
          <!ENTITY full-title "Guide de référence pour Debian">
          <!ENTITY p-debian-reference "debian-reference-fr">
          ]]>

     Then, you tweak `default.ent' file (assuming files are normally
     formatted) as follows:

$ mv default.ent default.ent.orig
$ egrep "<\![[:space:]]*ENTITY[[:SPACE:]]+" <default.ent.orig | \
  perl -p -e \
     's/<\!\s*ENTITY\s+([-\w]+)\s.*$/<\!ENTITY $1 "@#@#@#$1#@#@#@">/' \
     > default.ent

     This will create alternative entries, which generate reference markers
     such as:

          <!ENTITY debianhome "@#@#@#debianhome#@#@#@">

     Then use this alternative `default.ent' file for XML conversion.  (You
     may still modify this to include missing required definitions such as
     lines containing "%" in the original `default.ent' file.)

     For each generated XML files with this alternative `default.ent' file,
     you recover remote references by converting markers with:

          $ for i in *.xml ; do \
            perl -p -i -e 's/@#@#@#$([\w]+)#@#@#@/\&$1;/g' $i ; \
            done

     You need to add specification of including original `default.ent' in
     the header area of `foo.xml' XML file at the top again as:

          <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
              "/usr/share/sgml/docbook/dtd/xml/4.2/docbookx.dtd" [
          
          <!ENTITY % default  SYSTEM "default.ent">  %default;
          
          <!-- more lines here -->
          
          ]>


B.3. Testing generated XML file(s)
----------------------------------

     You can test the generated XML file with Emacs and psgml, or nsgmls:

          $ nsgmls -s /usr/share/sgml/declaration/xml.decl foo.xml


-------------------------------------------------------------------------------


     DebianDoc-SGML Manual

     Ardo van Rangelrooij <ardo@debian.org>
     Ian Jackson <ijackson@gnu.ai.mit.edu>


     2026-01-31

