============================ reStructuredText conventions ============================ File extension ============== Although ``.txt`` extension is probably technically correct for RST files, use ``.rst`` for internal documentation for better compatibility with editors, GitHub, etc. Section markers =============== Book level: #. Over- and underlined hash marks (``#``) for book title #. Over- and underlined stars (``*``) for book sub-title File level: #. Over- and underlined equals signs (``=``) once at top of file (file topic) #. Underlined equals signs (``=``) #. Underlined minus signs (``-``) #. Underlined colons (``:``) #. Underlined periods (``.``) The book level notation is reserved for future use. It allows the internal documentation to be easily built into a single HTML/PDF file for ease of browsing. Page breaks =========== See http://comments.gmane.org/gmane.text.docutils.user/6473. You can use:: .. raw:: LaTeX \newpage Lists ===== Numbering --------- List numbering styles can be mixed, e.g.:: 1. Foo a. Bar 1. Quux However, e.g. GitHub will renumber the bullets and may also change the numbering style. This will make references to list elements confusing; e.g. if you refer to Quux as element 1.a.1 above, the reference is quite confusing if Quux was renumbered to 1.1.1 or 1.a.iii. Even so, such references are sometimes necessary, so they can be used. Start at zero indent. Bullets ------- Recommended bullet styles by level:: * Foo + Bar - Quux Start at zero indent -------------------- Start lists at zero indent, e.g.:: * Foo * Bar If you don't, GitHub will render the list as a quoted block. Empty lines ----------- Use empty lines between elements and sub-elements for readability and to minimize formatting issues:: 1. Foo a. sub-foo + sub-sub-foo b. sub-bar 2. Bar 3. Quux Nested lists ----------------------- While ``rst2pdf`` and friends are somewhat lenient with respect to nested lists, some RST formatters are a bit more picky. To work well with all formatters, make sure that a nested list's bullet mark is indented to the level of the previous level's body, e.g.:: 1. Foo a. sub-foo b. sub-bar 2. Bar The following is **incorrect** and may render the nested list as a quoted block:: 1. Foo a. sub-foo b. sub-bar 2. Bar Note that the required level depends on the length of the parent bullet. This matters for numbered lists:: 9. Foo a. sub-foo b. sub-bar 10. Bar a. sub-foo (with one more indent than above) b. sub-bar