mirror of https://github.com/tLDP/LDP
2796 lines
78 KiB
Plaintext
2796 lines
78 KiB
Plaintext
<!doctype linuxdoc system>
|
||
<article opts="makeidx">
|
||
<titlepag>
|
||
<title>Linuxdoc Reference
|
||
<subtitle>A introduction to the linuxdoc dtd</subtitle></title>
|
||
<author><name>Uwe B&oe;hme, <uwe@hof.baynet.de></name></author>
|
||
<date>v1.1, 30 January 2000</date>
|
||
<abstract>
|
||
This article is intended to be a reference for the SGML document type
|
||
definition linuxdoc, which is coming along with the SGML text
|
||
formatting system version 1.0.
|
||
It should also be applicable to future versions which may be found at
|
||
<url url="http://www.hof.baynet.de/~uwe" name="My Homepage">.
|
||
|
||
</abstract></titlepag>
|
||
<toc>
|
||
<lof>
|
||
<lot>
|
||
|
||
|
||
<sect>Making of<p>
|
||
|
||
<sect1>Legal stuff
|
||
|
||
<p><nidx/copyright/Copyright © 1997-2000 by Uwe B&oe;hme.
|
||
This document may be distributed under the terms set forth in the Linux
|
||
Documentation Project License at
|
||
<url url="http://metalab.unc.edu/LDP/COPYRIGHT.html"
|
||
name="LDP">.
|
||
Please contact the authors if you are unable to get the license.
|
||
This is free documentation.
|
||
It 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.
|
||
|
||
This document is not part of <nidx/ldp/<em/ldp/ (even if I took their
|
||
form of license).
|
||
I'm not yet playing in that league.
|
||
|
||
<sect1>Genesis
|
||
|
||
<p>This document was born trying to learn more about writing texts on my
|
||
linux system.
|
||
The one system looking like suitable to my needs was <idx/sgml-tools/
|
||
<url url="http://www.sgml-tools.org" name="SGML-Tools Organsation"> an the
|
||
<idx/linuxdoc/ dtd.
|
||
|
||
In [<em/SGML-Tools User's Guide 1.0 ($Revision$)/] (see section
|
||
<ref id="reference" name="Reference">) the overall structure is described
|
||
nice and easy.
|
||
Also [<em/Quick SGML Example, v1.0/] (see section <ref id="reference"
|
||
name="Reference">) was helpful, <bf/but/:
|
||
|
||
A lot of features are not mentioned.
|
||
|
||
On the way to learn more about it, I met [<em/The qwertz Document Type
|
||
Definition/] (see section <ref id="reference" name="Reference">).
|
||
It's as detailed as hoped, but it's not made for the linuxdoc dtd
|
||
<nidx/dtd/ (even if linuxdoc is based on <idx/qwertz/).
|
||
|
||
I tried a new approach:
|
||
Look at the <idx/dtd/<footnote>dtd = document type definition</footnote>
|
||
file itself, and try to understand it.
|
||
|
||
As time went by I noticed that I also forgot about some stuff,
|
||
or - at least - didn't point it out strong enough.
|
||
This will change within the next revision.
|
||
|
||
Any feedback you might have is welcome (especially help with English
|
||
spelling or grammar) by e-mail at <url url="mailto:uwe@hof.baynet.de"
|
||
name="Uwe B&oe;hme">.
|
||
|
||
|
||
<sect>Introduction
|
||
<p>
|
||
<nidx/principles/
|
||
<nidx/sgml/
|
||
The principle of any sgml'ed document (linuxdoc, docbook, html) is
|
||
more or less the same:
|
||
|
||
Don't write how it should <em/look like/, but write what it <em/is/.
|
||
|
||
This is a different approach than the standard
|
||
"<idx/wysiwyg/"<footnote/What you see is what you (should) get
|
||
(if you are a very lucky one and your computer wins the war against
|
||
buggy software)/ one<footnote>You might want to call it
|
||
<tt>wysiwym</tt>, i.e. "What you see is what you mean"</footnote>.
|
||
You do not tell the program that this line should be in a bigger font,
|
||
<bf/to look like/ a headline.
|
||
What you do is telling that this line <bf/is/ a headline.
|
||
You do not try to make your document <bf/look like/ a
|
||
report, but you tag it <bf/to be/ a report.
|
||
So you <em/tag/ the text with the appropriate <tag>.
|
||
|
||
|
||
The big advantages of this approache are:
|
||
<enum>
|
||
<item>You do not need to mess around with fontsetting, line gaps or
|
||
anything directly connected to the layout.
|
||
<item><nidx/portability/
|
||
You describe your document in a more abstract way so it's more
|
||
reusable and can be mapped to different media types.
|
||
<footnote/If you ever tried the reuse a document written in a
|
||
specialized wysiwy layout for html then you know what I'm
|
||
talking about./
|
||
</enum>
|
||
|
||
In addition in all sgml-style documents you will find <idx/named symbol/s
|
||
This is a concept to expand the charset of the document and to avoid
|
||
inconsitences in decision of the parser, how to interpret or map some
|
||
special characters.
|
||
|
||
How should the parser know weather a <tt/</ character is
|
||
starting a tag or should be printed directly.
|
||
This is solved by the <idx/named character/ <em/lt/.
|
||
If you write <tt/&lt;/ this one will result to <tt/</ in your
|
||
text.
|
||
For a list of the named symbols see
|
||
<ref id="namedsymbols" name="Named Symbols">.
|
||
|
||
<descrip>
|
||
<tag/Hint for the new user/
|
||
It might be a good idea, to download this document not only as a dvi or
|
||
ps document, but also to download the sgml source.
|
||
This offers you the chance to look into the sources, if you find something
|
||
within this article, wich might fit your needs.
|
||
</descrip>
|
||
|
||
|
||
<sect>A minimalistic document<label id="crash">
|
||
<p>
|
||
In this section you'll find what you'll need for a minimalistic linuxdoc
|
||
dtd conform document.
|
||
It's intended to give a first touch.
|
||
Skip this section, if you already now the principles.
|
||
|
||
<sect1>Step By Step
|
||
<p>
|
||
The steps you have to do to create a nice linuxdoc document and map it to
|
||
the form you need are:
|
||
|
||
<itemize>
|
||
<item>Take a plain text editor of your choice.
|
||
<item>Create a file and name it (or later save it as) e.g. <tt/start.sgml/.
|
||
<item>Type the document
|
||
<item>Save the file and close your editor.
|
||
<item>Run the checker by typing <tt>sgmlcheck start.sgml</tt>.
|
||
<item>If you get errors reported, reopen your document in your editor again
|
||
and try to correct it<footnote>The error messages of <tt><idx/sgmlcheck/</tt>
|
||
will give you a hint about the type of error and also line and column where
|
||
it occurred.</footnote>.
|
||
Run the checker again until no more errors occur.
|
||
<item>Now you have to decide what's your document for.
|
||
<nidx/mapping/Take the apropriate parser mapper combination and translate
|
||
your document.
|
||
To find the mappers available in the SGML-Tools see table
|
||
<ref id="tmapper" name="SGML-Tools mappers for sgml documents">.
|
||
|
||
<table loc="ht">
|
||
<tabular ca="ll">
|
||
type|to produce@<hline>@
|
||
<tt/sgml2html start.sgml/|Hypertext markup language for web browsers@
|
||
<tt/sgml2lyx start.sgml/|Lyx or KLyx wysiwym textformat@
|
||
<tt/sgml2info start.sgml/|Info page for UN*X info@
|
||
<tt/sgml2latex start.sgml/|DVI output@
|
||
<tt/sgml2latex --output=tex start.sgml/|pure tex output@
|
||
<tt/sgml2latex --output=ps start.sgml/|postscript output@
|
||
<tt/sgml2rtf start.sgml/|rich text format@
|
||
<tt/sgml2txt start.sgml/|pure text@
|
||
</tabular>
|
||
<caption>SGML-Tools mappers for sgml documents<label id="tmapper">
|
||
</table>
|
||
</itemize>
|
||
|
||
|
||
<sect1>A Startup Document
|
||
<p>
|
||
We start with a simple document (the numbers and colon in the beginning
|
||
of the line are for explanation, don't type it!):
|
||
|
||
<nidx/example!startup document/<code>
|
||
1: <!doctype linuxdoc system>
|
||
2: <notes>
|
||
3: <title>A Small Linuxdoc Example&etago;title>
|
||
4: <p>Hello <em>world&etago;em>.&etago;p>
|
||
5: <p><bf>Here&etago;bf> we are.&etago;p>
|
||
6: &etago;notes>
|
||
</code>
|
||
|
||
Now we take a look at the single lines:
|
||
<enum>
|
||
<item>
|
||
A linuxdoc document has to start, like all SGML conform documents,
|
||
with the <em><idx>preamble</idx></em>.
|
||
If you like you can take it as a piece of necessary magic, or you can
|
||
try to find more information about SGML.
|
||
The preamble is indicating to the SGML-parser, which dtd
|
||
(document type definition) it should use for checking the syntax of the
|
||
document.
|
||
|
||
<item>
|
||
Open the <em/document class/:
|
||
You have to decide, wich type of document you want to write.
|
||
See section <ref id="linuxdoc" name="Document Classes"> for detailed
|
||
description about that <em/document classes/.
|
||
The necessary header information, wich is depending on the
|
||
<em/document class/ is also explained there.
|
||
In our case we place a <tt/<notes>/ tag forming a note, wich is
|
||
indicating a simple unstructured document.
|
||
|
||
<item>
|
||
Even if optional it's a good idea to give a <em/title/ to the document.
|
||
That's done with the <tt/<title>/ tag.
|
||
|
||
<item>
|
||
A paragraph marked by the <tt/<p>/ tag, containing the word <tt/world/
|
||
wich is <em/inline/ <em/emphasize/d by the <tt/<em>/ tag.
|
||
|
||
<item>
|
||
Another completely tagged paragraph, with another word <em/inline/
|
||
<em/boldface/d by the <tt/<bf>/ tag.
|
||
|
||
<item>
|
||
Here we close the open <em/document class/ tag.
|
||
</enum>
|
||
|
||
The same example may be written a little bit shorter, by leaving out tags
|
||
which are placed automatically by the parser, and by using shortened tags:
|
||
|
||
<nidx/example!startup document short/<code>
|
||
1: <!doctype linuxdoc system>
|
||
2: <notes>
|
||
3: <title>A Small Linuxdoc Example
|
||
4: <p>Hello <em/world/.
|
||
5:
|
||
6: <bf/Here/ we are.
|
||
7: &etago;notes>
|
||
</code>
|
||
|
||
|
||
Now we look at the single lines again:
|
||
<enum>
|
||
<item>
|
||
The <em/preambel/.
|
||
|
||
<item>
|
||
The document class (also unchanged).
|
||
|
||
<item>
|
||
The <em/title/. It's not closed, because the <tt/p/ tag in the next line is
|
||
implicitely closing it.
|
||
|
||
<item>
|
||
The paragraph is implicitly closing the <em/title/. The <em/emphasize/ tag is
|
||
noted in short form. The short notation you can use only if your tagged text
|
||
doesn't contain a litteral <tt>/</tt>. The <em/paragraph/ is not explicitly
|
||
closed in this line.
|
||
|
||
<item>
|
||
The empty line here is the reason, why you don't need to close the previous
|
||
<em/paragraph/ and don't need to open the next one.
|
||
A empty line is interpreted as a end of the current paragraph and the
|
||
start of a new one.
|
||
|
||
<item>
|
||
Another paragraph (not opened directly), with another short <em/inline/ tag.
|
||
|
||
<item>Closing the open <em/document class/ tag, wich is implicitly also
|
||
closing the still open paragraph.
|
||
</enum>
|
||
|
||
Maybe now it's a little bit more clear, who you have to work with tags.
|
||
|
||
|
||
<sect>Document Classes<label id="linuxdoc">
|
||
<p>
|
||
<nidx/documentclass/
|
||
<code>
|
||
<!element linuxdoc o o
|
||
(sect | chapt | article | report |
|
||
book | letter | telefax | slides | notes | manpage ) >
|
||
</code>
|
||
|
||
This is describing the overall class of the document, so naturally it has
|
||
(leave alone the doctype definition) to be the first tag enclosing your whole
|
||
document.
|
||
Some of the tags namely the <tt/sect/ and <tt/chapt/ (see section
|
||
<ref id="sections" name="Sectioning Tags">) doesn't make any sense taken them
|
||
standalone despite being included as part of more complete classed document,
|
||
so we'll describe them later as a part of the other document classes.
|
||
Decide first which of the top mentioned document classes fits the type of the
|
||
document you want to write best.
|
||
|
||
To find a detailed description of the document classes see table
|
||
<ref id="tclasses" name="Document classes">.
|
||
|
||
<table loc="ht">
|
||
<tabular ca="ll">
|
||
Chapter|Class tag@<hline>@
|
||
<ref id="article" name="Article Tag">|<tt/<atricle>/@
|
||
<ref id="report" name="Report Tag">|<tt/<report>/@
|
||
<ref id="book" name="Book Tag">|<tt/<book>/@
|
||
<ref id="letter" name="Letter Tag">|<tt/<letter>/@
|
||
<ref id="telefax" name="Telefax Tag">|<tt/<telefax>/@
|
||
<ref id="slides" name="Slides Tag">|<tt/<slides>/@
|
||
<ref id="notes" name="Notes Tag">|<tt/<notes>/@
|
||
<ref id="manpage" name="Manpage Tag">|<tt/<manpage>/
|
||
</tabular>
|
||
<caption>Document classes<label id="tclasses">
|
||
</table>
|
||
|
||
To me the <em/article class/ is the most important one.
|
||
That<EFBFBD>s the reason why it<69>s described first and most detailed.
|
||
|
||
<sect1>Article Tag<label id="article">
|
||
<p>
|
||
<nidx/article!documentclass/
|
||
<nidx/documentclass!article/
|
||
<nidx/article/
|
||
<nidx/tag!article/
|
||
<code>
|
||
<!element article - -
|
||
(titlepag, header?,
|
||
toc?, lof?, lot?, p*, sect*,
|
||
(appendix, sect+)?, biblio?) +(footnote)>
|
||
|
||
<!attlist article
|
||
opts cdata "null">
|
||
</code>
|
||
You can see that the <em/article/ needs some tags included. They will be
|
||
explained in consequence.
|
||
|
||
The <em/options/ attribute (<tt/opts/) takes a comma separated list with thy
|
||
different style (&latex; <tt/.sty/) sheets to inlude within the document.
|
||
|
||
|
||
<sect2>Titlepage Tag<label id="titlepag">
|
||
<p>
|
||
<nidx/titlepage/
|
||
<nidx/tag!titlepage/
|
||
<code>
|
||
<!element titlepag o o (title, author, date?, abstract?)>
|
||
</code>
|
||
The <em/Titlepage/ Tag (<tt/titlepag/) is implicitly placed as soon a you
|
||
started your <em/document class/. You don't need to write it explicitly.
|
||
Anyway you have to note it's mandatory tags. It's purpouse is to describe the
|
||
layout and elements of the titlepages.
|
||
|
||
|
||
<sect3>Title Tag<label id="title">
|
||
<p>
|
||
<nidx/title/
|
||
<nidx/tag!title/
|
||
<code>
|
||
<!element title - o (%inline, subtitle?) +(newline)>
|
||
</code>
|
||
Each <em/document class/ wich owns a titlepage of course needs a <em/title/,
|
||
wich is noted down with a <tt/<title>/ tag.
|
||
You don't need to close thatone.
|
||
A title may contain a <em/subtitle/ started by the <tt/<subtitle>/ tag.
|
||
|
||
If you look at the headerpage of this document you'll find it to be mapped
|
||
from the tags:
|
||
|
||
<nidx/example!title/
|
||
<nidx/example!subtitle/
|
||
<verb>
|
||
<title>Linuxdoc Reference
|
||
<subtitle>A introduction to the linuxdoc dtd
|
||
</verb
|
||
|
||
<sect3>Author Tag<label id="author">
|
||
<p>
|
||
<nidx/author/
|
||
<nidx/tag!author/
|
||
<code>
|
||
<!element author - o (name, thanks?, inst?,
|
||
(and, name, thanks?, inst?)*)>
|
||
</code>
|
||
Usually you place the (your) name here.
|
||
People should know who wrote the document,
|
||
so you place a <tt/<author>/ tag.
|
||
If you don't note the <tt/name/ tag it<69>s imlicitly placed.
|
||
The <em/author/ has also optional items wich can be tagged within the
|
||
<tt/author/ tag.
|
||
|
||
If you want to say thanks to anyone (might be somebody providing usefull
|
||
information) you place it within the <tt/<thanks>/ tag.
|
||
Next, if your writing is done in your position of an <em/institution/
|
||
staff member, place it within the <tt/<inst>/ tag.
|
||
|
||
The <tt/<and>/ tag is starting the whole story again,
|
||
as if there would be a second <tt/author/ tag would have been started.
|
||
Clearly thisone is for coauthors.
|
||
|
||
<sect3>Date Tag<label id="date">
|
||
<p>
|
||
<nidx/date/
|
||
<nidx/tag!date/
|
||
If you want to mark your document with a <em/date/, you can do that with the
|
||
<tt/<date>/ tag.
|
||
<footnote/It's not checked weather you really place a valid date here, but
|
||
don't abuse it./
|
||
|
||
<sect3>Abstract Tag<label id="abstract">
|
||
<p>
|
||
<nidx/abstract/
|
||
<nidx/tag!abstract/
|
||
This tag is intended for an <em/abstract/ description of your document.
|
||
Don't mix the <tt/<abstract>/ tag withh an <em/indruduction/ wich is
|
||
likely to be placed inside the first <em/section/ of your document
|
||
(see section <ref id="sections" name="Sectioning">).
|
||
|
||
|
||
<sect2>Header Tag<label id="header">
|
||
<p>
|
||
<nidx/header/
|
||
<nidx/tag!header/
|
||
<code>
|
||
<!element header - - (lhead, rhead) >
|
||
<!element lhead - o (%inline)>
|
||
<!element rhead - o (%inline)>
|
||
</code>
|
||
A <tt/<header>/ tag specifies what should be printed at the top of each
|
||
page.
|
||
It consists of a <em/left heading/ i.e. <tt/<lhead>/ and a <em/right
|
||
heading/ i.e. <tt/<rhead>/).
|
||
Both elements are required, if a heading is used at all, but either may be
|
||
left empty, so that the effect of having only a left or right heading can be
|
||
achieved easily enough.
|
||
|
||
As we will see, an initial header can be given after the title page.
|
||
Afterwards, a new header can be given for each new chapter or section. The
|
||
header printed on a page is the one which is in effect at the end of the
|
||
current page. So that the header will be that of the last section starting on
|
||
the page.
|
||
|
||
|
||
<sect2>Table Of Contents Tag<label id="toc">
|
||
<p>
|
||
<nidx/toc/<nidx/table of contense/
|
||
<nidx/tag!toc/
|
||
If you place the <tt/<toc>/ tag, a <em/table of contense/ will be
|
||
generated, by looking the section heading, and adding references.
|
||
<footnote/In a hyperref document, this might be hyperrefs, in a &latex;
|
||
document you will come to see the pagenumbers./
|
||
Only the sections major to the <tt/sect3/ will be included.
|
||
|
||
|
||
<sect2>List Of Figures Tag<label id="lof">
|
||
<p>
|
||
<nidx/lof/<nidx/list of figures/
|
||
<nidx/tag!lof/
|
||
If you place the <tt/<lof>/ tag, a <em/list of figures/ will be
|
||
generated, by looking the captions of the figures, and adding references.
|
||
|
||
|
||
<sect2>List Of Tables Tag<label id="lot">
|
||
<p>
|
||
<nidx/lot/<nidx/list of tables/
|
||
<nidx/tag!lot/
|
||
If you place the <tt/<lot>/ tag, a <em/list of tables/ will be
|
||
generated, by looking the captions of the tables, and adding references.
|
||
|
||
|
||
<sect2>Body <label id="body">
|
||
<p>
|
||
<nidx/body/
|
||
Here you place various sections according section
|
||
<ref id="sections" name="Sectioning">.
|
||
There is no <em/body tag/.
|
||
The body starts with the first <em/chapter/, <em/section/ or <em/paragraph/.
|
||
|
||
|
||
<sect2>Appendix Tag<label id="appendix">
|
||
<p>
|
||
<nidx/appendix/
|
||
<nidx/tag!appendix/
|
||
In the end of the article you can place the <tt/<appendix>/ tag
|
||
<footnote/Really you shouldn't think about people (e.g. m.d.s knifing your
|
||
belly here./, wich starts a area of appended sections.
|
||
The <tt/appendix/ tag implies a different section numbering type to the
|
||
following section tags.
|
||
|
||
<sect2>Bibliography Tag<label id="biblio">
|
||
<p>
|
||
<nidx/bibliography/<nidx/biblio/
|
||
<nidx/tag!biblio/
|
||
It's intended to gather all the <tt/<cites>/ and <tt/<ncites>/
|
||
you used within your document. The <tt/<biblio>/ tag will be replaced
|
||
by a <em/bibliography/ according the mapping type of the document,
|
||
maybe by hyperrefs maybe by section numbers or anything wich might be useful.
|
||
<footnote/Until now I've not been able to create a <tt/.bbl/ file, so I
|
||
wasn't able to verify./
|
||
|
||
|
||
<sect2>Footnote Tag<label id="footnote">
|
||
<p>
|
||
<nidx/footnote/
|
||
<nidx/tag!footnote/
|
||
A <em/footnote/ may be place in any spot of your document.
|
||
Exactly the spot in yout document where you are placing
|
||
the <tt/<footnote>/ tag should be the one where the reference to the
|
||
tagged text shuld be rendered.
|
||
It should be used for additional information, wich is not necessary for
|
||
understanding the primary purpouse of yor document
|
||
but might be usefull, interesting, or funny.
|
||
<footnote/Whereas the last one is not always true, even if you try./
|
||
anywhere within the article.
|
||
|
||
<sect1>Report Tag<label id="report">
|
||
<p>
|
||
<nidx/report/
|
||
<nidx/tag!report/
|
||
<nidx/documentclass!report/
|
||
<code>
|
||
<!element report - -
|
||
(titlepag, header?, toc?, lof?, lot?, p*,
|
||
chapt*, (appendix, chapt+)?, biblio?) +(footnote)>
|
||
</code>
|
||
The <em/report/ is a document class with a chapter oriented approach.
|
||
So within a document clasified by a <tt/<report>/ tag the
|
||
toplevel is grouped by the <tt/<chapt>/ tag (see <ref id="sections"
|
||
name="Sectioning">). The rest of the structure is identical to the
|
||
<em/article/ class <ref id="article" name="Article Tag">.
|
||
|
||
|
||
<sect1>Book Tag<label id="book">
|
||
<p>
|
||
<nidx/book/
|
||
<nidx/tag!book/
|
||
<nidx/documentclass!book/
|
||
<code>
|
||
<!element book - -
|
||
(titlepag, header?, toc?, lof?, lot?, p*, chapt*,
|
||
(appendix, chapt+)?, biblio?) +(footnote) >
|
||
</code>
|
||
You will notice that the <em/book/ element is identical to the <em/report/
|
||
<ref id="report" name="Report Tag">.
|
||
So anything valid there is also valid if you classify your document with a
|
||
<tt/<book>/ tag.
|
||
|
||
|
||
<sect1>Letter Tag<label id="letter">
|
||
<p>
|
||
<nidx/letter/
|
||
<nidx/tag!letter/
|
||
<nidx/documentclass!letter/
|
||
<code>
|
||
<!entity % addr "(address?, email?, phone?, fax?)" >
|
||
|
||
<!element letter - -
|
||
(from, %addr, to, %addr, cc?, subject?, sref?, rref?,
|
||
rdate?, opening, p+, closing, encl?, ps?)>
|
||
</code>
|
||
|
||
Also the purpose of the <em/letter/ document class should be quite self
|
||
explaining. Place a <tt/<letter>/ tag if you want to write one.
|
||
|
||
The letter's tags ar described in table
|
||
<ref id="tletter" name="Tags in a letter">
|
||
|
||
<table loc="ht">
|
||
<tabular ca="lll">
|
||
tag|mandatory|what's it@<hline>@
|
||
from|yes|from sender@
|
||
address|no|sender's address@
|
||
email|no|sender's email@
|
||
phone|no|sender's phone@
|
||
fax|no|sender's fax@
|
||
to|yes|receiver@
|
||
address|no|receiver's address@
|
||
email|no|receiver's email@
|
||
phone|no|receiver's phone@
|
||
fax|no|receiver's fax@
|
||
cc|no|carbon copy@
|
||
subject|no|letters subject@
|
||
sref|no|sender's reference@
|
||
rref|no|receiver's reference@
|
||
rdate|no|received date??@
|
||
opening|yes|opening@
|
||
paragraphs|yes|see <ref id="paragraph" name="Paragraphs">@
|
||
closing|yes|closing@
|
||
encl|no|enclosure@
|
||
ps|no|post scriptum@
|
||
</tabular>
|
||
<caption>Tags in a letter<label id="tletter">
|
||
</table>
|
||
|
||
<sect1>Telefax Tag<label id="telefax">
|
||
<p>
|
||
<nidx/telefax/
|
||
<nidx/tag!telefax/
|
||
<nidx/documentclass!telefax/
|
||
<code>
|
||
<!element telefax - -
|
||
(from, %addr, to, address, email?,
|
||
phone?, fax, cc?, subject?,
|
||
opening, p+, closing, ps?)>
|
||
</code>
|
||
Overall the structure is same to the <em/letter/ class.
|
||
The only difference is that with the
|
||
<tt/<telefax>/ tag the receiver's <tt/<fax>/
|
||
tag becomes mandatory.
|
||
<footnote/Should be obvious why./
|
||
|
||
|
||
<sect1>Slides Tag<label id="slides">
|
||
<p>
|
||
<nidx/slides/
|
||
<nidx/tag!slides/
|
||
<nidx/documentclass!slides/
|
||
<code>
|
||
<!element slides - - (slide*) >
|
||
</code>
|
||
The <em/slides/ class is intended for overhead slides and transparencies.
|
||
So the structure of a document classified by a <tt/<slides>/ tag is a
|
||
very simple one.
|
||
It contains single slide(s) startes by a <tt/<slide>/ tag.
|
||
Nothing else.
|
||
If not explicitly written the first <em/slide/ is started implicitly.
|
||
|
||
<sect2>Slide Tag<label id="slide">
|
||
<p>
|
||
<code>
|
||
<!element slide - o (title?, p+) >
|
||
</code>
|
||
A <tt/<slide>/ tag is only allowed within the <em/slides/ document class.
|
||
A <em/slide/ may contain:
|
||
|
||
A <em/title/ (see section <ref id="title" name="The Title Tag">)
|
||
and one or more <em/paragraph/s
|
||
(see section <ref id="paragraph" name="Paragraphs">).
|
||
That's all.
|
||
|
||
<sect1>Note Tag<label id="notes">
|
||
<p>
|
||
<nidx/note/
|
||
<nidx/tag!note/
|
||
<nidx/documentclass!note/
|
||
<code>
|
||
<!element notes - - (title?, p+) >
|
||
</code>
|
||
Intended as a class for personal notes the structure is even more simplified
|
||
than the <em/slides/ document class
|
||
(see <ref id="slide" name="The Slide Tag">).
|
||
After classifying a document with the <tt/<notes>/ tag only a
|
||
<em/title/ (see section <ref id="title" name="The Title Tag">)
|
||
and one or more <em/paragraph/s
|
||
(see section <ref id="paragraph" name="Paragraphs">) are allowed.
|
||
|
||
|
||
<sect1>Manual Page Tag<label id="manpage">
|
||
<p>
|
||
<nidx/manpage/
|
||
<nidx/tag!manpage/
|
||
<nidx/documentclass!manpage/
|
||
<code>
|
||
<!element manpage - - (sect1*)
|
||
-(sect2 | f | %mathpar | figure | tabular |
|
||
table | %xref | %thrm )>
|
||
</code>
|
||
This document class is intended for writing <em/manual pages/, fitting the
|
||
need of the <tt/man/ programm.
|
||
In a document classified by a <tt/<manpage>/ tag the topleve
|
||
section tag is the <tt/sect1/ tag (see section <ref id="sections"
|
||
name="Sectioning">), for easy pasting manual pages into an <em/article/
|
||
or <em/book/ document class.
|
||
The exception here to the nortmal sectioning is, that there is only one
|
||
subsection level allowed (<tt/sect2/).
|
||
|
||
|
||
<sect>Inlines
|
||
<p>
|
||
<nidx/inline/
|
||
<code>
|
||
<!entity % inline
|
||
" (#pcdata | f| x| %emph; |sq| %xref | %index | file )* " >
|
||
</code>
|
||
<em/Inlines/ may occure anywhere within the text, and doesn't have any
|
||
influence to the textflow or logical structure of the document.
|
||
|
||
<descrip>
|
||
<tag/#pcdata/
|
||
<em/Parsed character data/ is just normal written text within the flow wich
|
||
may contain other inlines.
|
||
|
||
<tag/f/
|
||
Inline <em/mathematical formulas/ according to the <tt/maths.dtd/. See
|
||
<ref id="f" name="The Formula Tag">.
|
||
|
||
<tag/x/
|
||
The <em/external/ tag wich is bypassing the parser.
|
||
Tagged data walks directly into the mapped file.
|
||
See chapter <ref id="x" name="The External Tag"> for detailed information.
|
||
|
||
<tag/%emph;/
|
||
<em/Emphasizes/ of the text. See chapter <ref id="emph" name="Emphasizes">.
|
||
|
||
<tag/sq/
|
||
<em/Shortquotes/ within the textflow.
|
||
See chapter <ref id="sq" name="The Short Quote Tad">.
|
||
|
||
<tag/%xref/
|
||
<em/XReferecnces/ within the text or external references.
|
||
See chapter <ref id="labelandreference" name="Labels and References">.
|
||
|
||
<tag/%index/
|
||
Again I can't explain this one. If you can, please mail.
|
||
|
||
<tag/file/
|
||
Again I can't explain this one
|
||
(I only could guess about picture files in eps).
|
||
If you can, please mail.
|
||
</descrip>
|
||
|
||
|
||
|
||
<sect>Sectioning<label id="sections">
|
||
<p>
|
||
<code>
|
||
<!element chapt - o (%sect, sect*) +(footnote)>
|
||
<!element sect - o (%sect, sect1*) +(footnote)>
|
||
<!element sect1 - o (%sect, sect2*)>
|
||
<!element sect2 - o (%sect, sect3*)>
|
||
<!element sect3 - o (%sect, sect4*)>
|
||
<!element sect4 - o (%sect)>
|
||
</code>
|
||
The <em/sectioning/<footnote/Also the <tt/chapt/ tag is a <em/sectioning/
|
||
tag.</footnote> is done by the according elements, forming the section tree.
|
||
They are bringing the various paragraphs within our document to follow a
|
||
nice tree.
|
||
The top level tag and the allowed depth is varying with the <em/document
|
||
class/ (see section <ref id="linuxdoc" name="The Document Class">).
|
||
|
||
The normal hierarchy is
|
||
<verb>
|
||
chapt
|
||
sect
|
||
sect1
|
||
sect2
|
||
sect3
|
||
sect4
|
||
</verb>
|
||
|
||
Just take a book, look the table of conetents and you will see.
|
||
|
||
Each of the tags out of the <em/sectionings/ has nearly the same syntax.
|
||
All of them owe a <em/heading/.
|
||
The <tt/heading/ tag is placed implicitly if you don't note it down.
|
||
Also the each of the sectioning tags may contain a <tt/header/ tag, changing
|
||
the current document header (see section <ref id="header"
|
||
name="The Header Tag">).
|
||
|
||
Within the you may place subordinate sections and <em/paragraphs/
|
||
(see <ref id="paragraph" name="Paragraphs">).
|
||
|
||
Some of the sectioning tags may only appear in special document classes (<ref
|
||
id="linuxdoc" name="Document Classes">).
|
||
|
||
<descrip>
|
||
<tag/Hint:/It's wise to place a <em/label/ tag after the text of the
|
||
<em/section/ tag, even if you don't want to refer to the section
|
||
<ref id="labelandreference" name="Labels and references">.
|
||
Later when your document grows you might want to.
|
||
</descrip>
|
||
|
||
|
||
<sect>Paragraphs<label id="paragraph">
|
||
<p>
|
||
<code>
|
||
<!entity % sectpar
|
||
" %par; | figure | tabular | table | %mathpar; |
|
||
%thrm; | %litprog; ">
|
||
|
||
<!entity % par
|
||
" %list; | comment | lq | quote | tscreen " >
|
||
|
||
<!entity % litprog " code | verb " >
|
||
|
||
</code>
|
||
|
||
Each of the here described tags form a paragraph.
|
||
|
||
For obvious reason a paragraph is normally<footnote/The behaviour of the
|
||
exceptions <tt/figure/ and <tt/tabular/ are explained there./ starting and
|
||
ending with a new line.
|
||
<footnote/How else you would notice it's a paragraph ?/
|
||
|
||
There are some tags, wich always form a paragraph, and one way to form a
|
||
paragraph implicitly.
|
||
There are various types of paragraphs, because not every type of paragraph
|
||
is allowed to appear in every document class in every place.
|
||
|
||
The different types of paragraphs are explained in the next sections.
|
||
For more details about <tt/%litprog;/ see
|
||
<ref id="litprog" name="Literate Programming">.
|
||
|
||
|
||
<sect1>Normal Paragraph<label id="par">
|
||
<p>
|
||
Normal paragraphs can be formed in two ways:
|
||
|
||
<sect2>Paragraph tag<label id="p">
|
||
<p>
|
||
The <tt/<p>/ tag is starting a new <em/paragraph/.
|
||
This tag is mandatory if you want to finish a section header without
|
||
explicitly closing the <tt/sect/ tag.
|
||
In this case <tt/<p>/ tag then closes the <tt/<sect>/ tag
|
||
automatically.
|
||
|
||
<sect2>Empty Newline<label id="nn">
|
||
<p>
|
||
A empty line between two paragraph is implicitly starting a new
|
||
<em/paragraph/.
|
||
Take care within <tt/descriptive/ lists. There a empty <tt/<tag>/
|
||
tag will not be paragraphed by an empty line.
|
||
|
||
<sect1>List-like Paragraphs<label id="listlike">
|
||
<p>
|
||
<code>
|
||
<!entity % list
|
||
" list | itemize | enum | descrip " >
|
||
</code>
|
||
This four tags indicate the starting of a list-like paragraph.
|
||
Within each of the lists the single items are separated by an
|
||
<em/item tag/.
|
||
<code>
|
||
<!element item o o ((%inline; | %sectpar;)*, p*) >
|
||
</code>
|
||
As you can see, a item may again contain paragraphs (and therefore
|
||
also may contain other lists - even of a different type).
|
||
|
||
<sect2>List Tag<label id="list">
|
||
<p>
|
||
<code>
|
||
<!element list - - (item+)>
|
||
</code>
|
||
|
||
The <em/list tag/ will be mapped to a nacked list without bullets, numers or
|
||
anything else.
|
||
|
||
To see it, I place a small example:
|
||
<code>
|
||
<list>
|
||
<item>A point
|
||
<item>Another one
|
||
<item>Last
|
||
</list>
|
||
</code>
|
||
|
||
Will look (depending on the mapping) like:
|
||
|
||
<list>
|
||
<item>A point
|
||
<item>Another one
|
||
<item>Last
|
||
</list>
|
||
|
||
<sect2>Itemize Tag<label id="itemize">
|
||
<p>
|
||
<code>
|
||
<!element itemize - - (item+)>
|
||
</code>
|
||
|
||
The <em/itemize tag/ will be mapped to a list with bullets,
|
||
wich is usually place for lists where the order of the items is not
|
||
important.
|
||
|
||
A small example:
|
||
<code>
|
||
<itemize>
|
||
<item>A point
|
||
<item>Another one
|
||
<item>Last
|
||
</itemize>
|
||
</code>
|
||
|
||
Will look (depending on the mapping) like:
|
||
|
||
<itemize>
|
||
<item>A point
|
||
<item>Another one
|
||
<item>Last
|
||
</itemize>
|
||
|
||
|
||
<sect2>Enum Tag<label id="enum">
|
||
<p>
|
||
<code>
|
||
<!element enum - - (item+)>
|
||
</code>
|
||
|
||
The <em/enum tag/ will be mapped to a list with numbers.
|
||
|
||
A small example:
|
||
<code>
|
||
<enum>
|
||
<item>A point
|
||
<item>Another one
|
||
<item>Last
|
||
</enum>
|
||
</code>
|
||
|
||
Will look (depending on the mapping) like:
|
||
|
||
<enum>
|
||
<item>A point
|
||
<item>Another one
|
||
<item>Last
|
||
</enum>
|
||
|
||
|
||
<sect2>Descrip Tag<label id="descrip">
|
||
<p>
|
||
<nidx/descrip/
|
||
<nidx/tag!descrip/
|
||
<code>
|
||
<!element descrip - - (tag?, p+)+ >
|
||
</code>
|
||
|
||
The <em/descrip tag/ will be mapped to a descriptive list.
|
||
The concept here is a little bit different than with the other types of lists
|
||
mentioned above.
|
||
|
||
Here you place a <em/tag/ (this time the tag's name is really litteraly
|
||
<tt/tag/) wich is described later on.
|
||
|
||
|
||
<nidx/example!descrip/A small example:
|
||
<code>
|
||
<descrip>
|
||
<tag/sgml/structured general markup language.
|
||
<tag/html - hypertext markup language/
|
||
A sgml implementation.
|
||
It contains some concepts about linking information together in a very
|
||
convenient way.
|
||
This made it to be so successful and to become the standard for documents
|
||
published by the internet.
|
||
<tag/internet/A worldwide connected internet (internet here as a
|
||
technical term)
|
||
</descrip>
|
||
</code>
|
||
|
||
Will look (depending on the mapping) like:
|
||
|
||
<descrip>
|
||
<tag/sgml/structured general markup language.
|
||
<tag/html - hypertext markup language/
|
||
A sgml implementation. It contains some concepts about linking information together
|
||
in a very covenient way. This made it to be so successfull and to become the standard for
|
||
documents published by the internet.
|
||
<tag/internet/A worldwide connected internet (internet here as a technical term)
|
||
</descrip>
|
||
|
||
|
||
<sect1>Figures and Tables<label id="figtab">
|
||
<p>
|
||
The <tt/<figure>/ and the <tt/<table>/ tags form very special
|
||
paragraphs.
|
||
Not always they stay within the normal textflow.
|
||
Both of the tags can hold a <tt/loc/ (<em/loction/) attribute wich is telling
|
||
how to handle the flow of this special paragraph.
|
||
|
||
The value of the <tt/loc/ attribute is a string of up to four letters, where
|
||
each letter declares a location at which the figure or table <bf/may/ appear,
|
||
as described in table <ref id="tlocations" name="Table Locations">.
|
||
|
||
<table loc="ht">
|
||
<tabular ca="lll">
|
||
h|here|At the same location as in the SGML file@
|
||
t|top|At the top of a page@
|
||
b|bottom|At the bottom of a page@
|
||
p|page|On a separate page only with figures and tables
|
||
</tabular>
|
||
<caption>Table Locations<label id="tlocations">
|
||
</table>
|
||
|
||
The default value of the loc attribute is <tt/top/.
|
||
|
||
|
||
<sect2>Table Tag<label id="table">
|
||
<p>
|
||
<nidx/table/
|
||
<nidx/tag!table/
|
||
<code>
|
||
<!element table - - (tabular, caption?) >
|
||
</code>
|
||
|
||
As you can see a <em/table/ consists of the <tt/<table>/ tag itself,
|
||
including a <tt/<tabular>/ tag and a optional <tt/<caption>/ tag.
|
||
|
||
The <tt/<tabular>/ tag may also be placed without a <tt/<table>/
|
||
tag so it is described in detail in it's own section
|
||
(see <ref id="tabular" name="Tabular Tag">).
|
||
|
||
The <em/caption/ is used also to place the entry for the
|
||
<em/list of tables/ if you stated one
|
||
(see <ref id="lot" name="The List Of Tables Tag">).
|
||
|
||
A short example will show how it's working together.
|
||
|
||
<nidx/example!table/<verb>
|
||
<table loc="ht">
|
||
<tabular ca="lcr">
|
||
Look|this|table@
|
||
Isn't|it|nice@
|
||
1.234|mixed|columns
|
||
&etago;tabular>
|
||
<caption>A sample table
|
||
&etago;table>
|
||
</verb>
|
||
|
||
<table loc="ht">
|
||
<tabular ca="lcr">
|
||
Look|this|table@
|
||
Isn't|it|nice@
|
||
1.234|mixed|columns
|
||
</tabular>
|
||
<caption>A sample table
|
||
</table>
|
||
|
||
The <em/caption/ <sq/A sample table/ would be the name in the <em/list of
|
||
tables/.
|
||
|
||
<sect2>Figure Tag<label id="figure">
|
||
<p>
|
||
<nidx/figure/
|
||
<nidx/tag!figure/
|
||
<code>
|
||
<!element figure - - ((eps | ph ), img*, caption?)>
|
||
</code>
|
||
The usage of the <tt/<figure>/ tag is equivalent to the
|
||
<tt/<table>/ tag.
|
||
Instead of the <tt/<tabular>/ tag you place either a <tt/<eps>/
|
||
or a <tt/<ph>/ tag.
|
||
|
||
<sect3>Encapsulated Postscript™ Tag<label id="eps">
|
||
<p>
|
||
<nidx/figure!eps/
|
||
<nidx/tag!figure!eps/
|
||
<code>
|
||
<!attlist eps
|
||
file cdata #required
|
||
height cdata "5cm"
|
||
angle cdata "0">
|
||
</code>
|
||
The <tt/<eps>/ tag is intended for including a external file in
|
||
<em/encapsulated postscript™/ format into the document.
|
||
|
||
The attributes of the <tt/<eps>/ tag are:
|
||
|
||
<descrip>
|
||
|
||
<tag/file/
|
||
The <tt/file/ attribute needs the <em/file name/ of a encapsulated
|
||
postscript™ file ending with a <tt/.ps/ suffix.
|
||
The mandatory <tt/.ps/ suffix must not be written.
|
||
|
||
<tag/height/
|
||
The <em/height/ of the space the file is zoomed to.
|
||
If you don't specify it defaults to 5cm.
|
||
Take care that there's no spcae between the number and the length unit
|
||
(<tt/i/, <tt/cm/).
|
||
|
||
<tag/angle/
|
||
The <em/angle/ is given in normal degrees (0-360) and as the number is
|
||
increasing the file is rotated counter clockwise.
|
||
|
||
</descrip>
|
||
|
||
A example:
|
||
|
||
<nidx/example!figure!eps/<verb>
|
||
<figure loc="here">
|
||
<eps file="logo" height="4cm" angle="15">
|
||
<img src="logo.gif">
|
||
<caption>A included encapsulated postscript&ero;trade;
|
||
&etago;figure>
|
||
</verb>
|
||
|
||
The <em/img/ tag is ignored by &latex;-mapping and useful for
|
||
html, 'cause most browsers don't know about eps.
|
||
|
||
|
||
<figure loc="here">
|
||
<eps file="logo" height="4cm" angle="15">
|
||
<img src="logo.gif">
|
||
<caption>A included encapsulated postscript™ file.
|
||
</figure>
|
||
|
||
The <em/caption/ here would go to the <em/list of figures/ as decribed in
|
||
section <ref id="lof" name="The List Of Figures Tag">.
|
||
|
||
|
||
<sect3>Placeholder Tag<label id="ph">
|
||
<p>
|
||
<nidx/figure!ph/
|
||
<nidx/tag!figure!ph/
|
||
<code>
|
||
<!attlist ph
|
||
vspace cdata #required>
|
||
</code>
|
||
This tag doesn't place anything but keeps a clean space for good old
|
||
manual picture pasting.
|
||
The space kept free is destined by the <tt/vspace/ attribte.
|
||
<bf/Caveat:/ The numerical argument for the <tt/vspace/ attribte needs a
|
||
unit directly behind the number. Don't leave a space there
|
||
(same as for the <tt/height/ attribute in
|
||
<ref id="eps" name ="Encapsulated Postscript™ Tag">.
|
||
|
||
<nidx/example!figure!ph/<verb>
|
||
<figure loc="ht">
|
||
<ph vspace="5cm">
|
||
<caption>A blank space.
|
||
&etago;figure>
|
||
</verb>
|
||
|
||
Results to:
|
||
|
||
<figure loc="ht">
|
||
<ph vspace="5cm">
|
||
<caption>A blank space for gluing a photo
|
||
</figure>
|
||
|
||
At this point you might want to look for your scissors and the glue.
|
||
|
||
|
||
<sect1>Tabular Tag<label id="tabular">
|
||
<p>
|
||
<code>
|
||
<!element tabular - -
|
||
(hline?, %tabrow, (rowsep, hline?, %tabrow)*, caption?) >
|
||
</code>
|
||
The <tt/<tabular>/ tag is interpreted as an own paragraph, if it is
|
||
written standalone.
|
||
Together with a <tt/<table>/ tag it gets part of the paragraph of the
|
||
<tt/<table>/ tag (see <ref id="table" name="Table tag">).
|
||
|
||
Within the <tt/tabular/ tag you have rows an collumns wich are separating the
|
||
text.
|
||
You have to have at least one collumn and one row.<footnote/Wouldn't be very
|
||
usefull otherwise./
|
||
|
||
The <tt/<tabular>/ tag has a mandatory <tt/ca/ attribute for <em/collumn
|
||
allignement/.
|
||
The collumn allignement holds a single character for each collumn in their
|
||
order from left to right.
|
||
The chracters you may place per collumn described in table
|
||
<ref id="tcalign" name="Collumns allignements">
|
||
|
||
<table loc="ht">
|
||
<tabular ca="ll">
|
||
char|alignment@<hline>@
|
||
l|left@
|
||
c|centered@
|
||
r|right
|
||
</tabular>
|
||
<caption>Column alignments<label id="tcalign">
|
||
</table>
|
||
|
||
In theory you should be able to place a | into the <tt/ca/ attribure for
|
||
drawing a horizontal line for separating two collumns.
|
||
The problem: It doesn't work.
|
||
The parser accepts it nicely, only the &latex; output will map <tt/|/ to
|
||
<tt/{$|$}/ wich is of course the set for four collumns with invalid collumn
|
||
allignement for all four collums.
|
||
I'll try to figure out what to do about it.
|
||
|
||
The columns within the <tt/<tabular>/ tag are separated by a <em/collumn
|
||
separator/, the <tt/<colsep>/ tag. The character <tt/|/ is translated to
|
||
<tt/<colsep>/ so you can also place that one instead<footnote/Less
|
||
typing, more fun./.
|
||
|
||
What's valid for collumns is also valid for rows. You separate the by a
|
||
<em/row separator/, the <tt/<rowsep>/ tag.
|
||
The character <tt/@/ is translated to <tt/<rowsep>/.
|
||
|
||
Optional you can place a <em/horizontal line/ with the <tt/<hline>/ tag.
|
||
Take care with that one:
|
||
The SGML tools will parse it nicely weather you place it in front of the row
|
||
you want under the line, or behind the end of the row you want over it.
|
||
But the only place to write it without causing the parser to shout
|
||
"error" is to write it dircetly and without space or newline behind
|
||
the row separator.
|
||
|
||
<verb>
|
||
<tabular ca="lcr">
|
||
Look|this|table@<hline>
|
||
Isn't|it|nice@
|
||
1.234|mixed|columns@
|
||
&etago;tabular>
|
||
</verb>
|
||
|
||
Results in table <ref id="ttabularsample" name="Sample table for tabular tag">
|
||
|
||
<table loc="ht">
|
||
<tabular ca="lcr">
|
||
Look|this|table@<hline>@
|
||
Isn't|it|nice@
|
||
1.234|mixed|columns@
|
||
</tabular>
|
||
<caption>Sample table for tabular tag<label id="ttabularsample">
|
||
</table>
|
||
|
||
<descrip>
|
||
<tag/Attention:/In &latex; mapping everything works nice if you place a
|
||
<em/tabular tag/ without a <em/table tag/, only in the other mappings (e.g.
|
||
html) it will be messed up.
|
||
</descrip>
|
||
|
||
<sect1>Mathematical Paragraph<label id="mathpar">
|
||
<p>
|
||
<code>
|
||
<!entity % mathpar " dm | eq " >
|
||
</code>
|
||
|
||
A <em/mathematical paragraph/ consits either of a <em/displayed formula/,
|
||
tagged by <tt/<dm>/<footnote/No, sorry, not for Deutschmark! ;-)/
|
||
or an <em/equation/, tagged by <tt/<eq>/.
|
||
They work very much the same.
|
||
|
||
Both of these tags contain a mathematical formula.
|
||
See <ref id="formula" name="Mathematical Formulas"> for the tags valid here.
|
||
|
||
<descrip>
|
||
<tag/Note:/Because neither Netscape nor Microsoft has seen any need
|
||
to add mathematical mappings to their browsers (like demanded and defined by
|
||
<em/w3c/), there is no nice way of mapping, or at least displaying the math
|
||
stuff in html. So if you view the online version, feel free to wonder what
|
||
nonsense this man is telling here. Might be you should take a glance at the
|
||
postscript version.
|
||
</descrip>
|
||
|
||
|
||
<sect2>Displayed Formula Tag<label id="dm">
|
||
<p>
|
||
This tag displays a <em/mathematical formula/ as a <em/paragraph/.
|
||
The formula is mapped centered as a single line<footnote/No guarantee for
|
||
that. You know: Mapping is a matter of taste./.
|
||
|
||
<verb>
|
||
<dm>(a+b)<sup/2/=a<sup/2/+2ab+b<sup/2/&etago;dm>
|
||
</verb>
|
||
Is mapped to:
|
||
<dm>(a+b)<sup/2/=a<sup/2/+2ab+b<sup/2/</dm>
|
||
|
||
|
||
<sect2>Equation Tag<label id="eq">
|
||
<p>
|
||
<verb>
|
||
<dm>(a+b)<sup/2/=a<sup/2/+2ab+b<sup/2/&etago;dm>
|
||
</verb>
|
||
Is mapped to:
|
||
<dm>(a+b)<sup/2/=a<sup/2/+2ab+b<sup/2/</dm>
|
||
|
||
|
||
<sect1>Theorem Paragraph<label id="thrm">
|
||
<p>
|
||
<code>
|
||
<!entity % thrm
|
||
" def | prop | lemma | coroll | proof | theorem " >
|
||
|
||
<!element def - - (thtag?, p+) >
|
||
<!element prop - - (thtag?, p+) >
|
||
<!element lemma - - (thtag?, p+) >
|
||
<!element coroll - - (thtag?, p+) >
|
||
<!element proof - - (p+) >
|
||
<!element theorem - - (thtag?, p+) >
|
||
</code>
|
||
As you can see the different types of <em/theorem/ paragraphs are nearly
|
||
identical.
|
||
The only exception wich is a little bit different is the <em/proof/ wich
|
||
doesn't own a <tt/thtag/.
|
||
For all the others the <tt/thtag/ is giving the <em/tag/ of the theorem
|
||
paragraph.
|
||
|
||
Yust try to use that one, wich is fitting the meaning of what you are typing.
|
||
|
||
<verb>
|
||
<thrm>
|
||
<thtag>Alexander's thrm&etago;thtag>
|
||
Let <f>&ero;lt;fi/G/&etago;f> be a set of non-trivially achievable subgoals
|
||
and &ero;mu; an order on <f>&ero;lt;fi/G/&etago;f>. &ero;mu; is abstractly
|
||
indicative if and only if it is a linearization of
|
||
<f><lim><op>&ero;mu;&etago;op><ll><fi/G/&etago;ll><ul>&ero;ast;&etago;ul>&etago;lim>&etago;f>.
|
||
&etago;theorem>
|
||
</verb>
|
||
|
||
The <tt/thrm/ is replaced by the adequate tag.
|
||
|
||
Maybe somebody knowing about mathematics would be shocked about my abuse of
|
||
the types, but I'm lazy so I simply copied the examples:
|
||
|
||
<em/Definition/ (<tt/def/):
|
||
<def><thtag>Alexander's Definition</thtag>
|
||
Let <f><fi/G/</f> be a set of nontrivially achievable subgoals and μ
|
||
an order on <f><fi/G/</f>. μ is abstractly indicative if and only
|
||
if it is a linearization of
|
||
<f><lim><op>μ</op><ll><fi>G</fi></ll><ul>*</ul></lim></f>.
|
||
</def>
|
||
|
||
<em/Proposition/ (<tt/prop/):
|
||
<prop><thtag>Alexander's Proposition</thtag>
|
||
Let <f><fi/G/</f> be a set of nontrivially achievable subgoals and μ
|
||
an order on <f><fi/G/</f>. μ is abstractly indicative if and only
|
||
if it is a linearization of
|
||
<f><lim><op>μ</op><ll><fi>G</fi></ll><ul>*</ul></lim></f>.
|
||
</prop>
|
||
|
||
<em/Lemma/ (<tt/lemma/):
|
||
<lemma><thtag>Alexander's Lemma</thtag>
|
||
Let <f><fi/G/</f> be a set of nontrivially achievable subgoals and μ
|
||
an order on <f><fi/G/</f>. μ is abstractly indicative if and only
|
||
if it is a linearization of
|
||
<f><lim><op>μ</op><ll><fi>G</fi></ll><ul>*</ul></lim></f>.
|
||
</lemma>
|
||
|
||
<em/Corollation/ (<tt/coroll/):
|
||
<coroll><thtag>Alexander's Corollary</thtag>
|
||
Let <f><fi/G/</f> be a set of nontrivially achievable subgoals and μ
|
||
an order on <f><fi/G/</f>. μ is abstractly indicative if and only
|
||
if it is a linearization of
|
||
<f><lim><op>μ</op><ll><fi>G</fi></ll><ul>*</ul></lim></f>.
|
||
</coroll>
|
||
|
||
<theorem><thtag>Alexander's Theorem</thtag>
|
||
Let <f><fi/G/</f> be a set of nontrivially achievable subgoals and μ
|
||
an order on <f><fi/G/</f>. μ is abstractly indicative if and only
|
||
if it is a linearization of
|
||
<f><lim><op>μ</op><ll><fi>G</fi></ll><ul>*</ul></lim></f>.
|
||
</theorem>
|
||
|
||
The proof is just the same without the <tt/thtag/:
|
||
|
||
<proof>
|
||
Let <f><fi/G/</f> be a set of nontrivially achievable subgoals and μ
|
||
an order on <f><fi/G/</f>. μ is abstractly indicative if and only
|
||
if it is a linearization of
|
||
<f><lim><op>μ</op><ll><fi>G</fi></ll><ul>*</ul></lim></f>.
|
||
</proof>
|
||
|
||
<sect1>Code and verbatim Paragraphs<label id="codeandverb">
|
||
<p>
|
||
Both tags from a paragraph and have very similar behavior.
|
||
Inside this tags most special characters don't need their named form
|
||
as in section <ref id="namedsymbols" name="Named Symbols">.
|
||
The exceptions are:
|
||
<enum>
|
||
<item>&etago; → &etago; → <tt/end of tag open/
|
||
</enum>
|
||
Maybe later the list will grow.
|
||
|
||
In difference to the normal paragraph mapping white-spaces and newlines will be
|
||
mapped literally (as you write them in your source).
|
||
|
||
Also (with respect to manual layout) the font for mapping will be a
|
||
non-proportional one.<footnote>See the difference between IIWW and
|
||
<tt/IIWW/.</footnote>
|
||
|
||
<descrip>
|
||
<tag/Note:/Aggain, I'm neither a native speaker not I love mathematics a lot.
|
||
So I just placed some nonsense, wich might cause headache and grey hair for
|
||
people who want to use this document for learning to formulate mathematical
|
||
or physical theories.
|
||
|
||
Feel free to send better examples.
|
||
</descrip>
|
||
|
||
|
||
<sect2>Code Tag<label id="code">
|
||
<p>
|
||
<code>
|
||
<!element code - - rcdata>
|
||
</code>
|
||
|
||
Use the <em/code tag/, if you want to write sourcecode example within your
|
||
text.
|
||
|
||
A code sample
|
||
|
||
<code>
|
||
<code>
|
||
#include <stdio.h>
|
||
int main() {
|
||
printf("Hello world");
|
||
return 1;
|
||
}
|
||
</code>
|
||
&etago;code>
|
||
|
||
<sect2>Verbatim Tag<label id="verbatim">
|
||
<p>
|
||
<code>
|
||
<!element verb - - rcdata>
|
||
</code>
|
||
|
||
Use the <em/verbatim tag/ for anything else than sourcecode
|
||
(use <ref id="code" name="Code Tag"> for this) which needs the good old
|
||
whitespace padding, like terminal hardcopy, ASCII-Graphics etc.
|
||
|
||
A verb sample
|
||
|
||
<verb>
|
||
<verb>
|
||
/////////
|
||
| * * |
|
||
| | |
|
||
| <---> |
|
||
\_____/
|
||
</verb>
|
||
&etago;verb>
|
||
|
||
<sect>Inline Tags<label id="inline">
|
||
<p>
|
||
Here the abstract <em/inlines/ are broken down until only true and usable
|
||
tags will remain.
|
||
Let's recall:
|
||
<code>
|
||
<!entity % inline
|
||
" (#pcdata | f| x| %emph; |sq| %xref | %index | file )* " >
|
||
</code>
|
||
Inlines don't have a influence to paragraphing, sectioning or document
|
||
classing. Just modifying text within it's normal flow.
|
||
|
||
|
||
<sect1>Emphasizes<label id="emph">
|
||
<p>
|
||
<code>
|
||
<!entity % emph
|
||
" em|it|bf|sf|sl|tt|cparam " >
|
||
</code>
|
||
|
||
The <em/emphasizes/ are gathering the tags for emphasizing inline text.
|
||
|
||
|
||
The different types of emphasizes are:
|
||
|
||
<descrip>
|
||
<tag><tt/em/ → The Emphasize Tag</tag>
|
||
I hate to be redundant but I have to say:
|
||
The <em/emphasize/ tag you place for emphasized text.
|
||
Normally it's mapped to italic letters.
|
||
So if you write <tt><em/a emphasized text/</tt> it will be mapped to
|
||
<em/a emphasized text/.
|
||
|
||
<tag><tt/it/ → The Italic Tag</tag>
|
||
The <em/italic/ tag you place for a cursive mapping. If you write
|
||
<tt><it/a italic text/</tt> it will be mapped to <it/a italic text/.
|
||
|
||
<tag><tt/bf/ → The Boldface Tag</tag>
|
||
The <em/boldface/ tag you place for a bold mapping. If you write
|
||
<tt><bf/a bold text/</tt> it will be mapped to <bf/a bold text/.
|
||
|
||
<tag><tt/sf/ → The Swissfont Tag</tag>
|
||
I know that Tom Gordon from GMD is telling that this is the
|
||
<tt/sans serif/ tag.
|
||
My interpretation of the sf is <em/swissfont/ wich for me is more easy
|
||
to remember.
|
||
This is mapping the inlined text to a font wich is out of the helvetica family.
|
||
So <tt><sf/a swissfont text/</tt> will be mapped to <sf/a swissfont text/.
|
||
|
||
<tag><tt/sl/ → The Slanted Tag</tag>
|
||
I think I skip the explanation. <tt><sl/a slanted text/</tt> will be
|
||
mapped to <sl/a slanted text/.
|
||
|
||
<tag><tt/tt/ → The Terminaltype Tag</tag>
|
||
Text tagged with <em/terminaltype/ will be placed inline, just like all the
|
||
other text within a paragraph. It will not be included into source
|
||
output if you are workink as described in section <ref id="litprog"
|
||
name="Literate Programming">, even if it's
|
||
looking like typed code. <tt><tt/a terminal typed text/</tt> will be
|
||
mapped to <tt/a terminal typed text/.
|
||
</descrip>
|
||
|
||
|
||
<sect1>Short-quote Tag<label id="sq">
|
||
<p>
|
||
Normally this one could be viewed the same level like one of the <em/emphasize/
|
||
tags, but the definition of the linuxdoc dtd is placing it same level like the
|
||
emphasizes, and so I do.
|
||
|
||
The <tt/shortquote/ tag is a inline quotation, not forming an own paragraph.
|
||
The text <tt><sq/a short quote/</tt> is mapped to <sq/a short quote/.
|
||
|
||
|
||
<sect1>Formula Tag<label id="f">
|
||
<p>
|
||
The <em/formula/ tag allows us to note down a mathematical formula within the
|
||
normal text, not appearing in an own line. So the text
|
||
<tt><f>x=y<sup>2&etago;sup>&etago;f></tt> will be displayed as
|
||
<f>x=y<sup>2</sup></f>. See <ref id="formula" name="Mathematical Fomulas"> for
|
||
the tags valid within the <em/formula/.
|
||
|
||
|
||
<sect1>External Tag<label id="x">
|
||
<p>
|
||
The <em/external tag/ is passing the tagged data directly through the parser,
|
||
without modifying it. E.g. to &latex;.
|
||
|
||
|
||
|
||
<sect>Mathematical Formulas<label id="formula">
|
||
<p>
|
||
They can appear with in the tags listed in table
|
||
<ref id="tmformula" name="Places of Mathematical Formulas">
|
||
|
||
<table loc="ht">
|
||
<tabular ca="lll">
|
||
tag|description|see@<hline>@
|
||
f|inline formula|<ref id="f" name="The Formula Tag">@
|
||
dm|displayed formula|<ref id="mathpar" name="Mathematical Paragraph">@
|
||
eq|equation|<ref id="mathpar" name="Mathematical Paragraph">
|
||
</tabular>
|
||
<caption>Places of Mathematical Formulas<label id="tmformula">
|
||
</table>
|
||
|
||
If you view this document mapped to html you will notice that html has no
|
||
nice way of displaying mathematical formulas.
|
||
|
||
After a little hand parsing the contents of a <em/mathematical/ tag looks like:
|
||
<code>
|
||
<!element xx - -
|
||
(((fr|lim|ar|root) |
|
||
(pr|in|sum) |
|
||
(#pcdata|mc|(tu|phr)) |
|
||
(rf|v|fi) |
|
||
(unl|ovl|sup|inf))*)>
|
||
</code>
|
||
The <tt/xx/ stands for <tt/f/, <tt/dm/ or <tt/eq/. All of them are the same.
|
||
|
||
|
||
<descrip>
|
||
<tag/Note:/Because neither Netscape nor Microsoft has seen any need
|
||
to add mathematical mappings to their browsers (like demanded and defined by
|
||
<em/w3c/), there is no nice way of mapping, or at least displaying the math
|
||
stuff in html. So if you view the online version, feel free to wonder what
|
||
nonsense this man is telling here. Might be you should take a glance at the
|
||
postscript version.
|
||
</descrip>
|
||
|
||
|
||
<sect1>Fraction Tag<label id="fr">
|
||
<p>
|
||
<code>
|
||
<!element fr - - (nu,de) >
|
||
<!element nu o o ((%fbutxt;)*) >
|
||
<!element de o o ((%fbutxt;)*) >
|
||
</code>
|
||
|
||
So what we see from it is, that a <em/fraction/ consits of a <em/numerator/
|
||
and a <em/denumerator/ tag, wich again each one can hold a
|
||
<em/mathematical formula/.
|
||
|
||
I think an example will tell you more:
|
||
<verb>
|
||
<dm><fr><nu/7/<de/13/&etago;fr>&etago;dm>
|
||
</verb>
|
||
|
||
results to:
|
||
|
||
<dm><fr><nu/7/<de/13/</fr></dm>
|
||
|
||
In case we want to to place ½ instead of the numerator without cleaning it
|
||
up, we'll type:
|
||
|
||
<verb>
|
||
<dm><fr><nu><fr><nu/1/<de/2/&etago;fr>&etago;nu><de/13/&etago;fr>&etago;dm>
|
||
</verb>
|
||
|
||
Which results to:
|
||
|
||
<dm><fr><nu><fr><nu/1/<de/2/</fr></nu><de/13/</fr></dm>
|
||
|
||
<sect1>Product, Integral and Summation Tag<label id="prinsum">
|
||
<p>
|
||
<code>
|
||
<!element pr - - (ll,ul,opd?) >
|
||
<!element in - - (ll,ul,opd?) >
|
||
<!element sum - - (ll,ul,opd?) >
|
||
</code>
|
||
|
||
Each of them has a <em/lower limit/ (<tt/ll/ tag),
|
||
a <em/upper limit/ (<tt/ul/ tag) and a optional <em/operand/,
|
||
where each of them again may consist of a formula.
|
||
The tags are same in syntax like shown in table
|
||
<ref id="tulllop" name="Tags with upper-, lower limit and operator">.
|
||
|
||
<table loc="ht">
|
||
<tabular ca="lll">
|
||
name|example|result@<hline>@
|
||
Product|
|
||
<tt><f>y=<pr><ll>i=1<ul>n<opd>x<inf/i/&etago;pr>&etago;f></tt>|
|
||
<f>y=<pr><ll>i=1<ul>n<opd>x<inf/i/</pr></f>@
|
||
Integral|
|
||
<tt><f>y=<in><ll>a<ul>b<opd>x<sup/2/&etago;in>&etago;f></tt>|
|
||
<f>y=<in><ll>a<ul>b<opd>x<sup/2/</in></f>@
|
||
Summation|
|
||
<tt><f>y=<sum><ll>i=1<ul>n<opd>x<inf/i/&etago;sum>&etago;f></tt>|
|
||
<f>y=<sum><ll>i=1<ul>n<opd>x<inf/i/</sum></f>@
|
||
</tabular>
|
||
<caption>Tags with upper-, lower limit and operator<label id="tulllop">
|
||
</table>
|
||
|
||
|
||
<sect1>Limited Tag<label id="lim">
|
||
<p>
|
||
<code>
|
||
<!element lim - - (op,ll,ul,opd?) >
|
||
<!element op o o (%fcstxt;|rf|%fph;) -(tu) >
|
||
<!element ll o o ((%fbutxt;)*) >
|
||
<!element ul o o ((%fbutxt;)*) >
|
||
<!element opd - o ((%fbutxt;)*) >
|
||
</code>
|
||
|
||
You can use that one for operators with upper and lower limits other than
|
||
products, sums or integrals. The for the other types defined <em/operator/ is
|
||
destinied by the <tt/op/tag, wich can contain again a mathematical formula.
|
||
|
||
<dm><lim><op/B/<ll/i=0/<ul/n/<opd>x<inf/i/</opd></lim></dm>
|
||
|
||
|
||
<sect1>Array Tag<label id="ar">
|
||
<p>
|
||
<code>
|
||
<!element ar - - (row, (arr, row)*) >
|
||
<!attlist ar
|
||
ca cdata #required >
|
||
<!element arr - o empty >
|
||
<!element arc - o empty >
|
||
<!entity arr "<arr>" >
|
||
<!entity arc "<arc>" >
|
||
</code>
|
||
Of course a reasonable mathematical document needs a way to describe arrays
|
||
and matrices.
|
||
The <em/array/ (<tt/ar/) is noted down equivalent to a <em/tabular/ (see
|
||
section <ref id="tabular" name="The Tabular Tag">).
|
||
The differences in handling are:
|
||
<itemize>
|
||
<item>No <tt/<hline>/ tag.
|
||
<item>The <tt/ca/ attribute character <tt/|/ is not allowd.
|
||
<item>Columns are not separated by <tt/colsep/ tag but with the <tt/arc/ tag
|
||
(<em/array collumn/).
|
||
<item>Rows are not separated by <tt/rowsep/ tag but with the <tt/arr/ tag
|
||
(<em/array row/).
|
||
</itemize>
|
||
Again the characters <tt/|/ and <tt/@/ are mapped to the adequate separator
|
||
tag, so you really can note a array same way as a tabular.
|
||
|
||
<verb>
|
||
<dm><ar ca="clcr">
|
||
a+b+c | uv <arc> x-y | 27 @
|
||
a+b | u+v | z | 134 <arr>
|
||
a | 3u+vw | xyz | 2,978
|
||
&etago;ar>&etago;dm>
|
||
</verb>
|
||
|
||
Is mapped to:
|
||
|
||
<dm><ar ca="clcr">
|
||
a+b+c | uv <arc> x-y | 27 @
|
||
a+b | u+v | z | 134 <arr>
|
||
a | 3u+vw | xyz | 2,978
|
||
</ar></dm>
|
||
|
||
|
||
<sect1>Root Tag<label id="root">
|
||
<p>
|
||
<code>
|
||
<!element root - - ((%fbutxt;)*) >
|
||
<!attlist root
|
||
n cdata "">
|
||
</code>
|
||
The <em/root/ is noted down by the <tt/root/ tag, wich contains a <tt/n/
|
||
attribute, holding the value for the <sq/n'th/ root.
|
||
|
||
<verb>
|
||
<dm><root n="3"/x+y/&etago;dm>
|
||
</verb>
|
||
|
||
is mapped to:
|
||
|
||
<dm>
|
||
<root n="3"/x+y/
|
||
</dm>
|
||
|
||
|
||
<sect1>Figure Tag<label id="fi">
|
||
<p>
|
||
<code>
|
||
<!element fi - o (#pcdata) >
|
||
</code>
|
||
|
||
With the figure tag you can place mathematical figures. The tagged characters
|
||
are directly mapped to a mathematical figure. Which character is mapped to which
|
||
figure you'll find in <ref id="mflist" name="Mathematical Figures">.
|
||
|
||
|
||
<sect1>Realfont Tag<label id="rf">
|
||
<p>
|
||
<code>
|
||
<!element rf - o (#pcdata) >
|
||
</code>
|
||
This tag is placing a real font within a mathematical formula.
|
||
<footnote>I'm really not sure about <tt/rf/. What should it be?</footnote>
|
||
No formula is allowed within that tag.
|
||
|
||
<verb>
|
||
<dm><rf/Binom:/ (a+b)<sup/2/=a<sup/2/+2ab+b<sup/2/&etago;dm>
|
||
</verb>
|
||
|
||
is mapped to:
|
||
|
||
<dm><rf/Binom:/ (a+b)<sup/2/=a<sup/2/+2ab+b<sup/2/</dm>
|
||
|
||
|
||
<sect1>Other Mathematical Tags<label id="omt">
|
||
<p>
|
||
The remaining tags simply modify the tagged formula, without implying any
|
||
other tag. The effect is shown in table
|
||
<ref id="tomt" name="Mathematical tags without included tags">
|
||
|
||
<table loc="ht">
|
||
<tabular ca="lllcl">
|
||
name|tag|example| |result@<hline>@
|
||
<em/vector/|<tt/v/|
|
||
<tt><f><v/a/&times;<v/b/=<v/0/&etago;f></tt>|→|
|
||
<f><v/a/×<v/b/=<v/0/</f> @
|
||
<em/overline/|<tt/ovl/|
|
||
<tt><f><ovl/1+1/=<ovl/2/&etago;f></tt>|→|
|
||
<f><ovl/1+1/=<ovl/2/</f>@
|
||
<em/underline/|<tt/unl/|
|
||
<tt><f><unl/1+1/=<unl/2/&etago;f></tt>|→|
|
||
<f><unl/1+1/=<unl/2/</f>@
|
||
<em/superior/|<tt/sup/|
|
||
<tt><f>e=m&times;c<sup/2/&etago;f></tt>|→|
|
||
<f>e=m×c<sup/2/</f>@
|
||
<em/inferior/|<tt/inf/|
|
||
<tt><f>x<inf/i/:=2x<inf/i-1/+3&etago;f></tt>|→|
|
||
<f>x<inf/i/:=2x<inf/i-1/+3</f>@
|
||
</tabular>
|
||
<caption>Mathematical tags without included tags<label id="tomt">
|
||
</table>
|
||
|
||
<sect>Labels and References<label id="labelandreference">
|
||
<p>
|
||
<code>
|
||
<!entity % xref
|
||
" label|ref|pageref|cite|url|htmlurl|ncite " >
|
||
</code>
|
||
|
||
As soon as it<69>s a little bit more sophisticated a document will need
|
||
references to other places within the document.
|
||
|
||
|
||
<sect1>Label Tag<label id="label">
|
||
<p>
|
||
<code>
|
||
<!element label - o empty>
|
||
<!attlist label id cdata #required>
|
||
</code>
|
||
If you want to refer to a spot, chapter or section within your document
|
||
you place a <em/label tag/.
|
||
|
||
A example could look like:
|
||
<code>
|
||
<sect1>Welcome to the article<label id="intro">
|
||
<p>…
|
||
</code>
|
||
|
||
|
||
<sect1>Reference Tag<label id="ref">
|
||
<p>
|
||
<code>
|
||
<!element ref - o empty>
|
||
<!attlist ref
|
||
id cdata #required
|
||
name cdata "&refnam">
|
||
</code>
|
||
|
||
With this tag you can refer to a place within your document
|
||
labeled as in <ref id="label" name="Label Tag">.
|
||
|
||
The way the reference is mapped in you document again depends
|
||
to the mapper.
|
||
May result to a hyper-ref (HTML) or a section number (&latex;).
|
||
|
||
|
||
<sect1>Page reference Tag<label id="pageref">
|
||
<p>
|
||
<code>
|
||
<!element pageref - o empty>
|
||
<!attlist pageref
|
||
id cdata #required>
|
||
</code>
|
||
|
||
A example for a pageref:
|
||
<code>
|
||
<pageref id="intro">
|
||
</code>
|
||
|
||
In the HTML mapping there is no use for <em/pageref/, because there are
|
||
no page numbers.
|
||
In &latex; mapping the tag is mapped to the pagenumber of the reffered label.
|
||
|
||
<sect1>Url Tag<label id="url">
|
||
<p>
|
||
<code>
|
||
<!element url - o empty>
|
||
<!attlist url
|
||
url cdata #required
|
||
name cdata "&urlnam" >
|
||
</code>
|
||
|
||
A example for a <em/url/:
|
||
<code>
|
||
<url url="http://www.gnu.org" name="GNU Organization">
|
||
</code>
|
||
<url url="http://www.gnu.org" name="GNU Organisation">
|
||
|
||
The mapping to html brings up a hyper-ref in your document.
|
||
The reference is the value of the <em/url/ attribute, the text
|
||
standing in the Hyperref is the <em/name/ attribute's value.
|
||
|
||
In &latex; mapping this one results to the name followed by the url.
|
||
|
||
|
||
<sect1>Htmlurl Tag<label id="htmlurl">
|
||
<p>
|
||
<code>
|
||
<!element htmlurl - o empty>
|
||
<!attlist htmlurl
|
||
url cdata #required
|
||
name cdata "&urlnam" >
|
||
</code>
|
||
A example for a htmlurl:
|
||
<code>
|
||
<htmlurl url="http://www.gnu.org" name="GNU Organization">
|
||
</code>
|
||
<htmlurl url="http://www.gnu.org" name="GNU Organisation">
|
||
|
||
The only difference between this tag and the
|
||
<ref id="url" name="Url Tag"> is in the &latex; mapping.
|
||
|
||
The &latex; mapping simply drops the url attribute and
|
||
emphasizes the name.
|
||
|
||
In all other cases it's absolutely the same as the <em/url tag/.
|
||
|
||
|
||
<sect1>Cite Tag<label id="cite">
|
||
<p>
|
||
<code>
|
||
<!element cite - o empty>
|
||
<!attlist cite
|
||
id cdata #required>
|
||
</code>
|
||
|
||
AFAIK this one need<65>s bibTeX to work nicely.
|
||
So I'm terribly sorry, but I was not jet able to make use of it.
|
||
For that reason for sure I'm the wrong one to explain about it.
|
||
|
||
|
||
<sect1>Ncite Tag<label id="ncite">
|
||
<p>
|
||
<code>
|
||
<!element ncite - o empty>
|
||
<!attlist ncite
|
||
id cdata #required
|
||
note cdata #required>
|
||
</code>
|
||
|
||
Same as <ref id="cite" name="Cite Tag">.
|
||
|
||
<sect>Indices
|
||
<p>
|
||
<code>
|
||
<!entity % index "idx|cdx|nidx|ncdx" >
|
||
|
||
<!element idx - - (#pcdata)>
|
||
<!element cdx - - (#pcdata)>
|
||
<!element nidx - - (#pcdata)>
|
||
<!element ncdx - - (#pcdata)>
|
||
</code>
|
||
|
||
<table loc="ht">
|
||
<tabular ca="ll">
|
||
tag|my translation@<hline>@
|
||
<tt/idx/|index@
|
||
<tt/cdx/|code index (terminaltype index)@
|
||
<tt/nidx/|invisible index@
|
||
<tt/ncdx/|invisible code index (terminaltype index)@
|
||
</tabular>
|
||
<caption>Index elements<label id="tindex">
|
||
</table>
|
||
|
||
The index tags serve for making a index of your document.
|
||
They are only useful if you want do do &latex; mapping.
|
||
They only differ very slightly as mentioned in table
|
||
<ref id="tindex" name="Index elements">.
|
||
|
||
<sect1>Including a index
|
||
<p>There are two ways to include indices into your document.
|
||
Look at both and decide.
|
||
|
||
<sect2>Manually<label id="manind">
|
||
<p>
|
||
<enum>
|
||
<item>Set the opts attribute of your document class to
|
||
contain the packages <em/makeidx/.
|
||
You do that by: <tt/<article opts="makeidx">/.
|
||
<item>Mark all the words you want to be in the index later
|
||
with a <em/idx tag/ or <em/cdx tag/.
|
||
If the word you want to index to a location in your document
|
||
is not within the text you simply write it at the location you
|
||
want to index with the <em/nidx tag/.
|
||
It<EFBFBD>s like the normal <em/idx/ only the tagged text will be silently
|
||
dropped in the normal document.
|
||
<item>Process your file with <idx/makeindex/
|
||
<tt/sgml2latex -m mydocument.sgml/.
|
||
<newline>
|
||
This will produce an additional <tt/mydocument.idx/.
|
||
<item>Process <tt/mydocument.idx/ with the <tt/makeindex/
|
||
command like <tt/makeindex mydocument.idx/.
|
||
<newline>
|
||
This will produce an additional <tt/mydocument.ind/.
|
||
<item>To include the now generated index in your document
|
||
you process your document with
|
||
<tt/sgml2latex -o tex -m mydocument.sgml/.
|
||
<newline>
|
||
This results in output of <tt/mydocument.tex/.
|
||
<item>Edit <tt/mydocument.tex/ with the editor of your choice.
|
||
<newline>
|
||
You look for the line <tt/\end{document}/ (should be somewhere
|
||
close to the end of the file) and insert the text
|
||
<tt/\printindex/ bevor this line.
|
||
<item>Process the modified file with <tt/latex mydocument.tex/.
|
||
<newline>
|
||
This gives you the final <tt/mydocument.dvi/ wich aggain you might
|
||
process with <tt/dvips/ to generate a postscript document.
|
||
</enum>
|
||
A lot of a mess, ain't it?
|
||
|
||
<sect2>Hacked<label id="hackind">
|
||
<p>
|
||
I'm currently working on a patch to the sgmltools to automate the
|
||
inclusion and generation of a index.
|
||
To find out the current state see
|
||
<htmlurl url="http://www.bnhof.de/~uwe/lnd/indexpatch/index.html"
|
||
name="http://www.bnhof.de/~uwe/lnd/indexpatch/index.html">.
|
||
|
||
|
||
<sect>Literate Programming<label id="litprog">
|
||
<p>
|
||
<code>
|
||
<!entity % litprog " code | verb " >
|
||
</code>
|
||
This one is a funny thing.
|
||
It's the idea of not to write some comment text within a program,
|
||
and might be to take later some special tools, to extract
|
||
the text<footnote>Think of <tt/perlpod/.</footnote>, but to write a big
|
||
document and later to extract the code from it.
|
||
<footnote/People who don't like to document their code will not appreciate./
|
||
The principle is:
|
||
All text within <tt/verb/ and <tt/code/ tags, will be gathered into a
|
||
sourcefile.
|
||
|
||
|
||
That's it, because for now I don't remember the name of the tool doing thatone.
|
||
|
||
|
||
<sect>Reference<label id="reference">
|
||
<p>
|
||
|
||
<itemize>
|
||
<item><label id="qwertzdtd">
|
||
<em/The qwertz Document Type Definition/&nl;
|
||
<tt/Norman Welsh/
|
||
|
||
<item><label id="SGMLUserGuide">
|
||
<em/SGML-Tools User's Guide 1.0 ($Revision$)/&nl;
|
||
<tt/Matt Welsh and Greg Hankins and Eric S. Raymond/&nl;
|
||
November 1997
|
||
|
||
<item><label id="SGMLExample">
|
||
<em/Quick SGML Example, v1.0/&nl;
|
||
<tt/Matt Welsh, <mdw@cs.cornell.edu>/&nl;
|
||
March 1994
|
||
</itemize>
|
||
|
||
|
||
<appendix>
|
||
|
||
<sect>Named Symbols<label id="namedsymbols">
|
||
|
||
<sect1>Named Characters<label id="namedchars">
|
||
<p>
|
||
This is a slightly modified list taken from [<em/SGML-Tools User's Guide
|
||
1.0 ($Revision$)/]. If you miss some, don't hesitate to mail.
|
||
A lot of the named characters shown in table
|
||
<ref id="tnamedchars" name="Named Characters">
|
||
are same as in the html-dtd.
|
||
|
||
<table loc="ht">
|
||
<tabular ca="rlrlrlrlrlrl">
|
||
AElig | Æ |
|
||
Aacute | Á |
|
||
Acirc | Â |
|
||
Ae | Ä |
|
||
Agrave | À |
|
||
Atilde | Ã @
|
||
Auml | Ä |
|
||
Ccedil | Ç |
|
||
Eacute | É |
|
||
Egrave | È |
|
||
Euml | Ë |
|
||
Iacute | Í @
|
||
Icirc | Î |
|
||
Igrave | Ì |
|
||
Iuml | Ï |
|
||
Ntilde | Ñ |
|
||
Oacute | Ó |
|
||
Ocirc | Ô @
|
||
Oe | Ö |
|
||
Ograve | Ò |
|
||
Oslash | Ø |
|
||
Ouml | Ö |
|
||
Uacute | Ú |
|
||
Ue | &Ue; @
|
||
Ugrave | Ù |
|
||
Uuml | Ü |
|
||
Yacute | Ý |
|
||
aacute | á |
|
||
acirc | â |
|
||
ae | ä @
|
||
aelig | æ |
|
||
agrave | à |
|
||
amp | & |
|
||
apos | ' |
|
||
aring | å |
|
||
arr | ↓ @
|
||
ast | * |
|
||
atilde | ã |
|
||
auml | ä |
|
||
bsol | \ |
|
||
bull | • |
|
||
ccedil | ç @
|
||
cir | ○ |
|
||
circ | ˆ |
|
||
clubs | ♣ |
|
||
colon | : |
|
||
comma | , |
|
||
commat | @ @
|
||
copy | © |
|
||
darr | ↓ |
|
||
deg | ° |
|
||
diams | ♦ |
|
||
divide | ÷ |
|
||
dollar | $ @
|
||
dquot | &dquot; |
|
||
eacute | é |
|
||
ecirc | ê |
|
||
egrave | è |
|
||
equals | = |
|
||
etago | &etago; @
|
||
euml | ë |
|
||
excl | ! |
|
||
frac12 | ½ |
|
||
frac14 | ¼ |
|
||
frac18 | ⅛ |
|
||
frac34 | ¾ @
|
||
frac38 | ⅜ |
|
||
frac58 | ⅝ |
|
||
frac78 | ⅞ |
|
||
gt | > |
|
||
half | ½ |
|
||
hearts | ♥ @
|
||
hellip | … |
|
||
horbar | ― |
|
||
hyphen | ‐ |
|
||
iacute | í |
|
||
icirc | î |
|
||
iexcl | ¡ @
|
||
igrave | ì |
|
||
iquest | ¿ |
|
||
iuml | ï |
|
||
laquo | « |
|
||
larr | ← |
|
||
lcub | { @
|
||
ldquo | “ |
|
||
lowbar | _ |
|
||
lpar | ( |
|
||
lsqb | [ |
|
||
lsquo | ‘ |
|
||
lt | < @
|
||
mdash | — |
|
||
micro | µ |
|
||
middot | · |
|
||
mu | μ |
|
||
ndash | – |
|
||
not | ¬ @
|
||
ntilde | ñ |
|
||
num | # |
|
||
oacute | ó |
|
||
ocirc | ô |
|
||
oe | ö |
|
||
ograve | ò @
|
||
ohm | Ω |
|
||
ordf | ª |
|
||
ordm | º |
|
||
oslash | ø |
|
||
otilde | õ |
|
||
ouml | ö @
|
||
para | ¶ |
|
||
percnt | % |
|
||
period | . |
|
||
plus | + |
|
||
plusmn | ± |
|
||
pound | £ @
|
||
quest | ? |
|
||
quot | " |
|
||
raquo | » |
|
||
rarr | → |
|
||
rcub | } |
|
||
rdquo | ” @
|
||
reg | ® |
|
||
rpar | ) |
|
||
rsqb | ] |
|
||
rsquo | ’ |
|
||
sect | § |
|
||
semi | ; @
|
||
sol | / |
|
||
spades | ♠ |
|
||
sup1 | ¹ |
|
||
sup2 | ² |
|
||
sup3 | ³ |
|
||
sz | &sz; @
|
||
szlig | ß |
|
||
tilde | ˜ |
|
||
times | × |
|
||
trade | ™ |
|
||
uacute | ú |
|
||
uarr | ↑ @
|
||
ucirc | û |
|
||
ue | ü |
|
||
ugrave | ù |
|
||
uuml | ü |
|
||
verbar | | |
|
||
yacute | ý @
|
||
</tabular>
|
||
<caption>Named Characters<label id="tnamedchars">
|
||
</table>
|
||
|
||
<sect1>Named Whitespaces<label id="namedwhite">
|
||
<p>
|
||
There is a small number of whatever you want to name it. The look like named
|
||
characters, but will be printed not always, or not at all.
|
||
|
||
<descrip>
|
||
<tag/thinsp/
|
||
Thin space:
|
||
|
||
<tt/d&thinsp;D/ →d D
|
||
|
||
<tag/emsp/
|
||
Emphasized space:
|
||
<tt/d&emsp;D/ → d D
|
||
|
||
<tag/ensp/
|
||
Normal space:
|
||
/d&ensp;D/ → d D
|
||
|
||
<tag/nbsp/
|
||
No break space:
|
||
A spaces at wich the line is not allowed to be broken. Two words separated by
|
||
a <tt/nbsp/ will be treated by parser and mapper to be a single long one.
|
||
|
||
<tag/shy/
|
||
Suggest Hyphen:
|
||
If the mapper is up to break a word, with has the <tt/shy/ tag inside, it will
|
||
probably do the wordbreak at the place of the <tt/shy/ tag and place a
|
||
<em/hyphen/ instead. If no wordbreak is necessary the <tt/shy/ expands to
|
||
nothging at all.
|
||
</descrip>
|
||
|
||
<sect>Mathematical Figures<label id="mflist">
|
||
<p>
|
||
<table loc="ht">
|
||
<tabular ca="lcr">
|
||
<f><ar ca="llll">
|
||
a-<fi/a/|b-<fi/b/|c-<fi/c/|d-<fi/d/@
|
||
e-<fi/e/|f-<fi/f/|g-<fi/g/|h-<fi/h/@
|
||
i-<fi/i/|j-<fi/j/|k-<fi/k/|l-<fi/l/@
|
||
m-<fi/m/|n-<fi/n/|o-<fi/o/|p-<fi/p/@
|
||
q-<fi/q/|r-<fi/r/|s-<fi/s/|t-<fi/t/@
|
||
u-<fi/u/|v-<fi/v/|w-<fi/w/|x-<fi/x/@
|
||
y-<fi/y/|z-<fi/z/| |
|
||
</ar></f>
|
||
<colsep>
|
||
―
|
||
<colsep>
|
||
<f><ar ca="llll">
|
||
A-<fi/A/|B-<fi/B/|C-<fi/C/|D-<fi/D/@
|
||
E-<fi/E/|F-<fi/F/|G-<fi/G/|H-<fi/H/@
|
||
I-<fi/I/|J-<fi/J/|K-<fi/K/|L-<fi/L/@
|
||
M-<fi/M/|N-<fi/N/|O-<fi/O/|P-<fi/P/@
|
||
Q-<fi/Q/|R-<fi/R/|S-<fi/S/|T-<fi/T/@
|
||
U-<fi/U/|V-<fi/V/|W-<fi/W/|X-<fi/X/@
|
||
Y-<fi/Y/|Z-<fi/Z/| |
|
||
</ar></f>
|
||
</tabular>
|
||
<caption>Mathematical Figures<label id="tmfig">
|
||
</table>
|
||
|
||
The special mappings for characters you might use for building up
|
||
mathematical figures are shown in table
|
||
<ref id="tmfig" name="Mathematical Figures">.
|
||
|
||
|
||
<sect>Linuxdoc dtd Source<label id="source">
|
||
<p>
|
||
<nidx/dtd/
|
||
This is the <tt/linuxdoc.dtd/ used to parse this document. The revision log,
|
||
revision comments and a few redundant lines are taken out for saving paper
|
||
and screenspace.
|
||
<code>
|
||
<!-- This is a DTD, but will be read as -*- sgml -*- -->
|
||
<!-- ================================================= -->
|
||
<!-- $Id$
|
||
|
||
This is LINUXDOC96 DTD for SGML-Tools.
|
||
|
||
This was LINUXDOC.DTD,
|
||
a hacked version of QWERTZ.DTD v1.3 by Matt Welsh,
|
||
Greg Hankins, Eric Raymond, Marc Baudoin and
|
||
Tristan Debeaupuis; modified from QWERTZ.DTD by
|
||
Tom Gordon.
|
||
|
||
<!entity % emph
|
||
" em|it|bf|sf|sl|tt|cparam " >
|
||
|
||
<!entity % index "idx|cdx|nidx|ncdx" >
|
||
|
||
<!-- url added by HG; htmlurl added by esr -->
|
||
<!entity % xref
|
||
" label|ref|pageref|cite|url|htmlurl|ncite " >
|
||
|
||
<!entity % inline
|
||
" (#pcdata | f| x| %emph; |sq| %xref | %index | file )* " >
|
||
|
||
<!entity % list
|
||
" list | itemize | enum | descrip " >
|
||
|
||
<!entity % par
|
||
" %list; | comment | lq | quote | tscreen " >
|
||
|
||
<!entity % mathpar " dm | eq " >
|
||
|
||
<!entity % thrm
|
||
" def | prop | lemma | coroll | proof | theorem " >
|
||
|
||
<!entity % litprog " code | verb " >
|
||
|
||
<!entity % sectpar
|
||
" %par; | figure | tabular | table | %mathpar; |
|
||
%thrm; | %litprog; ">
|
||
<!element linuxdoc o o
|
||
(sect | chapt | article | report |
|
||
book | letter | telefax | slides | notes | manpage ) >
|
||
|
||
<!-- `general' entity replaced with ISO entities - kwm -->
|
||
<!entity % isoent system "isoent">
|
||
%isoent;
|
||
|
||
<!entity urlnam sdata "urlnam" >
|
||
<!entity refnam sdata "refnam" >
|
||
<!entity tex sdata "[tex ]" >
|
||
<!entity latex sdata "[latex ]" >
|
||
<!entity latexe sdata "[latexe]" >
|
||
<!entity tm sdata "[trade ]" >
|
||
<!entity dquot sdata "[quot ]" >
|
||
<!entity ero sdata "[amp ]" >
|
||
<!entity etago '</' >
|
||
<!entity Ae '&ero;Auml;' >
|
||
<!entity ae '&ero;auml;' >
|
||
<!entity Oe '&ero;Ouml;' >
|
||
<!entity oe '&ero;ouml;' >
|
||
<!entity Ue '&ero;Uuml;' >
|
||
<!entity ue '&ero;uuml;' >
|
||
<!entity sz '&ero;szlig;' >
|
||
<!element p o o (( %inline | %sectpar )+) +(newline) >
|
||
<!entity ptag '<p>' >
|
||
<!entity psplit '</p><p>' >
|
||
|
||
<!shortref pmap
|
||
"&ero;#RS;B" null
|
||
"&ero;#RS;B&ero;#RE;" psplit
|
||
"&ero;#RS;&ero;#RE;" psplit
|
||
-- '"' qtag --
|
||
"[" lsqb
|
||
"~" nbsp
|
||
"_" lowbar
|
||
"#" num
|
||
"%" percnt
|
||
"^" circ
|
||
"{" lcub
|
||
"}" rcub
|
||
"|" verbar >
|
||
|
||
<!usemap pmap p>
|
||
<!element em - - (%inline)>
|
||
<!element bf - - (%inline)>
|
||
<!element it - - (%inline)>
|
||
<!element sf - - (%inline)>
|
||
<!element sl - - (%inline)>
|
||
<!element tt - - (%inline)>
|
||
<!element sq - - (%inline)>
|
||
<!element cparam - - (%inline)>
|
||
|
||
<!entity ftag '<f>' -- formula begin -- >
|
||
<!entity qendtag '</sq>'>
|
||
|
||
<!shortref sqmap
|
||
"&ero;#RS;B" null
|
||
-- '"' qendtag --
|
||
"[" lsqb
|
||
"~" nbsp
|
||
"_" lowbar
|
||
"#" num
|
||
"%" percnt
|
||
"^" circ
|
||
"{" lcub
|
||
"}" rcub
|
||
"|" verbar >
|
||
|
||
<!usemap sqmap sq >
|
||
|
||
<!element lq - - (p*)>
|
||
<!element quote - - ((%inline; | %sectpar;)*, p*)+ >
|
||
<!element tscreen - - ((%inline; | %sectpar;)*, p*)+ >
|
||
<!element itemize - - (item+)>
|
||
<!element enum - - (item+)>
|
||
<!element list - - (item+)>
|
||
|
||
<!shortref desmap
|
||
"&ero;#RS;B" null
|
||
"&ero;#RS;B&ero;#RE;" ptag
|
||
"&ero;#RS;&ero;#RE;" ptag
|
||
"~" nbsp
|
||
"_" lowbar
|
||
"#" num
|
||
"%" percnt
|
||
"^" circ
|
||
"[" lsqb
|
||
"]" rsqb
|
||
"{" lcub
|
||
"}" rcub
|
||
"|" verbar >
|
||
|
||
<!element descrip - - (tag?, p+)+ >
|
||
<!usemap desmap descrip>
|
||
|
||
<!element item o o ((%inline; | %sectpar;)*, p*) >
|
||
|
||
<!element tag - o (%inline)>
|
||
<!usemap desmap tag>
|
||
|
||
<!usemap global (list,itemize,enum)>
|
||
<!entity space " ">
|
||
<!entity null "">
|
||
|
||
<!--
|
||
<!shortref bodymap
|
||
"&ero;#RS;B&ero;#RE;" ptag
|
||
"&ero;#RS;&ero;#RE;" ptag
|
||
'"' qtag
|
||
"[" lsqb
|
||
"~" nbsp
|
||
"_" lowbar
|
||
"#" num
|
||
"%" percnt
|
||
"^" circ
|
||
"{" lcub
|
||
"}" rcub
|
||
"|" verbar>
|
||
-->
|
||
|
||
<!element figure - - ((eps | ph ), img*, caption?)>
|
||
<!attlist figure
|
||
loc cdata "tbp"
|
||
caption cdata "Caption">
|
||
|
||
<!-- eps attributes added by mb and td -->
|
||
<!element eps - o empty >
|
||
<!attlist eps
|
||
file cdata #required
|
||
height cdata "5cm"
|
||
angle cdata "0">
|
||
|
||
<!element ph - o empty >
|
||
<!attlist ph
|
||
vspace cdata #required>
|
||
|
||
<!element img - o empty>
|
||
<!attlist img
|
||
src cdata #required>
|
||
|
||
<!element caption - o (%inline)>
|
||
|
||
<!shortref oneline
|
||
"B&ero;#RE;" space
|
||
"&ero;#RS;&ero;#RE;" null
|
||
"&ero;#RS;B&ero;#RE;" null
|
||
-- '"' qtag --
|
||
"[" ftag
|
||
"~" nbsp
|
||
"_" lowbar
|
||
"#" num
|
||
"%" percnt
|
||
"^" circ
|
||
"{" lcub
|
||
"}" rcub
|
||
"|" verbar>
|
||
|
||
<!usemap oneline tag>
|
||
<!usemap oneline caption>
|
||
|
||
<!entity % tabrow "(%inline, (colsep, %inline)*)" >
|
||
<!element tabular - -
|
||
(hline?, %tabrow, (rowsep, hline?, %tabrow)*, caption?) >
|
||
|
||
<!attlist tabular
|
||
ca cdata #required>
|
||
|
||
<!element rowsep - o empty>
|
||
<!element colsep - o empty>
|
||
<!element hline - o empty>
|
||
|
||
<!entity rowsep "<rowsep>">
|
||
<!entity colsep "<colsep>">
|
||
|
||
<!shortref tabmap
|
||
"&ero;#RE;" null
|
||
"&ero;#RS;&ero;#RE;" null
|
||
"&ero;#RS;B&ero;#RE;" null
|
||
"&ero;#RS;B" null
|
||
"B&ero;#RE;" null
|
||
"BB" space
|
||
"@" rowsep
|
||
"|" colsep
|
||
"[" ftag
|
||
-- '"' qtag --
|
||
"_" thinsp
|
||
"~" nbsp
|
||
"#" num
|
||
"%" percnt
|
||
"^" circ
|
||
"{" lcub
|
||
"}" rcub >
|
||
|
||
<!usemap tabmap tabular>
|
||
<!element table - - (tabular, caption?) >
|
||
<!attlist table
|
||
loc cdata "tbp">
|
||
|
||
<!element code - - rcdata>
|
||
<!element verb - - rcdata>
|
||
|
||
<!shortref ttmap -- also on one-line --
|
||
"B&ero;#RE;" space
|
||
"&ero;#RS;&ero;#RE;" null
|
||
"&ero;#RS;B&ero;#RE;" null
|
||
"&ero;#RS;B" null
|
||
'#' num
|
||
'%' percnt
|
||
'~' tilde
|
||
'_' lowbar
|
||
'^' circ
|
||
'{' lcub
|
||
'}' rcub
|
||
'|' verbar >
|
||
|
||
<!usemap ttmap tt>
|
||
<!element mc - - cdata >
|
||
<!entity % sppos "tu" >
|
||
<!entity % fcs "%sppos;|phr" >
|
||
<!entity % fcstxt "#pcdata|mc|%fcs;" >
|
||
<!entity % fscs "rf|v|fi" >
|
||
<!entity % limits "pr|in|sum" >
|
||
<!entity % fbu "fr|lim|ar|root" >
|
||
<!entity % fph "unl|ovl|sup|inf" >
|
||
<!entity % fbutxt "(%fbu;) | (%limits;) |
|
||
(%fcstxt;)|(%fscs;)|(%fph;)" >
|
||
<!entity % fphtxt "p|#pcdata" >
|
||
<!element f - - ((%fbutxt;)*) >
|
||
|
||
<!entity fendtag '</f>' -- formula end -- >
|
||
|
||
<!shortref fmap
|
||
"&ero;#RS;B" null
|
||
"&ero;#RS;B&ero;#RE;" null
|
||
"&ero;#RS;&ero;#RE;" null
|
||
"_" thinsp
|
||
"~" nbsp
|
||
"]" rsqb
|
||
"#" num
|
||
"%" percnt
|
||
"^" circ
|
||
"{" lcub
|
||
"}" rcub
|
||
"|" verbar>
|
||
|
||
<!usemap fmap f >
|
||
|
||
<!element dm - - ((%fbutxt;)*)>
|
||
<!element eq - - ((%fbutxt;)*)>
|
||
|
||
<!shortref dmmap
|
||
"&ero;#RE;" space
|
||
"_" thinsp
|
||
"~" nbsp
|
||
"]" rsqb
|
||
"#" num
|
||
"%" percnt
|
||
"^" circ
|
||
"{" lcub
|
||
"}" rcub
|
||
"|" verbar>
|
||
|
||
<!usemap dmmap (dm,eq)>
|
||
<!element fr - - (nu,de) >
|
||
<!element nu o o ((%fbutxt;)*) >
|
||
<!element de o o ((%fbutxt;)*) >
|
||
<!element ll o o ((%fbutxt;)*) >
|
||
<!element ul o o ((%fbutxt;)*) >
|
||
<!element opd - o ((%fbutxt;)*) >
|
||
<!element pr - - (ll,ul,opd?) >
|
||
<!element in - - (ll,ul,opd?) >
|
||
<!element sum - - (ll,ul,opd?) >
|
||
<!element lim - - (op,ll,ul,opd?) >
|
||
<!element op o o (%fcstxt;|rf|%fph;) -(tu) >
|
||
<!element root - - ((%fbutxt;)*) >
|
||
<!attlist root
|
||
n cdata "">
|
||
<!element col o o ((%fbutxt;)*) >
|
||
<!element row o o (col, (arc, col)*) >
|
||
|
||
<!element ar - - (row, (arr, row)*) >
|
||
<!attlist ar
|
||
ca cdata #required >
|
||
<!element arr - o empty >
|
||
<!element arc - o empty >
|
||
<!entity arr "<arr>" >
|
||
<!entity arc "<arc>" >
|
||
|
||
<!shortref arrmap
|
||
"&ero;#RE;" space
|
||
"@" arr
|
||
"|" arc
|
||
"_" thinsp
|
||
"~" nbsp
|
||
"#" num
|
||
"%" percnt
|
||
"^" circ
|
||
"{" lcub
|
||
"}" rcub >
|
||
|
||
<!usemap arrmap ar >
|
||
<!element sup - - ((%fbutxt;)*) -(tu) >
|
||
<!element inf - - ((%fbutxt;)*) -(tu) >
|
||
<!element unl - - ((%fbutxt;)*) >
|
||
<!element ovl - - ((%fbutxt;)*) >
|
||
<!element rf - o (#pcdata) >
|
||
<!element phr - o ((%fphtxt;)*) >
|
||
<!element v - o ((%fcstxt;)*)
|
||
-(tu|%limits;|%fbu;|%fph;) >
|
||
<!element fi - o (#pcdata) >
|
||
<!element tu - o empty >
|
||
|
||
<!usemap global (rf,phr)>
|
||
<!element def - - (thtag?, p+) >
|
||
<!element prop - - (thtag?, p+) >
|
||
<!element lemma - - (thtag?, p+) >
|
||
<!element coroll - - (thtag?, p+) >
|
||
<!element proof - - (p+) >
|
||
<!element theorem - - (thtag?, p+) >
|
||
<!element thtag - - (%inline)>
|
||
|
||
<!usemap global (def,prop,lemma,coroll,proof,theorem)>
|
||
<!usemap oneline thtag>
|
||
<!entity qtag '<sq>' >
|
||
|
||
<!shortref global
|
||
"&ero;#RS;B" null -- delete leading blanks --
|
||
-- '"' qtag --
|
||
"[" ftag
|
||
"~" nbsp
|
||
"_" lowbar
|
||
"#" num
|
||
"%" percnt
|
||
"^" circ
|
||
"{" lcub
|
||
"}" rcub
|
||
"|" verbar>
|
||
|
||
<!usemap global linuxdoc>
|
||
<!element label - o empty>
|
||
<!attlist label id cdata #required>
|
||
|
||
<!-- ref modified to have an optional name field HG -->
|
||
<!element ref - o empty>
|
||
<!attlist ref
|
||
id cdata #required
|
||
name cdata "&ero;refnam">
|
||
|
||
<!-- url entity added to have direct url references HG -->
|
||
<!element url - o empty>
|
||
<!attlist url
|
||
url cdata #required
|
||
name cdata "&ero;urlnam" >
|
||
|
||
<!-- htmlurl entity added to have quieter url references esr -->
|
||
<!element htmlurl - o empty>
|
||
<!attlist htmlurl
|
||
url cdata #required
|
||
name cdata "&ero;urlnam" >
|
||
|
||
<!element pageref - o empty>
|
||
<!attlist pageref
|
||
id cdata #required>
|
||
<!element comment - - (%inline)>
|
||
<!element x - - ((#pcdata | mc)*) >
|
||
<!usemap #empty x >
|
||
|
||
<!-- Hacked by mdw to exclude abstract; abstract now part of titlepag -->
|
||
<!element article - -
|
||
(titlepag, header?,
|
||
toc?, lof?, lot?, p*, sect*,
|
||
(appendix, sect+)?, biblio?) +(footnote)>
|
||
|
||
<!attlist article
|
||
opts cdata "null">
|
||
|
||
<!-- Hacked by mdw to exclude abstract; abstract now part of titlepag -->
|
||
<!element report - -
|
||
(titlepag, header?, toc?, lof?, lot?, p*,
|
||
chapt*, (appendix, chapt+)?, biblio?) +(footnote)>
|
||
|
||
<!attlist report
|
||
opts cdata "null">
|
||
<!element book - -
|
||
(titlepag, header?, toc?, lof?, lot?, p*, chapt*,
|
||
(appendix, chapt+)?, biblio?) +(footnote) >
|
||
|
||
<!attlist book
|
||
opts cdata "null">
|
||
|
||
<!-- Hacked by mdw, abstract now part of titlepag -->
|
||
<!element titlepag o o (title, author, date?, abstract?)>
|
||
<!element title - o (%inline, subtitle?) +(newline)>
|
||
<!element subtitle - o (%inline)>
|
||
<!usemap oneline titlepag>
|
||
<!element author - o (name, thanks?, inst?,
|
||
(and, name, thanks?, inst?)*)>
|
||
<!element name o o (%inline) +(newline)>
|
||
<!element and - o empty>
|
||
<!element thanks - o (%inline)>
|
||
<!element inst - o (%inline) +(newline)>
|
||
<!element date - o (#pcdata) >
|
||
|
||
<!usemap global thanks>
|
||
|
||
<!element newline - o empty >
|
||
<!entity nl "<newline>">
|
||
|
||
<!-- Hacked by mdw -->
|
||
<!element abstract - o (%inline)>
|
||
<!usemap oneline abstract>
|
||
|
||
|
||
<!element toc - o empty>
|
||
<!element lof - o empty>
|
||
<!element lot - o empty>
|
||
<!element header - - (lhead, rhead) >
|
||
<!element lhead - o (%inline)>
|
||
<!element rhead - o (%inline)>
|
||
<!entity % sect "heading, header?, p* " >
|
||
<!element heading o o (%inline)>
|
||
<!element chapt - o (%sect, sect*) +(footnote)>
|
||
<!element sect - o (%sect, sect1*) +(footnote)>
|
||
<!element sect1 - o (%sect, sect2*)>
|
||
<!element sect2 - o (%sect, sect3*)>
|
||
<!element sect3 - o (%sect, sect4*)>
|
||
<!element sect4 - o (%sect)>
|
||
<!usemap oneline (chapt,sect,sect1,sect2,sect3,sect4)>
|
||
<!element appendix - o empty >
|
||
<!element footnote - - (%inline)>
|
||
<!usemap global footnote>
|
||
<!element cite - o empty>
|
||
<!attlist cite
|
||
id cdata #required>
|
||
|
||
<!element ncite - o empty>
|
||
<!attlist ncite
|
||
id cdata #required
|
||
note cdata #required>
|
||
|
||
<!element file - - (#pcdata)>
|
||
|
||
<!element idx - - (#pcdata)>
|
||
<!element cdx - - (#pcdata)>
|
||
<!element nidx - - (#pcdata)>
|
||
<!element ncdx - - (#pcdata)>
|
||
|
||
<!element biblio - o empty>
|
||
<!attlist biblio
|
||
style cdata "linuxdoc"
|
||
files cdata "">
|
||
<!element slides - - (slide*) >
|
||
|
||
<!attlist slides
|
||
opts cdata "null">
|
||
<!element slide - o (title?, p+) >
|
||
<!entity % addr "(address?, email?, phone?, fax?)" >
|
||
|
||
<!element letter - -
|
||
(from, %addr, to, %addr, cc?, subject?, sref?, rref?,
|
||
rdate?, opening, p+, closing, encl?, ps?)>
|
||
|
||
<!attlist letter
|
||
opts cdata "null">
|
||
|
||
<!element from - o (#pcdata) >
|
||
<!element to - o (#pcdata) >
|
||
|
||
<!usemap oneline (from,to)>
|
||
|
||
<!element address - o (#pcdata) +(newline) >
|
||
<!element email - o (#pcdata) >
|
||
<!element phone - o (#pcdata) >
|
||
<!element fax - o (#pcdata) >
|
||
|
||
<!element subject - o (%inline;) >
|
||
<!element sref - o (#pcdata) >
|
||
<!element rref - o (#pcdata) >
|
||
<!element rdate - o (#pcdata) >
|
||
|
||
<!element opening - o (%inline;) >
|
||
<!usemap oneline opening>
|
||
|
||
<!element closing - o (%inline;) >
|
||
<!element cc - o (%inline;) +(newline) >
|
||
<!element encl - o (%inline;) +(newline) >
|
||
|
||
<!element ps - o (p+) >
|
||
|
||
<!element telefax - -
|
||
(from, %addr, to, address, email?,
|
||
phone?, fax, cc?, subject?,
|
||
opening, p+, closing, ps?)>
|
||
|
||
<!attlist telefax
|
||
opts cdata "null"
|
||
length cdata "2">
|
||
|
||
<!element notes - - (title?, p+) >
|
||
<!attlist notes
|
||
opts cdata "null" >
|
||
<!element manpage - - (sect1*)
|
||
-(sect2 | f | %mathpar | figure | tabular |
|
||
table | %xref | %thrm )>
|
||
|
||
|
||
<!attlist manpage
|
||
opts cdata "null"
|
||
title cdata ""
|
||
sectnum cdata "1" >
|
||
<!shortref manpage
|
||
"&ero;#RS;B" null
|
||
-- '"' qtag --
|
||
"[" ftag
|
||
"~" nbsp
|
||
"_" lowbar
|
||
"#" num
|
||
"%" percnt
|
||
"^" circ
|
||
"{" lcub
|
||
"}" rcub
|
||
"|" verbar>
|
||
|
||
<!usemap manpage manpage >
|
||
</code>
|
||
|
||
</article>
|
||
|