| .. _rest_tables: |
| |
| Tables |
| ###### |
| |
| Tables must only be used for information that is either too numerous or too |
| related for a list to be appropriate. The general rule of thumb is that the |
| minimal size of a table is a 2x2 not counting the table header. The |
| use of ReST makes table size much more important. Tables are difficult to |
| do properly in ReST following the line length restrictions. If you plan on |
| adding content in form of a table consider transforming it into a list |
| before you embark on creating a table. Follow these general guidelines: |
| |
| * Use tables sparingly. |
| |
| * Keep the 72-78 characters line length in mind. |
| |
| * Indent the contents correctly. This allows the content to be read even if |
| it is not rendered. |
| |
| * Only create a table if the body of the table is larger than 6, that means |
| either 2x3 or 3x2. |
| |
| |
| |
| ReST supports two types of tables: simple and grid tables. Single tables are |
| only suited for very short content since they only allow cells with a single |
| line. Grid tables support multi-lined cells and offer many layout options. |
| |
| Use simple tables only to create a matrix of terms, for example: |
| |
| ============ =========== =========== |
| Number Name Color |
| ============ =========== =========== |
| 1 Door Brown |
| 2 Floors Gray |
| 3 Ceilings Blue |
| ============ =========== =========== |
| |
| Use the following template to create a simple table. |
| |
| .. code-block:: rst |
| |
| ======== ======== |
| heading1 heading2 |
| ======== ======== |
| row1x1 row2x1 |
| row1x2 row2x2 |
| row1x3 row2x3 |
| ======== ======== |
| |
| The template renders as: |
| |
| ======== ======== |
| heading1 heading2 |
| ======== ======== |
| row1x1 row2x1 |
| row1x2 row2x2 |
| row1x3 row2x3 |
| ======== ======== |
| |
| The use of '=' between the headings and the rows in simple tables tags the |
| content of the headings as the table header. Do not add emphasis to the |
| contents of the table header using \*\*. |
| |
| Use grid tables for all other scenarios involving tables. For example: |
| |
| +-----------------+------------------------+--------------+------------+ |
| | Name | Purpose | Known | References | |
| | (or brand name) | | Applications | | |
| +=================+========================+==============+============+ |
| | Super Glue | Glues things together | Small car | Quick Fix, | |
| | | with extra strength. | repairs. | 2010. | |
| +-----------------+------------------------+--------------+------------+ |
| | Masking Tape | Stops paint from | Painting | Master | |
| | | covering a surface | walls. | Painter, | |
| | | allowing for sharp | | 2007. | |
| | | edges. | | | |
| +-----------------+------------------------+--------------+------------+ |
| |
| This template can help you create grid tables: |
| |
| .. code-block:: rst |
| |
| +------------------------+------------+----------+----------+ |
| | 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 | ... | ... | | |
| +------------------------+------------+----------+----------+ |
| |
| The use of '=' in grid tables is used to separate the table header from the |
| table body. Do not add emphasis to the contents of the table header using |
| \*\*. |