7. Paragraphs
<!entity % sectpar " %par; | figure | tabular | table | %mathpar; | %thrm; | %litprog; "> <!entity % par " %list; | comment | lq | quote | tscreen " > <!entity % litprog " code | verb " >
Each of the here described tags form a paragraph.
For obvious reason a paragraph is normally
The behaviour of the exceptionsstarting and ending with a new line.figure
andtabular
are explained there.
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 %litprog;
see
Literate Programming.
7.1 Normal Paragraph
Normal paragraphs can be formed in two ways:
Paragraph tag
The <p>
tag is starting a new paragraph.
This tag is mandatory if you want to finish a section header without
explicitly closing the sect
tag.
In this case <p>
tag then closes the <sect>
tag
automatically.
Empty Newline
A empty line between two paragraph is implicitly starting a new
paragraph.
Take care within descriptive
lists. There a empty <tag>
tag will not be paragraphed by an empty line.
7.2 List-like Paragraphs
<!entity % list " list | itemize | enum | descrip " >
This four tags indicate the starting of a list-like paragraph. Within each of the lists the single items are separated by an item tag.
<!element item o o ((%inline; | %sectpar;)*, p*) >
As you can see, a item may again contain paragraphs (and therefore also may contain other lists - even of a different type).
List Tag
<!element list - - (item+)>
The list tag will be mapped to a nacked list without bullets, numers or anything else.
To see it, I place a small example:
<list> <item>A point <item>Another one <item>Last </list>
Will look (depending on the mapping) like:
Itemize Tag
<!element itemize - - (item+)>
The 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:
<itemize> <item>A point <item>Another one <item>Last </itemize>
Will look (depending on the mapping) like:
- A point
- Another one
- Last
Enum Tag
<!element enum - - (item+)>
The enum tag will be mapped to a list with numbers.
A small example:
<enum> <item>A point <item>Another one <item>Last </enum>
Will look (depending on the mapping) like:
- A point
- Another one
- Last
Descrip Tag
<!element descrip - - (tag?, p+)+ >
The 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 tag (this time the tag's name is really litteraly
tag
) wich is described later on.
A small example:
<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>
Will look (depending on the mapping) like:
- sgml
structured general markup language.
- 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.
- internet
A worldwide connected internet (internet here as a technical term)
7.3 Figures and Tables
The <figure>
and the <table>
tags form very special
paragraphs.
Not always they stay within the normal textflow.
Both of the tags can hold a loc
(loction) attribute wich is telling
how to handle the flow of this special paragraph.
The value of the loc
attribute is a string of up to four letters, where
each letter declares a location at which the figure or table may appear,
as described in table
Table Locations.
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
|
The default value of the loc attribute is top
.
Table Tag
<!element table - - (tabular, caption?) >
As you can see a table consists of the <table>
tag itself,
including a <tabular>
tag and a optional <caption>
tag.
The <tabular>
tag may also be placed without a <table>
tag so it is described in detail in it's own section
(see
Tabular Tag).
The caption is used also to place the entry for the list of tables if you stated one (see The List Of Tables Tag).
A short example will show how it's working together.
<table loc="ht"> <tabular ca="lcr"> Look|this|table@ Isn't|it|nice@ 1.234|mixed|columns </tabular> <caption>A sample table </table>
Look | this | table |
Isn't | it | nice |
1.234 | mixed | columns
|
The caption "A sample table" would be the name in the list of tables.
Figure Tag
<!element figure - - ((eps | ph ), img*, caption?)>
The usage of the
<figure>
tag is equivalent to the
<table>
tag.
Instead of the <tabular>
tag you place either a <eps>
or a <ph>
tag.
Encapsulated Postscript™ Tag
<!attlist eps file cdata #required height cdata "5cm" angle cdata "0">
The
<eps>
tag is intended for including a external file in
encapsulated postscript™ format into the document.
The attributes of the <eps>
tag are:
- file
The
file
attribute needs the file name of a encapsulated postscript™ file ending with a.ps
suffix. The mandatory.ps
suffix must not be written.- height
The 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 (
i
,cm
).- angle
The angle is given in normal degrees (0-360) and as the number is increasing the file is rotated counter clockwise.
A example:
<figure loc="here"> <eps file="logo" height="4cm" angle="15"> <img src="logo.gif"> <caption>A included encapsulated postscript™ </figure>
The img tag is ignored by LaTeX-mapping and useful for html, 'cause most browsers don't know about eps.
The caption here would go to the list of figures as decribed in section The List Of Figures Tag.
Placeholder Tag
<!attlist ph vspace cdata #required>
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
vspace
attribte.
Caveat: The numerical argument for the vspace
attribte needs a
unit directly behind the number. Don't leave a space there
(same as for the height
attribute in
Encapsulated Postscript™ Tag.
<figure loc="ht"> <ph vspace="5cm"> <caption>A blank space. </figure>
Results to:
At this point you might want to look for your scissors and the glue.
7.4 Tabular Tag
<!element tabular - - (hline?, %tabrow, (rowsep, hline?, %tabrow)*, caption?) >
The
<tabular>
tag is interpreted as an own paragraph, if it is
written standalone.
Together with a <table>
tag it gets part of the paragraph of the
<table>
tag (see
Table tag).
Within the tabular
tag you have rows an collumns wich are separating the
text.
You have to have at least one collumn and one row.
Wouldn't be very usefull otherwise.
The <tabular>
tag has a mandatory ca
attribute for 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
Collumns allignements
char | alignment |
l | left |
c | centered |
r | right
|
In theory you should be able to place a | into the 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 |
to
{$|$}
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 <tabular>
tag are separated by a collumn
separator, the <colsep>
tag. The character |
is translated to
<colsep>
so you can also place that one instead
Less typing, more fun..
What's valid for collumns is also valid for rows. You separate the by a
row separator, the <rowsep>
tag.
The character @
is translated to <rowsep>
.
Optional you can place a horizontal line with the <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.
<tabular ca="lcr"> Look|this|table@<hline> Isn't|it|nice@ 1.234|mixed|columns@ </tabular>
Results in table Sample table for tabular tag
Look | this | table |
Isn't | it | nice |
1.234 | mixed | columns |
|
- Attention:
In LaTeX mapping everything works nice if you place a tabular tag without a table tag, only in the other mappings (e.g. html) it will be messed up.
7.5 Mathematical Paragraph
<!entity % mathpar " dm | eq " >
A mathematical paragraph consits either of a displayed formula,
tagged by <dm>
No, sorry, not for Deutschmark! ;-)or an equation, tagged by
<eq>
.
They work very much the same.
Both of these tags contain a mathematical formula. See Mathematical Formulas for the tags valid here.
- Note:
Because neither Netscape nor Microsoft has seen any need to add mathematical mappings to their browsers (like demanded and defined by 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.
Displayed Formula Tag
This tag displays a mathematical formula as a paragraph. The formula is mapped centered as a single line
No guarantee for that. You know: Mapping is a matter of taste..
<dm>(a+b)<sup/2/=a<sup/2/+2ab+b<sup/2/</dm>Is mapped to:
Equation Tag
<dm>(a+b)<sup/2/=a<sup/2/+2ab+b<sup/2/</dm>Is mapped to:
7.6 Theorem Paragraph
<!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+) >
As you can see the different types of theorem paragraphs are nearly identical. The only exception wich is a little bit different is the proof wich doesn't own a
thtag
.
For all the others the thtag
is giving the tag of the theorem
paragraph.
Yust try to use that one, wich is fitting the meaning of what you are typing.
<thrm> <thtag>Alexander's thrm</thtag> Let <f><fi/G/</f> be a set of non-trivially 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/</ll><ul>*</ul></lim></f>. </theorem>
The 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:
Definition ( Let def
):
*
Proposition ( Let prop
):
*
Lemma ( Let lemma
):
*
Corollation ( Let coroll
):
*
Let *
The proof is just the same without the thtag
:
Let *
7.7 Code and verbatim Paragraphs
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 Named Symbols. The exceptions are:
- &etago; -> </ ->
end of tag open
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.
See the difference between IIWW and
IIWW
.
- 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.
Code Tag
<!element code - - rcdata>
Use the code tag, if you want to write sourcecode example within your text.
A code sample
<code>
#include <stdio.h> int main() { printf("Hello world"); return 1; }
</code>
Verbatim Tag
<!element verb - - rcdata>
Use the verbatim tag for anything else than sourcecode (use Code Tag for this) which needs the good old whitespace padding, like terminal hardcopy, ASCII-Graphics etc.
A verb sample
<verb>
///////// | * * | | | | | <---> | \_____/</verb>
Next Previous Contents