[RISOLTO] Ridurre spazio colonne longtable

  • Creatore
    Topic
  • #85063
    Up
    0
    Down
    ::


    Buona sera a tutti!
    Dove sbaglio?
    Sto usando come classe del documento book!

    `
    \usepackage{booktabs} % Stile della tabella
    \newcommand{\ra}[1]{\renewcommand{\arraystretch}{#1}} % per ottenere più spazio tra le righe
    %\renewcommand{\arraystretch}{1.2}
    \usepackage{longtable}

    \usepackage{lscape,booktabs}
    \usepackage{multirow}
    \usepackage{array}

    \begin{longtable}{p{2ex}@{}c@{}c@{}c@{}p{35ex}}
    \toprule
    \multicolumn{1}{p{2ex}}{{N\textsuperscript{\underline{o}}}}&\multicolumn{1}{c}{Name} &\multicolumn{1}{c}{Type} &\multicolumn{1}{c}{Power} &\multicolumn{1}{p{35ex}}{Energy} \\
    \midrule
    \endfirsthead
    \multicolumn{2}{p{35ex}}{\footnotesize\itshape\tablename~\thetable: Continues from previous page} \\
    \toprule
    \multicolumn{1}{p{2ex}}{{N\textsuperscript{\underline{o}}}}&\multicolumn{1}{c}{Name} &\multicolumn{1}{c}{Type} &\multicolumn{1}{c}{Power} &\multicolumn{1}{p{35ex}}{Energy} \\
    \midrule
    \endhead
    \midrule
    \multicolumn{2}{p{35ex}}{\footnotesize\itshape\tablename~\thetable: Continues on next page} \\
    \endfoot
    % piede finale
    \bottomrule
    \multicolumn{2}{p{35ex}}{\footnotesize\itshape\tablename~\thetable: Ends from the previous page} \\
    \endlastfoot
    1 & \textbf{A} & String & Yes & Void. \\
    \midrule
    2 &\textbf{B} & String & Yes & Void. \\
    \bottomrule
    \caption{Navigation}
    \end{longtable}
    `

    Grazie in anticipo! 🙂

Visualizzazione 10 filoni di risposte
  • Autore
    Risposte
    • #85064
      Up
      0
      Down
      ::

      GiuGiu” post=84444Buona sera a tutti!
      Dove sbaglio?
      Sto usando come classe del documento book!

      `
      \usepackage{booktabs} % Stile della tabella
      \newcommand{\ra}[1]{\renewcommand{\arraystretch}{#1}} % per ottenere più spazio tra le righe
      %\renewcommand{\arraystretch}{1.2}
      \usepackage{longtable}

      \usepackage{lscape,booktabs}
      \usepackage{multirow}
      \usepackage{array}

      \begin{longtable}{p{2ex}@{}c@{}c@{}c@{}p{35ex}}
      \toprule
      \multicolumn{1}{p{2ex}}{{N\textsuperscript{\underline{o}}}}&\multicolumn{1}{c}{Name} &\multicolumn{1}{c}{Type} &\multicolumn{1}{c}{Power} &\multicolumn{1}{p{35ex}}{Energy} \\
      \midrule
      \endfirsthead
      \multicolumn{2}{p{35ex}}{\footnotesize\itshape\tablename~\thetable: Continues from previous page} \\
      \toprule
      \multicolumn{1}{p{2ex}}{{N\textsuperscript{\underline{o}}}}&\multicolumn{1}{c}{Name} &\multicolumn{1}{c}{Type} &\multicolumn{1}{c}{Power} &\multicolumn{1}{p{35ex}}{Energy} \\
      \midrule
      \endhead
      \midrule
      \multicolumn{2}{p{35ex}}{\footnotesize\itshape\tablename~\thetable: Continues on next page} \\
      \endfoot
      % piede finale
      \bottomrule
      \multicolumn{2}{p{35ex}}{\footnotesize\itshape\tablename~\thetable: Ends from the previous page} \\
      \endlastfoot
      1 & \textbf{A} & String & Yes & Void. \\
      \midrule
      2 &\textbf{B} & String & Yes & Void. \\
      \bottomrule
      \caption{Navigation}
      \end{longtable}
      `

      Grazie in anticipo! 🙂

      Non capisco quei 2ex o 35ex: che vorresti fare? L’errore principale è quello di usare [tt]\multicolumn{2}[/tt] per le righe “continues”: usa tutte le colonne.

      Prova così:
      `\documentclass{article}
      \usepackage{booktabs} % Stile della tabella
      \usepackage{longtable}

      \begin{document}
      \begin{longtable}{rcccc}
      \toprule
      \multicolumn{1}{c}{N\textsuperscript{\underline{o}}} & Name & Type & Power & Energy \\
      \midrule
      \endfirsthead
      \multicolumn{5}{l}{\footnotesize\itshape\tablename~\thetable: Continues from previous page} \\
      \toprule
      \multicolumn{1}{c}{N\textsuperscript{\underline{o}}} & Name & Type & Power & Energy \\
      \midrule
      \endhead
      \midrule
      \multicolumn{5}{l}{\footnotesize\itshape\tablename~\thetable: Continues on next page} \\
      \endfoot
      % piede finale
      \bottomrule
      \multicolumn{5}{l}{\footnotesize\itshape\tablename~\thetable: Ends from the previous page} \\
      \endlastfoot
      1 & \textbf{A} & String & Yes & Void. \\
      \midrule
      2 &\textbf{B} & String & Yes & Void. \\
      \midrule
      \caption{Navigation}
      \end{longtable}
      \end{document}`
      Ciao
      Enrico

    • #85065
      Up
      0
      Down
      ::


      Ciao Enrico!
      Grazie mille per la risposta! Con quei comandi stavo cercando di limitare le dimensioni della tabella.
      Ti mostro un’immagine della tabella che spero sia più esplicativa!
      Mi scuso per il pietoso tentativo di censura!
      Grazie ancora

      Giulia
      [attachment=677]Schermata04-2456403alle13.17.45-Versione2.jpg[/attachment]

      Attachments:
      You must be logged in to view attached files.
    • #85066
      Up
      0
      Down
      ::

      GiuGiu” post=84520Ciao Enrico!
      Grazie mille per la risposta! Con quei comandi stavo cercando di limitare le dimensioni della tabella.
      Ti mostro un’immagine della tabella che spero sia più esplicativa!
      Mi scuso per il pietoso tentativo di censura!

      E dove ti serve usare una colonna di tipo [tt]p[/tt]? Non mi pare di vedere la necessità.

      Ciao
      Enrico

    • #85067
      Up
      0
      Down
      ::


      La prima colonna la delimitavo per ridurne senza successo la dimensione, l’ultima invece perchè altrimenti la tabella esce dal foglio!!!
      Quello che vorrei fare è ridurre lo spazio tra le colonne in modo da ingrandire la larghezza dell’ultima colonna che è quella più importante e ricca di contenuti.

    • #85068
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        No, quella immagine censurata mostra solo la prima paginata; se la prima o la seocnda colonna viene così larghe, è perché nelle paginate successiva c’è qualcosa di veramente grosso; propendo per la seconda colonna; nel qual caso sarebbe meglio mettere un p{…} proprio nella seconda colonna.

        Tieni presente che longtable cerca di rendere la larghezza delle colonne uguale in tutte le pagine Tiene conto anche delle celle a larghezza fissa impostate dai multicolumn e dai loro argomenti. Richiede diverse compilaioni prima di raggiungere la larghezza giusta, mi è successo di dover compilare 5 volte prima di avere le larghezza stabilmente rese uguali.

        Ma quando vuoi modificare una tabella, non togliere le spaziature intercolonna, con [tt]@{}[/tt]; inve, magari cerca di ridefinire la mezza spaziatura intercolonna [\tabcolsep[/tt] che per impostazione predefinita vale 6pt; riduci questo valore. Poi esamina i contenuti di tutte le celle di tutte le paginate e scegli il tipo di colonna in base a quanto soddisfa al meglio i contenuti più semplici da quelli più complessi.

        Enrico ha ragione a dire che non vede la necessità di colonne di tipo p; guardando la paginata che esponi, sembrerebbe del tutto eccessiva una impostazione di quel tipo, ma potrebbe evidenziare la necessità guardano il contenuto dell’intera tabella. Certo se il tuo contenuto è così “restricted”, non dico niente; ma solo tu puoi giudicare esaminato tutti i monconi di tabella contunti nelle successive pagine.

      • #85069
        Up
        0
        Down
        ::

        GiuGiu” post=84523La prima colonna la delimitavo per ridurne senza successo la dimensione, l’ultima invece perchè altrimenti la tabella esce dal foglio!!!
        Quello che vorrei fare è ridurre lo spazio tra le colonne in modo da ingrandire la larghezza dell’ultima colonna che è quella più importante e ricca di contenuti.

        Ti ho già spiegato l’errore: per l’annotazione in calce alla tabella devi usare [tt]\multicolumn{5}{l}{…}[/tt] non [tt]\multicolumn{2}[/tt]. Se l’ultima colonna contiene immagini si aggiusterà da sola.

        Ciao
        Enrico

      • #85070
        Up
        0
        Down
        ::


        Grazie mille ad entrambi sono riuscita a risolvere il mio problema 😀
        Solo un ultimo consiglio: ci sono numerose righe della tabella identiche (o quasi, cambia solo il campo di una colonna che aumenta progressivamente), ho trovato questo espediente dei \vdotd per non essere ripetitiva, ma è bruttissima! 🙄
        Inoltre p{} allinea il testo a sinistra, non c’è un modo per combinare p{} e c? Ancora grazie!

        [attachment=678]Schermata04-2456403alle16.55.17.png[/attachment]

        Attachments:
        You must be logged in to view attached files.
      • #85071
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          1) nelle tabelle non si usano mai le virgolette per ripetere il contenuto della cella immediatamente superiore; ne estrapolo il fatto di non usare i tre puntini veritcali.

          Per avere un colonna P{} col contenuto centrato basta usare il pacchetto array leggendone la documentazione. Se ben ricordo questo problema è esposto anche nell’Arte. Quinid per favore non chiedere cose che sono già nella documentazione di base (L’Arte di scrivere con LaTeX) o nella documentazione che hai già a bordo del tuo calcolatore, senza bisogno di cercare in rete.
          D’altra parte non pensi che sarebbe umiliante una risposta del tipo “nell’Arte leggi il §6.3.8 con l’esempio particolare esposto nella tabella 41”?

        • #85072
          Up
          0
          Down
          ::


          Grazie e scusa, hai pienamente ragione, vado subito a consultare l’Arte!
          Quindi mi consigli di inserire 12 righe uguali invece dei puntini?

        • #85073
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Sì; d’altra parte con il copia e incolla è una questione ancora più rapida che non mettere virgolette o “ellissi” verticali.

          • #85074
            Up
            0
            Down
            ::


            Ok! Io avrei voluto ometterle per non occupare troppo spazio per informazioni superflue, ma seguo il tuo consiglio 🙂
            Grazie ancora e buona serata!

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

        Go to top