colonne allineate a destra con massima lunghezza

  • Creatore
    Topic
  • #31213
    Up
    0
    Down
    ::


    Ciao a tutti,

    sto muovendo i miei primi passi con latex poiché devo scrivere una relazione sulla lebbra e ho delle tabelle da rappresentare.
    Dopo aver scaricato e letto la parte relativa alle tabelle (pacchetto booktabs) consigliato in ArteLaTeX.pdf, mi chiedevo se fosse possibile rappresentare i dati allineati a destra come avviene quando si usa lo specificatore “r”, ma dando un massimo alla dimensione della colonna, così da andare a capo se è troppo grande.

    Insomma, in termini profani, mi servirebbe qualcosa che funzioni come p{2cm}, ma con allineamento a destra. Quindi r{2cm} e magari anche l{2cm} (per conoscenza personale).

    Grazie a tutti in anticipo.
    Alessandra

    P.S. non so se vi possa servire, ma aggiungo qui sotto il codice che ho prodotto per cercare di replicare la tabella di pagina 237 che trovate a questo link. Come si può vedere dalla tabella in alcune colonne (tipo: Relapses Number) viene mandato il testo a capo nell’intestazione, ma poi dove ci sono i numeri l’allineamento è a destra. Ho provato anche con il comando “\\” nel titolo, ma ovviamente non funziona.

    `
    \begin{center}
    \resizebox{0.93\columnwidth}{!}{%
    \begin{tabular}{lp{3cm}p{2.5cm}p{2cm}rcrcp{2cm}}
    \textbf{Table A} &&&&&&&&\\
    \toprule
    &&&&\multicolumn{2}{c}{\textbf{New MB}} & \multicolumn{2}{c}{\textbf{Females}}\\ \cmidrule(l){5-6} \cmidrule(l){7-8}
    \textbf{WHO regions} & \textbf{Registered prevalence 01-01-08} & \textbf{New cases detected 2007} & \textbf{Ratio: Prev/NCD} & \textbf{Number} & \textbf{\%} & \textbf{Number} & \textbf{\%} & \textbf{Relapses Number}\\
    \midrule
    Africa & 30 055 & 31 037 & 0,97 & 22 518 & 73 & 7 021 & 23 & 336 \\
    Americas & 49 388 & 41 978 & 1,18 & 22 957 & 55 & 18 423 & 44 & 1 648 \\
    South-Est Asia & 120 967 & 171 552 & 0,71 & 87 532 & 51 & 53 455 & 31 & 119 \\
    Eastern Mediterranean & 4 240 & 4 091 & 1,04 & 3 116 & 76 & 1 660 & 41 & 60 \\
    Western Pacific & 8 152 & 5 867 & 1,39 & 4 051 & 69 & 1 595 & 27 & 192 \\
    \textbf{Total} & 212 802 & 254 525 & 0,84 & 140 174 & 55 & 82 154 & 32 & 2355 \\
    \bottomrule
    \end{tabular}}
    \end{center}
    `

Visualizzazione 3 filoni di risposte
  • Autore
    Risposte
    • #31214
      Up
      0
      Down
      ::

      Ciao a tutti,

      sto muovendo i miei primi passi con latex poiché devo scrivere una relazione sulla lebbra e ho delle tabelle da rappresentare.
      Dopo aver scaricato e letto la parte relativa alle tabelle (pacchetto booktabs) consigliato in ArteLaTeX.pdf, mi chiedevo se fosse possibile rappresentare i dati allineati a destra come avviene quando si usa lo specificatore “r”, ma dando un massimo alla dimensione della colonna, così da andare a capo se è troppo grande.

      Insomma, in termini profani, mi servirebbe qualcosa che funzioni come p{2cm}, ma con allineamento a destra. Quindi r{2cm} e magari anche l{2cm} (per conoscenza personale).

      Grazie a tutti in anticipo.
      Alessandra

      P.S. non so se vi possa servire, ma aggiungo qui sotto il codice che ho prodotto per cercare di replicare la tabella di pagina 237 che trovate a questo link. Come si può vedere dalla tabella in alcune colonne (tipo: Relapses Number) viene mandato il testo a capo nell’intestazione, ma poi dove ci sono i numeri l’allineamento è a destra. Ho provato anche con il comando “\\” nel titolo, ma ovviamente non funziona.

      `
      \begin{center}
      \resizebox{0.93\columnwidth}{!}{%
      \begin{tabular}{lp{3cm}p{2.5cm}p{2cm}rcrcp{2cm}}
      \textbf{Table A} &&&&&&&&\\
      \toprule
      &&&&\multicolumn{2}{c}{\textbf{New MB}} & \multicolumn{2}{c}{\textbf{Females}}\\ \cmidrule(l){5-6} \cmidrule(l){7-8}
      \textbf{WHO regions} & \textbf{Registered prevalence 01-01-08} & \textbf{New cases detected 2007} & \textbf{Ratio: Prev/NCD} & \textbf{Number} & \textbf{\%} & \textbf{Number} & \textbf{\%} & \textbf{Relapses Number}\\
      \midrule
      Africa & 30 055 & 31 037 & 0,97 & 22 518 & 73 & 7 021 & 23 & 336 \\
      Americas & 49 388 & 41 978 & 1,18 & 22 957 & 55 & 18 423 & 44 & 1 648 \\
      South-Est Asia & 120 967 & 171 552 & 0,71 & 87 532 & 51 & 53 455 & 31 & 119 \\
      Eastern Mediterranean & 4 240 & 4 091 & 1,04 & 3 116 & 76 & 1 660 & 41 & 60 \\
      Western Pacific & 8 152 & 5 867 & 1,39 & 4 051 & 69 & 1 595 & 27 & 192 \\
      \textbf{Total} & 212 802 & 254 525 & 0,84 & 140 174 & 55 & 82 154 & 32 & 2355 \\
      \bottomrule
      \end{tabular}}
      \end{center}
      `

      Ciò che ti serve è solo scrivere i titoli delle colonne in righe diverse:
      `\textbf{WHO regions} & \textbf{Registered} & … \\
      & \textbf{prevalence} & … \\
      & \textbf{01-01-08} & … \\
      …`
      Ciao
      Enrico

    • #31215
      Up
      0
      Down
      ::

      Ciò che ti serve è solo scrivere i titoli delle colonne in righe diverse:
      `\textbf{WHO regions} & \textbf{Registered} & … \\
      & \textbf{prevalence} & … \\
      & \textbf{01-01-08} & … \\
      …`
      Ciao
      Enrico

      Grazie mille. In effetti hai ragione bastava creare tante righe anche nel titolo.
      Ora il mio dubbio è un altro.
      Attualmente il titolo è allineato a destra come i numeri.
      Vorrei il titolo centrato, lasciando i numeri allineati a destra.
      E’ possibile?

      Grazie ancora
      Alessandra

    • #31216
      Up
      0
      Down
      ::

      Ciò che ti serve è solo scrivere i titoli delle colonne in righe diverse:
      `\textbf{WHO regions} & \textbf{Registered} & … \\
      & \textbf{prevalence} & … \\
      & \textbf{01-01-08} & … \\
      …`
      Ciao
      Enrico

      Grazie mille. In effetti hai ragione bastava creare tante righe anche nel titolo.
      Ora il mio dubbio è un altro.
      Attualmente il titolo è allineato a destra come i numeri.
      Vorrei il titolo centrato, lasciando i numeri allineati a destra.
      E’ possibile?

      Il problema è che qui le intestazioni sono più larghe del contenuto della colonna (intendo le cifre sottostanti). Non lo si può ottenere automaticamente, purtroppo.

      Un modo è di dichiarare la colonna come r e nelle righe dell’intestazione scrivere
      `& \hspace*{\fill}\textbf{parola}\hspace*{\fill} &`
      Naturalmente è comodo definire un comando come
      `\newcommand{\textbfcen}[1]{%
      \hspace*{\fill}\textbf{#1}\hspace*{\fill}}`
      Nel tuo caso le intestazioni della seconda colonna diventerebbero
      `… & \textbfcen{Registered} & … \\
      … & \textbfcen{detected} & … \\
      … & \textbfcen{2007} & … \\
      …`
      Un paio di osservazioni. (1) Non metterei in una riga più in alto “New MB” e quelle intestazioni che hai a quel livello. (2) I gruppi di tre cifre vanno separati con uno spazio sottile, non con un normale spazio: 212\,802 L’effetto è nettamente più gradevole.

      La “regola” vorrebbe che nei numeri di quattro cifre non ci vada la separazione, ma l’incolonnamento ha la precedenza su questa prassi che vale di sicuro per numeri nel testo.

      Ciao
      Enrico

    • #31217
      Up
      0
      Down
      ::

      Il problema è che qui le intestazioni sono più larghe del contenuto della colonna (intendo le cifre sottostanti). Non lo si può ottenere automaticamente, purtroppo.

      Un modo è di dichiarare la colonna come r e nelle righe dell’intestazione scrivere
      `& \hspace*{\fill}\textbf{parola}\hspace*{\fill} &`
      Naturalmente è comodo definire un comando come
      `\newcommand{\textbfcen}[1]{%
      \hspace*{\fill}\textbf{#1}\hspace*{\fill}}`
      Nel tuo caso le intestazioni della seconda colonna diventerebbero
      `… & \textbfcen{Registered} & … \\
      … & \textbfcen{detected} & … \\
      … & \textbfcen{2007} & … \\
      …`
      Un paio di osservazioni. (1) Non metterei in una riga più in alto “New MB” e quelle intestazioni che hai a quel livello. (2) I gruppi di tre cifre vanno separati con uno spazio sottile, non con un normale spazio: 212\,802 L’effetto è nettamente più gradevole.

      La “regola” vorrebbe che nei numeri di quattro cifre non ci vada la separazione, ma l’incolonnamento ha la precedenza su questa prassi che vale di sicuro per numeri nel testo.

      Ciao
      Enrico

      Grazie mille per tutto. E grazie anche per avermi dato dei preziosi consigli.
      Grazie ancora

      Alessandra

Visualizzazione 3 filoni di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top