array, tabularx, longtable i tabulary w Scissor LaTeX
Pakiety array i tabularx oraz pokrewne działają w Scissor LaTeX częściowo: tabele tabularx, tabulary, longtable i xltabular składają się jak tabular, a długie komórki są zawijane, gdy tabela byłaby szersza niż wiersz; szerokości kolumn (p{3cm}, X, szerokość tabeli) i kod >{...}/<{...} są ignorowane, \newcolumntype jest nieznane, a nagłówki longtable się nie powtarzają.
Do czego służą pakiety
arraydodaje typy kolumn, takie jakm{width}ib{width}, kod przed każdą komórką i po niej za pomocą>{...}i<{...}oraz\newcolumntypedo własnych liter kolumn.tabularxdaje\begin{tabularx}{\textwidth}{lX}, gdzie kolumnyXrozciągają się tak, by tabela miała podaną szerokość.tabularyrobi to samo z kolumnamiL,C,R,J, które dzielą szerokość według zawartości.longtablepozwala tabeli przechodzić przez kilka stron, z powtarzanym nagłówkiem (\endhead).xltabularłączylongtableitabularx.
Co tu działa
| Funkcja | W Scissor LaTeX | Uwagi |
|---|---|---|
tabularx, tabulary, xltabular, longtable, tabular* | Częściowo | Składane jak tabular. Argument całkowitej szerokości jest ignorowany. |
Kolumny X, L, C, R, J | Częściowo | X i L są wyrównane do lewej, C wyśrodkowane, R wyrównane do prawej. |
p{3cm}, m{3cm}, b{3cm} | Częściowo | Wyrównane do lewej; szerokość jest ignorowana. |
| Długi tekst w komórce | Działa | Zawijany, gdy tabela byłaby inaczej szersza niż wiersz. |
>{\bfseries}l, r<{\%} | Pomijane | Kod przed komórkami i po nich jest ignorowany. |
\newcolumntype{C}{...} | Nieobsługiwane | Pomijane z uwagą na karcie Problemy, a jego definicja jest wypisywana jako tekst. Zamiast tego zapisz typ kolumny w pełnej postaci. |
\endhead, \endfirsthead, \endfoot, \endlastfoot | Pomijane | Długa tabela przechodzi na kolejne strony, ale jej nagłówek nie jest powtarzany. |
\tabularnewline | Działa | To samo co \\. |
\arraybackslash | Nieobsługiwane | Pomijane z uwagą na karcie Problemy; poza tym nieszkodliwe. |
Przykłady
Tabela tabularx z rozciągającą się kolumną. Długi tekst zawija się na krawędzi tekstu, tak jak w instalacji TeX:
tabularx z kolumną X
\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}longtable z wierszem nagłówka. Tabela się składa; w długim dokumencie nagłówek nie powtórzyłby się na następnej stronie:
longtable z \endhead
\begin{longtable}{lr}
\hline
Item & Count \\
\hline
\endhead
Pencils & 44 \\
Erasers & 12 \\
Rulers & 7 \\
\hline
\end{longtable}Kod w >{...} jest ignorowany, więc ta kolumna nie jest pogrubiona, a znaków procentu brakuje:
>{...} i <{...} są ignorowane
\begin{tabular}{>{\bfseries}l r<{\,\%}}
Growth & 44 \\
Share & 12 \\
\end{tabular}Zamiast tego wpisz formatowanie do komórek. Działa to tutaj i w instalacji TeX:
Formatowanie wpisane do komórek
\begin{tabular}{lr}
\textbf{Growth} & 44\,\% \\
\textbf{Share} & 12\,\% \\
\end{tabular}Zgodność
- Z instalacji TeX do Scissor LaTeX: tabele się składają i zachowują wyrównanie, ale nie szerokości kolumn. Szukaj własnych liter kolumn z
\newcolumntype. - Ze Scissor LaTeX do instalacji TeX: dokumenty kompilują się tam bez zmian, a szerokości są tam stosowane.
Pełne dokumentacje są dostępne w CTAN: ctan.org/pkg/array, ctan.org/pkg/tabularx, ctan.org/pkg/tabulary, ctan.org/pkg/longtable oraz ctan.org/pkg/xltabular. O tabelach ogólnie przeczytasz na stronie Tabele w LaTeX.
Zobacz też Tabele, multirow, booktabs oraz generator tabel LaTeX.
Pytania i odpowiedzi
Dlaczego moja kolumna p{3cm} nie ma szerokości 3 cm?
Szerokości kolumn nie są jeszcze stosowane. Długi tekst nadal zawija się na krawędzi tekstu, więc tabela mieści się na stronie.
Czy longtable przechodzi na kolejne strony?
Tak, długa tabela jest kontynuowana na następnej stronie, ale wiersze oznaczone \endhead nie są tam powtarzane.
Każdy przykład na tej stronie jest składany przez Scissor LaTeX podczas budowania witryny. Ostatnia aktualizacja: 2026-11-07.