Definire la larghezza delle colonne in una tabella longtable

  • Creatore
    Topic
  • #66143
    Up
    0
    Down
    ::


    Ciao a tutti e grazie anticipatamente per l’aiuto!
    Sto scrivendo la tesi ed ho un problema con una tabella molto lunga e larga.. La tabella si sviluppa su più pagine perciò utilizzo longtable ma è comunque troppo larga! Vorrei restringere le colonne, ma non riesco 🙁 Ho provato a restringere la prima colonna con columnwidth e la colonna si restringe ma il testo della prima colonna sfora nella seconda 🙁 Come posso fare?
    Di seguito riporto il codice della mia tabella

    `
    \begin{longtable}{cll}
    % didascalia ed etichetta
    %\caption{Un esempio di tabella ripartita su più pagine.}
    %\label{tab:longtable} \\
    % intestazione iniziale
    \toprule
    \multicolumn{1}{c}{\textbf{Comando}} & \multicolumn{1}{c}{\textbf{Effetto}} & \multicolumn{1}{c}{\textbf{Origine}}\\
    \midrule
    \endfirsthead
    % intestazione normale
    \multicolumn{2}{l}{\footnotesize
    Continua dalla pagina precedente} \\
    \toprule
    \multicolumn{1}{c}{\textbf{Comando}} & \multicolumn{1}{c}{\textbf{Effetto}} & \multicolumn{1}{c}{\textbf{Origine}} \\
    \midrule
    \endhead
    % piede normale
    \midrule
    \multicolumn{2}{r}{\footnotesize
    Continua nella prossima pagina} \\
    \endfoot
    % piede finale
    \bottomrule
    \multicolumn{2}{r}{\footnotesize
    Si conclude dalla pagina precedente} \\
    \endlastfoot
    % corpo della tabella

    \multirow{6}*{Danno fisico} & Fuoco & A, D, E\\
    & Danni dovuti all'acqua & A, D, E\\
    & Inquinamento & A, D, E\\
    & MAJOR ACCIDENT & A, D, E\\
    & Distruzione di attrezzatura o MEDIA & A, D, E\\
    & Polvere, corrosione, congelamento & A, D, E\\
    \midrule
    \multirow{5}*{Eventi naturali} & Fenomeni climatici & E\\
    & Fenomeni sismici & E\\
    & Fenomeni vulcanici & E\\
    & Fenomeni metereologici & E\\
    & Alluvione & E\\
    \midrule
    \multirow{3}*{Perdita di servizi essenziali} & Guasto dell'aria condizionata o ??? & A, D\\
    & Interruzione del servizio elettrico? & A, D, E\\
    & Guasti nelle telecomunicazioni?? & A, D, E\\
    \midrule
    \multirow{3}*{Disturbi dovuti a radiazioni} & Radiazioni elettromagnetiche & A, D, E\\
    & Radiazioni termiche & A, D, E\\
    & impulsi elettromagnetici & A, D, E\\
    %\midrule
    %forzo ad andare a pagina nuova
    \pagebreak

    \multirow{5}*{Guasto tecnico} & Guasto delle attrezzature & A\\
    & Malfunzionamento delle attrezzature & A\\
    & Saturazione del sistema informativo & A, D\\
    & Malfunzionamento del software & A\\
    & Violazione di…..?? & A, D\\
    \midrule
    \multirow{11}*{Compromissione delle informazioni} & Intercettazione di segnali di interferenza compromettenti & D\\
    & Spionaggio a distanza & D\\
    & Intercettazioni & D\\
    & Furto di supporti(MEDIA) o documenti & D\\
    & Furto di attrezzature & D\\
    & Reperimento di mezzi riciclati o scartati?? & D\\
    & Rivelazione?? & A, D\\
    & Dati provenienti da fonti non attendibili & A, D\\
    & Manomissione tramite hardware & D\\
    & Manomissione tramite software & A, D\\
    & Rilevamento della posizione & D\\
    \midrule
    \multirow{5}*{Azioni non autorizzate} & Utilizzo non autorizzato delle attrezzature & D\\
    & Copia fraudolenta del software & D\\
    & Uso di software contraffatto o copiato & A, D\\
    & Corruzione dei dati/ delle informaizoni & D\\
    & ILLEGAL PROCESSING OF DATA & D\\
    \midrule
    \multirow{5}*{Compromissione di funzioni} & Errore nell'utilizzo & A\\
    & Abuso di diritti & A, D\\
    & FORGING OF RIGHTS & D\\
    & DENIAL OF ACTIONS & D\\
    & BRENCH OF PERSONNEL AVAILABILITY & A, D, E\\

    \end{longtable}
    `

    Grazie a tutti!!!

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


      Puoi usare questo trucco:
      `\documentclass[a4paper]{article}
      \usepackage{longtable,booktabs,amsmath,array,xparse}

      \NewDocumentCommand{\longentry}{s m}{%
      \IfBooleanTF{#1}
      {\smash{\dolongentry{#2}}}
      {\dolongentry{#2}}}
      \newcommand{\dolongentry}[1]{\begin{tabular}[t]{@{}l@{}}#1\end{tabular}}

      \begin{document}
      \begin{longtable}{ll>{\itshape}l}
      % didascalia ed etichetta
      %\caption{Un esempio di tabella ripartita su pi˘ pagine.}
      %\label{tab:longtable} \\
      % intestazione iniziale
      \toprule
      \multicolumn{1}{c}{\textbf{Comando}} &
      \multicolumn{1}{c}{\textbf{Effetto}} &
      \multicolumn{1}{c}{\textbf{Origine}}\\
      \midrule
      \endfirsthead
      % intestazione normale
      \multicolumn{3}{l}{\footnotesize
      Continua dalla pagina precedente} \\
      \toprule
      \multicolumn{1}{c}{\textbf{Comando}} &
      \multicolumn{1}{c}{\textbf{Effetto}} &
      \multicolumn{1}{c}{\textbf{Origine}} \\
      \midrule
      \endhead
      % piede normale
      \midrule
      \multicolumn{3}{r}{\footnotesize
      Continua nella prossima pagina} \\
      \endfoot
      % piede finale
      \bottomrule
      \multicolumn{3}{r}{\footnotesize
      Si conclude dalla pagina precedente} \\
      \endlastfoot
      % corpo della tabella

      Danno fisico
      & Fuoco & A, D, E\\
      & Danni dovuti all'acqua & A, D, E\\
      & Inquinamento & A, D, E\\
      & MAJOR ACCIDENT & A, D, E\\
      & Distruzione di attrezzatura o MEDIA & A, D, E\\
      & Polvere, corrosione, congelamento & A, D, E\\
      \midrule
      Eventi naturali
      & Fenomeni climatici & E\\
      & Fenomeni sismici & E\\
      & Fenomeni vulcanici & E\\
      & Fenomeni meteorologici & E\\
      & Alluvione & E\\
      \midrule
      \longentry*{Perdita di servizi\\ essenziali}
      & Guasto dell'aria condizionata o ??? & A, D\\
      & Interruzione del servizio elettrico? & A, D, E\\
      & Guasti nelle telecomunicazioni?? & A, D, E\\
      \midrule
      \longentry*{Disturbi dovuti\\ a radiazioni}
      & Radiazioni elettromagnetiche & A, D, E\\
      & Radiazioni termiche & A, D, E\\
      & impulsi elettromagnetici & A, D, E\\
      %\midrule
      %forzo ad andare a pagina nuova
      \pagebreak

      Guasto tecnico
      & Guasto delle attrezzature & A\\
      & Malfunzionamento delle attrezzature & A\\
      & Saturazione del sistema informativo & A, D\\
      & Malfunzionamento del software & A\\
      & Violazione di…..?? & A, D\\
      \midrule
      \longentry*{Compromissione delle\\ informazioni}
      & \longentry{Intercettazione di segnali\\ di interferenza compromettenti} & D\\
      & Spionaggio a distanza & D\\
      & Intercettazioni & D\\
      & Furto di supporti(MEDIA) o documenti & D\\
      & Furto di attrezzature & D\\
      & Reperimento di mezzi riciclati o scartati?? & D\\
      & Rivelazione?? & A, D\\
      & Dati provenienti da fonti non attendibili & A, D\\
      & Manomissione tramite hardware & D\\
      & Manomissione tramite software & A, D\\
      & Rilevamento della posizione & D\\
      \midrule
      Azioni non autorizzate
      & \longentry{Utilizzo non autorizzato\\ delle attrezzature} & D\\
      & Copia fraudolenta del software & D\\
      & Uso di software contraffatto o copiato & A, D\\
      & Corruzione dei dati/ delle informaizoni & D\\
      & ILLEGAL PROCESSING OF DATA & D\\
      \midrule
      \longentry*{Compromissione di\\ funzioni}
      & Errore nell'utilizzo & A\\
      & Abuso di diritti & A, D\\
      & FORGING OF RIGHTS & D\\
      & DENIAL OF ACTIONS & D\\
      & \longentry{BRENCH OF PERSONNEL\\ AVAILABILITY} & A, D, E\\
      \end{longtable}
      \end{document}`
      Il comando \longentry è in due specie: con l’asterisco fa in modo che la seconda riga non sia contata per la spaziatura verticale (per ciò che va nella prima colonna); senza asterisco per la seconda colonna.

      \multirow non serve a migliorare la tabella, anzi la peggiora.

      Occhio che è “meteorologico”, non “metereologico” come dicono sempre ai telegiornali. 🙁

      Ciao
      Enrico

    • #66145
      Up
      0
      Down
      ::


      Grazie mille!!!
      Fantastica!!!

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

Go to top