Naar de inhoud

array, tabularx, longtable en tabulary in Scissor LaTeX

De pakketten array en tabularx en hun verwanten werken deels in Scissor LaTeX: tabellen met tabularx, tabulary, longtable en xltabular worden gezet als tabular, en lange cellen lopen door op een nieuwe regel als de tabel breder zou worden dan de regel; kolombreedtes (p{3cm}, X, de tabelbreedte) en code in >{...}/<{...} worden genegeerd, \newcolumntype is onbekend, en koppen van longtable worden niet herhaald.

Wat de pakketten doen

  • array voegt kolomtypen toe zoals m{width} en b{width}, code voor en na elke cel met >{...} en <{...}, en \newcolumntype voor je eigen kolomletters.
  • tabularx geeft \begin{tabularx}{\textwidth}{lX}, waarin X-kolommen uitrekken zodat de tabel de opgegeven breedte krijgt. tabulary doet hetzelfde met kolommen L, C, R en J die de breedte naar inhoud verdelen.
  • Met longtable kan een tabel over pagina's doorlopen, met een kop die herhaald wordt (\endhead). xltabular combineert longtable en tabularx.

Wat hier werkt

FunctieIn Scissor LaTeXOpmerkingen
tabularx, tabulary, xltabular, longtable, tabular*DeelsGezet als tabular. Het argument voor de totale breedte wordt genegeerd.
Kolommen X, L, C, R, JDeelsX en L zijn links uitgelijnd, C gecentreerd, R rechts uitgelijnd.
p{3cm}, m{3cm}, b{3cm}DeelsLinks uitgelijnd; de breedte wordt genegeerd.
Lange celtekstWerktLoopt door op een nieuwe regel als de tabel anders breder zou worden dan de regel.
>{\bfseries}l, r<{\%}WeggelatenDe code voor en na cellen wordt genegeerd.
\newcolumntype{C}{...}Niet ondersteundOvergeslagen met een melding in Problemen, en de definitie wordt als tekst afgedrukt. Schrijf het kolomtype in plaats daarvan uit.
\endhead, \endfirsthead, \endfoot, \endlastfootWeggelatenEen lange tabel loopt over pagina's door, maar de kop wordt niet herhaald.
\tabularnewlineWerktHetzelfde als \\.
\arraybackslashNiet ondersteundOvergeslagen met een melding in Problemen; verder onschadelijk.

Voorbeelden

Een tabel met tabularx en een kolom die uitrekt. De lange tekst loopt door aan de rand van de tekst, zoals in een TeX-installatie:

tabularx met een X-kolom

LaTeXPreambule: \usepackage{tabularx}Openen in de editor (opent in een nieuw tabblad)
\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}
Gezet door Scissor LaTeX: tabularx met een X-kolom

Een longtable met een koprij. De tabel wordt gezet; in een lang document zou de kop op de volgende pagina niet herhaald worden:

longtable met \endhead

LaTeXPreambule: \usepackage{longtable}Openen in de editor (opent in een nieuw tabblad)
\begin{longtable}{lr}
\hline
Item & Count \\
\hline
\endhead
Pencils & 44 \\
Erasers & 12 \\
Rulers  & 7 \\
\hline
\end{longtable}

Code in >{...} wordt genegeerd, dus deze kolom is niet vet en de procenttekens ontbreken:

>{...} en <{...} worden genegeerd

LaTeXPreambule: \usepackage{array}Openen in de editor (opent in een nieuw tabblad)
\begin{tabular}{>{\bfseries}l r<{\,\%}}
Growth & 44 \\
Share  & 12 \\
\end{tabular}

Schrijf de opmaak in plaats daarvan in de cellen. Dat werkt hier en in een TeX-installatie:

Opmaak in de cellen geschreven

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

Compatibiliteit

  • Van een TeX-installatie naar hier: tabellen worden gezet en houden hun uitlijning, maar niet hun kolombreedtes. Let op eigen kolomletters uit \newcolumntype.
  • Van hier naar een TeX-installatie: documenten compileren daar ongewijzigd, en daar worden breedtes wel toegepast.

De volledige handleidingen staan op CTAN: ctan.org/pkg/array, ctan.org/pkg/tabularx, ctan.org/pkg/tabulary, ctan.org/pkg/longtable en ctan.org/pkg/xltabular. Voor tabellen in het algemeen, zie Tabellen in LaTeX.

Zie ook Tabellen, multirow, booktabs en de LaTeX-tabelgenerator.

Vragen en antwoorden

Waarom is mijn kolom p{3cm} geen 3 cm breed?

Kolombreedtes worden nog niet toegepast. Lange tekst loopt wel door aan de rand van de tekst, dus de tabel blijft op de pagina.

Loopt longtable door over pagina's?

Ja, een lange tabel gaat verder op de volgende pagina, maar de rijen die met \endhead zijn gemarkeerd, worden daar niet herhaald.

Elk voorbeeld op deze pagina wordt door Scissor LaTeX gezet wanneer de site wordt gebouwd. Laatst bijgewerkt op 2026-11-07.