Linuxdoc Reference: A minimalistic document

Next Previous Contents

## 3. A minimalistic document

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.

## 3.1 Step By Step

The steps you have to do to create a nice linuxdoc document and map it to the form you need are:

- Take a plain text editor of your choice.
- Create a file and name it (or later save it as) e.g. `start.sgml`.
- Type the document
- Save the file and close your editor.
- Run the checker by typing `sgmlcheck start.sgml`.
- If you get errors reported, reopen your document in your editor again and try to correct it

  > The error messages of `sgmlcheck` will give you a hint about the type of error and also line and column where it occurred.

  . Run the checker again until no more errors occur.
- Now you have to decide what's your document for. Take the apropriate parser mapper combination and translate your document. To find the mappers available in the SGML-Tools see table SGML-Tools mappers for sgml documents.

  type | to produce
  `sgml2html start.sgml` | Hypertext markup language for web browsers
  `sgml2lyx start.sgml` | Lyx or KLyx wysiwym textformat
  `sgml2info start.sgml` | Info page for UN*X info
  `sgml2latex start.sgml` | DVI output
  `sgml2latex --output=tex start.sgml` | pure tex output
  `sgml2latex --output=ps start.sgml` | postscript output
  `sgml2rtf start.sgml` | rich text format
  `sgml2txt start.sgml` | pure text
  SGML-Tools mappers for sgml documents

## 3.2 A Startup Document

We start with a simple document (the numbers and colon in the beginning of the line are for explanation, don't type it!):

    1: <!doctype linuxdoc system>
    2: <notes>
    3: <title>A Small Linuxdoc Example</title>
    4: <p>Hello <em>world</em>.</p>
    5: <p><bf>Here</bf> we are.</p>
    6: </notes>

Now we take a look at the single lines:

1. A linuxdoc document has to start, like all SGML conform documents, with the preamble. 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.
2. Open the document class: You have to decide, wich type of document you want to write. See section Document Classes for detailed description about that document classes. The necessary header information, wich is depending on the document class is also explained there. In our case we place a `<notes>` tag forming a note, wich is indicating a simple unstructured document.
3. Even if optional it's a good idea to give a title to the document. That's done with the `<title>` tag.
4. A paragraph marked by the `<p>` tag, containing the word `world` wich is inline emphasized by the `<em>` tag.
5. Another completely tagged paragraph, with another word inline boldfaced by the `<bf>` tag.
6. Here we close the open document class tag.

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:

    1: <!doctype linuxdoc system>
    2: <notes>
    3: <title>A Small Linuxdoc Example
    4: <p>Hello <em/world/.
    5:
    6: <bf/Here/ we are.
    7: </notes>

Now we look at the single lines again:

1. The preambel.
2. The document class (also unchanged).
3. The title. It's not closed, because the `p` tag in the next line is implicitely closing it.
4. The paragraph is implicitly closing the title. The emphasize tag is noted in short form. The short notation you can use only if your tagged text doesn't contain a litteral `/`. The paragraph is not explicitly closed in this line.
5. The empty line here is the reason, why you don't need to close the previous 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.
6. Another paragraph (not opened directly), with another short inline tag.
7. Closing the open document class tag, wich is implicitly also closing the still open paragraph.

Maybe now it's a little bit more clear, who you have to work with tags.

Next Previous Contents