LaTeX. Пакет tabularray

2025-07-13 · 3 мин. для прочтения

LaTeX. Пакет tabularray.

Содержание

1 Общая информация

  • CTAN: https://ctan.org/pkg/tabularray
  • Написан на LaTeX3.
  • Напрямую использует функции LaTeX3 для разбора таблицы.
  • Разделяет содержание и стиль таблицы.
  • Стиль таблицы может быть полностью задан с помощью ключей.
  • Полезен при создании сложных таблиц с нестандартным оформлением, где требуется точный контроль над каждым элементом.
  • Его синтаксис сокращает время на настройку и упрощает поддержку кода.

2 Особенности

  • Синтаксис с ключевыми параметрами

    • Настройка таблиц осуществляется через ключевые параметры в среде tblr, что делает код более читаемым:
      \begin{tblr}{
        colspec = {rX},
        colsep = 8mm,
        hlines = {2pt, white},
        row{odd} = {azure8},
        row{even} = {gray8},
      }
      
  • Гибкие настройки столбцов и строк

    • Динамическое выравнивание: автоматическое определение ширины столбцов с возможностью ручной настройки.
    • Цвет и форматирование: встроенные команды для заливки ячеек и изменения шрифта:
      \SetCell{bg=green9} Yes & \SetCell{bg=red8} No
      
  • Поддержка сложных конструкций.

  • Расширение макросов: позволяет использовать сложные конструкции внутри таблиц, включая динамические данные.

  • Интеграция с booktabs: совместим с профессиональным оформлением таблиц через пакет booktabs.

3 Базовые принципы построения таблиц

  • Используйте colspec для определения типов столбцов:

    \begin{tblr}{colspec={X[l] X[c] X[r]}}
    
    • X[l]: столбец с выравниванием по левому краю и автоматической шириной.
    • c, r: центрированное и правое выравнивание соответственно.
  • Настройка внешнего вида:

    • Горизонтальные линии: hlines, hline{1}={blue, dashed}.
    • Вертикальные линии: vlines, vline{1,4}={3pt}.
    • Цвет фона ячеек: \SetCell{bg=green9}.

4 Примеры применения

  • Простая таблица с цветом:
\usepackage{tabularray}
\begin{document}
\begin{tblr}{colspec={ccc}, hlines, vlines}
  Header 1 & Header 2 & Header 3 \\
  Data 1   & Data 2   & Data 3   \\
\end{tblr}
\end{document}
  • Таблица с динамическими данными:
\newcommand{\introrow}{Cat & Dog \\}
\newcommand{\outrorow}{Frog & Duck \\}
\begin{tblr}[expand=\introrow]{cc}
  \introrow
  Crow & Hawk \\
  \outrorow
\end{tblr}

5 Интеграция с booktab

5.1 Загрузка библиотеки booktabs

  • Добавьте в преамбулу документа команду:
\UseTblrLibrary{booktabs}
  • Это активирует совместимость с booktabs, позволяя использовать его команды внутри среды tblr.
  • Для многостраничных таблиц используйте среду longtblr с теми же настройками стиля.
  • Избегайте вертикальных линий — они противоречат принципам профессионального оформления.
  • Настройте толщину линий через параметр rule thickness для точного соответствия стилю booktabs.

5.2 Основные элементы стиля booktabs

  • Команды для горизонтальных линий:

    • \toprule — верхняя линия;
    • \midrule — средняя линия;
    • \bottomrule — нижняя линия.
  • Пример настройки:

\begin{tblr}{
  colspec = {ccc},
  hline = {white}, % Отключение стандартных горизонтальных линий
  vlines = {0pt},  % Отключение вертикальных линий (в стиле booktabs их нет)
}
\toprule
Header 1 & Header 2 & Header 3 \\
\midrule
Data 1 & Data 2 & Data 3 \\
\bottomrule
\end{tblr}

5.3 Сравнение с booktabs

Функцияtabularraybooktabs
СинтаксисКлючевые параметры в среде tblrТрадиционный синтаксис tabular
Линии\toprule, \midrule, \bottomruleТе же команды
Вертикальные линииЗапрещены по умолчаниюНе рекомендуются
Многостраничные таблицыСреда longtblrПакет longtable

5.4 Пример полной таблицы

\usepackage{tabularray}
\UseTblrLibrary{booktabs}

\begin{document}
\begin{table}
  \centering
  \caption{Пример таблицы в стиле booktabs}
  \label{tab:example}
  \begin{tblr}{
    colspec = {X[l] X[r] X[c]},
    hline = {white},
    vlines = {0pt},
    row{1} = {font=\bfseries}, % Жирный шрифт для заголовков
  }
    \toprule
    Параметр & Значение & Единица \\
    \midrule
    Длина & 10.5 & м \\
    Ширина & 2.3 & см \\
    Высота & 5.1 & мм \\
    \bottomrule
  \end{tblr}
\end{table}
\end{document}

6 Интеграция с siunitx

  • Загрузка:
    \UseTblrLibrary{siunitx}
    
  • Добавляются:
    • ключ si для типа столбца Q;
    • тип столбца S (как сахар для столбцов Q, центрируют по умолчанию).
  • Служат для выравнивания по десятичной точки.
    \begin{tblr}{
      hlines, vlines,
      colspec={Q[si={table-format=3.2},c]Q[si={table-format=3.2},c]},
      row{1} = {guard}
      }
      Head  & Head \\
      111 & 111 \\
      2.1 & 2.2 \\
      33.11 & 33.22 \\
    \end{tblr}
    
Дмитрий Сергеевич Кулябов
Authors
Профессор кафедры теории вероятностей и кибербезопасности
Мои научные интересы включают физику, администрирование Unix и сетей.