Ortase/Unit (v2.2)
Introduction
This specification defines meanings of names for types of units of text (like “chapter” and “section”), which are independent of any special system for formatting, typesetting, word processing, document rendering or text mark up. This is intended to support portability and conversion from one representation to another while semantic information is preserved: Elements, styles, templates, and macros with corresponding type names map to each other. Ortase/Unit is part of the Ortase family of specifications, where other specifications exist to define type names for other document elements.
This specification defines type names for the markup of units of text where the type name "ha" marks the highest level and the type name "hl" marks the lowest level of a heading. In the case of these units, the type of a unit sometimes is also referred to as the level of the heading.
A block of text might be marked as a “unit of type "h" 〈letter 〉”. The means for markup are beyond the scope of this specification.
This specification does not require that a unit must include directly only units which are one step below it. For example, a unit of type "hd" (a chapter) may directly contain units of type "hg" (entries), a intervening unit of type "he" (section) and of type "hf" (subsection) is not required. Some restrictions to this are specified below with the general rule that a unit with a mnemonic name starting with “sub” must be a direct subunit of a unit with the same name without the first “sub”, e.g., a “subsection” must be a direct subunit of a “section”, but a “section” may have other direct subunits, like, for example, an “entry” or a “point.” A user of the specification may derive his own specification with additional constraints.
Hints on how to use type names for several document types follow.
Articles
When one writes an article or a web page, it is recommended to use the unit type "he" for the title of the whole article or web page and the type "hf" for the title of individual subsections of the article or web page. If needed, the type "hg" can be used to mark titles of further subdivisions of these subsections. (This assumes that every web page corresponds to a “section” of a book and that a chapter is formed as a collection of several web pages.)
Books
If one writes a book it is recommended to use the type "ha" for the title of this book. The type "hd" then is used for chapter units.
Applications of Type Names
Other specifications might derive names from this specification Ortase /Unit. For example, an XML application might do this by preceding all type names of this specification with the letter "o" and might decide to mark units using the Ortase name. So the chapter "Animals" with the section "Cats" could be notated as in the following example.
An application in XML [Example]
... <ohd><title>Animals</title>
<ohe><title>Cats</title>
... </ohe></ohd> ...
The modification of the type names is not necessary in this case, but possible. For example, an XML -application might have the naming rule that all its element type names start with the letter "o", so in this case the Ortase names can not be used as they are, because they start with the letter "h". The derived names comply to the naming rules of the user but are still in an obvious one-to-one correspondence with names of Ortase.
Another example is TeX, where the same unit might be started by the heading "\ohd{Heading}" (In TeX digits may not be used in macro names, so it is helpful that Ortase names do not contain digits).
But, for example, in nroff a longer name can not be derived, because nroff macros may only have at most two characters. So, when one develops an nroff macro package and uses this specification for macro names, the names of this specification might be used as they are.
An application in nroff [Example]
.HD
Heading
In HTML several levels are mapped to the same element type name, because there are fewer heading element type names in HTML than there are levels of Ortase headings. Details will be published elsewhere, but the main idea is that "ha" to "hf" map to "h1" as something like, e.g., "<h1 class="hf">"; the heading levels "he", "hf", "hg", "hh" map to "h2", "h3", "h4", and "h5", respectively; and all lower level headings map to "h6".
The Type Names
Now every type name is being described in turn. Each type name is being described first as if it was part of a book and then the meaning of the type name for use in articles is specified if it can be applied. A suggestion for corresponding LaTeX heading levels is also given to help the reader, but when converting to or from LaTeX other mappings might be used.
Every type name also has a “mnemonic” name, which intends to give the intended meaning in a single word. For example, a unit with the type name "ha" is called a “book”. A German translation for this mnemonic name is also specified, for example, „Buch“. However, these mnemonic names are not intended to be used in formal languages derived from this specification. They are only a suggestion how to call the units in natural language texts. To mark a “book” only the type name "ha" or names derived from it are to be used.
ha Book
Description
The highest level is called book. It is a container for parts or chapters.
A "ha" unit may directly contain text, units of type "hb" (parts) and "hd" (chapters).
Articles (This level does not apply to articles.)
LaTeX (In LaTeX there is no corresponding macro.)
German The suggested German name is „Buch“.
hb Part
This level is called a part. It is a collection of subparts or chapters.
An "ha" unit (book) does not need to be divided into "hb" units (parts), it may also directly contain "hd" units (chapters). Only if an "ha" unit contains many "hd" units (chapters), these "hd" units should to be grouped together into larger chunks as "hb" units (parts). If there are very many "hd" units (chapters), some of them might first be grouped into "hc" units (subparts) and then these "hc" units might be grouped into "hb" units (parts).
A "hb" unit (a part) may directly contain text, units of type "hc" (subparts) and "hd" (chapters).
Articles (This level does not apply to articles.)
LaTeX In LaTeX this level is called "part".
German The suggested German name is „Teil“.
hc Subpart
This level is called a subpart. It is a collection of chapters.
Articles (This level does not apply to articles.)
LaTeX (In LaTeX there is no corresponding macro.)
German The suggested German name is „Unterteil“.
hd Chapter
This level is called a chapter. It is used to contain several sections with the same general topic.
A "hd" unit may directly contain text, units of type "he", "hg", "hi", and "hk".
Articles (This level does not apply to articles.)
LaTeX In LaTeX this level is called "chapter".
German The suggested German name is „Kapitel“.
he Section
This level is called a section. It is the suggested default level. If only a single level is needed to title a text, then this “default” level should be used. (Here it is assumed that the highest and initial heading of a document doubles as its title.)
Many texts of medium size (i.e., articles) can comfortably be subdivided using only these two levels: The markup "he" can be used for the whole text and the markup "hf" for the subsections. For example, an FAQ might be a single unit of type "he" and its sections might be units of type "hf".
An "he" unit may directly contain text, units of type "hf", "hg", "hi", and "hk".
Articles The corresponding unit may be viewed as a single article or web page. In this case it is not part of a larger unit, but itself the topmost unit. (So that individual articles may later become a chapter of a book without the need to change the levels of its units.)
LaTeX In LaTeX this level is called "section".
German The suggested German name is „Abschnitt“.
hf Subsection
This level is called a subsection. It must be the direct child of a "he" unit.
A "hf" unit may directly contain text, units of type "hg", "hi", and "hk".
From now on, the descriptions are the same for books and articles.
LaTeX In LaTeX this level is called "subsection".
Articles This may be viewed as a subsection of an article or of a web page.
German The suggested German name is „Unterabschnitt“.
hg Subsubsection
This level is called a subsubsection. It must be the direct child of a "hf" unit.
A "hf" unit may directly contain text, units of type "hh", "hj", and "hl".
From now on, the descriptions are the same for books and articles.
LaTeX In LaTeX this level is called "subsubsection".
Articles This may be viewed as a subsubsection of an article or of a web page.
German The suggested German name is „Unterunterabschnitt“.
hh Entry
This level is called an entry. It must be part of a unit of type "hg" (subsubsection), "hf" (subsection) or a unit of type "he" (section) or a unit of type "hd" (chapter). (I.e., it does not have to be part of a unit of type "hg". It may directly be part of a unit of type "hd" or "he".)
In mathematical texts an entry corresponds to an individual theorem, definition, proof, or comment.
A "hh" unit may directly contain text, units of type "hg", "hk", and "hl".
LaTeX In LaTeX this level is called "paragraph".
German The suggested German name is „Eintrag“.
hi Subentry
This level is called a subentry. It must be part of a unit of type "hh" (entry). In mathematical texts, it might be used to further subdivide longer proofs, theorems, or comments.
LaTeX In LaTeX this level is called "subparagraph".
German The suggested German name is „Untereintrag“.
hj Point
This level is called a point. It must be part of a unit of type "hh" (entry), a unit of type "hi" (subentry), a unit of type "hg" (subsubsection), a unit of type "hf" (subsection), a unit of type "he" (section), or a unit of type "hd" (chapter). If several items should be listed on a low level then this level might be used. E.g., within a mathematical proof (of level "hh") there might be a list of steps to perform for the proof. Each of these steps can be a unit of this level "hj". Of course, most text do not need such a low level unit.
An "hh" unit (an entry) may directly contain text, units of type "hj" (point), and "hl" (atom).
LaTeX (In LaTeX there is no corresponding macro.)
German The suggested German name is „Punkt“.
hk Subpoint
This level is called subpoint. It must be a part of a unit of type "hj" (point). It may be used to further subdivide a unit of type "hj".
A "hk" unit may directly contain text and units of type "hl".
German The suggested German name is „Unterpunkt“.
LaTeX (In LaTeX there is no corresponding macro.)
hl Atom
This level is called an atom. It the lowest possible unit level. It is given as a last resort should anyone really need to subdivide a text so deeply (which is not recommended). It must be part of a unit of level "hk" (subpoint), a unit of level "hj" (point), a unit of level "hi" (subentry), a unit of level "hh" (entry), a unit of level "hg" (subsubsection), a unit of level "hf" (subsection), a unit of level "he" (section), or a unit of level "hd" (chapter).
A "hl" unit may directly contain only text.
German The suggested German name is „Atom“.