Перейти к содержанию

array, tabularx, longtable и tabulary в Scissor LaTeX

Пакеты array и tabularx и родственные им работают в Scissor LaTeX частично: таблицы tabularx, tabulary, longtable и xltabular верстаются как tabular, а длинные ячейки переносятся, если таблица шире строки; ширина столбцов (p{3cm}, X, ширина таблицы) и код >{...}/<{...} игнорируются, \newcolumntype неизвестна, а шапки longtable не повторяются.

Что делают пакеты

  • array добавляет типы столбцов, такие как m{width} и b{width}, код до и после каждой ячейки с помощью >{...} и <{...}, а также \newcolumntype для собственных букв столбцов.
  • tabularx даёт \begin{tabularx}{\textwidth}{lX}, где столбцы X растягиваются так, чтобы таблица имела заданную ширину. tabulary делает то же самое со столбцами L, C, R, J, которые делят ширину по содержимому.
  • longtable позволяет таблице переходить на следующие страницы с повторяющейся шапкой (\endhead). xltabular объединяет longtable и tabularx.

Что здесь работает

ВозможностьВ Scissor LaTeXПримечания
tabularx, tabulary, xltabular, longtable, tabular*ЧастичноВерстаются как tabular. Аргумент общей ширины игнорируется.
Столбцы X, L, C, R, JЧастичноX и L выравниваются влево, C по центру, R вправо.
p{3cm}, m{3cm}, b{3cm}ЧастичноВыравнивание влево; ширина игнорируется.
Длинный текст в ячейкеРаботаетПереносится, если иначе таблица была бы шире строки.
>{\bfseries}l, r<{\%}ПропускаетсяКод до и после ячеек игнорируется.
\newcolumntype{C}{...}Не поддерживаетсяПропускается с примечанием на вкладке «Проблемы», а её определение выводится как текст. Вместо этого пишите тип столбца полностью.
\endhead, \endfirsthead, \endfoot, \endlastfootПропускаетсяДлинная таблица переходит на следующие страницы, но шапка не повторяется.
\tabularnewlineРаботаетТо же, что \\.
\arraybackslashНе поддерживаетсяПропускается с примечанием на вкладке «Проблемы»; в остальном безвредна.

Примеры

Таблица tabularx с растягивающимся столбцом. Длинный текст переносится у края текста, как и в установленном TeX:

tabularx со столбцом X

LaTeXПреамбула: \usepackage{tabularx}Открыть в редакторе (откроется в новой вкладке)
\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}
Свёрстано в Scissor LaTeX: tabularx со столбцом X

longtable со строкой шапки. Таблица верстается; в длинном документе шапка не повторилась бы на следующей странице:

longtable с \endhead

LaTeXПреамбула: \usepackage{longtable}Открыть в редакторе (откроется в новой вкладке)
\begin{longtable}{lr}
\hline
Item & Count \\
\hline
\endhead
Pencils & 44 \\
Erasers & 12 \\
Rulers  & 7 \\
\hline
\end{longtable}

Код в >{...} игнорируется, поэтому этот столбец не полужирный, а знаков процента нет:

>{...} и <{...} игнорируются

LaTeXПреамбула: \usepackage{array}Открыть в редакторе (откроется в новой вкладке)
\begin{tabular}{>{\bfseries}l r<{\,\%}}
Growth & 44 \\
Share  & 12 \\
\end{tabular}

Вместо этого пишите оформление прямо в ячейках. Так работает и здесь, и в установленном TeX:

Оформление, записанное в ячейках

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

Совместимость

  • Из установленного TeX сюда: таблицы верстаются и сохраняют выравнивание, но не ширину столбцов. Ищите собственные буквы столбцов из \newcolumntype.
  • Отсюда в установленный TeX: документы компилируются там без изменений, и ширины там применяются.

Полные руководства есть на CTAN: ctan.org/pkg/array, ctan.org/pkg/tabularx, ctan.org/pkg/tabulary, ctan.org/pkg/longtable и ctan.org/pkg/xltabular. О таблицах в целом читайте в разделе Таблицы в LaTeX.

См. также Таблицы, multirow, booktabs и генератор таблиц LaTeX.

Вопросы и ответы

Почему мой столбец p{3cm} не шириной 3 см?

Ширина столбцов пока не применяется. Длинный текст всё равно переносится у края текста, поэтому таблица остаётся на странице.

Переходит ли longtable на следующие страницы?

Да, длинная таблица продолжается на следующей странице, но строки, отмеченные \endhead, там не повторяются.

Каждый пример на этой странице верстается в Scissor LaTeX при сборке сайта. Обновлено 2026-11-07.