Next Previous Contents

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 exceptions figure and tabular are explained there.
starting and ending with a new line.
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:

  • A point
  • Another one
  • Last
  • 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:

    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:

    1. A point
    2. Another one
    3. 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
    hereAt the same location as in the SGML file
    ttopAt the top of a page
    bbottomAt the bottom of a page
    ppageOn a separate page only with figures and tables
    Table Locations

    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
    thistable
    Isn'titnice
    1.234mixedcolumns
    A sample table

    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&trade;
    </figure>
    

    The img tag is ignored by LaTeX-mapping and useful for html, 'cause most browsers don't know about eps.

    A included encapsulated postscript™ file.

    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:

    A blank space for gluing a photo

    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
    lleft
    ccentered
    rright
    Column alignments

    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
    thistable
    Isn'titnice
    1.234mixedcolumns
    Sample table for tabular tag

    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: (a+b)2=a2+2ab+b2

    Equation Tag

    <dm>(a+b)<sup/2/=a<sup/2/+2ab+b<sup/2/</dm>
    
    Is mapped to: (a+b)2=a2+2ab+b2

    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>&lt;fi/G/</f> be a set of non-trivially achievable subgoals
    and &mu; an order on <f>&lt;fi/G/</f>. &mu; is abstractly
    indicative if and only if it is a linearization of
    <f><lim><op>&mu;</op><ll><fi/G/</ll><ul>&ast;</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 (def): Alexander's Definition

    Let G be a set of nontrivially achievable subgoals and µ an order on G. µ is abstractly indicative if and only if it is a linearization of µG

    .

    Proposition (prop): Alexander's Proposition

    Let G be a set of nontrivially achievable subgoals and µ an order on G. µ is abstractly indicative if and only if it is a linearization of µG

    .

    Lemma (lemma): Alexander's Lemma

    Let G be a set of nontrivially achievable subgoals and µ an order on G. µ is abstractly indicative if and only if it is a linearization of µG

    .

    Corollation (coroll): Alexander's Corollary

    Let G be a set of nontrivially achievable subgoals and µ an order on G. µ is abstractly indicative if and only if it is a linearization of µG

    .

    Alexander's Theorem

    Let G be a set of nontrivially achievable subgoals and µ an order on G. µ is abstractly indicative if and only if it is a linearization of µG

    .

    The proof is just the same without the thtag:

    Let G be a set of nontrivially achievable subgoals and µ an order on G. µ is abstractly indicative if and only if it is a linearization of µG

    .

    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:

    1. &etago; -> </ -> end of tag open
    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.

    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