[Zope-Checkins] CVS: Zope/lib/python/third_party/docutils/docs/user/rst - cheatsheet.txt:1.1.2.1 demo.txt:1.1.2.1 quickref.html:1.1.2.1 quickstart.txt:1.1.2.1

Andreas Jung andreas at andreas-jung.com
Fri Oct 29 14:24:50 EDT 2004


Update of /cvs-repository/Zope/lib/python/third_party/docutils/docs/user/rst
In directory cvs.zope.org:/tmp/cvs-serv11767/docutils/docs/user/rst

Added Files:
      Tag: ajung-docutils-cleanup-branch
	cheatsheet.txt demo.txt quickref.html quickstart.txt 
Log Message:
moved


=== Added File Zope/lib/python/third_party/docutils/docs/user/rst/cheatsheet.txt ===
=====================================================
 The reStructuredText_ Cheat Sheet: Syntax Reminders
=====================================================
:Info: See <http://docutils.sf.net/rst.html> for introductory docs.
:Author: David Goodger <goodger at python.org>
:Date: $Date: 2004/10/29 18:24:48 $
:Revision: $Revision: 1.1.2.1 $
:Description: This is a "docinfo block", or bibliographic field list

Section Structure
=================
Section titles are underlined or overlined & underlined.

Body Elements
=============
Grid table:

+--------------------------------+-----------------------------------+
| Paragraphs are flush-left,     | Literal block, preceded by "::":: |
| separated by blank lines.      |                                   |
|                                |     Indented                      |
|     Block quotes are indented. |                                   |
+--------------------------------+ or::                              |
| >>> print 'Doctest block'      |                                   |
| Doctest block                  | > Quoted                          |
+--------------------------------+-----------------------------------+

Simple tables:

================  ====================================================
List Type         Examples
================  ====================================================
Bullet list       * items begin with "-", "+", or "*"
Enumerated list   1. items use any variation of "1.", "A)", and "(i)"
Definition list   Term is flush-left : optional classifier
                      Definition is indented, no blank line between
Field list        :field name: field body
Option list       -o  at least 2 spaces between option & description
================  ====================================================

================  ====================================================
Explicit Markup   Examples (only visible in the `text source <cheatsheet.txt>`_)
================  ====================================================
Footnote          .. [1] Manually numbered or [#] auto-numbered
                     (even [#labelled]) or [*] auto-symbol
Citation          .. [CIT2002] A citation.
Hyperlink Target  .. _reStructuredText: http://docutils.sf.net/rst.html
                  .. _indirect target: reStructuredText_
                  .. _internal target:
Anonymous Target  __ http://docutils.sf.net/docs/ref/rst/restructuredtext.html
Directive ("::")  .. image:: images/biohazard.png
Substitution Def  .. |substitution| replace:: like an inline directive
Comment           .. is anything else
================  ====================================================

Inline Markup
=============
*emphasis*; **strong emphasis**; `interpreted text`; `interpreted text
with role`:emphasis:; ``inline literal text``; standalone hyperlink,
http://docutils.sourceforge.net; named reference, reStructuredText_;
`anonymous reference`__; footnote reference, [1]_; citation reference,
[CIT2002]_; |substitution|; _`inline internal target`.

Directive Quick Reference
=========================
See <http://docutils.sf.net/docs/ref/rst/directives.html> for full info.

================  ====================================================
Directive Name    Description
================  ====================================================
attention         Specific admonition; also "caution", "danger",
                  "error", "hint", "important", "note", "tip", "warning"
admonition        Generic titled admonition: ``.. admonition:: By The Way``
image             ``.. image:: picture.png``; many options possible
figure            Like "image", but with optional caption and legend
topic             ``.. topic:: Title``; like a mini section
sidebar           ``.. sidebar:: Title``; like a mini parallel document
line-block        Line breaks and leading whitespace is significant;
                  useful for addresses & verse
parsed-literal    A literal block with parsed inline markup
rubric            ``.. rubric:: Informal Heading``
epigraph          Block quote with class="epigraph"
highlights        Block quote with class="highlights" 
pull-quote        Block quote with class="pull-quote"
table             Create a titled table (new in Docutils 0.3.1)
csv-table         Create a titled table from CSV data (requires Python 2.3+;
                  new in Docutils 0.3.4)
contents          Generate a table of contents
sectnum           Automatically number sections, subsections, etc.
target-notes      Create an explicit footnote for each external target
meta              HTML-specific metadata
include           Read an external reST file as if it were inline
raw               Non-reST data passed untouched to the Writer
replace           Replacement text for substitution definitions
unicode           Unicode character code conversion for substitution defs
class             Set a "class" attribute on the next element
role              Create a custom interpreted text role (new in Docutils 0.3.2)
================  ====================================================

Interpreted Text Role Quick Reference
=====================================
See <http://docutils.sf.net/docs/ref/rst/roles.html> for full info.

================  ====================================================
Role Name         Description
================  ====================================================
emphasis          Equivalent to *emphasis*
literal           Equivalent to ``literal`` but processes backslash escapes
PEP               Reference to a numbered Python Enhancement Proposal
RFC               Reference to a numbered Internet Request For Comments
strong            Equivalent to **strong**
sub               Subscript
sup               Superscript
title             Title reference (book, etc.); standard default role
================  ====================================================


=== Added File Zope/lib/python/third_party/docutils/docs/user/rst/demo.txt ===
.. This is a comment. Note how any initial comments are moved by
   transforms to after the document title, subtitle, and docinfo.

================================
 reStructuredText Demonstration
================================

.. Above is the document title, and below is the subtitle.
   They are transformed from section titles after parsing.

--------------------------------
 Examples of Syntax Constructs
--------------------------------

.. bibliographic fields (which also require a transform):

:Author: David Goodger
:Address: 123 Example Street
          Example, EX  Canada
          A1B 2C3
:Contact: goodger at users.sourceforge.net
:Authors: Me; Myself; I
:organization: humankind
:date: $Date: 2004/10/29 18:24:48 $
:status: This is a "work in progress"
:revision: $Revision: 1.1.2.1 $
:version: 1
:copyright: This document has been placed in the public domain. You
            may do with it as you wish. You may copy, modify,
            redistribute, reattribute, sell, buy, rent, lease,
            destroy, or improve it, quote it at length, excerpt,
            incorporate, collate, fold, staple, or mutilate it, or do
            anything else to it that your or anyone else's heart
            desires.
:field name: This is a generic bibliographic field.
:field name 2:
    Generic bibliographic fields may contain multiple body elements.

    Like this.

:Dedication:

    For Docutils users & co-developers.

:abstract:

    This document is a demonstration of the reStructuredText markup
    language, containing examples of all basic reStructuredText
    constructs and many advanced constructs.

.. meta::
   :keywords: reStructuredText, demonstration, demo, parser
   :description lang=en: A demonstration of the reStructuredText
       markup language, containing examples of all basic
       constructs and many advanced constructs.

.. contents:: Table of Contents
.. section-numbering::


Structural Elements
===================

Section Title
-------------

That's it, the text just above this line.

Transitions
-----------

Here's a transition:

---------

It divides the section.

Body Elements
=============

Paragraphs
----------

A paragraph.

Inline Markup
`````````````

Paragraphs contain text and may contain inline markup: *emphasis*,
**strong emphasis**, ``inline literals``, standalone hyperlinks
(http://www.python.org), external hyperlinks (Python_), internal
cross-references (example_), external hyperlinks with embedded URIs
(`Python web site <http://www.python.org>`__), footnote references
(manually numbered [1]_, anonymous auto-numbered [#]_, labeled
auto-numbered [#label]_, or symbolic [*]_), citation references
([CIT2002]_), substitution references (|example|), and _`inline
hyperlink targets` (see Targets_ below for a reference back to here).
Character-level inline markup is also possible (although exceedingly
ugly!) in *re*\ ``Structured``\ *Text*.  Problems are indicated by
|problematic| text (generated by processing errors; this one is
intentional).

The default role for interpreted text is `Title Reference`.  Here are
some explicit interpreted text roles: a PEP reference (:PEP:`287`); an
RFC reference (:RFC:`2822`); a :sub:`subscript`; a :sup:`superscript`;
and explicit roles for :emphasis:`standard` :strong:`inline`
:literal:`markup`.

.. DO NOT RE-WRAP THE FOLLOWING PARAGRAPH!

Let's test wrapping and whitespace significance in inline literals:
``This is an example of --inline-literal --text, --including some--
strangely--hyphenated-words.  Adjust-the-width-of-your-browser-window
to see how the text is wrapped.  -- ---- --------  Now note    the
spacing    between the    words of    this sentence    (words
should    be grouped    in pairs).``

If the ``--pep-references`` option was supplied, there should be a
live link to PEP 258 here.

Bullet Lists
------------

- A bullet list

  + Nested bullet list.
  + Nested item 2.

- Item 2.

  Paragraph 2 of item 2.

  * Nested bullet list.
  * Nested item 2.

    - Third level.
    - Item 2.

  * Nested item 3.

Enumerated Lists
----------------

1. Arabic numerals.

   a) lower alpha)

      (i) (lower roman)

          A. upper alpha.

             I) upper roman)

2. Lists that don't start at 1:

   3. Three

   4. Four

   C. C

   D. D

   iii. iii

   iv. iv

Definition Lists
----------------

Term
    Definition
Term : classifier
    Definition paragraph 1.

    Definition paragraph 2.
Term
    Definition

Field Lists
-----------

:what: Field lists map field names to field bodies, like database
       records.  They are often part of an extension syntax.  They are
       an unambiguous variant of RFC 2822 fields.

:how arg1 arg2:

    The field marker is a colon, the field name, and a colon.

    The field body may contain one or more body elements, indented
    relative to the field marker.

Option Lists
------------

For listing command-line options:

-a            command-line option "a"
-b file       options can have arguments
              and long descriptions
--long        options can be long also
--input=file  long options can also have
              arguments

--very-long-option
              The description can also start on the next line.

              The description may contain multiple body elements,
              regardless of where it starts.

-x, -y, -z    Multiple options are an "option group".
-v, --verbose  Commonly-seen: short & long options.
-1 file, --one=file, --two file
              Multiple options with arguments.
/V            DOS/VMS-style options too

There must be at least two spaces between the option and the
description.

Literal Blocks
--------------

Literal blocks are indicated with a double-colon ("::") at the end of
the preceding paragraph (over there ``-->``).  They can be indented::

    if literal_block:
        text = 'is left as-is'
        spaces_and_linebreaks = 'are preserved'
        markup_processing = None

Or they can be quoted without indentation::

>> Great idea!
>
> Why didn't I think of that?

Block Quotes
------------

Block quotes consist of indented body elements:

    My theory by A. Elk.  Brackets Miss, brackets.  This theory goes
    as follows and begins now.  All brontosauruses are thin at one
    end, much much thicker in the middle and then thin again at the
    far end.  That is my theory, it is mine, and belongs to me and I
    own it, and what it is too.

    -- Anne Elk (Miss)

Doctest Blocks
--------------

>>> print 'Python-specific usage examples; begun with ">>>"'
Python-specific usage examples; begun with ">>>"
>>> print '(cut and pasted from interactive Python sessions)'
(cut and pasted from interactive Python sessions)

Tables
------

Here's a grid table followed by a simple table:

+------------------------+------------+----------+----------+
| Header row, column 1   | Header 2   | Header 3 | Header 4 |
| (header rows optional) |            |          |          |
+========================+============+==========+==========+
| body row 1, column 1   | column 2   | column 3 | column 4 |
+------------------------+------------+----------+----------+
| body row 2             | Cells may span columns.          |
+------------------------+------------+---------------------+
| body row 3             | Cells may  | - Table cells       |
+------------------------+ span rows. | - contain           |
| body row 4             |            | - body elements.    |
+------------------------+------------+----------+----------+
| body row 5             | Cells may also be     |          |
|                        | empty: ``-->``        |          |
+------------------------+-----------------------+----------+

=====  =====  ======
   Inputs     Output
------------  ------
  A      B    A or B
=====  =====  ======
False  False  False
True   False  True
False  True   True
True   True   True
=====  =====  ======

Footnotes
---------

.. [1] A footnote contains body elements, consistently indented by at
   least 3 spaces.

   This is the footnote's second paragraph.

.. [#label] Footnotes may be numbered, either manually (as in [1]_) or
   automatically using a "#"-prefixed label.  This footnote has a
   label so it can be referred to from multiple places, both as a
   footnote reference ([#label]_) and as a hyperlink reference
   (label_).

.. [#] This footnote is numbered automatically and anonymously using a
   label of "#" only.

.. [*] Footnotes may also use symbols, specified with a "*" label.
   Here's a reference to the next footnote: [*]_.

.. [*] This footnote shows the next symbol in the sequence.

.. [4] Here's an unreferenced footnote, with a reference to a
   nonexistent footnote: [5]_.

Citations
---------

.. [CIT2002] Citations are text-labeled footnotes. They may be
   rendered separately and differently from footnotes.

Here's a reference to the above, [CIT2002]_, and a [nonexistent]_
citation.

Targets
-------

.. _example:

This paragraph is pointed to by the explicit "example" target. A
reference can be found under `Inline Markup`_, above. `Inline
hyperlink targets`_ are also possible.

Section headers are implicit targets, referred to by name. See
Targets_, which is a subsection of `Body Elements`_.

Explicit external targets are interpolated into references such as
"Python_".

.. _Python: http://www.python.org/

Targets may be indirect and anonymous.  Thus `this phrase`__ may also
refer to the Targets_ section.

__ Targets_

Here's a `hyperlink reference without a target`_, which generates an
error.

Duplicate Target Names
``````````````````````

Duplicate names in section headers or other implicit targets will
generate "info" (level-1) system messages.  Duplicate names in
explicit targets will generate "warning" (level-2) system messages.

Duplicate Target Names
``````````````````````

Since there are two "Duplicate Target Names" section headers, we
cannot uniquely refer to either of them by name.  If we try to (like
this: `Duplicate Target Names`_), an error is generated.

Directives
----------

.. contents:: :local:

These are just a sample of the many reStructuredText Directives.  For
others, please see
http://docutils.sourceforge.net/docs/ref/rst/directives.html.

Document Parts
``````````````

An example of the "contents" directive can be seen above this section
(a local, untitled table of contents_) and at the beginning of the
document (a document-wide `table of contents`_).

Images
``````

An image directive (also clickable -- a hyperlink reference):

.. image:: images/title.png
   :target: directives_

A figure directive:

.. figure:: images/title.png
   :alt: reStructuredText, the markup syntax

   A figure is an image with a caption and/or a legend:

   +------------+-----------------------------------------------+
   | re         | Revised, revisited, based on 're' module.     |
   +------------+-----------------------------------------------+
   | Structured | Structure-enhanced text, structuredtext.      |
   +------------+-----------------------------------------------+
   | Text       | Well it is, isn't it?                         |
   +------------+-----------------------------------------------+

   This paragraph is also part of the legend.

Admonitions
```````````

.. Attention:: Directives at large.

.. Caution::

   Don't take any wooden nickels.

.. DANGER:: Mad scientist at work!

.. Error:: Does not compute.

.. Hint:: It's bigger than a bread box.

.. Important::
   - Wash behind your ears.
   - Clean up your room.
   - Call your mother.
   - Back up your data.

.. Note:: This is a note.

.. Tip:: 15% if the service is good.

.. WARNING:: Strong prose may provoke extreme mental exertion.
   Reader discretion is strongly advised.

.. admonition:: And, by the way...

   You can make up your own admonition too.

Topics, Sidebars, and Rubrics
`````````````````````````````

.. sidebar:: Sidebar Title
   :subtitle: Optional Subtitle

   This is a sidebar.  It is for text outside the flow of the main
   text.  

   .. rubric:: This is a rubric inside a sidebar

   Sidebars often appears beside the main text with a border and
   background color.

.. topic:: Topic Title

   This is a topic.

.. rubric:: This is a rubric

Target Footnotes
````````````````

.. target-notes::

Line Blocks
```````````

Take it away, Eric the Orchestra Leader!

.. line-block::

   A one, two, a one two three four

   Half a bee, philosophically,
       must, *ipso facto*, half not be.
   But half the bee has got to be,
       *vis a vis* its entity.  D'you see?

   But can a bee be said to be
       or not to be an entire bee,
           when half the bee is not a bee,
               due to some ancient injury?

   Singing...

Replacement Text
````````````````

I recommend you try |Python|_.

.. |Python| replace:: Python, *the* best language around

Substitution Definitions
------------------------

An inline image (|example|) example:

.. |EXAMPLE| image:: images/biohazard.png

(Substitution definitions are not visible in the HTML source.)

Comments
--------

Here's one:

.. Comments begin with two dots and a space. Anything may
   follow, except for the syntax of footnotes, hyperlink
   targets, directives, or substitution definitions.

   Double-dashes -- "--" -- must be escaped somehow in HTML output.

(View the HTML source to see the comment.)

Error Handling
==============

Any errors caught during processing will generate system messages.

There should be five messages in the following, auto-generated
section, "Docutils System Messages":

.. section should be added by Docutils automatically


=== Added File Zope/lib/python/third_party/docutils/docs/user/rst/quickref.html ===
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
  <head>
    <title>Quick reStructuredText</title>
    <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">

    <style type="text/css"><!--
      a.backref { text-decoration: none ; color: black }
    --></style>

  </head>

  <body>
    <h1>Quick <i>re</i><font size="+4"><tt>Structured</tt></font><i>Text</i></h1>

    <!-- Caveat: if you're reading the HTML for the examples, -->
    <!-- beware that it was hand-generated, not by Docutils/ReST.  -->

    <p align="right"><em><a href="http://docutils.sourceforge.net/docs/user/rst/quickref.html"
    >http://docutils.sourceforge.net/docs/user/rst/quickref.html</a></em>
    <br><em>Being a cheat-sheet for reStructuredText</em>
    <br><em>Updated $Date: 2004/10/29 18:24:48 $</em>

    <blockquote>
      <p>Copyright: This document has been placed in the public domain.
    </blockquote>


    <p>The full details of the markup may be found on the
      <a href="http://docutils.sourceforge.net/rst.html">reStructuredText</a>
      page. This document is just intended as a reminder.

    <p>Links that look like "(<a href="#details">details</a>)" point
      into the HTML version of the full <a
      href="../../ref/rst/restructuredtext.html">reStructuredText
      specification</a> document.  These are relative links; if they
      don't work, please use the <a
      href="http://docutils.sourceforge.net/docs/user/rst/quickref.html"
      >master "Quick reStructuredText"</a> document.

    <h2><a name="contents">Contents</a></h2>

    <ul>
    <li><a href="#inline-markup">Inline Markup</a></li>
    <li><a href="#escaping">Escaping with Backslashes</a></li>
    <li><a href="#section-structure">Section Structure</a></li>
    <li><a href="#paragraphs">Paragraphs</a></li>
    <li><a href="#bullet-lists">Bullet Lists</a></li>
    <li><a href="#enumerated-lists">Enumerated Lists</a></li>
    <li><a href="#definition-lists">Definition Lists</a></li>
    <li><a href="#field-lists">Field Lists</a></li>
    <li><a href="#option-lists">Option Lists</a></li>
    <li><a href="#literal-blocks">Literal Blocks</a></li>
    <li><a href="#block-quotes">Block Quotes</a></li>
    <li><a href="#doctest-blocks">Doctest Blocks</a></li>
    <li><a href="#tables">Tables</a></li>
    <li><a href="#transitions">Transitions</a></li>
    <li><a href="#explicit-markup">Explicit Markup</a>
    <ul>
    <li><a href="#footnotes">Footnotes</a></li>
    <li><a href="#citations">Citations</a></li>
    <li><a href="#hyperlink-targets">Hyperlink Targets</a>
    <ul>
    <li><a href="#external-hyperlink-targets">External Hyperlink Targets</a></li>
    <li><a href="#internal-hyperlink-targets">Internal Hyperlink Targets</a></li>
    <li><a href="#indirect-hyperlink-targets">Indirect Hyperlink Targets</a></li>
    <li><a href="#implicit-hyperlink-targets">Implicit Hyperlink Targets</a></li>
    </ul></li>
    <li><a href="#directives">Directives</a></li>
    <li><a href="#substitution-references-and-definitions">Substitution References and Definitions</a></li>
    <li><a href="#comments">Comments</a></li>
    </ul></li>
    <li><a href="#getting-help">Getting Help</a></li>
    </ul>

    <h2><a href="#contents" name="inline-markup" class="backref"
        >Inline Markup</a></h2>

    <p>(<a href="../../ref/rst/restructuredtext.html#inline-markup">details</a>)

    <p>Inline markup allows words and phrases within text to have
    character styles (like italics and boldface) and functionality
    (like hyperlinks).

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
    <tr align="left" bgcolor="#99CCFF">
      <th>Plain text
      <th>Typical result
      <th>Notes
      </thead>
      <tbody>
    <tr valign="top">
      <td nowrap><samp>*emphasis*</samp>
      <td><em>emphasis</em>
      <td>Normally rendered as italics.

    <tr valign="top">
      <td nowrap><samp>**strong&nbsp;emphasis**</samp>
      <td><strong>strong emphasis</strong>
      <td>Normally rendered as boldface.

    <tr valign="top">
      <td nowrap><samp>`interpreted&nbsp;text`</samp>
      <td>(see note at right)
      <td>The rendering and <em>meaning</em> of interpreted text is
      domain- or application-dependent.  It can be used for things
      like index entries or explicit descriptive markup (like program
      identifiers).

    <tr valign="top">
      <td nowrap><samp>``inline&nbsp;literal``</samp>
      <td><code>inline&nbsp;literal</code>
      <td>Normally rendered as monospaced text. Spaces should be
      preserved, but line breaks will not be.

    <tr valign="top">
      <td nowrap><samp>reference_</samp>
      <td><a href="#hyperlink-targets">reference</a>
      <td>A simple, one-word hyperlink reference.  See <a
      href="#hyperlinks" >Hyperlinks</a>.

    <tr valign="top">
      <td nowrap><samp>`phrase reference`_</samp>
      <td><a href="#hyperlink-targets">phrase reference</a>
      <td>A hyperlink reference with spaces or punctuation needs to be
      quoted with backquotes.  See <a
      href="#hyperlink-targets">Hyperlinks</a>.

    <tr valign="top">
      <td nowrap><samp>anonymous__</samp>
      <td><a href="#hyperlink-targets">anonymous</a>
      <td>With two underscores instead of one, both simple and phrase
      references may be anonymous (the reference text is not repeated
      at the target).  See <a
      href="#hyperlink-targets">Hyperlinks</a>.

    <tr valign="top">
      <td nowrap><samp>_`inline internal target`</samp>
      <td><a name="inline-internal-target">inline internal target</a>
      <td>A crossreference target within text.
      See <a href="#hyperlink-targets">Hyperlinks</a>.

    <tr valign="top">
      <td nowrap><samp>|substitution reference|</samp>
      <td>(see note at right)
      <td>The result is substituted in from the <a
      href="#substitution-references-and-definitions">substitution
      definition</a>.  It could be text, an image, a hyperlink, or a
      combination of these and others.

    <tr valign="top">
      <td nowrap><samp>footnote reference [1]_</samp>
      <td>footnote reference <sup><a href="#footnotes">1</a></sup>
      <td>See <a href="#footnotes">Footnotes</a>.

    <tr valign="top">
      <td nowrap><samp>citation reference [CIT2002]_</samp>
      <td>citation reference <a href="#citations">[CIT2002]</a>
      <td>See <a href="#citations">Citations</a>.

    <tr valign="top">
      <td nowrap><samp>http://docutils.sf.net/</samp>
      <td><a href="http://docutils.sf.net/">http://docutils.sf.net/</a>
      <td>A standalone hyperlink.

    </table>

    <p>Asterisk, backquote, vertical bar, and underscore are inline
    delimiter characters. Asterisk, backquote, and vertical bar act
    like quote marks; matching characters surround the marked-up word
    or phrase, whitespace or other quoting is required outside them,
    and there can't be whitespace just inside them. If you want to use
    inline delimiter characters literally, <a href="#escaping">escape
    (with backslash)</a> or quote them (with double backquotes; i.e.
    use inline literals).

    <p>In detail, the reStructuredText specification says that in
      inline markup, the following rules apply to start-strings and
      end-strings (inline markup delimiters):

    <ol>
      <li>The start-string must start a text block or be
    immediately preceded by whitespace or any of&nbsp;
    <samp>' " ( [ {</samp> or&nbsp;<samp>&lt;</samp>.
      <li>The start-string must be immediately followed by non-whitespace.
      <li>The end-string must be immediately preceded by non-whitespace.
      <li>The end-string must end a text block (end of document or
    followed by a blank line) or be immediately followed by whitespace
    or any of&nbsp;<samp>' " . , : ; ! ? - ) ] } / \</samp> 
	or&nbsp;<samp>&gt;</samp>.
      <li>If a start-string is immediately preceded by one of&nbsp;
    <samp>' " ( [ {</samp> or&nbsp;<samp>&lt;</samp>, it must not be
    immediately followed by the corresponding character from&nbsp;
    <samp>' " ) ] }</samp> or&nbsp;<samp>&gt;</samp>.
      <li>An end-string must be separated by at least one
    character from the start-string.
      <li>An <a href="#escaping">unescaped</a> backslash preceding a
	start-string or end-string will disable markup recognition, except
    for the end-string of inline literals.
    </ol>

    <p>Also remember that inline markup may not be nested (well,
      except that inline literals can contain any of the other inline
      markup delimiter characters, but that doesn't count because
      nothing is processed).

    <h2><a href="#contents" name="escaping" class="backref"
        >Escaping with Backslashes</a></h2>

    <p>(<a
    href="../../ref/rst/restructuredtext.html#escaping-mechanism">details</a>)

    <p>reStructuredText uses backslashes ("\") to override the special
    meaning given to markup characters and get the literal characters
    themselves. To get a literal backslash, use an escaped backslash
    ("\\"). For example:

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
    <tr align="left" bgcolor="#99CCFF">
      <th width="50%">Raw reStructuredText
      <th width="50%">Typical result
      </thead>
      <tbody>
    <tr valign="top"><td>
        <samp>*escape*&nbsp;``with``&nbsp;"\"</samp>
      <td><em>escape</em> <samp>with</samp> ""
    <tr valign="top"><td>
        <samp>\*escape*&nbsp;\``with``&nbsp;"\\"</samp>
      <td>*escape* ``with`` "\"
    </table>

    <p>In Python strings it will, of course, be necessary
      to escape any backslash characters so that they actually
      <em>reach</em> reStructuredText.
      The simplest way to do this is to use raw strings:

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
    <tr align="left" bgcolor="#99CCFF">
      <th width="50%">Python string
      <th width="50%">Typical result
      </thead>
      <tbody>
    <tr valign="top"><td>
        <samp>r"""\*escape*&nbsp;\`with`&nbsp;"\\""""</samp>
      <td>*escape* `with` "\"
    <tr valign="top"><td>
        <samp>&nbsp;"""\\*escape*&nbsp;\\`with`&nbsp;"\\\\""""</samp>
      <td>*escape* `with` "\"
    <tr valign="top"><td>
        <samp>&nbsp;"""\*escape*&nbsp;\`with`&nbsp;"\\""""</samp>
      <td><em>escape</em> with ""
    </table>

    <h2><a href="#contents" name="section-structure" class="backref"
        >Section Structure</a></h2>

    <p>(<a href="../../ref/rst/restructuredtext.html#sections">details</a>)

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
    <tr align="left" bgcolor="#99CCFF">
      <th width="50%">Plain text
      <th width="50%">Typical result
      </thead>
      <tbody>
    <tr valign="top">
      <td>
<samp>=====</samp>
<br><samp>Title</samp>
<br><samp>=====</samp>
<br><samp>Subtitle</samp>
<br><samp>--------</samp>
<br><samp>Titles&nbsp;are&nbsp;underlined&nbsp;(or&nbsp;over-</samp>
<br><samp>and&nbsp;underlined)&nbsp;with&nbsp;a&nbsp;printing</samp>
<br><samp>nonalphanumeric&nbsp;7-bit&nbsp;ASCII</samp>
<br><samp>character.&nbsp;Recommended&nbsp;choices</samp>
<br><samp>are&nbsp;"``=&nbsp;-&nbsp;`&nbsp;:&nbsp;'&nbsp;"&nbsp;~&nbsp;^&nbsp;_&nbsp;*&nbsp;+&nbsp;#&nbsp;&lt;&nbsp;&gt;``".</samp>
<br><samp>The&nbsp;underline/overline&nbsp;must&nbsp;be&nbsp;at</samp>
<br><samp>least&nbsp;as&nbsp;long&nbsp;as&nbsp;the&nbsp;title&nbsp;text.</samp>
<br><samp></samp>
<br><samp>A&nbsp;lone&nbsp;top-level&nbsp;(sub)section</samp>
<br><samp>is&nbsp;lifted&nbsp;up&nbsp;to&nbsp;be&nbsp;the&nbsp;document's</samp>
<br><samp>(sub)title.</samp>

      <td>
        <font size="+2"><strong>Title</strong></font>
        <p><font size="+1"><strong>Subtitle</strong></font>
        <p>Titles are underlined (or over-
          and underlined) with a printing
          nonalphanumeric 7-bit ASCII
          character. Recommended choices
          are "<samp>= - ` : ' " ~ ^ _ * + # &lt; &gt;</samp>".
          The underline/overline must be at
          least as long as the title text.
        <p>A lone top-level (sub)section is
          lifted up to be the document's
          (sub)title.
    </table>

    <h2><a href="#contents" name="paragraphs" class="backref"
        >Paragraphs</a></h2>

    <p>(<a href="../../ref/rst/restructuredtext.html#paragraphs">details</a>)

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
    <tr align="left" bgcolor="#99CCFF">
      <th width="50%">Plain text
      <th width="50%">Typical result
      </thead>
      <tbody>
    <tr valign="top">
      <td>
<p><samp>This&nbsp;is&nbsp;a&nbsp;paragraph.</samp>

<p><samp>Paragraphs&nbsp;line&nbsp;up&nbsp;at&nbsp;their&nbsp;left</samp>
<br><samp>edges,&nbsp;and&nbsp;are&nbsp;normally&nbsp;separated</samp>
<br><samp>by&nbsp;blank&nbsp;lines.</samp>

      <td>
        <p>This is a paragraph.

        <p>Paragraphs line up at their left edges, and are normally
        separated by blank lines.

    </table>

    <h2><a href="#contents" name="bullet-lists" class="backref"
        >Bullet Lists</a></h2>

    <p>(<a href="../../ref/rst/restructuredtext.html#bullet-lists">details</a>)

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
    <tr align="left" bgcolor="#99CCFF">
      <th width="50%">Plain text
      <th width="50%">Typical result
      </thead>
      <tbody>
    <tr valign="top">
      <td>
<samp>Bullet&nbsp;lists:</samp>

<p><samp>-&nbsp;This&nbsp;is&nbsp;item&nbsp;1</samp>
<br><samp>-&nbsp;This&nbsp;is&nbsp;item&nbsp;2</samp>

<p><samp>-&nbsp;Bullets&nbsp;are&nbsp;"-",&nbsp;"*"&nbsp;or&nbsp;"+".</samp>
<br><samp>&nbsp;&nbsp;Continuing&nbsp;text&nbsp;must&nbsp;be&nbsp;aligned</samp>
<br><samp>&nbsp;&nbsp;after&nbsp;the&nbsp;bullet&nbsp;and&nbsp;whitespace.</samp>

<p><samp>Note&nbsp;that&nbsp;a&nbsp;blank&nbsp;line&nbsp;is&nbsp;required</samp>
<br><samp>before&nbsp;the&nbsp;first&nbsp;item&nbsp;and&nbsp;after&nbsp;the</samp>
<br><samp>last,&nbsp;but&nbsp;is&nbsp;optional&nbsp;between&nbsp;items.</samp>
      <td>Bullet lists:
        <ul>
          <li>This is item 1
          <li>This is item 2
          <li>Bullets are "-", "*" or "+".
        Continuing text must be aligned
        after the bullet and whitespace.
        </ul>
        <p>Note that a blank line is required before the first
          item and after the last, but is optional between items.
    </table>

    <h2><a href="#contents" name="enumerated-lists" class="backref"
        >Enumerated Lists</a></h2>

    <p>(<a href="../../ref/rst/restructuredtext.html#enumerated-lists">details</a>)

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
    <tr align="left" bgcolor="#99CCFF">
      <th width="50%">Plain text
      <th width="50%">Typical result
      </thead>
      <tbody>
    <tr valign="top">
      <td>
<samp>Enumerated&nbsp;lists:</samp>

<p><samp>3.&nbsp;This&nbsp;is&nbsp;the&nbsp;first&nbsp;item</samp>
<br><samp>4.&nbsp;This&nbsp;is&nbsp;the&nbsp;second&nbsp;item</samp>
<br><samp>5.&nbsp;Enumerators&nbsp;are&nbsp;arabic&nbsp;numbers,</samp>
<br><samp>&nbsp;&nbsp;&nbsp;single&nbsp;letters,&nbsp;or&nbsp;roman&nbsp;numerals</samp>
<br><samp>6.&nbsp;List&nbsp;items&nbsp;should&nbsp;be&nbsp;sequentially</samp>
<br><samp>&nbsp;&nbsp;&nbsp;numbered,&nbsp;but&nbsp;need&nbsp;not&nbsp;start&nbsp;at&nbsp;1</samp>
<br><samp>&nbsp;&nbsp;&nbsp;(although&nbsp;not&nbsp;all&nbsp;formatters&nbsp;will</samp>
<br><samp>&nbsp;&nbsp;&nbsp;honour&nbsp;the&nbsp;first&nbsp;index).</samp>
      <td>Enumerated lists:
        <ol type="1">
          <li value="3">This is the first item
          <li>This is the second item
          <li>Enumerators are arabic numbers, single letters,
        or roman numerals
          <li>List items should be sequentially numbered,
        but need not start at 1 (although not all
        formatters will honour the first index).
        </ol>
    </table>

    <h2><a href="#contents" name="definition-lists" class="backref"
        >Definition Lists</a></h2>

    <p>(<a href="../../ref/rst/restructuredtext.html#definition-lists">details</a>)

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
    <tr align="left" bgcolor="#99CCFF">
      <th width="50%">Plain text
      <th width="50%">Typical result
      </thead>
      <tbody>
    <tr valign="top">
      <td>
<samp>Definition&nbsp;lists:</samp>
<br>
<br><samp>what</samp>
<br><samp>&nbsp;&nbsp;Definition&nbsp;lists&nbsp;associate&nbsp;a&nbsp;term&nbsp;with</samp>
<br><samp>&nbsp;&nbsp;a&nbsp;definition.</samp>
<br>
<br><samp>how</samp>
<br><samp>&nbsp;&nbsp;The&nbsp;term&nbsp;is&nbsp;a&nbsp;one-line&nbsp;phrase,&nbsp;and&nbsp;the</samp>
<br><samp>&nbsp;&nbsp;definition&nbsp;is&nbsp;one&nbsp;or&nbsp;more&nbsp;paragraphs&nbsp;or</samp>
<br><samp>&nbsp;&nbsp;body&nbsp;elements,&nbsp;indented&nbsp;relative&nbsp;to&nbsp;the</samp>
<br><samp>&nbsp;&nbsp;term.&nbsp;Blank&nbsp;lines&nbsp;are&nbsp;not&nbsp;allowed</samp>
<br><samp>&nbsp;&nbsp;between&nbsp;term&nbsp;and&nbsp;definition.</samp>
      <td>Definition lists:
        <dl>
          <dt><strong>what</strong>
          <dd>Definition lists associate a term with
        a definition.

          <dt><strong>how</strong>
          <dd>The term is a one-line phrase, and the
        definition is one or more paragraphs or
        body elements, indented relative to the
        term.  Blank lines are not allowed
        between term and definition.
        </dl>
    </table>

    <h2><a href="#contents" name="field-lists" class="backref"
        >Field Lists</a></h2>

    <p>(<a href="../../ref/rst/restructuredtext.html#field-lists">details</a>)

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
    <tr align="left" bgcolor="#99CCFF">
      <th width="50%">Plain text
      <th width="50%">Typical result
      </thead>
      <tbody>
    <tr valign="top">
      <td>
<samp>:Authors:</samp>
<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;Tony&nbsp;J.&nbsp;(Tibs)&nbsp;Ibbs,</samp>
<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;David&nbsp;Goodger</samp>

<p><samp>&nbsp;&nbsp;&nbsp;&nbsp;(and&nbsp;sundry&nbsp;other&nbsp;good-natured&nbsp;folks)</samp>

<p><samp>:Version:&nbsp;1.0&nbsp;of&nbsp;2001/08/08</samp>
<br><samp>:Dedication:&nbsp;To&nbsp;my&nbsp;father.</samp>
      <td>
        <table>
          <tr valign="top">
        <td><strong>Authors:</strong>
        <td>Tony J. (Tibs) Ibbs,
          David Goodger
          <tr><td><td>(and sundry other good-natured folks)
          <tr><td><strong>Version:</strong><td>1.0 of 2001/08/08
          <tr><td><strong>Dedication:</strong><td>To my father.
        </table>
    </table>

    <p>Field lists are used as part of an extension syntax, such as
    options for <a href="#directives">directives</a>, or database-like
    records meant for further processing.  Field lists may also be
    used as generic two-column table constructs in documents.

    <h2><a href="#contents" name="option-lists" class="backref"
        >Option Lists</a></h2>

    <p>(<a href="../../ref/rst/restructuredtext.html#option-lists">details</a>)

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
      <tr align="left" bgcolor="#99CCFF">
      <th width="50%">Plain text
      <th width="50%">Typical result
      </thead>
      <tbody>
    <tr valign="top">
      <td>
        <p><samp>
-a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;command-line&nbsp;option&nbsp;"a"
<br>-b&nbsp;file&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;options&nbsp;can&nbsp;have&nbsp;arguments
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;long&nbsp;descriptions
<br>--long&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;options&nbsp;can&nbsp;be&nbsp;long&nbsp;also
<br>--input=file&nbsp;&nbsp;long&nbsp;options&nbsp;can&nbsp;also&nbsp;have
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arguments
<br>/V&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DOS/VMS-style&nbsp;options&nbsp;too
</samp>

      <td>
        <table border="0" width="100%">
          <tbody valign="top">
            <tr>
              <td width="30%"><p><samp>-a</samp>
              <td><p>command-line option "a"
            <tr>
              <td><p><samp>-b <i>file</i></samp>
              <td><p>options can have arguments and long descriptions
            <tr>
              <td><p><samp>--long</samp>
              <td><p>options can be long also
            <tr>
              <td><p><samp>--input=<i>file</i></samp>
              <td><p>long options can also have arguments
            <tr>
              <td><p><samp>/V</samp>
              <td><p>DOS/VMS-style options too
        </table>
    </table>

    <p>There must be at least two spaces between the option and the
    description.

    <h2><a href="#contents" name="literal-blocks" class="backref"
        >Literal Blocks</a></h2>

    <p>(<a href="../../ref/rst/restructuredtext.html#literal-blocks">details</a>)

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
    <tr align="left" bgcolor="#99CCFF">
      <th width="50%">Plain text
      <th width="50%">Typical result
      </thead>
      <tbody>
    <tr valign="top">
      <td>
<samp>A&nbsp;paragraph&nbsp;containing&nbsp;only&nbsp;two&nbsp;colons</samp>
<br><samp>indicates&nbsp;that&nbsp;the&nbsp;following&nbsp;indented</samp>
<br><samp>or&nbsp;quoted&nbsp;text&nbsp;is&nbsp;a&nbsp;literal&nbsp;block.</samp>
<br>
<br><samp>::</samp>
<br>
<br><samp>&nbsp;&nbsp;Whitespace,&nbsp;newlines,&nbsp;blank&nbsp;lines,&nbsp;and</samp>
<br><samp>&nbsp;&nbsp;all&nbsp;kinds&nbsp;of&nbsp;markup&nbsp;(like&nbsp;*this*&nbsp;or</samp>
<br><samp>&nbsp;&nbsp;\this)&nbsp;is&nbsp;preserved&nbsp;by&nbsp;literal&nbsp;blocks.</samp>
<br>
<br><samp>&nbsp;&nbsp;The&nbsp;paragraph&nbsp;containing&nbsp;only&nbsp;'::'</samp>
<br><samp>&nbsp;&nbsp;will&nbsp;be&nbsp;omitted&nbsp;from&nbsp;the&nbsp;result.</samp>
<br>
<br><samp>The&nbsp;``::``&nbsp;may&nbsp;be&nbsp;tacked&nbsp;onto&nbsp;the&nbsp;very</samp>
<br><samp>end&nbsp;of&nbsp;any&nbsp;paragraph.&nbsp;The&nbsp;``::``&nbsp;will&nbsp;be</samp>
<br><samp>omitted&nbsp;if&nbsp;it&nbsp;is&nbsp;preceded&nbsp;by&nbsp;whitespace.</samp>
<br><samp>The&nbsp;``::``&nbsp;will&nbsp;be&nbsp;converted&nbsp;to&nbsp;a&nbsp;single</samp>
<br><samp>colon&nbsp;if&nbsp;preceded&nbsp;by&nbsp;text,&nbsp;like&nbsp;this::</samp>
<br>
<br><samp>&nbsp;&nbsp;It's&nbsp;very&nbsp;convenient&nbsp;to&nbsp;use&nbsp;this&nbsp;form.</samp>
<br>
<br><samp>Literal&nbsp;blocks&nbsp;end&nbsp;when&nbsp;text&nbsp;returns&nbsp;to</samp>
<br><samp>the&nbsp;preceding&nbsp;paragraph's&nbsp;indentation.</samp>
<br><samp>This&nbsp;means&nbsp;that&nbsp;something&nbsp;like&nbsp;this</samp>
<br><samp>is&nbsp;possible::</samp>
<br>
<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;We&nbsp;start&nbsp;here</samp>
<br><samp>&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;continue&nbsp;here</samp>
<br><samp>&nbsp;&nbsp;and&nbsp;end&nbsp;here.</samp>
<br>
<br><samp>Per-line&nbsp;quoting&nbsp;can&nbsp;also&nbsp;be&nbsp;used&nbsp;on</samp>
<br><samp>unindented&nbsp;literal&nbsp;blocks:</samp>
<br>
<br><samp>&gt;&nbsp;Useful&nbsp;for&nbsp;quotes&nbsp;from&nbsp;email&nbsp;and</samp>
<br><samp>&gt;&nbsp;for&nbsp;Haskell&nbsp;literate&nbsp;programming.</samp>

      <td>
        <p>A paragraph containing only two colons
indicates that the following indented or quoted
text is a literal block.

        <pre>
  Whitespace, newlines, blank lines, and
  all kinds of markup (like *this* or
  \this) is preserved by literal blocks.

  The paragraph containing only '::'
  will be omitted from the result.</pre>

        <p>The <samp>::</samp> may be tacked onto the very
end of any paragraph. The <samp>::</samp> will be
omitted if it is preceded by whitespace.
The <samp>::</samp> will be converted to a single
colon if preceded by text, like this:

        <pre>
  It's very convenient to use this form.</pre>

        <p>Literal blocks end when text returns to
the preceding paragraph's indentation.
This means that something like this is possible:

        <pre>
      We start here
    and continue here
  and end here.</pre>

        <p>Per-line quoting can also be used on
unindented literal blocks:

        <pre>
  &gt; Useful for quotes from email and
  &gt; for Haskell literate programming.</pre>
    </table>

    <h2><a href="#contents" name="block-quotes" class="backref"
        >Block Quotes</a></h2>

    <p>(<a href="../../ref/rst/restructuredtext.html#block-quotes">details</a>)

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
      <tr align="left" bgcolor="#99CCFF">
      <th width="50%">Plain text
      <th width="50%">Typical result
      </thead>
      <tbody>
    <tr valign="top">
      <td>
<samp>Block&nbsp;quotes&nbsp;are&nbsp;just:</samp>

<p><samp>&nbsp;&nbsp;&nbsp;&nbsp;Indented&nbsp;paragraphs,</samp>

<p><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;they&nbsp;may&nbsp;nest.</samp>
      <td>
        Block quotes are just:
        <blockquote>
          <p>Indented paragraphs,
          <blockquote>
        <p>and they may nest.
          </blockquote>
        </blockquote>
    </table>

    <h2><a href="#contents" name="doctest-blocks" class="backref"
        >Doctest Blocks</a></h2>

    <p>(<a href="../../ref/rst/restructuredtext.html#doctest-blocks">details</a>)

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
      <tr align="left" bgcolor="#99CCFF">
      <th width="50%">Plain text
      <th width="50%">Typical result
      </thead>
      <tbody>
    <tr valign="top">
      <td>
        <p><samp>Doctest&nbsp;blocks&nbsp;are&nbsp;interactive
<br>Python&nbsp;sessions.&nbsp;They&nbsp;begin&nbsp;with
<br>"``&gt;&gt;&gt;``"&nbsp;and&nbsp;end&nbsp;with&nbsp;a&nbsp;blank&nbsp;line.</samp>

        <p><samp>&gt;&gt;&gt;&nbsp;print&nbsp;"This&nbsp;is&nbsp;a&nbsp;doctest&nbsp;block."
<br>This&nbsp;is&nbsp;a&nbsp;doctest&nbsp;block.</samp>

      <td>
        <p>Doctest blocks are interactive
        Python sessions. They begin with
        "<samp>&gt;&gt;&gt;</samp>" and end with a blank line.

        <p><samp>&gt;&gt;&gt;&nbsp;print&nbsp;"This&nbsp;is&nbsp;a&nbsp;doctest&nbsp;block."
<br>This&nbsp;is&nbsp;a&nbsp;doctest&nbsp;block.</samp>
    </table>

    <p>"The <a
    href="http://www.python.org/doc/current/lib/module-doctest.html">doctest</a>
    module searches a module's docstrings for text that looks like an
    interactive Python session, then executes all such sessions to
    verify they still work exactly as shown." (From the doctest docs.)

    <h2><a href="#contents" name="tables" class="backref"
        >Tables</a></h2>

    <p>(<a href="../../ref/rst/restructuredtext.html#tables">details</a>)

    <p>There are two syntaxes for tables in reStructuredText.  Grid
    tables are complete but cumbersome to create.  Simple tables are
    easy to create but limited (no row spans, etc.).</p>

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
    <tr align="left" bgcolor="#99CCFF">
      <th width="50%">Plain text
      <th width="50%">Typical result
      </thead>
      <tbody>
    <tr valign="top">
      <td>
<p><samp>Grid table:</samp></p>

<p><samp>+------------+------------+-----------+</samp>
<br><samp>|&nbsp;Header&nbsp;1&nbsp;&nbsp;&nbsp;|&nbsp;Header&nbsp;2&nbsp;&nbsp;&nbsp;|&nbsp;Header&nbsp;3&nbsp;&nbsp;|</samp>
<br><samp>+============+============+===========+</samp>
<br><samp>|&nbsp;body&nbsp;row&nbsp;1&nbsp;|&nbsp;column&nbsp;2&nbsp;&nbsp;&nbsp;|&nbsp;column&nbsp;3&nbsp;&nbsp;|</samp>
<br><samp>+------------+------------+-----------+</samp>
<br><samp>|&nbsp;body&nbsp;row&nbsp;2&nbsp;|&nbsp;Cells&nbsp;may&nbsp;span&nbsp;columns.|</samp>
<br><samp>+------------+------------+-----------+</samp>
<br><samp>|&nbsp;body&nbsp;row&nbsp;3&nbsp;|&nbsp;Cells&nbsp;may&nbsp;&nbsp;|&nbsp;-&nbsp;Cells&nbsp;&nbsp;&nbsp;|</samp>
<br><samp>+------------+&nbsp;span&nbsp;rows.&nbsp;|&nbsp;-&nbsp;contain&nbsp;|</samp>
<br><samp>|&nbsp;body&nbsp;row&nbsp;4&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;-&nbsp;blocks.&nbsp;|</samp>
<br><samp>+------------+------------+-----------+</samp></p>
      <td>
        <p>Grid table:</p>
        <table border="1">
          <thead valign="bottom">
            <tr>
              <th>Header 1
              <th>Header 2
              <th>Header 3
            </tr>
          </thead>
          <tbody valign="top">
            <tr>
              <td>body row 1
              <td>column 2
              <td>column 3
            </tr>
            <tr>
              <td>body row 2
              <td colspan="2">Cells may span columns.
            </tr>
            <tr>
              <td>body row 3
              <td rowspan="2">Cells may<br>span rows.
              <td rowspan="2">
                <ul>
                  <li>Cells
                  <li>contain
                  <li>blocks.
                </ul>
            </tr>
            <tr>
              <td>body row 4
            </tr>
        </table>
    <tr valign="top">
      <td>
<p><samp>Simple table:</samp></p>

<p><samp>=====&nbsp;&nbsp;=====&nbsp;&nbsp;======</samp>
<br><samp>&nbsp;&nbsp;&nbsp;Inputs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Output</samp>
<br><samp>------------&nbsp;&nbsp;------</samp>
<br><samp>&nbsp;&nbsp;A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;or&nbsp;B</samp>
<br><samp>=====&nbsp;&nbsp;=====&nbsp;&nbsp;======</samp>
<br><samp>False&nbsp;&nbsp;False&nbsp;&nbsp;False</samp>
<br><samp>True&nbsp;&nbsp;&nbsp;False&nbsp;&nbsp;True</samp>
<br><samp>False&nbsp;&nbsp;True&nbsp;&nbsp;&nbsp;True</samp>
<br><samp>True&nbsp;&nbsp;&nbsp;True&nbsp;&nbsp;&nbsp;True</samp>
<br><samp>=====&nbsp;&nbsp;=====&nbsp;&nbsp;======</samp></p>

      <td>
        <p>Simple table:</p>
        <table border="1">
          <colgroup>
            <col width="31%">
            <col width="31%">
            <col width="38%">
          </colgroup>
          <thead valign="bottom">
            <tr>
              <th colspan="2">Inputs
              <th>Output
            <tr>
              <th>A
              <th>B
              <th>A or B
          <tbody valign="top">
            <tr>
              <td>False
              <td>False
              <td>False
            <tr>
              <td>True
              <td>False
              <td>True
            <tr>
              <td>False
              <td>True
              <td>True
            <tr>
              <td>True
              <td>True
              <td>True
        </table>

    </table>

    <h2><a href="#contents" name="transitions" class="backref"
        >Transitions</a></h2>

    <p>(<a href="../../ref/rst/restructuredtext.html#transitions">details</a>)

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
      <tr align="left" bgcolor="#99CCFF">
      <th width="50%">Plain text
      <th width="50%">Typical result
      </thead>
      <tbody>
    <tr valign="top">
      <td>
        <p><samp>
A&nbsp;transition&nbsp;marker&nbsp;is&nbsp;a&nbsp;horizontal&nbsp;line
<br>of&nbsp;4&nbsp;or&nbsp;more&nbsp;repeated&nbsp;punctuation
<br>characters.</samp>

        <p><samp>------------</samp>

        <p><samp>A&nbsp;transition&nbsp;should&nbsp;not&nbsp;begin&nbsp;or&nbsp;end&nbsp;a
<br>section&nbsp;or&nbsp;document,&nbsp;nor&nbsp;should&nbsp;two
<br>transitions&nbsp;be&nbsp;immediately&nbsp;adjacent.</samp>

      <td>
        <p>A transition marker is a horizontal line
        of 4 or more repeated punctuation
        characters.</p>

        <hr>

        <p>A transition should not begin or end a
        section or document, nor should two
        transitions be immediately adjacent.
    </table>

    <p>Transitions are commonly seen in novels and short fiction, as a
    gap spanning one or more lines, marking text divisions or
    signaling changes in subject, time, point of view, or emphasis.

    <h2><a href="#contents" name="explicit-markup" class="backref"
        >Explicit Markup</a></h2>

    <p>Explicit markup blocks are used for constructs which float
    (footnotes), have no direct paper-document representation
    (hyperlink targets, comments), or require specialized processing
    (directives).  They all begin with two periods and whitespace, the
    "explicit markup start".

    <h3><a href="#contents" name="footnotes" class="backref"
        >Footnotes</a></h3>

    <p>(<a href="../../ref/rst/restructuredtext.html#footnotes">details</a>)

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
    <tr align="left" bgcolor="#99CCFF">
      <th width="50%">Plain text
      <th width="50%">Typical result
      </thead>
      <tbody>

    <tr valign="top">
      <td>
        <samp>Footnote&nbsp;references,&nbsp;like&nbsp;[5]_.</samp>
        <br><samp>Note&nbsp;that&nbsp;footnotes&nbsp;may&nbsp;get</samp>
        <br><samp>rearranged,&nbsp;e.g.,&nbsp;to&nbsp;the&nbsp;bottom&nbsp;of</samp>
        <br><samp>the&nbsp;"page".</samp>

        <p><samp>..&nbsp;[5]&nbsp;A&nbsp;numerical&nbsp;footnote.&nbsp;Note</samp>
          <br><samp>&nbsp;&nbsp;&nbsp;there's&nbsp;no&nbsp;colon&nbsp;after&nbsp;the&nbsp;``]``.</samp>

      <td>
        Footnote references, like <sup><a href="#5">5</a></sup>.
        Note that footnotes may get rearranged, e.g., to the bottom of
        the "page".

        <p><table>
          <tr><td colspan="2"><hr>
          <!-- <tr><td colspan="2">Footnotes: -->
          <tr><td><a name="5"><strong>[5]</strong></a><td> A numerical footnote.
          Note there's no colon after the <samp>]</samp>.
          </table>

    <tr valign="top">
      <td>
        <samp>Autonumbered&nbsp;footnotes&nbsp;are</samp>
        <br><samp>possible,&nbsp;like&nbsp;using&nbsp;[#]_&nbsp;and&nbsp;[#]_.</samp>
        <p><samp>..&nbsp;[#]&nbsp;This&nbsp;is&nbsp;the&nbsp;first&nbsp;one.</samp>
          <br><samp>..&nbsp;[#]&nbsp;This&nbsp;is&nbsp;the&nbsp;second&nbsp;one.</samp>

        <p><samp>They&nbsp;may&nbsp;be&nbsp;assigned&nbsp;'autonumber</samp>
          <br><samp>labels'&nbsp;-&nbsp;for&nbsp;instance,
        <br>[#fourth]_&nbsp;and&nbsp;[#third]_.</samp>

        <p><samp>..&nbsp;[#third]&nbsp;a.k.a.&nbsp;third_</samp>
        <p><samp>..&nbsp;[#fourth]&nbsp;a.k.a.&nbsp;fourth_</samp>
      <td>
        Autonumbered footnotes are possible, like using <sup><a
        href="#auto1">1</a></sup> and <sup><a href="#auto2">2</a></sup>.

        <p>They may be assigned 'autonumber labels' - for instance,
          <sup><a href="#fourth">4</a></sup> and <sup><a
          href="#third">3</a></sup>.

        <p><table>
          <tr><td colspan="2"><hr>
          <!-- <tr><td colspan="2">Footnotes: -->
          <tr><td><a name="auto1"><strong>[1]</strong></a><td> This is the first one.
          <tr><td><a name="auto2"><strong>[2]</strong></a><td> This is the second one.
          <tr><td><a name="third"><strong>[3]</strong></a><td> a.k.a. <a href="#third">third</a>
          <tr><td><a name="fourth"><strong>[4]</strong></a><td> a.k.a. <a href="#fourth">fourth</a>
        </table>

    <tr valign="top">
      <td>
        <samp>Auto-symbol&nbsp;footnotes&nbsp;are&nbsp;also</samp>
        <br><samp>possible,&nbsp;like&nbsp;this:&nbsp;[*]_&nbsp;and&nbsp;[*]_.</samp>
        <p><samp>..&nbsp;[*]&nbsp;This&nbsp;is&nbsp;the&nbsp;first&nbsp;one.</samp>
          <br><samp>..&nbsp;[*]&nbsp;This&nbsp;is&nbsp;the&nbsp;second&nbsp;one.</samp>

      <td>
        Auto-symbol footnotes are also
        possible, like this: <sup><a href="#symbol1">*</a></sup>
        and <sup><a href="#symbol2">&dagger;</a></sup>.

        <p><table>
          <tr><td colspan="2"><hr>
          <!-- <tr><td colspan="2">Footnotes: -->
          <tr><td><a name="symbol1"><strong>[*]</strong></a><td> This is the first symbol footnote
          <tr><td><a name="symbol2"><strong>[&dagger;]</strong></a><td> This is the second one.
        </table>

    </table>

    <p>The numbering of auto-numbered footnotes is determined by the
    order of the footnotes, not of the references. For auto-numbered
    footnote references without autonumber labels
    ("<samp>[#]_</samp>"), the references and footnotes must be in the
    same relative order. Similarly for auto-symbol footnotes
    ("<samp>[*]_</samp>").

    <h3><a href="#contents" name="citations" class="backref"
        >Citations</a></h3>

    <p>(<a href="../../ref/rst/restructuredtext.html#citations">details</a>)

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
    <tr align="left" bgcolor="#99CCFF">
      <th width="50%">Plain text
      <th width="50%">Typical result
      </thead>
      <tbody>

    <tr valign="top">
      <td>
        <samp>Citation&nbsp;references,&nbsp;like&nbsp;[CIT2002]_.</samp>
        <br><samp>Note&nbsp;that&nbsp;citations&nbsp;may&nbsp;get</samp>
        <br><samp>rearranged,&nbsp;e.g.,&nbsp;to&nbsp;the&nbsp;bottom&nbsp;of</samp>
        <br><samp>the&nbsp;"page".</samp>

        <p><samp>..&nbsp;[CIT2002]&nbsp;A&nbsp;citation</samp>
          <br><samp>&nbsp;&nbsp;&nbsp;(as&nbsp;often&nbsp;used&nbsp;in&nbsp;journals).</samp>

        <p><samp>Citation&nbsp;labels&nbsp;contain&nbsp;alphanumerics,</samp>
          <br><samp>underlines,&nbsp;hyphens&nbsp;and&nbsp;fullstops.</samp>
          <br><samp>Case&nbsp;is&nbsp;not&nbsp;significant.</samp>

        <p><samp>Given&nbsp;a&nbsp;citation&nbsp;like&nbsp;[this]_,&nbsp;one</samp>
          <br><samp>can&nbsp;also&nbsp;refer&nbsp;to&nbsp;it&nbsp;like&nbsp;this_.</samp>

        <p><samp>..&nbsp;[this]&nbsp;here.</samp>

      <td>
        Citation references, like <a href="#cit2002">[CIT2002]</a>.
        Note that citations may get rearranged, e.g., to the bottom of
        the "page".

        <p>Citation labels contain alphanumerics, underlines, hyphens
          and fullstops.  Case is not significant.

        <p>Given a citation like <a href="#this">[this]</a>, one
          can also refer to it like <a href="#this">this</a>.

        <p><table>
          <tr><td colspan="2"><hr>
          <!-- <tr><td colspan="2">Citations: -->
          <tr><td><a name="cit2002"><strong>[CIT2002]</strong></a><td> A citation
          (as often used in journals).
          <tr><td><a name="this"><strong>[this]</strong></a><td> here.
          </table>

    </table>

    <h3><a href="#contents" name="hyperlink-targets" class="backref"
        >Hyperlink Targets</a></h3>

    <p>(<a href="../../ref/rst/restructuredtext.html#hyperlink-targets">details</a>)

    <h4><a href="#contents" name="external-hyperlink-targets" class="backref"
        >External Hyperlink Targets</a></h4>

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
    <tr align="left" bgcolor="#99CCFF">
      <th width="50%">Plain text
      <th width="50%">Typical result
      </thead>
      <tbody>

    <tr valign="top">
      <td>
        <samp>External&nbsp;hyperlinks,&nbsp;like&nbsp;Python_.</samp>

        <p><samp>..&nbsp;_Python:&nbsp;http://www.python.org/</samp>
      <td>
        <table width="100%">
          <tr bgcolor="#99CCFF"><td><em>Fold-in form</em>
          <tr><td>Indirect hyperlinks, like
          <a href="http://www.python.org">Python</a>.
          <tr bgcolor="#99CCFF"><td><em>Call-out form</em>
          <tr><td>External hyperlinks, like
          <a href="#labPython"><i>Python</i></a>.

          <p><table>
            <tr><td colspan="2"><hr>
            <tr><td><a name="labPython"><i>Python:</i></a>
              <td> <a href="http://www.python.org/">http://www.python.org/</a>
          </table>
        </table>
    </table>

    <p>"<em>Fold-in</em>" is the representation typically used in HTML
      documents (think of the indirect hyperlink being "folded in" like
      ingredients into a cake), and "<em>call-out</em>" is more suitable for
      printed documents, where the link needs to be presented explicitly, for
      example as a footnote.

    <h4><a href="#contents" name="internal-hyperlink-targets" class="backref"
        >Internal Hyperlink Targets</a></h4>

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
    <tr align="left" bgcolor="#99CCFF">
      <th width="50%">Plain text
      <th width="50%">Typical result
      </thead>
      <tbody>

    <tr valign="top">
      <td><samp>Internal&nbsp;crossreferences,&nbsp;like&nbsp;example_.</samp>

        <p><samp>..&nbsp;_example:</samp>

        <p><samp>This&nbsp;is&nbsp;an&nbsp;example&nbsp;crossreference&nbsp;target.</samp>
      <td>
        <table width="100%">
          <tr bgcolor="#99CCFF"><td><em>Fold-in form</em>
          <!-- Note that some browsers may not like an "a" tag that -->
          <!-- does not have any content, so we could arbitrarily   -->
          <!-- use the first word as content - *or* just trust to   -->
          <!-- luck!                                                -->
          <tr><td>Internal crossreferences, like <a href="#example-foldin">example</a>
          <p><a name="example-foldin">This</a> is an example
            crossreference target.
          <tr><td bgcolor="#99CCFF"><em>Call-out form</em>
          <tr><td>Internal crossreferences, like <a href="#example-callout">example</a>

          <p><a name="example-callout"><i>example:</i></a>
            <br>This is an example crossreference target.
        </table>

    </table>

    <h4><a href="#contents" name="indirect-hyperlink-targets" class="backref"
        >Indirect Hyperlink Targets</a></h4>

    <p>(<a href="../../ref/rst/restructuredtext.html#indirect-hyperlink-targets">details</a>)

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
    <tr align="left" bgcolor="#99CCFF">
      <th width="50%">Plain text
      <th width="50%">Typical result
      </thead>
      <tbody>

    <tr valign="top">
      <td>
        <samp>Python_&nbsp;is&nbsp;`my&nbsp;favourite
<br>programming&nbsp;language`__.</samp>

        <p><samp>..&nbsp;_Python:&nbsp;http://www.python.org/</samp>

        <p><samp>__&nbsp;Python_</samp>

      <td>
        <p><a href="http://www.python.org/">Python</a> is
        <a href="http://www.python.org/">my favourite
        programming language</a>.

    </table>

    <p>The second hyperlink target (the line beginning with
    "<samp>__</samp>") is both an indirect hyperlink target
    (<i>indirectly</i> pointing at the Python website via the
    "<samp>Python_</samp>" reference) and an <b>anonymous hyperlink
    target</b>. In the text, a double-underscore suffix is used to
    indicate an <b>anonymous hyperlink reference</b>.  In an anonymous
    hyperlink target, the reference text is not repeated.  This is
    useful for references with long text or throw-away references, but
    the target should be kept close to the reference to prevent them
    going out of sync.

    <h4><a href="#contents" name="implicit-hyperlink-targets" class="backref"
        >Implicit Hyperlink Targets</a></h4>

    <p>(<a href="../../ref/rst/restructuredtext.html#implicit-hyperlink-targets">details</a>)

    <p>Section titles, footnotes, and citations automatically generate
    hyperlink targets (the title text or footnote/citation label is
    used as the hyperlink name).

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
       <thead><tr align="left" bgcolor="#99CCFF">
      <th width="50%">Plain text
      <th width="50%">Typical result
      </thead>
      <tbody>

    <tr valign="top">
      <td>
        <samp>Titles&nbsp;are&nbsp;targets,&nbsp;too</samp>
        <br><samp>=======================</samp>
        <br><samp>Implict&nbsp;references,&nbsp;like&nbsp;`Titles&nbsp;are</samp>
        <br><samp>targets,&nbsp;too`_.</samp>
      <td>
        <font size="+2"><strong><a name="title">Titles are targets, too</a></strong></font>
        <p>Implict references, like <a href="#title">Titles are
        targets, too</a>.
    </table>

    <h3><a href="#contents" name="directives" class="backref"
        >Directives</a></h3>

    <p>(<a href="../../ref/rst/restructuredtext.html#directives">details</a>)

    <p>Directives are a general-purpose extension mechanism, a way of
    adding support for new constructs without adding new syntax.  For
    a description of all standard directives, see <a
    href="../../ref/rst/directives.html" >reStructuredText
    Directives</a>.

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
    <tr align="left" bgcolor="#99CCFF">
      <th width="50%">Plain text
      <th width="50%">Typical result
      </thead>
      <tbody>
    <tr valign="top">
      <td><samp>For&nbsp;instance:</samp>

        <p><samp>..&nbsp;image::&nbsp;images/ball1.gif</samp>

      <td>
        For instance:
        <p><img src="images/ball1.gif" alt="ball1">
    </table>

    <h3><a href="#contents" name="substitution-references-and-definitions"
        class="backref" >Substitution References and Definitions</a></h3>

    <p>(<a href="../../ref/rst/restructuredtext.html#substitution-definitions">details</a>)

    <p>Substitutions are like inline directives, allowing graphics and
    arbitrary constructs within text.

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
    <tr align="left" bgcolor="#99CCFF">
      <th width="50%">Plain text
      <th width="50%">Typical result
      </thead>
      <tbody>
    <tr valign="top">
      <td><samp>
The&nbsp;|biohazard|&nbsp;symbol&nbsp;must&nbsp;be
used&nbsp;on&nbsp;containers&nbsp;used&nbsp;to
dispose&nbsp;of&nbsp;medical&nbsp;waste.</samp>

        <p><samp>
..&nbsp;|biohazard|&nbsp;image::&nbsp;biohazard.png</samp>

      <td>

        <p>The <img src="images/biohazard.png" align="bottom" alt="biohazard"> symbol
        must be used on containers used to dispose of medical waste.

    </table>

    <h3><a href="#contents" name="comments" class="backref"
        >Comments</a></h3>

    <p>(<a href="../../ref/rst/restructuredtext.html#comments">details</a>)

    <p>Any text which begins with an explicit markup start but doesn't
    use the syntax of any of the constructs above, is a comment.

    <p><table border="1" width="100%" bgcolor="#ffffcc" cellpadding="3">
      <thead>
    <tr align="left" bgcolor="#99CCFF">
      <th width="50%">Plain text
      <th width="50%">Typical result
      </thead>
      <tbody>
    <tr valign="top">
      <td><samp>..&nbsp;This&nbsp;text&nbsp;will&nbsp;not&nbsp;be&nbsp;shown</samp>
        <br><samp>&nbsp;&nbsp;&nbsp;(but,&nbsp;for&nbsp;instance,&nbsp;in&nbsp;HTML&nbsp;might&nbsp;be</samp>
        <br><samp>&nbsp;&nbsp;&nbsp;rendered&nbsp;as&nbsp;an&nbsp;HTML&nbsp;comment)</samp>

      <td>&nbsp;
          <!-- This text will not be shown         -->
          <!-- (but, for instance in HTML might be -->
          <!-- rendered as an HTML comment)        -->

    <tr valign="top">
      <td>
        <samp>An&nbsp;empty&nbsp;"comment"&nbsp;does&nbsp;not</samp>
        <br><samp>"consume"&nbsp;following&nbsp;blocks.</samp>
        <p><samp>..</samp>
        <p><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;So&nbsp;this&nbsp;block&nbsp;is&nbsp;not&nbsp;"lost",</samp>
          <br><samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;despite&nbsp;its&nbsp;indentation.</samp>
      <td>
        An empty "comment" does not
        "consume" following blocks.
        <blockquote>
          So this block is not "lost",
          despite its indentation.
        </blockquote>
    </table>

    <h2><a href="#contents" name="getting-help" class="backref"
        >Getting Help</a></h2>

    <p>Users who have questions or need assistance with Docutils or
    reStructuredText should <a
    href="mailto:docutils-users at lists.sourceforge.net" >post a
    message</a> to the <a
    href="http://lists.sourceforge.net/lists/listinfo/docutils-users"
    >Docutils-Users mailing list</a>.  The <a
    href="http://docutils.sourceforge.net/" >Docutils project web
    site</a> has more information.

    <p><hr>
    <address>
      <p>Authors:
    <a href="http://www.tibsnjoan.co.uk/">Tibs</a>
    (<a href="mailto:tibs at tibsnjoan.co.uk"><tt>tibs at tibsnjoan.co.uk</tt></a>)
    and David Goodger
    (<a href="mailto:goodger at python.org">goodger at python.org</a>)
    </address>
    <!-- Created: Fri Aug 03 09:11:57 GMT Daylight Time 2001 -->
  </body>
</html>


=== Added File Zope/lib/python/third_party/docutils/docs/user/rst/quickstart.txt ===
A ReStructuredText Primer
=========================

:Author: Richard Jones
:Version: $Revision: 1.1.2.1 $
:Copyright: This document has been placed in the public domain.

.. contents::


The text below contains links that look like "(quickref__)".  These
are relative links that point to the `Quick reStructuredText`_ user
reference.  If these links don't work, please refer to the `master
quick reference`_ document.

__
.. _Quick reStructuredText: quickref.html
.. _master quick reference:
   http://docutils.sourceforge.net/docs/user/rst/quickref.html


Structure
---------

>From the outset, let me say that "Structured Text" is probably a bit
of a misnomer.  It's more like "Relaxed Text" that uses certain
consistent patterns.  These patterns are interpreted by a HTML
converter to produce "Very Structured Text" that can be used by a web
browser.

The most basic pattern recognised is a **paragraph** (quickref__).
That's a chunk of text that is separated by blank lines (one is
enough).  Paragraphs must have the same indentation -- that is, line
up at their left edge.  Paragraphs that start indented will result in
indented quote paragraphs. For example::

  This is a paragraph.  It's quite
  short.

     This paragraph will result in an indented block of
     text, typically used for quoting other text.

  This is another one.

Results in:

  This is a paragraph.  It's quite
  short.

     This paragraph will result in an indented block of
     text, typically used for quoting other text.

  This is another one.

__ quickref.html#paragraphs

Text styles
-----------

(quickref__)

__ quickref.html#inline-markup

Inside paragraphs and other bodies of text, you may additionally mark
text for *italics* with "``*italics*``" or **bold** with
"``**bold**``".

If you want something to appear as a fixed-space literal, use
"````double back-quotes````".  Note that no further fiddling is done
inside the double back-quotes -- so asterisks "``*``" etc. are left
alone.

If you find that you want to use one of the "special" characters in
text, it will generally be OK -- reStructuredText is pretty smart.
For example, this * asterisk is handled just fine.  If you actually
want text \*surrounded by asterisks* to **not** be italicised, then
you need to indicate that the asterisk is not special.  You do this by
placing a backslash just before it, like so "``\*``" (quickref__), or
by enclosing it in double back-quotes (inline literals), like this::

    ``\*``

__ quickref.html#escaping

Lists
-----

Lists of items come in three main flavours: **enumerated**,
**bulleted** and **definitions**.  In all list cases, you may have as
many paragraphs, sublists, etc. as you want, as long as the left-hand
side of the paragraph or whatever aligns with the first line of text
in the list item.

Lists must always start a new paragraph -- that is, they must appear
after a blank line.

**enumerated** lists (numbers, letters or roman numerals; quickref__)
  __ quickref.html#enumerated-lists

  Start a line off with a number or letter followed by a period ".",
  right bracket ")" or surrounded by brackets "( )" -- whatever you're
  comfortable with.  All of the following forms are recognised::

    1. numbers

    A. upper-case letters
       and it goes over many lines

       with two paragraphs and all!

    a. lower-case letters

       3. with a sub-list starting at a different number
       4. make sure the numbers are in the correct sequence though!

    I. upper-case roman numerals

    i. lower-case roman numerals

    (1) numbers again

    1) and again

  Results in (note: the different enumerated list styles are not
  always supported by every web browser, so you may not get the full
  effect here):

  1. numbers

  A. upper-case letters
     and it goes over many lines

     with two paragraphs and all!

  a. lower-case letters

     3. with a sub-list starting at a different number
     4. make sure the numbers are in the correct sequence though!

  I. upper-case roman numerals

  i. lower-case roman numerals

  (1) numbers again

  1) and again

**bulleted** lists (quickref__)
  __ quickref.html#bullet-lists

  Just like enumerated lists, start the line off with a bullet point
  character - either "-", "+" or "*"::

    * a bullet point using "*"

      - a sub-list using "-"

        + yet another sub-list

      - another item

  Results in:

  * a bullet point using "*"

    - a sub-list using "-"

      + yet another sub-list

    - another item

**definition** lists (quickref__)
  __ quickref.html#definition-lists

  Unlike the other two, the definition lists consist of a term, and
  the definition of that term.  The format of a definition list is::

    what
      Definition lists associate a term with a definition.

    *how*
      The term is a one-line phrase, and the definition is one or more
      paragraphs or body elements, indented relative to the term.
      Blank lines are not allowed between term and definition.

  Results in:

  what
    Definition lists associate a term with a definition.

  *how*
    The term is a one-line phrase, and the definition is one or more
    paragraphs or body elements, indented relative to the term.
    Blank lines are not allowed between term and definition.

Preformatting (code samples)
----------------------------
(quickref__)

__ quickref.html#literal-blocks

To just include a chunk of preformatted, never-to-be-fiddled-with
text, finish the prior paragraph with "``::``".  The preformatted
block is finished when the text falls back to the same indentation
level as a paragraph prior to the preformatted block.  For example::

  An example::

      Whitespace, newlines, blank lines, and all kinds of markup
        (like *this* or \this) is preserved by literal blocks.
    Lookie here, I've dropped an indentation level
    (but not far enough)

  no more example

Results in:

  An example::

      Whitespace, newlines, blank lines, and all kinds of markup
        (like *this* or \this) is preserved by literal blocks.
    Lookie here, I've dropped an indentation level
    (but not far enough)

  no more example

Note that if a paragraph consists only of "``::``", then it's removed
from the output::

  ::

      This is preformatted text, and the
      last "::" paragraph is removed

Results in:

::

    This is preformatted text, and the
    last "::" paragraph is removed

Sections
--------

(quickref__)

__ quickref.html#section-structure

To break longer text up into sections, you use **section headers**.
These are a single line of text (one or more words) with adornment: an
underline alone, or an underline and an overline together, in dashes
"``-----``", equals "``======``", tildes "``~~~~~~``" or any of the
non-alphanumeric characters ``= - ` : ' " ~ ^ _ * + # < >`` that you
feel comfortable with.  An underline-only adornment is distinct from
an overline-and-underline adornment using the same character.  The
underline/overline must be at least as long as the title text.  Be
consistent, since all sections marked with the same adornment style
are deemed to be at the same level::

  Chapter 1 Title
  ===============

  Section 1.1 Title
  -----------------

  Subsection 1.1.1 Title
  ~~~~~~~~~~~~~~~~~~~~~~

  Section 1.2 Title
  -----------------

  Chapter 2 Title
  ===============

This results in the following structure, illustrated by simplified
pseudo-XML::

    <section>
        <title>
            Chapter 1 Title
        <section>
            <title>
                Section 1.1 Title
            <section>
                <title>
                    Subsection 1.1.1 Title
        <section>
            <title>
                Section 1.2 Title
    <section>
        <title>
            Chapter 2 Title

(Pseudo-XML uses indentation for nesting and has no end-tags.  It's
not possible to show actual processed output, as in the other
examples, because sections cannot exist inside block quotes.  For a
concrete example, compare the section structure of this document's
source text and processed output.)

Note that section headers are available as link targets, just using
their name.  To link to the Lists_ heading, I write "``Lists_``".  If
the heading has a space in it like `text styles`_, we need to quote
the heading "```text styles`_``".


Document Title / Subtitle
`````````````````````````

The title of the whole document is distinct from section titles and
may be formatted somewhat differently (e.g. the HTML writer by default
shows it as a centered heading).

To indicate the document title in reStructuredText, use a unique adornment
style at the beginning of the document.  To indicate the document subtitle,
use another unique adornment style immediately after the document title.  For
example::

    ================
     Document Title
    ================
    ----------
     Subtitle
    ----------

    Section Title
    =============

    ...

Note that "Document Title" and "Section Title" above both use equals
signs, but are distict and unrelated styles.  The text of
overline-and-underlined titles (but not underlined-only) may be inset
for aesthetics.


Images
------

(quickref__)

__ quickref.html#directives

To include an image in your document, you use the the ``image`` directive__.
For example::

  .. image:: images/biohazard.png

results in:

.. image:: images/biohazard.png

The ``images/biohazard.png`` part indicates the filename of the image
you wish to appear in the document. There's no restriction placed on
the image (format, size etc).  If the image is to appear in HTML and
you wish to supply additional information, you may::

  .. image:: images/biohazard.png
     :height: 100
     :width: 200
     :scale: 50
     :alt: alternate text

See the full `image directive documentation`__ for more info.

__ ../../ref/rst/directives.html
__ ../../ref/rst/directives.html#images


What Next?
----------

This primer introduces the most common features of reStructuredText,
but there are a lot more to explore.  The `Quick reStructuredText`_
user reference is a good place to go next.  For complete details, the
`reStructuredText Markup Specification`_ is the place to go [#]_.

Users who have questions or need assistance with Docutils or
reStructuredText should `post a message`_ to the `Docutils-Users
mailing list`_.  The `Docutils project web site`_ has more
information.

.. [#] If that relative link doesn't work, try the master document:
   http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html.

.. _reStructuredText Markup Specification:
   ../../ref/rst/restructuredtext.html
.. _post a message: mailto:docutils-users at lists.sourceforge.net
.. _Docutils-Users mailing list:
   http://lists.sourceforge.net/lists/listinfo/docutils-users
.. _Docutils project web site: http://docutils.sourceforge.net/



More information about the Zope-Checkins mailing list