|
|
.. This is a comment. Note how any initial comments are moved by |
|
|
transforms to after the document title, subtitle, and docinfo. |
|
|
|
|
|
.. _doctitle: |
|
|
|
|
|
================================ |
|
|
reStructuredText Test Document |
|
|
================================ |
|
|
|
|
|
.. Above is the document title, and below is the subtitle. |
|
|
They are transformed from section titles after parsing. |
|
|
|
|
|
.. _subtitle: |
|
|
|
|
|
-------------------------------- |
|
|
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@python.org |
|
|
:Authors: Me; Myself; I |
|
|
:organization: humankind |
|
|
:date: Now, or yesterday. Or maybe even *before* yesterday. |
|
|
:status: This is a "work in progress" |
|
|
:revision: is managed by a version control system. |
|
|
: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 is a test document, containing at least one example of each |
|
|
reStructuredText construct. |
|
|
|
|
|
.. meta:: |
|
|
:keywords: reStructuredText, test, parser |
|
|
:description lang=en: A test document, containing at least one |
|
|
example of each reStructuredText construct. |
|
|
|
|
|
.. raw:: latex |
|
|
|
|
|
\pagebreak[4] % start ToC on new page |
|
|
|
|
|
.. contents:: Table of Contents |
|
|
.. section-numbering:: |
|
|
|
|
|
|
|
|
Structural Elements |
|
|
=================== |
|
|
|
|
|
Section Title |
|
|
------------- |
|
|
Section Subtitle |
|
|
```````````````` |
|
|
|
|
|
Lone subsections are converted to a section subtitle by a transform |
|
|
activated with the ``--section-subtitles`` command line option or the |
|
|
``sectsubtitle-xform`` configuration value. |
|
|
|
|
|
Empty Section |
|
|
------------- |
|
|
|
|
|
Transitions |
|
|
----------- |
|
|
|
|
|
Here's a transition: |
|
|
|
|
|
--------- |
|
|
|
|
|
It divides the section. Transitions may also occur between sections: |
|
|
|
|
|
--------- |
|
|
|
|
|
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>`__), `anonymous hyperlink |
|
|
references`__ (`a second reference`__), 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). Here is a |
|
|
reference to the doctitle_ and the subtitle_. |
|
|
|
|
|
__ http://www.python.org/ |
|
|
__ http://docutils.sourceforge.net/ |
|
|
|
|
|
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`); an abbreviation (:ab:`abb.`), an acronym |
|
|
(:ac:`reST`), code (:code:`print "hello world"`); a :sub:`subscript`; |
|
|
a :sup:`superscript` and explicit roles for :title:`Docutils`' |
|
|
: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. |
|
|
|
|
|
* This nested list should be compacted by the HTML writer. |
|
|
|
|
|
.. _target: |
|
|
|
|
|
.. Even if this item contains a target and a comment. |
|
|
|
|
|
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 |
|
|
Term : classifier one : classifier two |
|
|
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. |
|
|
|
|
|
:credits: |
|
|
|
|
|
.. class:: credits |
|
|
|
|
|
This paragraph has the `credits` class set. (This is actually not |
|
|
about credits but just for ensuring that the class attribute |
|
|
doesn't get stripped away.) |
|
|
|
|
|
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? |
|
|
|
|
|
Line Blocks |
|
|
----------- |
|
|
|
|
|
This section tests line blocks. Line blocks are body elements which |
|
|
consist of lines and other line blocks. Nested line blocks cause |
|
|
indentation. |
|
|
|
|
|
| This is a line block. It ends with a blank line. |
|
|
| New lines begin with a vertical bar ("|"). |
|
|
| Line breaks and initial indent are significant, and preserved. |
|
|
| Continuation lines are also possible. A long line that is intended |
|
|
to wrap should begin with a space in place of the vertical bar. |
|
|
| The left edge of a continuation line need not be aligned with |
|
|
the left edge of the text above it. |
|
|
|
|
|
| This is a second line block. |
|
|
| |
|
|
| Blank lines are permitted internally, but they must begin with a "|". |
|
|
|
|
|
Another line block, surrounded by paragraphs: |
|
|
|
|
|
| And it's no good waiting by the window |
|
|
| It's no good waiting for the sun |
|
|
| Please believe me, the things you dream of |
|
|
| They don't fall in the lap of no-one |
|
|
|
|
|
Take it away, Eric the Orchestra Leader! |
|
|
|
|
|
| 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... |
|
|
|
|
|
A line block, like the following poem by Christian Morgenstern, can |
|
|
also be centre-aligned: |
|
|
|
|
|
.. class:: language-de align-center |
|
|
|
|
|
| **Die Trichter** |
|
|
| |
|
|
| Zwei Trichter wandeln durch die Nacht. |
|
|
| Durch ihres Rumpfs verengten Schacht |
|
|
| fließt weißes Mondlicht |
|
|
| still und heiter |
|
|
| auf ihren |
|
|
| Waldweg |
|
|
| u. s. |
|
|
| w. |
|
|
| |
|
|
|
|
|
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) |
|
|
|
|
|
The language of a quote (like any other object) can be specified by |
|
|
a class attribute: |
|
|
|
|
|
.. class:: language-fr |
|
|
|
|
|
.. |
|
|
|
|
|
ReStructuredText est un langage de balisage léger utilisé |
|
|
notamment dans la documentation du langage Python. |
|
|
|
|
|
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) |
|
|
|
|
|
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. |
|
|
|
|
|
This is the second paragraph. |
|
|
|
|
|
And this is the third paragraph. |
|
|
|
|
|
.. [*] 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. |
|
|
|
|
|
.. _Another Target: |
|
|
|
|
|
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 and Figures |
|
|
`````````````````` |
|
|
|
|
|
An image directive (also clickable -- a hyperlink reference): |
|
|
|
|
|
.. image:: ../../../docs/user/rst/images/title.png |
|
|
:class: class1 class2 |
|
|
:target: directives_ |
|
|
|
|
|
Image with multiple IDs: |
|
|
|
|
|
.. _image target 1: |
|
|
.. _image target 2: |
|
|
.. _image target 3: |
|
|
.. image:: ../../../docs/user/rst/images/title.png |
|
|
|
|
|
A centered image: |
|
|
|
|
|
.. image:: ../../../docs/user/rst/images/biohazard.png |
|
|
:align: center |
|
|
|
|
|
A left-aligned image: |
|
|
|
|
|
.. image:: ../../../docs/user/rst/images/biohazard.png |
|
|
:align: left |
|
|
|
|
|
This paragraph might flow around the image. |
|
|
The specific behavior depends upon the style sheet and |
|
|
the browser or rendering software used. |
|
|
|
|
|
A right-aligned image: |
|
|
|
|
|
.. image:: ../../../docs/user/rst/images/biohazard.png |
|
|
:align: right |
|
|
|
|
|
This paragraph might flow around the image. |
|
|
The specific behavior depends upon the style sheet and |
|
|
the browser or rendering software used. |
|
|
|
|
|
For inline images see `Substitution Definitions`_. |
|
|
|
|
|
Image size: |
|
|
|
|
|
An image 2 em wide: |
|
|
|
|
|
.. image:: ../../../docs/user/rst/images/biohazard.png |
|
|
:width: 2 em |
|
|
|
|
|
An image 2 em wide and 15 pixel high: |
|
|
|
|
|
.. image:: ../../../docs/user/rst/images/biohazard.png |
|
|
:width: 2em |
|
|
:height: 15 px |
|
|
|
|
|
An image occupying 50% of the line width: |
|
|
|
|
|
.. image:: ../../../docs/user/rst/images/title.png |
|
|
:width: 50% |
|
|
|
|
|
An image 2 cm high: |
|
|
|
|
|
.. image:: ../../../docs/user/rst/images/biohazard.png |
|
|
:height: 2 cm |
|
|
|
|
|
A *figure* is an image with a caption and/or a legend. With page-based output |
|
|
media, figures might float to a different position if this helps the page |
|
|
layout. |
|
|
|
|
|
.. figure:: ../../../docs/user/rst/images/title.png |
|
|
:figclass: figclass1 figclass2 |
|
|
:class: class1 class2 |
|
|
:alt: reStructuredText, the markup syntax |
|
|
:width: 258 |
|
|
|
|
|
Plaintext markup syntax and parser system. |
|
|
|
|
|
+------------+-----------------------------------------------+ |
|
|
| 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. |
|
|
|
|
|
A left-aligned figure: |
|
|
|
|
|
.. figure:: ../../../docs/user/rst/images/biohazard.png |
|
|
:figclass: figclass1 figclass2 |
|
|
:class: class1 class2 |
|
|
:alt: reStructuredText, the markup syntax |
|
|
:align: left |
|
|
:width: 40 px |
|
|
:figwidth: 70 % |
|
|
|
|
|
This is the caption. |
|
|
|
|
|
This is the legend. |
|
|
|
|
|
The legend may consist of several paragraphs. |
|
|
|
|
|
This paragraph might flow around the figure. |
|
|
|
|
|
The specific behavior depends upon the style sheet and the browser or |
|
|
rendering software used. |
|
|
|
|
|
A centered figure: |
|
|
|
|
|
.. figure:: ../../../docs/user/rst/images/biohazard.png |
|
|
:align: center |
|
|
:width: 40 px |
|
|
|
|
|
This is the caption. |
|
|
|
|
|
This is the legend. |
|
|
|
|
|
The legend may consist of several paragraphs. |
|
|
|
|
|
This paragraph might flow around the figure. |
|
|
|
|
|
The specific behavior depends upon the style sheet and the browser or |
|
|
rendering software used. |
|
|
|
|
|
A right-aligned figure: |
|
|
|
|
|
.. figure:: ../../../docs/user/rst/images/biohazard.png |
|
|
:align: right |
|
|
:width: 40 px |
|
|
|
|
|
This is the caption. |
|
|
|
|
|
This is the legend. |
|
|
|
|
|
The legend may consist of several paragraphs. |
|
|
|
|
|
This paragraph might flow around the figure. The specific behavior depends |
|
|
upon the style sheet and the browser or rendering software used. |
|
|
|
|
|
|
|
|
Tables may be given titles and additional arguments with the *table* |
|
|
directive: |
|
|
|
|
|
.. Table:: left-aligned table |
|
|
:align: left |
|
|
|
|
|
===== ===== |
|
|
A not A |
|
|
===== ===== |
|
|
False True |
|
|
True False |
|
|
===== ===== |
|
|
|
|
|
.. Table:: center-aligned table |
|
|
:align: center |
|
|
|
|
|
===== ===== |
|
|
A not A |
|
|
===== ===== |
|
|
False True |
|
|
True False |
|
|
===== ===== |
|
|
|
|
|
.. Table:: right-aligned table |
|
|
:align: right |
|
|
|
|
|
===== ===== |
|
|
A not A |
|
|
===== ===== |
|
|
False True |
|
|
True False |
|
|
===== ===== |
|
|
|
|
|
With the "widths" argument "auto" (or "class" value "colwidths-auto"), |
|
|
column widths are determined by the backend (if supported by the |
|
|
writer/backend). |
|
|
|
|
|
.. _target1: |
|
|
.. _target2: |
|
|
|
|
|
.. table:: |
|
|
:widths: auto |
|
|
|
|
|
======= ======= ========== |
|
|
A B A or B |
|
|
======= ======= ========== |
|
|
False False False |
|
|
True False True |
|
|
False True True |
|
|
True True True |
|
|
======= ======= ========== |
|
|
|
|
|
|
|
|
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. |
|
|
|
|
|
.. _Docutils: http://docutils.sourceforge.net/ |
|
|
|
|
|
Topics, Sidebars, and Rubrics |
|
|
````````````````````````````` |
|
|
|
|
|
*Sidebars* are like miniature, parallel documents. |
|
|
|
|
|
.. 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 appear beside the main text with a border and a different |
|
|
background or font color. |
|
|
|
|
|
A *topic* is like a block quote with a title, or a self-contained section |
|
|
with no subsections. |
|
|
|
|
|
.. topic:: Topic Title |
|
|
|
|
|
This is a topic. |
|
|
|
|
|
A *rubric* is like an informal heading that doesn't correspond to the |
|
|
document's structure. It is typically highlighted in red (hence the name). |
|
|
|
|
|
.. rubric:: This is a rubric |
|
|
|
|
|
Topics and rubrics can be used at places where a `section title`_ is not |
|
|
allowed (e.g. inside a directive). |
|
|
|
|
|
Target Footnotes |
|
|
```````````````` |
|
|
|
|
|
.. target-notes:: |
|
|
|
|
|
|
|
|
Replacement Text |
|
|
```````````````` |
|
|
|
|
|
I recommend you try |Python|_. |
|
|
|
|
|
.. |Python| replace:: Python, *the* best language around |
|
|
|
|
|
Compound Paragraph |
|
|
`````````````````` |
|
|
|
|
|
The *compound* directive is used to create a "compound paragraph", which |
|
|
is a single logical paragraph containing multiple physical body |
|
|
elements. For example: |
|
|
|
|
|
.. compound:: |
|
|
|
|
|
The 'rm' command is very dangerous. If you are logged |
|
|
in as root and enter :: |
|
|
|
|
|
cd / |
|
|
rm -rf * |
|
|
|
|
|
you will erase the entire contents of your file system. |
|
|
|
|
|
Test the handling and display of compound paragraphs: |
|
|
|
|
|
.. compound:: |
|
|
:class: some-class |
|
|
|
|
|
Compound 2, paragraph 1, |
|
|
|
|
|
compound 2, paragraph 2, |
|
|
|
|
|
* list item 1, |
|
|
* list item 2, |
|
|
|
|
|
compound 2, paragraph 3. |
|
|
|
|
|
.. compound:: |
|
|
|
|
|
Compound 3, only consisting of one paragraph. |
|
|
|
|
|
.. compound:: |
|
|
|
|
|
:: |
|
|
|
|
|
Compound 4. |
|
|
This one starts with a literal block. |
|
|
|
|
|
Compound 4, paragraph following the literal block. |
|
|
|
|
|
Now something *really* perverted -- a nested compound block. This is |
|
|
just to test that it works at all; the results don't have to be |
|
|
meaningful. |
|
|
|
|
|
.. compound:: |
|
|
|
|
|
Compound 5, block 1 (a paragraph). |
|
|
|
|
|
.. compound:: |
|
|
|
|
|
Compound 6 is block 2 in compound 5. |
|
|
|
|
|
Compound 6, another paragraph. |
|
|
|
|
|
Compound 5, block 3 (a paragraph). |
|
|
|
|
|
.. compound:: |
|
|
|
|
|
Compound 7, tests the inclusion of various block-level |
|
|
elements in one logical paragraph. First a table, |
|
|
|
|
|
+--------------------+--------------------+--------------------+ |
|
|
| Left cell, first | Middle cell, | Right cell. | |
|
|
| paragraph. | consisting of | | |
|
|
| | exactly one | Paragraph 2. | |
|
|
| Left cell, second | paragraph. | | |
|
|
| paragraph. | | Paragraph 3. | |
|
|
+--------------------+--------------------+--------------------+ |
|
|
|
|
|
followed by a paragraph. This physical paragraph is |
|
|
actually a continuation of the paragraph before the table. It is followed |
|
|
by |
|
|
|
|
|
a quote and |
|
|
|
|
|
#. an enumerated list, |
|
|
|
|
|
a paragraph, |
|
|
|
|
|
--an option list, |
|
|
|
|
|
a paragraph, |
|
|
|
|
|
:a field: list, |
|
|
|
|
|
a paragraph, |
|
|
|
|
|
a definition |
|
|
list, |
|
|
|
|
|
a paragraph, an image: |
|
|
|
|
|
.. image:: ../../../docs/user/rst/images/biohazard.png |
|
|
|
|
|
a paragraph, |
|
|
|
|
|
| a line |
|
|
| block, |
|
|
|
|
|
a paragraph followed by a comment, |
|
|
|
|
|
.. this is a comment |
|
|
|
|
|
a paragraph, a |
|
|
|
|
|
.. note:: with content |
|
|
|
|
|
and the final paragraph of the compound 7. |
|
|
|
|
|
Parsed Literal Blocks |
|
|
````````````````````` |
|
|
|
|
|
.. parsed-literal:: |
|
|
|
|
|
This is a parsed literal block. |
|
|
This line is indented. The next line is blank. |
|
|
|
|
|
Inline markup is supported, e.g. *emphasis*, **strong**, ``literal |
|
|
text``, :sub:`sub-` and :sup:`super`\ scripts, |
|
|
inline formulas: :math:`A = 2 \pi r^2`, |
|
|
footnotes [1]_, _`hyperlink targets`, and `references |
|
|
<http://www.python.org/>`_. |
|
|
|
|
|
Code |
|
|
```` |
|
|
|
|
|
Blocks of source code can be set with the `code` directive. If the code |
|
|
language is specified, the content is parsed and tagged by the Pygments_ |
|
|
syntax highlighter and can be formatted with a style sheet. (Code parsing |
|
|
is turned off using the ``syntax-highlight`` config setting in the test |
|
|
conversions in order to get identical results with/without installed |
|
|
Pygments highlighter.) |
|
|
|
|
|
.. code:: python |
|
|
|
|
|
print 'This is Python code.' |
|
|
|
|
|
The ``:number-lines:`` option (with optional start value) generates line |
|
|
numbers: |
|
|
|
|
|
.. code:: python |
|
|
:number-lines: 8 |
|
|
|
|
|
# print integers from 0 to 9: |
|
|
for i in range(10): |
|
|
print i |
|
|
|
|
|
For inline code snippets, there is the `code` role, which can be used |
|
|
directly (the code will not be parsed/tagged, as the language is not known) |
|
|
or as base for special code roles, e.g. the LaTeX code in the next |
|
|
paragraph. |
|
|
|
|
|
.. role:: tex(code) |
|
|
:language: tex |
|
|
|
|
|
Docutils uses LaTeX syntax for math directives and roles: |
|
|
:tex:`\alpha = f(x)` prints :math:`\alpha = f(x)`. |
|
|
|
|
|
The ``:code:`` option of the `include` directive sets the included content |
|
|
as a code block, here the rst file ``header_footer.txt`` with line numbers: |
|
|
|
|
|
.. include:: header_footer.txt |
|
|
:code: rst |
|
|
:number-lines: |
|
|
|
|
|
.. _Pygments: http://pygments.org/ |
|
|
|
|
|
Substitution Definitions |
|
|
------------------------ |
|
|
|
|
|
An inline image (|example|) example: |
|
|
|
|
|
.. |EXAMPLE| image:: ../../../docs/user/rst/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. |
|
|
|
|
|
Comments may contain non-ASCII characters: ä ö ü æ ø å |
|
|
|
|
|
(View the HTML source to see the comment.) |
|
|
|
|
|
Raw text |
|
|
-------- |
|
|
|
|
|
This does not necessarily look nice, because there may be missing white space. |
|
|
|
|
|
It's just there to freeze the behavior. |
|
|
|
|
|
.. raw:: html latex |
|
|
|
|
|
A test. |
|
|
|
|
|
.. raw:: html latex |
|
|
|
|
|
Second test. |
|
|
|
|
|
.. class:: myclass |
|
|
|
|
|
.. raw:: html latex |
|
|
|
|
|
Another test with myclass set. |
|
|
|
|
|
.. role:: raw-role(raw) |
|
|
:format: html latex |
|
|
:class: myrawroleclass |
|
|
|
|
|
This is the :raw-role:`fourth test` with myrawroleclass set. |
|
|
|
|
|
.. raw:: html |
|
|
|
|
|
Fifth test in HTML.<br />Line two. |
|
|
|
|
|
.. raw:: latex |
|
|
|
|
|
Fifth test in LaTeX.\\Line two. |
|
|
|
|
|
Container |
|
|
--------- |
|
|
|
|
|
.. container:: custom |
|
|
|
|
|
paragraph 1 |
|
|
|
|
|
paragraph 2
|
|
|
|