[RISOLTO] Problema nel centraggio con longtable

  • Creatore
    Topic
  • #98499
    Up
    0
    Down
    ::


    Ciao a tutti,
    ho delle tabelle molto lunghe che non posso spezzare e devo dunque usare il comando longtable. Però vorrei che la tabella risultante fosse centrata nella pagina, cosa che invece non succede! Come si fa?

    Uso TOPTESI e questa è la tabella

    `\begin{centering}
    \begin{longtable}{l c c}
    \label{tab:moduli} \\
    \multicolumn{3}{c}{\textbf{Rotture meccaniche per guasti statici}} \\ \hline
    \endfirsthead
    \multicolumn{3}{r}{\footnotesize\itshape
    Continua dalla pagina precedente} \\ \\
    \endhead
    \multicolumn{3}{r}{\footnotesize\itshape
    Continua nella prossima pagina} \\ \\
    \endfoot
    \\
    \endlastfoot

    \multirow{3}{*}{Dilatazioni termiche} & No & 0 \\
    & Basse & 1 \\
    & Alte & 2 \\ \hline

    \multirow{4}{*}{Movimento fra parti} & No & 0 \\
    & Rotolamento & 1 \\
    & Mix & 2 \\
    & Strisciamento & 3 \\ \hline
    \multirow{3}{*}{Forze o coppie scambiate} & Basse ($<$ 200 N) & 1 \\ & Medie ($<$ 2000 N) & 2 \\ & Alte ($>$ 2000 N) & 3 \\

    \multicolumn{3}{c}{\textbf{Rotture meccaniche per guasti dinamici}} \\ \hline
    \multirow{3}{*}{Velocità di rotazione} & No & 0 \\
    & Bassa ($10^3 \ rpm$) & 1 \\
    & Alta ($10^4 \ rpm$) & 2 \\ \hline

    \multirow{2}{*}{Masse eccentriche} & No & 0 \\
    & Si & 3 \\ \hline

    \multirow{3}{*}{Momenti d'inerzia} & No & 0 \\
    & Bassi & 1 \\
    & Alti & 2 \\ \hline

    \multirow{3}{*}{Temperatura} & Bassa ($<100^{\circ}C$) & 1 \\
    & Media ($<300^{\circ}C$) & 2 \\
    & Alta ($>300^{\circ}C$) & 3 \\

    \multicolumn{3}{c}{\textbf{Potenze elettriche}} \\ \hline
    \multirow{3}{*}{Dispositivi elettrici} & No & 0 \\
    & Solo linee & 1 \\
    & Macchine elettriche & 2 \\ \hline

    \multirow{3}{*}{Potenze} & No & 0 \\
    & Basse (segnale) & 1 \\
    & Alte (potenza) & 2 \\ \hline

    \multirow{3}{*}{Tipo di corrente} & No & 0 \\
    & AC & 1 \\
    & DC & 2 \\

    \multicolumn{3}{c}{\textbf{Fluidi incendiabili ed esplosivi}} \\ \hline
    \multirow{4}{*}{Livello di infiammabilità} & No & 0 \\
    & Basso & 1 \\
    & Alto & 2 \\
    & Esplosivo & 4 \\ \hline

    \multirow{3}{*}{Quantità} & No & 0 \\
    & Bassa (linee) & 1 \\
    & Alta (serbatoi) & 2 \\

    \multicolumn{3}{c}{\textbf{Fluidi corrosivi}} \\ \hline
    \multirow{3}{*}{Livello corrosivo} & No & 0 \\
    & Basso & 1 \\
    & Alto & 2 \\ \hline

    \multirow{3}{*}{Quantità} & No & 0 \\
    & Bassa (linee) & 1 \\
    & Alta (serbatoi) & 2 \\

    \multicolumn{3}{c}{\textbf{Fluidi in pressione}} \\ \hline
    \multirow{3}{*}{Pressione} & No & 0 \\
    & Bassa & 1 \\
    & Alta & 2 \\ \hline

    \multirow{3}{*}{Quantità} & No & 0 \\
    & Bassa (linee) & 1 \\
    & Alta (serbatoi) & 2 \\

    \caption{Punteggi di rischio di modulo} \\
    \end{longtable}
    \end{centering}
    `

    grazie mille a tutti!

Visualizzazione 3 filoni di risposte
  • Autore
    Risposte
    • #98500
      robitex
      Amministratore del forum
        Up
        0
        Down
        ::


        Ciao,
        puoi dare l’opzione [c] all’ambiente longtable come recita la documentazione el pacchetto che puoi aprire all’istante digitando il comando da console texdoc longtable, così:
        `\begin{longtable}[c]{lcc}`

        La tabella andrebbe rivista un po’ a mio avviso. Almeno considera di mutare l’allineamento della seconda colonna da c a r.
        Anche la spaziatura verticale tra i ‘settori’ della tabella potrebbe essere migliroata aggiungendo spazio manualmente (basta mettere alle righe interessate un \\[2ex] invece che un semplice \\ (2ex è solo uno spazio a caso che puoi regolare)).
        Inoltre dovresti passare all’uso dei filetti ‘booktabs’.
        Per farlo, caricato il pacchetto booktabs nel preambolo devi sosituire le occorrenze di \hline con \toprule, midrule e bottomrule a seconda della posizione riga. Con questo milgiori la spaziatura verticale.
        Happy TeXing!!!
        R.

      • #98501
        Up
        0
        Down
        ::


        grazie mille! sia per avermi risolto il problema che per i consigli!

      • #98502
        robitex
        Amministratore del forum
          Up
          0
          Down
          ::

          luckyluke” post=98053grazie mille! sia per avermi risolto il problema che per i consigli!

          Altro cosa: le grandezze fisiche andrebbero composte con il pacchetto siunitx: quel grado centigrado che hai usato tu è un po’ brutto.
          Usa:
          `% nel preambolo
          \usepackage[output-decimal-marker={,}]{siunitx}

          % nel documento:
          fa freddo, siamo a \SI{-8}{\celsius}
          `
          R.

        • #98503
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Aggiungo: se avessi letto al documentazione di TOPtesi sapresti che è già previsot un comandp per comporre i gadi centigradi correttamaante. (atri un terminale e scirvici dentro texdoc toptesi-it [se hai una versione precedente al 5.80 invece di -it scrivi -doc], [pi premi il tatso invio e leggi). Siccome @robitex ti ha suggerito di usare il pacchetto siunitx, a maggior ragione leggi la documentazione di TOPtesi per evitare che questa classe e il pacchetto siunitx vadano in conflitto.

            Invece, per favore, non usare rpm per indicare le revolutions per minute, che non soddisfa nessuna norma ma rispetta solo le regole dalla lingua inglese. Scrivi esplicitamente giri/min e si a posto anche con le norme SI, facendoto capire in italiano senza problema alcunno. Naturalmente che misura al velocità in giri al minuto è solitamente abituato agli “rpm”, quindi non ha difficoltà a capire, come per altro costor generalamante sia parlando si, talvolta scrivendo, dicono/scrvono “giri” senza specificare al ripartizione nel tempo.

            Se usi TOPtesi sei tenuto ad essere preciso nel modo di esprimerti 😉

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

        Go to top