Allineamento centrato intestazione tabelle

  • Creatore
    Topic
  • #95923
    Up
    0
    Down
    ::


    Buonasera

    per una tabella sto usando il tipo colonna “S” previsto dal pacchetto siunitx. La voce nell’intestazione è allineata con la “virgola” dei decimali. Siccome alcune colonne sono composte da solo numeri interi, ottengo un effetto sgradevole e vorrei che l’intestazione fosse centrata e non allineata con i decimali.
    Sapreste quale comando regola questa funzione?
    Ho letto il manuale del pacchetto ma con tutte le spiegazioni basate su esempi, ho fatto solo confusione.

    Grazie
    Marco

Visualizzazione 12 filoni di risposte
  • Autore
    Risposte
    • #95924
      claudio
      Partecipante
        Up
        0
        Down
        ::


        mi viene in mente una battuta e se metti un bel virgola zero?
        ciao

      • #95925
        Up
        0
        Down
        ::


        `\begin{table}
        \centering
        \begin{tabular}{S[table-parse-only]}
        \toprule
        {Numeri} \\
        \midrule
        1\\
        3\\
        5\\
        10\\
        10.0044\\
        23.449\\
        \bottomrule
        \end{tabular}
        \caption{Caption}

        \end{table}
        `
        con l’opzione table-parse-only disabiliti l’allineamento sulla virgola decimale per le colonne in cui questa opzione è specificata (pag.46 della documentazione)

      • #95926
        Up
        0
        Down
        ::


        Forse non sono stato chiaro nella spiegazione: mi va bene che i numeri incolonnati siano allineati secondo la virgola, è solo l’intestazione della colonna (solo il testo, non i numeri) che vorrei centrare rispetto lo spazio intero dei numeri.

        Little” post=95537[code]\begin{table}
        con l’opzione table-parse-only disabiliti l’allineamento sulla virgola decimale per le colonne in cui questa opzione è specificata (pag.46 della documentazione)

        @Little: Avevo trovato il comando che hai indicato ma ha effetto su tutta la colonna e non solo sulla didascalia.
        ho provato anche il comando table-text-alignment ma con le opzioni left e right allinea le scritte a destra e a sinistra ma rispetto l’intero spazio, mentre con l’opzione di default (center) torna ad allinear rispetto la virgola.

        Esiste un comando che modifichi solo l’allineamento dell’intestazione?

        claudio” post=95536[code]mi viene in mente una battuta e se metti un bel virgola zero?

        @claudio: Ahahahah grazie claudio! L’avevo anche preso in considerazione, ma con numeri maggiori di 10^5 stonerebbero leggermente 5-6 zeri dopo la virgola. 😀

        Esiste un comando che modifichi solo l’allineamento dell’intestazione?

      • #95927
        Up
        0
        Down
        ::


        Hai provato l’opzione table-text-alignment?

      • #95928
        Up
        0
        Down
        ::


        Si ma come avevo scritto sopra:
        on le opzioni left e right allinea le scritte a destra e a sinistra ma rispetto l’intero spazio, mentre con l’opzione di default (center) torna ad allinear rispetto la virgola.

      • #95929
        Up
        0
        Down
        ::


        scusami avevo letto di fretta e pensavo avessi scritto table-number-alignment (che figuraccia 😀 )

        Con le tabelle che sto utilizzando io come esempio non riesco a vedere differenze sensibili tra un allineamento e l’altro…ti posso chiedere una tabella tipo in cui c’è una reale differenza tra tutte queste opzioni? 🙂

      • #95930
        Up
        0
        Down
        ::


        Con questa tabella,
        al variare delle impostazioni che abbiamo scritto sopra il risultato cambia sensibilmente.

        `
        \end{table}
        \begin{table}[]
        \caption{Valori calcolati per il metodo della curvatura nominale.}
        \label{tab:curvNom}
        \centering
        \begin{tabular}{cSSSSSSSS}
        \toprule
        Num & {$\rho_\mathrm{s}$} & {$k_\mathrm{c}$} & {$k_\mathrm{s}$} & {$(EI)_\mathrm{nom}$} & {$P_\mathrm{E}$} & {$N$} & {$\alpha$} & {$M$} \\
        & {(\si{\percent})} & & & {(\si{GPa})} & {(\si{N})} & {(\si{N})} & & {(\si{\kN \m})} \\
        & & & & {$\times 10^{12}$} & & & & \\
        \midrule
        7 & 1,51 & 0,15 & 0 & 9,07 & 2054 & 1229 & 0,598 & 39,7 \\
        8 & 1,51 & 0,15 & 0 & 9,07 & 2054 & 982 & 0,478 & 52,1 \\
        9 & 1,51 & 0,15 & 0 & 9,07 & 2054 & 751 & 0,366 & 47,9 \\
        10 & 2,68 & 0,068 & 1 & 4,78 & 1082 & 532 & 0,492 & 63,4 \\
        11 & 2,68 & 0,068 & 1 & 4,78 & 1082 & 320 & 0,296 & 46,6 \\
        12 & 1,51 & 0,15 & 0 & 2,87 & 650 & 114 & 0,175 & 38,8 \\
        \midrule
        19 & 1,51 & 0,15 & 0 & 9,07 & 2054 & 1749 & 0,851 & 131 \\
        20 & 1,51 & 0,15 & 0 & 9,07 & 2054 & 1410 & 0,686 & 120 \\
        24 & 1,51 & 0,15 & 0 & 9,07 & 2054 & 230 & 0,112 & 89,1 \\
        \midrule
        55 & 1,51 & 0,15 & 0 & 9,07 & 2054 & 1705 & 0,830 & 160 \\
        56 & 1,51 & 0,15 & 0 & 9,07 & 2054 & 1362 & 0,663 & 144 \\
        60 & 1,51 & 0,15 & 0 & 9,07 & 2054 & 186 & 0,090 & 92,3 \\
        \midrule
        80 & 1,51 & 0,15 & 0 & 9,07 & 2054 & 1112 & 0,541 & 62,6 \\
        81 & 1,51 & 0,15 & 0 & 9,07 & 2054 & 912 & 0,444 & 75,4 \\
        85 & 1,51 & 0,15 & 0 & 2,87 & 650 & 98,5 & 0,152 & 39,5 \\
        \bottomrule
        \end{tabular}
        \end{table}
        `

      • #95931
        Up
        0
        Down
        ::


        utilizzando il table-format è un pochetto più manuale la faccenda ma dovresti riuscire a sistemare le cose abbastanza bene

        sulla tua tabella prova qualcosa tipo
        `\begin{tabular}{cSS[table-format=1.3]SS[table-format=1.2]S[table-format=4]S[table-format=4.1]S[table-format=1.3]S}`

      • #95932
        Up
        0
        Down
        ::


        Grazie per l’aiuto, questo metodo per questa tabella funziona sicuramente bene.

        Purtroppo le tabelle che devo gestire sono troppe quindi lascio aperta questa discussione nella speranza che qualcuno conosca un metodo per automatizzare il processo.

        Grazie
        Marco

      • #95933
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Con il pacchetto array definisci un nuvo tipo di colonna con la definzione che ti ha dato Little. Poi, se la nuova clonna si chiama C, sostituisci tutte le colonne S che vuoi modificare con C.

        • #95934
          Up
          0
          Down
          ::

          OldClaudio” post=95553Con il pacchetto array definisci un nuvo tipo di colonna con la definzione che ti ha dato Little. Poi, se la nuova clonna si chiama C, sostituisci tutte le colonne S che vuoi modificare con C.

          Ma così facendo non assegnerei un valore fisso alla nuova colonna? per esempio se assegnassi alla colonna `[table-format=1.3]` tutte le colonne C avrebbero l’opzione con il valore 1.3

          Piuttosto che avere un valore fisso della colonna C, allora sarebbe meglio regolarlo di volta in volta la S[table-format=1.3], ma vorrei che si regolasse in automatico a seconda del tipo di dati che inserisco nella colonna. So che chiedo molto ma pensavo che con tra tutte le funzioni incluse siunitx ci fosse anche questa.

          Grazie
          Marco

        • #95935
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Leggendo la documentazione di array vedo che la definizione di un nuovo tio di colonna si può fare con un argomento; per esempio:`\newcolumntypeC[1]{S{table-format=#1}}`così che potresti continuare a specificare il valore 1.2 oppure i.3 o quel che ti pare. Non è l’automazione che cerchi, ma serve almeo per scrivere un po’ di meno nell’argomento degli specificatori di colonna.

            Non ho provato il codice che ti ho scritto sopra; l’ho solo messo insieme leggendo la documentazione e potrei benissimo avere frainteso; ma non costa niente provarlo.

          • #95936
            Up
            0
            Down
            ::


            Credo che rimarrò sulle colonne S con le relative opzioni.
            Grazie per gli aiuti

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

        Go to top