Vai al contenuto

array, tabularx, longtable e tabulary in Scissor LaTeX

I pacchetti array e tabularx e i loro affini funzionano in parte in Scissor LaTeX: le tabelle tabularx, tabulary, longtable e xltabular vengono composte come tabular, e le celle lunghe vanno a capo quando la tabella sarebbe più larga della riga; le larghezze delle colonne (p{3cm}, X, la larghezza della tabella) e il codice >{...}/<{...} vengono ignorati, \newcolumntype è sconosciuto e le intestazioni di longtable non si ripetono.

Cosa fanno i pacchetti

  • array aggiunge tipi di colonna come m{width} e b{width}, codice prima e dopo ogni cella con >{...} e <{...}, e \newcolumntype per le tue lettere di colonna.
  • tabularx offre \begin{tabularx}{\textwidth}{lX}, dove le colonne X si allargano perché la tabella abbia la larghezza indicata. tabulary fa lo stesso con colonne L, C, R, J che si dividono la larghezza in base al contenuto.
  • longtable permette a una tabella di spezzarsi su più pagine, con un’intestazione che si ripete (\endhead). xltabular combina longtable e tabularx.

Cosa funziona qui

FunzioneIn Scissor LaTeXNote
tabularx, tabulary, xltabular, longtable, tabular*In parteComposte come tabular. L’argomento della larghezza totale viene ignorato.
Colonne X, L, C, R, JIn parteX e L sono allineate a sinistra, C centrata, R allineata a destra.
p{3cm}, m{3cm}, b{3cm}In parteAllineate a sinistra; la larghezza viene ignorata.
Testo lungo nelle celleFunzionaVa a capo quando la tabella sarebbe altrimenti più larga della riga.
>{\bfseries}l, r<{\%}TralasciatoIl codice prima e dopo le celle viene ignorato.
\newcolumntype{C}{...}Non supportatoSaltato con una nota in Problemi, e la sua definizione viene stampata come testo. Scrivi invece il tipo di colonna per esteso.
\endhead, \endfirsthead, \endfoot, \endlastfootTralasciatoUna tabella lunga si spezza su più pagine, ma la sua intestazione non viene ripetuta.
\tabularnewlineFunzionaUguale a \\.
\arraybackslashNon supportatoSaltato con una nota in Problemi; per il resto innocuo.

Esempi

Una tabella tabularx con una colonna che si allarga. Il testo lungo va a capo al margine del testo, come farebbe in un’installazione TeX:

tabularx con una colonna X

LaTeXPreambolo: \usepackage{tabularx}Apri nell'editor (si apre in una nuova scheda)
\begin{tabularx}{\textwidth}{lX}
\hline
Name & Notes \\
\hline
Erika Mustermann & Leads the project, writes the reports and checks
  every one of the 44 measurements twice before they are published. \\
John Doe & Builds the test setup. \\
\hline
\end{tabularx}
Composto da Scissor LaTeX: tabularx con una colonna X

Una longtable con una riga di intestazione. La tabella viene composta; in un documento lungo l’intestazione non si ripeterebbe nella pagina successiva:

longtable con \endhead

LaTeXPreambolo: \usepackage{longtable}Apri nell'editor (si apre in una nuova scheda)
\begin{longtable}{lr}
\hline
Item & Count \\
\hline
\endhead
Pencils & 44 \\
Erasers & 12 \\
Rulers  & 7 \\
\hline
\end{longtable}

Il codice in >{...} viene ignorato, quindi questa colonna non è in grassetto e i segni di percentuale mancano:

>{...} e <{...} vengono ignorati

LaTeXPreambolo: \usepackage{array}Apri nell'editor (si apre in una nuova scheda)
\begin{tabular}{>{\bfseries}l r<{\,\%}}
Growth & 44 \\
Share  & 12 \\
\end{tabular}

Scrivi invece la formattazione nelle celle. Funziona qui e in un’installazione TeX:

Formattazione scritta nelle celle

\begin{tabular}{lr}
\textbf{Growth} & 44\,\% \\
\textbf{Share}  & 12\,\% \\
\end{tabular}

Compatibilità

  • Da un’installazione TeX a qui: le tabelle vengono composte e mantengono il loro allineamento, ma non le larghezze delle colonne. Controlla le lettere di colonna personalizzate definite con \newcolumntype.
  • Da qui a un’installazione TeX: i documenti si compilano lì senza modifiche, e lì le larghezze vengono applicate.

I manuali completi sono su CTAN: ctan.org/pkg/array, ctan.org/pkg/tabularx, ctan.org/pkg/tabulary, ctan.org/pkg/longtable e ctan.org/pkg/xltabular. Per le tabelle in generale, vedi Tabelle in LaTeX.

Vedi anche Tabelle, multirow, booktabs e il generatore di tabelle LaTeX.

Domande e risposte

Perché la mia colonna p{3cm} non è larga 3 cm?

Le larghezze delle colonne non vengono ancora applicate. Il testo lungo va comunque a capo al margine del testo, quindi la tabella resta nella pagina.

longtable si spezza su più pagine?

Sì, una tabella lunga continua nella pagina successiva, ma le righe contrassegnate con \endhead non vi vengono ripetute.

Ogni esempio di questa pagina viene composto da Scissor LaTeX quando il sito viene generato. Ultimo aggiornamento: 2026-11-07.