Example ODT Document
This is text before the first heading.
Introduction
This document shows all the elements that are rendered by the Forrest opendocument plugin.
The title is taken from the document properties, the first heading or the document file name, in that order.
If you are viewing the Forrest site containing this document, the source is opendocument-writer.odt.
Headings
Sentence within chapter Level 1.
Level 2
Sentence within chapter Level 2.
Level 3
Sentence within chapter Level 3.
We stop now – at the moment - even if XHTML should recognise 6 levels of headers...
Text Layout
Paragraphs and line-breaks
This is a sample paragraph.
This is a second paragraph, on several lines
separated with line-breaks
line-breaks should appear smaller than space between paragraph.
Layout
To emphasise the text in italic, simply write it in italic.
To strengthen the text, simply write it in bold.
To write a program code sample, simply write it in the Courier New font.
To write an exponent, edit the character format and set the position to exponent.
To write a subscript, edit the character format and set the position to subscript.
In theory, you can mix all the style. The following sentence gives an example « <em><strong><sup>above emphasised and strong !</sup></strong></em> » should appear in italic strong as an exponent.
Lists
Ordered
Here is an ordered list :
-
first line
-
Second line
-
And third line
Unordered
Here is an unordered list :
-
Each
-
line starts
-
with a dot.
-
This is a second level of unordered list
-
-
And this is a first level again...
Boxes
Every sentence using an Open Document paragraph style starting with “Forrest: “ is interpreted by Forrest as a box.
For instance, a sentence using the Forrest: source paragraph style is interpreted as a source box.
Inside a box every word using an Open Document character style starting with “Forrest: “ is interpreted by Forrest as an attribute of the box.
For instance, Labels – or Fixme author – uses the Forrest: Label - or Forrest: Author - character style.
Warnings
Notes
Fix me
Source
// preformatted source code:
import org.apache.cocoon.*;
...
Source boxes must be a single paragraph (with shift-enter line-breaks), but text is pasted as multiple paragraphs, so you need to replace the paragraph breaks with line breaks. This is not as easy as it sounds. The best solution I have found is to record a macro to fix one line and assign it to a convenient key so it can be applied repeatedly.
/** GNU long option parser. */
class Getopt(errorExit:Int, spec:String) {
import collection.mutable.{Map => MutableMap}
import io.Source
import java.util.regex.Pattern
/** is option set? */
def apply(name:String) = optSet(name)
//def update(name:String, value:String) = optArg(name) = value
/** get argument for option */
def arg(name:String) = optArg(name)
/** remaining, non-option arguments */
var args = List("")
Tables
|
Column 1 |
Column 2 |
Column 3 |
Column 4 |
Column 5 |
|
11 |
21 |
31 |
41 |
51 |
|
12 |
22 |
32 |
42 and 52 merged ! |
|
|
13 |
23 |
33 |
43 |
53 |
We have to test tables with header !
Pictures
Here is a little picture :



