Tabella ed allineamento doppie variabili

  • Creatore
    Topic
  • #61341
    Andrea C.
    Partecipante
      Up
      0
      Down
      ::


      Innanzi tutto saluto tutti, dato che questo è il mio primo post, anche se lurko ormai da almeno un anno. 😉

      Ringrazio tutti coloro che mandano avanti questo forum: penso di aver risolto almeno la metà dei miei problemi con LaTeX solo leggendo le risposte del gentilissimo Enrico Gregorio! 🙂

      Dopo questa piccola captatio benevolentiae il nocciolo della questione.
      Ho un problema con una tabella che contiene due tipi differenti di variabili: dei valori numerici assoluti e le relative percentuali. Vorrei poter allineare i dati numerici alla virgola ma far sì che anche le variabili percentuali fossero allineate.
      Questo è quello che ho scritto (perdonate gli errori di un novellino) 😳

      `
      \begin{table}[tb]\footnotesize
      \caption{Caratteristiche cliniche dei pazienti. Tutti i numeri rappresentano i valori assoluti tranne l'età che è espressa come mediana.}
      \label{tab:caratteristichecliniche}
      \centering
      \begin{tabularx}{\columnwidth}{XSS}
      \toprule
      Variabili & {Casi (Ricorrenti) n=36} & {Controlli (Non-ricorrenti) n=108} \\
      \midrule
      Età & 37 {(30-48)} & 40,5 {(31-50)} \\
      Sesso maschile & 148 {(41\%)} & 28 {(25,9\%)} \\
      Dispnea & 79 {(21,9\%)} & 29 {(26,9\%)} \\
      Palpitazioni & 102 {(28,3\%)} & 17 {(15,3\%)} \\
      Dolore toracico & 46 {(12,7\%)} & 10 {(9,3\%)} \\
      Sintomi neurologici & 114 {(31,6\%)} & 47 {(43,5\%)} \\
      Cefalea & 22 {(6,1\%)} & 12 {(11,1\%)} \\
      Ansia & 186 {(51,5\%)} & 52 {(48,1\%)} \\
      Non fattori di rischio cardiovascolari & 270 {(74,8\%)} & 90 {(83,3\%)} \\
      Storia di disturbi psichiatrici & 175 {(48,5\%)} & 30 {(27,8\%)} \\
      Screening cardiologico & 129 {(35,7\%)} & 28 {(25,9\%)} \\
      Consulenza psichiatrica in PS & 55 {(15,2\%)} & 19 {(17,6\%)} \\
      Trattamento con benzodiazepine & 200 {(55,4\%)} & 60 {(55,6\%)} \\
      Altri trattamenti & 42 {(11,6\%)} & 8 {(7,4\%)} \\
      \bottomrule
      \end{tabularx}
      \end{table}
      `

      Ho inserito inoltre:
      `
      \usepackage{siunitx}
      \sisetup{output-decimal-marker={,}}
      `

      PS: come mai il codice che avevo allineato si “altera” totalmente? ❓

    Visualizzazione 9 filoni di risposte
    • Autore
      Risposte
      • #61342
        admin
        Amministratore del forum
          Up
          0
          Down
          ::


          In attesa di esperti, prova questo:
          `\begin{tabularx}{\columnwidth}{XSS[table-format=2.1]SS[table-format=2.1]}
          \toprule
          Variabili & {Casi Ricorrenti} & & {Controlli Non-ricorrenti} & \\
          & {(n=36)} & & {(n=108)} & \\
          \midrule
          Età & 37 & {30-48} & 40,5 & {31-50} \\
          Sesso maschile & 148 & 41 \% & 28 & 25,9 \% \\
          Dispnea & 79 & 21,9 \% & 29 & 26,9 \% \\
          Palpitazioni & 102 & 28,3 \% & 17 & 15,3 \% \\
          Dolore toracico & 46 & 12,7 \% & 10 & 9,3 \% \\
          Sintomi neurologici & 114 & 31,6 \% & 47 & 43,5 \% \\
          Cefalea & 22 & 6,1 \% & 12 & 11,1 \% \\
          Ansia & 186 & 51,5 \% & 52 & 48,1 \% \\
          Non fattori di rischio cardiovascolari & 270 & 74,8 \% & 90 & 83,3 \% \\
          Storia di disturbi psichiatrici & 175 & 48,5 \% & 30 & 27,8 \% \\
          Screening cardiologico & 129 & 35,7 \% & 28 & 25,9 \% \\
          Consulenza psichiatrica in PS & 55 & 15,2 \% & 19 & 17,6 \% \\
          Trattamento con benzodiazepine & 200 & 55,4 \% & 60 & 55,6 \% \\
          Altri trattamenti & 42 & 11,6 \% & 8 & 7,4 \% \\
          \bottomrule
          \end{tabularx}`
          Ciao
          Orlando

        • #61343
          Up
          0
          Down
          ::

          Innanzi tutto saluto tutti, dato che questo è il mio primo post, anche se lurko ormai da almeno un anno. 😉

          Ringrazio tutti coloro che mandano avanti questo forum: penso di aver risolto almeno la metà dei miei problemi con LaTeX solo leggendo le risposte del gentilissimo Enrico Gregorio! 🙂

          Dopo questa piccola captatio benevolentiae il nocciolo della questione.
          Ho un problema con una tabella che contiene due tipi differenti di variabili: dei valori numerici assoluti e le relative percentuali. Vorrei poter allineare i dati numerici alla virgola ma far sì che anche le variabili percentuali fossero allineate.
          Questo è quello che ho scritto (perdonate gli errori di un novellino) 😳

          `
          \begin{table}[tb]\footnotesize
          \caption{Caratteristiche cliniche dei pazienti. Tutti i numeri rappresentano i valori assoluti tranne l'età che è espressa come mediana.}
          \label{tab:caratteristichecliniche}
          \centering
          \begin{tabularx}{\columnwidth}{XSS}
          \toprule
          Variabili & {Casi (Ricorrenti) n=36} & {Controlli (Non-ricorrenti) n=108} \\
          \midrule
          Età & 37 {(30-48)} & 40,5 {(31-50)} \\
          Sesso maschile & 148 {(41\%)} & 28 {(25,9\%)} \\
          Dispnea & 79 {(21,9\%)} & 29 {(26,9\%)} \\
          Palpitazioni & 102 {(28,3\%)} & 17 {(15,3\%)} \\
          Dolore toracico & 46 {(12,7\%)} & 10 {(9,3\%)} \\
          Sintomi neurologici & 114 {(31,6\%)} & 47 {(43,5\%)} \\
          Cefalea & 22 {(6,1\%)} & 12 {(11,1\%)} \\
          Ansia & 186 {(51,5\%)} & 52 {(48,1\%)} \\
          Non fattori di rischio cardiovascolari & 270 {(74,8\%)} & 90 {(83,3\%)} \\
          Storia di disturbi psichiatrici & 175 {(48,5\%)} & 30 {(27,8\%)} \\
          Screening cardiologico & 129 {(35,7\%)} & 28 {(25,9\%)} \\
          Consulenza psichiatrica in PS & 55 {(15,2\%)} & 19 {(17,6\%)} \\
          Trattamento con benzodiazepine & 200 {(55,4\%)} & 60 {(55,6\%)} \\
          Altri trattamenti & 42 {(11,6\%)} & 8 {(7,4\%)} \\
          \bottomrule
          \end{tabularx}
          \end{table}
          `

          Ho inserito inoltre:
          `
          \usepackage{siunitx}
          \sisetup{output-decimal-marker={,}}
          `

          PS: come mai il codice che avevo allineato si “altera” totalmente? ❓

          Dopo che mi dai del gentilissimo, non potevo fare a meno di darti la mia versione. 🙂
          `\begin{tabular}
          {l
          S[table-format=3.0]
          S[table-format=2.1,table-space-text-post=\%]
          @{\hspace{4em}}
          S[table-format=2.1]
          S[table-format=2.1,table-space-text-post=\%]}
          \toprule
          Variabili & \multicolumn{2}{c@{\hspace{4em}}}{Casi} & \multicolumn{2}{c}{Controlli} \\
          & \multicolumn{2}{c@{\hspace{4em}}}{ricorrenti} & \multicolumn{2}{c}{non-ricorrenti} \\
          & \multicolumn{2}{c@{\hspace{4em}}}{($n=36$)} & \multicolumn{2}{c}{($n=108$)}\\
          \midrule
          Età
          & 37 & {30–48} & 40,5 & {31–50} \\
          Sesso maschile
          & 148 & 41 \% & 28 & 25,9 \% \\
          Dispnea
          & 79 & 21,9 \% & 29 & 26,9 \% \\
          Palpitazioni
          & 102 & 28,3 \% & 17 & 15,3 \% \\
          Dolore toracico
          & 46 & 12,7 \% & 10 & 9,3 \% \\
          Sintomi neurologici
          & 114 & 31,6 \% & 47 & 43,5 \% \\
          Cefalea
          & 22 & 6,1 \% & 12 & 11,1 \% \\
          Ansia
          & 186 & 51,5 \% & 52 & 48,1 \% \\
          Non fattori di rischio cardiovascolari
          & 270 & 74,8 \% & 90 & 83,3 \% \\
          Storia di disturbi psichiatrici
          & 175 & 48,5 \% & 30 & 27,8 \% \\
          Screening cardiologico
          & 129 & 35,7 \% & 28 & 25,9 \% \\
          Consulenza psichiatrica in PS
          & 55 & 15,2 \% & 19 & 17,6 \% \\
          Trattamento con benzodiazepine
          & 200 & 55,4 \% & 60 & 55,6 \% \\
          Altri trattamenti
          & 42 & 11,6 \% & 8 & 7,4 \% \\
          \bottomrule
          \end{tabular}`
          Ciao
          Enrico

        • #61344
          Andrea C.
          Partecipante
            Up
            0
            Down
            ::


            Grazie mille Enrico, è perfetto! 😀

            Già che ci sono mi permetto un’altra domanda…
            Se volessi inserire un’ulteriore colonna, a destra dei controlli, per inserire il valore di P, come dovrei fare?

            Non vorrei “rovinare” questo bel codice nuovo di zecca. 😛

            PS: ovviamente mi sono permesso di inserirti nei ringraziamenti della mia tesi! 😉

          • #61345
            Up
            0
            Down
            ::

            Grazie mille Enrico, è perfetto! 😀

            Già che ci sono mi permetto un’altra domanda…
            Se volessi inserire un’ulteriore colonna, a destra dei controlli, per inserire il valore di P, come dovrei fare?

            Non vorrei “rovinare” questo bel codice nuovo di zecca. 😛

            PS: ovviamente mi sono permesso di inserirti nei ringraziamenti della mia tesi! 😉

            Che tipo di numero è?

            Ciao
            Enrico

          • #61346
            Andrea C.
            Partecipante
              Up
              0
              Down
              ::


              Tutti numeri a tre cifre, due dopo la virgola, tipo 0,01.

            • #61347
              Up
              0
              Down
              ::

              Tutti numeri a tre cifre, due dopo la virgola, tipo 0,01.

              Aggiungi una colonna S[table-format=1.2]; quale sarebbe l’intestazione?

              Ciao
              Enrico

            • #61348
              Andrea C.
              Partecipante
                Up
                0
                Down
                ::

                Tutti numeri a tre cifre, due dopo la virgola, tipo 0,01.

                Aggiungi una colonna S[table-format=1.2]; quale sarebbe l’intestazione?

                Ciao
                Enrico

                Pensavo ad un semplice “Valore di \textit{p}”.

              • #61349
                Andrea C.
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Scusate se ritorno sull’argomento.

                  Ho provato a giocare un po’ con hspace ma non ho ben capito come diminuire lo spazio tra le variabili all’interno della colonna doppia.

                  Così com’è la tabella va bene anche se fuoriesce dai margini: modificando hspace riesco a farla rientrare ma non voglio rovinare troppo l’ottimo risultato tipografico proposto da Enrico.

                  Quindi invece di avvicinare le due multicolonne preferivo anche ridurre leggermente lo spazio tra le variabili all’interno delle multicolonne stesse.

                  Spero di essere stato abbastanza chiaro.

                  Grazie in anticipo. 🙂

                • #61350
                  Up
                  0
                  Down
                  ::

                  Scusate se ritorno sull’argomento.

                  Ho provato a giocare un po’ con hspace ma non ho ben capito come diminuire lo spazio tra le variabili all’interno della colonna doppia.

                  Così com’è la tabella va bene anche se fuoriesce dai margini: modificando hspace riesco a farla rientrare ma non voglio rovinare troppo l’ottimo risultato tipografico proposto da Enrico.

                  Quindi invece di avvicinare le due multicolonne preferivo anche ridurre leggermente lo spazio tra le variabili all’interno delle multicolonne stesse.

                  Spero di essere stato abbastanza chiaro.

                  Grazie in anticipo. 🙂

                  `
                  \begin{tabular}
                  {l
                  r
                  S[table-format=2.1,table-space-text-post=\%]
                  r
                  S[table-format=2.1,table-space-text-post=\%]
                  S[table-format=1.2]}
                  \toprule
                  \multicolumn{2}{c}{($n=108$)}\\
                  Variabili & \multicolumn{2}{c}{Casi} & \multicolumn{2}{c}{Controlli} &
                  \multicolumn{1}{c}{\makebox[2em]{Valore}}\\
                  & \multicolumn{2}{c}{ricorrenti} & \multicolumn{2}{c}{non-ricorrenti} &
                  \multicolumn{1}{c}{di $p$}\\
                  & \multicolumn{2}{c}{($n=36$)} & \multicolumn{2}{c}{($n=108$)}\\
                  \midrule
                  Et‡
                  & 37 & {30–48} & 40\rlap{,5} & {31–50} & 1.11 \\
                  Sesso maschile
                  & 148 & 41 \% & 28 & 25,9 \% & 1.11 \\
                  Dispnea
                  & 79 & 21,9 \% & 29 & 26,9 \% & 1.11 \\
                  Palpitazioni
                  & 102 & 28,3 \% & 17 & 15,3 \% & 1.11 \\
                  Dolore toracico
                  & 46 & 12,7 \% & 10 & 9,3 \% & 1.11 \\
                  Sintomi neurologici
                  & 114 & 31,6 \% & 47 & 43,5 \% & 1.11 \\
                  Cefalea
                  & 22 & 6,1 \% & 12 & 11,1 \% & 1.11 \\
                  Ansia
                  & 186 & 51,5 \% & 52 & 48,1 \% & 1.11 \\
                  Non fattori di rischio cardiovascolari
                  & 270 & 74,8 \% & 90 & 83,3 \% & 1.11 \\
                  Storia di disturbi psichiatrici
                  & 175 & 48,5 \% & 30 & 27,8 \% & 1.11 \\
                  Screening cardiologico
                  & 129 & 35,7 \% & 28 & 25,9 \% & 1.11 \\
                  Consulenza psichiatrica in PS
                  & 55 & 15,2 \% & 19 & 17,6 \% & 1.11 \\
                  Trattamento con benzodiazepine
                  & 200 & 55,4 \% & 60 & 55,6 \% & 1.11 \\
                  Altri trattamenti
                  & 42 & 11,6 \% & 8 & 7,4 \% & 1.11 \\
                  \bottomrule
                  \end{tabular}`
                  Qualche modifica e un paio di trucchi. La seconda e la quarta colonna non vanno come S, ma semplicemente come r; per l’unico numero con la virgola uso il trucchetto di fare in modo che la parte decimale non occupi spazio (\rlap{,5}). Per fare in modo che “Valore” non faccia sbordare la tabella fingo che sia largo solo 2em.

                  Ciao
                  Enrico

                • #61351
                  Andrea C.
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Grazie mille, sia dell’eleganza che della tempestività! 😀

                    Fossero tutti come Lei i professori!
                    So che ci si dà del tu ma ubi maior…
                    😉

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

                Go to top