Mettere il contenuto di una cella in una tabella su più rows

  • Creatore
    Topic
  • #58388
    Up
    0
    Down
    ::


    Salve a tutti,

    sto tentanto invano di fare in modo che il contenuto della terza colonna, o meglio quello che è nella terza cella, venga messo su più righe. Ovviamente questa è solo una riga della tabella che vorrei fare, ma se non riesco a mettere il contenuto della terza cella su più righe, la tabella è troppo larga.

    `\begin{table}
    \begin{center}
    \begin{tabular}{|l|c|c|c|c|}
    \hline
    & AAA & BBB & CCC & DDD\\
    \hline
    Virtualization systems support & UML & Xen & KVM (Xen, vSphere, ESX and ESXi) & AAA BBB CCC DDD \\
    \hline
    \end{tabular}
    \caption{Caption.}
    \label{table}
    \end{center}
    \end{table}`

    Ovvero la scritta “KVM (Xen, vSphere, ESX and ESXi)” dovrebbe apparire su 2-3 righe.
    Ho visto che ci sono dei file .sty, come multirow.sty, ed ho provato ad usarlo ma non riesco a farlo funzionare bene.
    Inoltre ho visto anche questo link, dove mostra l’uso di \parbox, ma non riesco a ottenere lo stesso effetto su due righe, come fa vedere lì.

    Ho letto anche la guida ArteLatex dove parla appunto di \multirow e \multicolumn ma se uso quel sistema sulla cella che voglio su più righe, il testo mi si sovrappone a quello della riga sottostante.

    In pratica, avrei bisogno di una riga un po’ più alta dove è necessario che una cella abbia un contenuto su più righe, ma proprio non riesco a farlo.

    Qualcuno mi aiuta per favore?

    EDIT: dunque, qualcosa sono riuscito a fare. Mi sono accorto che avevo una vecchia copia di ArteLaTeX e non avevo la parte descritta a pag. 123. Ora il problema è che non riesco a fare in modo che il contenuto della cella multiriga sia allineato a sinistra e che gli altri contenuti nella stessa riga della tabella ma in altre colonne siano centrati nelle celle. Continuo a cercare.

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #58389
      Up
      0
      Down
      ::

      Salve a tutti,

      sto tentanto invano di fare in modo che il contenuto della terza colonna, o meglio quello che è nella terza cella, venga messo su più righe. Ovviamente questa è solo una riga della tabella che vorrei fare, ma se non riesco a mettere il contenuto della terza cella su più righe, la tabella è troppo larga.

      `\begin{table}
      \begin{center}
      \begin{tabular}{|l|c|c|c|c|}
      \hline
      & AAA & BBB & CCC & DDD\\
      \hline
      Virtualization systems support & UML & Xen & KVM (Xen, vSphere, ESX and ESXi) & AAA BBB CCC DDD \\
      \hline
      \end{tabular}
      \caption{Caption.}
      \label{table}
      \end{center}
      \end{table}`

      Ovvero la scritta “KVM (Xen, vSphere, ESX and ESXi)” dovrebbe apparire su 2-3 righe.
      Ho visto che ci sono dei file .sty, come multirow.sty, ed ho provato ad usarlo ma non riesco a farlo funzionare bene.
      Inoltre ho visto anche questo link, dove mostra l’uso di \parbox, ma non riesco a ottenere lo stesso effetto su due righe, come fa vedere lì.

      Ho letto anche la guida ArteLatex dove parla appunto di \multirow e \multicolumn ma se uso quel sistema sulla cella che voglio su più righe, il testo mi si sovrappone a quello della riga sottostante.

      In pratica, avrei bisogno di una riga un po’ più alta dove è necessario che una cella abbia un contenuto su più righe, ma proprio non riesco a farlo.

      Qualcuno mi aiuta per favore?

      Dipende anche dalle righe successive. Se in tutte le celle della terza colonna c’è testo che deve andare su più righe, dichiara la terza colonna con p{4cm} (o la lunghezza che è più adatta, occorre fare qualche prova); se è solo una particolare cella che ti dà problemi, spezzala:
      `\begin{tabular}{|l|c|c|c|c|}
      \hline
      & AAA & BBB & CCC & DDD\\
      \hline
      Virtualization systems support & UML & Xen & KVM (Xen, vSphere, & AAA BBB CCC DDD \\
      &&&ESX and ESXi) & \\
      \hline
      \end{tabular}`
      È molto meglio se carichi il pacchetto booktabs e rendi la tua tabella “leggermente” migliore:
      `\begin{tabular}{lcccc}
      \toprule
      & AAA & BBB & CCC & DDD\\
      \midrule
      Virtualization systems support & UML & Xen & KVM (Xen, vSphere, & AAA BBB CCC DDD \\
      &&& ESX and ESXi) & \\
      \bottomrule
      \end{tabular}`
      Ciao
      Enrico

    • #58390
      Up
      0
      Down
      ::


      Grazie!

      Effettivamente con il package booktabs è più facile. Mi risulta più comodo spezzare semplicemente la cella in due come hai suggerito tu. Vedo che con questo package vengono messe solo le righe orizzontali ma solo sull’intestazione della tabella e in fondo. E grazie a questo “trucco” si riesce a fare bene quello che ho appunto bisogno di fare.

Visualizzazione 1 filone di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top