Personal tools
You are here: Home Aiuti ed Info Usare le tabelle
Document Actions

Usare le tabelle

della serie: Rest - Pagine di aiuto

Attenzione!

Lavorare con le tabelle in reST non è per deboli di cuore. Nonostante il risultato possa essere più che soddisfacente, è noto che il metodo per ottenerle fa perdere i capelli.

Introduzione

Un trucco per creare tabelle con il reST è quello di tenere presente come la tabella dovrebbe apparire in plain text.

Tabelle semplici

Ciascuna cella della tabella può essere larga una unità (di larghezza) ed alta una unità (di altezza). Non si possono quindi avere celle espanse su più colonne o righe. Tutte le colonne devono avere il contenuto allineato a sinistra ed ogni colonna deve essere spaziata dalla precedente di almeno uno spazio.

Parti della tabella

Una tabella semplice consiste in tre parti:

  1. I titoli: ciascuna colonna della tabella deve avere un titolo che spiega cosa contiene.
  2. I simboli di delimitazione: Sono segni di "uguale" (=) che delimitano quanto sono larghe le colonne e quando inizia e finisce la tabella.
  3. I contenuti delle celle: Il testo che deve apparire nella tabella

Esempio 1: Tabella semplice a due colonne

======== ========   <-- Delimitazione iniziale della tabella
Titolo 1 Titolo 2   <-- riga dei titoli
======== ========   <-- Delimitazione del riquadro dei titoli
cella 1A cella 2A   <-- contenuti delle celle
cella 1B cella 2B   <-- queste possono essere lunghe quanto si vuole
cella 1C cella 2C   <-- e devono arrivare fino alla delimitazione finale 
======== ========   <-- Delimitazione finale della tabella

che così appare quando viene interpretata:

Titolo 1 Titolo 2
cella 1A cella 2A
cella 1B cella 2B
cella 1C cella 2C

Esempio 2: Tabella semplice a più colonne

L'esempio successivo mostra tre cose:

  1. la lunghezza del delimitatore dell'ultima colonna è sufficente sia lungo almeno cinque =.
  2. Ciascuna colonna tranne l'ultima deve essere larga almeno quanto il contenuto più lungo. (vedi la riga PRIMA sotto)
  3. Si può notare come l'ultima colonna di destra può essere larga quanto la pagina e che i contenuti della colonna più a destra possono anche andare a capo nella stessa cella. (vedi la riga Terza sotto)
======= ============== =====
stretta colonna larga  colonna veramente larga
======= ============== =====
PRIMA   Questa è larga Questa è la colonna più larga.
Seconda anche questa   Si può vedere che questa colonna può sbordare.
TERZA   e pure questa  Si può vedere che l'ultima colonna può estendersi fino a che non si interrompe con un a capo.
======= ============== =====

che viene così interpretata:

stretta colonna larga colonna veramente larga
PRIMA Questa è larga Questa è la colonna più larga.
Seconda anche questa Si può vedere che questa colonna può sbordare.
TERZA e pure questa Si può vedere che l'ultima colonna può estendersi fino a che non si interrompe con un a capo.

Vedi anche il breviario e le specifiche tecniche delle Tabelle semplici.

Esempio 3: Tabella semplice con celle a più righe

Nelle tabelle semplici è possibile introdurre celle con più righe. Gli spazi della prima colonna implicano che nelle colonne successive il testo continua. Per esempio:

========= =========
colonna 1 colonna 2
========= =========
1         Seconda colonna della riga 1.
2         Seconda colonna della riga 2.
          Seconda linea del paragrafo.
3         Seconda colonna della riga 3.

          Secondo paragrafo della riga 3,
          colonna 2
..        Quarta riga di celle

          (notare il commento nella prima colonna per forzare una cella
          vuota)          
========= =========
colonna 1 colonna 2
1 Seconda colonna della riga 1.
2 Seconda colonna della riga 2. Seconda linea del paragrafo.
3

Seconda colonna della riga 3.

Seconda paragrafo della riga 3, colonna 2

Quarta riga di celle

(notare il commento nella prima colonna per forzare una cella vuota)

Limiti di questo approccio:

  • Le celle della prima colonna sono limitate ad una sola riga di testo.
  • Le celle della prima colonna devono contenere del testo; Celle vuote causano errore. Un commento vuoto è però sufficente.

Tabelle complesse

Con il reST è possibile realizzare tabelle veramente complesse.

+------------+------------------+--------------------+
| Titolo 1   | Titolo 2         | Titolo 3           |
+============+==================+====================+
| riga num 1 | colonna 2        | colonna 3          |
+------------+------------------+--------------------+
| riga num 2 | Le celle possono occupare più colonne.|
+------------+------------------+--------------------+
| riga num 3 | O allungarsi su  | - Oppure           |
+------------+ più righe.       | - contenere        |
| riga num 4 |                  | - blocchi.         |
+------------+------------------+--------------------+

che da:

Titolo 1 Titolo 2 Titolo 3
riga num 1 colonna 2 colonna 3
riga num 2 Le celle possono occupare più colonne.
riga num 3 O allungarsi su più righe.
  • Oppure
  • contenere
  • blocchi.
riga num 4

Vedi anche il breviario e le specifiche tecniche delle Tabelle a matrice.

Trucchi per ridurre la complessità delle tabelle

mmmh...

Con il reST è possibile realizzare tabelle veramente complesse.

Sostituzioni nelle tabelle

Il maccanismo della sostituzione può risultare assai comodo per sostituire il contenuto di una intera cella:

+------------+------------------+--------------------+
| Titolo 1   | Titolo 2         | Titolo 3           |
+============+==================+====================+
| riga num 1 | colonna 2        | colonna 3          |
+------------+------------------+--------------------+
| riga num 2 | Le celle possono occupare più colonne.|
+------------+------------------+--------------------+
| riga num 3 | |sostituire|     | - Oppure           |
+------------+                  | - contenere        |
| riga num 4 |                  | - blocchi.         |
+------------+------------------+--------------------+

.. |sostituire| sostituisci:: O allungarsi su più righe.  
                              Addirittura qui abbiamo scelto di
                              scrivere un testo in una direttiva
                              esterna alla tabella che lo
                              "sostituisce" dove vogliamo.

che da:

Titolo 1 Titolo 2 Titolo 3
riga num 1 colonna 2 colonna 3
riga num 2 Le celle possono occupare più colonne.
riga num 3 O allungarsi su più righe. Addirittura qui abbiamo scelto di scrivere un testo in una direttiva esterna alla tabella che lo "sostituisce" dove vogliamo.
  • Oppure
  • contenere
  • blocchi.
riga num 4

Uno dei problemi maggiori delle tabelle è quanto diventano estese e difficili da usare a video

Quello che segue è un esempio di come sia possibile, con il meccanismo della "sostituzione", inserire delle immagini in una tabella senza farla diventare troppo estesa.

Le prime due delle tabelle che seguono danno il medesimo risultato ma la seconda ha un codice decisamente più contenuto e leggibile.

+-------------------------------------------------------------------------------+-------------------------------------------------------------------+
|mappa e bandiera                                                               |carta geografica                                                   |
+===============================================================================+===================================================================+
|.. immagine:: http://upload.wikimedia.org/wikipedia/it/9/91/LocationEstonia.png|.. immagine:: http://europa.eu.int/abc/maps/images/members/lith.gif|
+-------------------------------------------------------------------------------+    :width: 400                                                    |
| |bandiera1|                                                                   |                                                                   |
+-------------------------------------------------------------------------------+-------------------------------------------------------------------+

+----------------+----------------+
|mappa e bandiera|carta geografica|
+================+================+
| |mappa1|       | |carta1|       |
+----------------+                |
| |bandiera1|    |                |
+----------------+----------------+

+----------------+----------------+
|mappa e bandiera|carta geografica|
+================+================+
| |mappa2|       | |carta2|       |
+----------------+                |
| |bandiera2|    |                |
+----------------+----------------+

+----------------+----------------+
|mappa e bandiera|carta geografica|
+================+================+
| |mappa3|       | |carta3|       |
+----------------+                |
| |bandiera3|    |                |
+----------------+----------------+


.. |mappa1| immagine:: http://upload.wikimedia.org/wikipedia/it/9/91/LocationEstonia.png
.. |carta1| immagine:: http://europa.eu.int/abc/maps/images/members/lith.gif
             :width: 400
.. |bandiera1| immagine:: http://upload.wikimedia.org/wikipedia/it/thumb/3/31/185px-Estonia-Bandiera.png

.. |mappa2| immagine:: http://upload.wikimedia.org/wikipedia/commons/c/c5/LocationLatvia.png
.. |carta2| immagine:: http://europa.eu.int/abc/maps/images/members/latvia.gif
             :width: 400
.. |bandiera2| immagine:: http://upload.wikimedia.org/wikipedia/it/thumb/8/84/185px-Lettonia-Bandiera.png

.. |mappa3| immagine:: http://upload.wikimedia.org/wikipedia/commons/5/55/LocationLithuania.png
.. |carta3| immagine:: http://europa.eu.int/abc/maps/images/members/estonia.gif
             :width: 400
.. |bandiera3| immagine:: http://upload.wikimedia.org/wikipedia/it/thumb/9/92/185px-Lituania-Bandiera.png

risultato :

mappa e bandiera carta geografica
http://upload.wikimedia.org/wikipedia/it/9/91/LocationEstonia.png
http://europa.eu.int/abc/maps/images/members/lith.gif
bandiera1
mappa e bandiera carta geografica
mappa1 carta1
bandiera1
mappa e bandiera carta geografica
mappa2 carta2
bandiera2
mappa e bandiera carta geografica
mappa3 carta3
bandiera3

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: