Langkau ke kandungan

array, tabularx, longtable dan tabulary dalam Scissor LaTeX

Pakej array dan tabularx serta pakej berkaitannya berfungsi sebahagiannya dalam Scissor LaTeX: jadual tabularx, tabulary, longtable dan xltabular diatur huruf seperti tabular, dan sel panjang dibalut apabila jadual akan menjadi lebih lebar daripada baris; lebar lajur (p{3cm}, X, lebar jadual) dan kod >{...}/<{...} diabaikan, \newcolumntype tidak dikenali, dan pengepala longtable tidak berulang.

Apa yang dilakukan oleh pakej ini

  • array menambah jenis lajur seperti m{width} dan b{width}, kod sebelum dan selepas setiap sel dengan >{...} dan <{...}, serta \newcolumntype untuk huruf lajur anda sendiri.
  • tabularx memberikan \begin{tabularx}{\textwidth}{lX}, di mana lajur X meregang supaya jadual mempunyai lebar yang diberikan. tabulary melakukan perkara yang sama dengan lajur L, C, R, J yang berkongsi lebar mengikut kandungan.
  • longtable membolehkan jadual dipecahkan merentasi halaman, dengan pengepala yang berulang (\endhead). xltabular menggabungkan longtable dan tabularx.

Apa yang berfungsi di sini

CiriDalam Scissor LaTeXCatatan
tabularx, tabulary, xltabular, longtable, tabular*SebahagianDiatur huruf seperti tabular. Argumen lebar keseluruhan diabaikan.
Lajur X, L, C, R, JSebahagianX dan L dijajarkan ke kiri, C di tengah, R dijajarkan ke kanan.
p{3cm}, m{3cm}, b{3cm}SebahagianDijajarkan ke kiri; lebarnya diabaikan.
Teks sel yang panjangBerfungsiDibalut apabila jadual sebaliknya akan menjadi lebih lebar daripada baris.
>{\bfseries}l, r<{\%}DiabaikanKod sebelum dan selepas sel diabaikan.
\newcolumntype{C}{...}Tidak disokongDilangkau dengan nota dalam tab Masalah, dan takrifnya dicetak sebagai teks. Sebaliknya, tulis jenis lajur itu sepenuhnya.
\endhead, \endfirsthead, \endfoot, \endlastfootDiabaikanJadual panjang dipecahkan merentasi halaman, tetapi pengepalanya tidak berulang.
\tabularnewlineBerfungsiSama seperti \\.
\arraybackslashTidak disokongDilangkau dengan nota dalam tab Masalah; selain itu tidak memudaratkan.

Contoh

Jadual tabularx dengan lajur yang meregang. Teks panjang dibalut di tepi teks, seperti dalam pemasangan TeX:

tabularx dengan lajur X

LaTeXMukadimah: \usepackage{tabularx}Buka dalam editor (dibuka dalam tab baharu)
\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}
Disusun atur oleh Scissor LaTeX: tabularx dengan lajur X

longtable dengan baris pengepala. Jadual diatur huruf; dalam dokumen panjang pengepala tidak akan berulang pada halaman seterusnya:

longtable dengan \endhead

LaTeXMukadimah: \usepackage{longtable}Buka dalam editor (dibuka dalam tab baharu)
\begin{longtable}{lr}
\hline
Item & Count \\
\hline
\endhead
Pencils & 44 \\
Erasers & 12 \\
Rulers  & 7 \\
\hline
\end{longtable}

Kod dalam >{...} diabaikan, jadi lajur ini tidak tebal dan tanda peratus tiada:

>{...} dan <{...} diabaikan

LaTeXMukadimah: \usepackage{array}Buka dalam editor (dibuka dalam tab baharu)
\begin{tabular}{>{\bfseries}l r<{\,\%}}
Growth & 44 \\
Share  & 12 \\
\end{tabular}

Sebaliknya, tulis pemformatan ke dalam sel. Ini berfungsi di sini dan dalam pemasangan TeX:

Pemformatan ditulis ke dalam sel

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

Keserasian

  • Dari pemasangan TeX ke sini: jadual diatur huruf dan mengekalkan penjajarannya, tetapi tidak lebar lajurnya. Cari huruf lajur tersuai daripada \newcolumntype.
  • Dari sini ke pemasangan TeX: dokumen dikompil di sana tanpa perubahan, dan lebar digunakan di sana.

Manual penuh terdapat di CTAN: ctan.org/pkg/array, ctan.org/pkg/tabularx, ctan.org/pkg/tabulary, ctan.org/pkg/longtable dan ctan.org/pkg/xltabular. Untuk jadual secara umum, lihat Jadual dalam LaTeX.

Lihat juga Jadual, multirow, booktabs dan penjana jadual LaTeX.

Soalan dan jawapan

Mengapa lajur p{3cm} saya tidak selebar 3 cm?

Lebar lajur belum digunakan. Teks panjang tetap dibalut di tepi teks, jadi jadual kekal di dalam halaman.

Adakah longtable dipecahkan merentasi halaman?

Ya, jadual panjang bersambung pada halaman seterusnya, tetapi baris yang ditanda dengan \endhead tidak diulang di sana.

Setiap contoh di halaman ini disusun atur oleh Scissor LaTeX semasa laman dibina. Kali terakhir dikemas kini 2026-11-07.