Re: Errori nel compilare una longtable

#55350
Up
0
Down
::


Risolto il problema, ne pongo un altro.

Caricare o meno booktabs (per avere i filetti ben composti) influenza la scrittura dei “preliminari” nel codice di una longtable. In particolare:

1. caricandolo, bisogna sempre mettere \\ tra intestazioni/piedi e i comandi specifici che li terminano (\endfirsthead, \endhead, \endfoot e \endlastfoot);

2. non caricandolo, i vari \\ si possono omettere tranne che dopo un’intestazione normale strutturata come nel nostro esempio; oppure si possono anche lasciare dappertutto, che male non fanno;

3. sembra che dopo \caption (o \label) \\ ci vada in ogni caso;

4. è vero anche che booktabs non è obbligatorio in una longtable, ma lo si potrebbe voler caricare almeno per uniformità con le rimanenti tabelle del documento;

5. inutile arroccarsi su certe posizioni: anche i detrattori più sfegatati hanno dovuto mettere una tabella lunga almeno una volta nella vita. 😉

Detto questo, dovendo proporre il codice di una long table completo di ogni sua parte in modo che chi non vuole booktabs possa semplicemente commentare la riga di chiamata del pacchetto e i comandi dei filetti, proporremmo il codice seguente (scelte di codifica a parte):

`% !TEX encoding = UTF-8 Unicode
% !TEX TS-program = pdflatex

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}

\usepackage{longtable}
\usepackage{booktabs}

\begin{document}
\begin{longtable}{ll}

% didascalia ed etichetta
\caption{Un esempio di tabella ripartita su più pagine.}
\label{tab:longtable} \\

% intestazione iniziale
\toprule
Comando & Effetto \\
\midrule
\endfirsthead

% intestazione normale
\multicolumn{2}{l}{\footnotesize\itshape\tablename~\thetable:
continua dalla pagina precedente} \\
\toprule
Comando & Effetto \\
\midrule
\endhead

% piede normale
%\midrule
\multicolumn{2}{r}{\footnotesize\itshape\tablename~\thetable:
continua nella prossima pagina} \\
\endfoot

% piede finale
%\bottomrule
\multicolumn{2}{r}{\footnotesize\itshape\tablename~\thetable:
si conclude dalla pagina precedente} \\
\endlastfoot

% corpo della tabella
a & a \\
a & a \\
a & a \\
a & a \\
a & a \\
a & a \\
a & a \\
a & a \\
a & a \\
a & a \\
a & a \\
a & a \\
a & a \\
a & a \\
a & a \\
a & a \\
b & b \\
b & b \\
b & b \\
b & b \\
b & b \\
b & b \\
b & b \\
b & b \\
b & b \\
b & b \\
b & b \\
b & b \\
b & b \\
c & c \\
c & c \\
c & c \\
c & c \\
c & c \\
c & c \\
c & c \\
c & c \\
\end{longtable}
\end{document}`

Che dite? Dove sbagliamo?

Ciao
Tommaso

Go to top