CTAN Comprehensive TeX Archive Network

CTAN update: tabularray

Date: March 12, 2025 11:46:02 AM CET
Jianrui Lyu submitted an update to the tabularray package. Version: 2025A 2025-03-11 License: lppl1.3c Summary description: Typeset tabulars and arrays with LaTeX3 Announcement text:
TLDR: (1) largely increase running speed; (2) add `tikz` library; (3) remove `verb` key. # [v2025A] - 2025-03-11 ## Added - Allow rollback to version 2024 by `\usepackage{tabularray}[=v2024]` - Load `tabularray` libraries in external files ([#532]) - Evaluate inner specifications with `functional` library ([#270]) - Add `tikz` library for drawing below or above tables ([#29], [#552]) - Create table node `table` for each table - Create cell nodes `<i>-<j>` for each cell - Create corner nodes `h<i>` for each hborder - Create corner nodes `v<j>` for each vborder - Create `tblrtikzbelow` and `tblrtikzabove` environments - Add `measure=vstore` option to `varwidth` library ([#549]) - Add `\AddToTblrHook` and `\AddToTblrHookNext` commands ([#197]) - Add `\DeclareTblrKeys` and `\SetTblrKeys` commands ([#547]) - Add `\lTblrDefaultHruleWidthDim` and `\lTblrDefaultVruleWidthDim` ([#102], [#527]) - Add `\lTblrDefaultHruleColorTl` and `\lTblrDefaultVruleColorTl` ([#172]) - Add experimental public variable `\lTblrPortraitTypeTl` ([#29], [#197]) - Add experimental public variable `\lTblrRowHeadInt` ([#29], [#197]) - Add experimental public variable `\lTblrRowFootInt` ([#29], [#197]) - Add experimental public variable `\lTblrTablePageInt` ([#29], [#197]) - Add experimental public variable `\lTblrRowFirstInt` ([#29], [#197]) - Add experimental public variable `\lTblrRowLastInt` ([#29], [#197]) - Add experimental public variable `\lTblrCellBreakBool` ([#442]) - Add `\NewTblrChildIndexer` for selecting a child index ([#578]) - Allow mixing child indexes, indexers, and selectors ([#577]) - Add support for selecting cells with two dimensional indexes ([#381]) - Add support for two dimensional indexers and selectors ([#381]) - Add `\lTblrChildIndexTl` for child indexers ([#578]) - Add `\lTblrChildHtotalInt` and `\lTblrChildVtotalInt` for indexers and selectors ([#381]) - Add `\SetChild` commands for setting ids and classes ([#381]) - Add `\ExpTblrChildId` for expanding index from an id ([#381]) - Add `\ExpTblrChildClass` for expanding indexes from a class ([#381]) - Add child selector `every` for selecting indexes in an arithmetic sequence ([#576]) - Add benchmark tests and publish results to `gh-pages` branch ([#480]) - Add new chapter "Experimental Interfaces" in the manual - Document how to use color models with `functional` library ([#106]) - Document that double blank lines around cells are not supported ([#282]) - Document that math cells cannot include multiline math ([#491], [#492]) ## Changed - Support old TeX Live releases published within previous three years only - Use linked property lists to make `tabularray` run much faster ([#541]) - Avoid using `l3regex` to make `tabularray` run much faster ([#553]) - Recognize spaces between `\\` and `*` or `[<length>]` ([#526]) - Keep braces when splitting table body to cells ([#501]) - Keep braces when extracting table commands from cells ([#501]) - Make `measure` setting apply to subtables in `varwidth` library - Set `measure=vbox` as default in `varwidth` library ([#540]) - Make `hook` library depend on `varwidth` library ([#179]) - Set `measure=vstore` as default in `hook` library ([#179]) - Forbid page breaks in the middle of multirow cells ([#442]) - Rename all key paths and add `tabularray` prefix to them ([#547]) - Raise an error for using an undefined template in `\SetTblrTemplate` ([#517]) - Replace `x`-type expansions with `e`-type expansions ([#560]) - Optimize internal structure of child index lists ([#575]) - Make local definitions for child selectors ([#381]) - Make indexer `Z` accept an optional argument for a negative index ([#509], [#578]) - Ensure the converted index of `U`/`V`/`W`/`X`/`Y`/`Z` is positive ([#385], [#578]) - Load `ninecolors` with `package/xcolor/after` hook ([#490]) - Rename `\l_tblr_childs_clist` as `\lTblrChildClist` ([#249], [#527]) - Rename `\l_tblr_childs_total_tl` as `\lTblrChildTotalInt` ([#249], [#527]) - Rename `\lTblrCellRowSpanTl` as `\lTblrCellRowSpanInt` ([#527]) - Rename `\lTblrCellColSpanTl` as `\lTblrCellColSpanInt` ([#527]) - Rename `\lTblrCellAboveBorderWidthTl` as `\lTblrCellAboveBorderWidthDim` ([#527]) - Rename `\lTblrCellBelowBorderWidthTl` as `\lTblrCellBelowBorderWidthDim` ([#527]) - Rename `\lTblrCellLeftBorderWidthTl` as `\lTblrCellLeftBorderWidthDim` ([#527]) - Rename `\lTblrCellRightBorderWidthTl` as `\lTblrCellRightBorderWidthDim` ([#527]) - Replace `\verb` commands with meaningful commands in the manual - Improve documentation for `booktabs` library ([#443]) ## Deprecated - Deprecate `\DefTblrTemplate` in favor of `\DeclareTblrTemplate` ([#563]) - Deprecate `\NewColumnType` in favor of `\NewTblrColumnType` ([#421]) - Deprecate `\NewRowType` in favor of `\NewTblrRowType` ([#421]) - Deprecate `\NewColumnRowType` in favor of `\NewTblrColumnRowType` ([#421]) - Deprecate `\NewTableCommand` in favor of `\NewTblrTableCommand` ([#421]) - Deprecate `\NewContentCommand` in favor of `\NewTblrContentCommand` ([#421]) - Deprecate `\NewDashStyle` in favor of `\NewTblrDashStyle` ([#421]) - Deprecate `\NewChildSelector` in favor of `\NewTblrChildSelector` ([#579]) - Deprecate `\tablewidth` in favor of `\lTblrTableWidthDim` ([#527]) - Deprecate `\g_tblr_level_int` in favor of `\gTblrLevelInt` ([#527]) ## Fixed - Fix `bad register code` errors from huge tables ([#305]) - Fix measuring phase of `\lTblrMeasuringBool` ([#179]) - Fix expansion errors with border text ([#303]) - Fix undeclared variables and inconsistent assignments ([#22]) - Fix `X`-column errors from `\hfuzz=\maxdimen` setting ([#445]) - Fix misspelled variable name of `\lTblrCellRightBorderColorTl` ([#476]) - Fix missing `tblr` prefixes in some variable names ([#469]) - Throw an error for an unknown inner key name ([#574]) - Suppress "table-width-too-small" warning if table width is not set ([#497]) ## Removed - Drop support for TeX Live 2020 and 2021 - Drop support for end index in `odd` and `even` selectors ([#580]) - Remove deprecated inner key `verb` ([#530]) - Remove undocumented `\rulewidth` ([#102], [#527])
The package’s Catalogue entry can be viewed at https://ctan.org/pkg/tabularray The package’s files themselves can be inspected at https://mirrors.ctan.org/macros/latex/contrib/tabularray/
Thanks for the upload. For the CTAN Team Petra Rübe-Pugliese
CTAN is run entirely by volunteers and supported by TeX user groups. Please join a user group or donate to one, see https://ctan.org/lugs

tabularray – Typeset tabulars and arrays with 3

tables are implemented using commands such as \halign, \noalign, \span, and \omit. In order to implement new features, many macro packages have modified the inner table commands inside . This makes package code complicated, difficult to maintain, and often conflicts with each other.

At present, the 3 programming layer is basically mature. This tabularray package will discard the old \halign commands and directly use 3 functions to parse the table, and then typeset the entire table. Under the premise of being compatible with the basic syntax of 2 tables, this macro package will completely separate the content and style of the table, and the style of the table can be completely set in keyval way.

Packagetabularray
Version2025A 2025-03-11
Copyright2021–2023 Jianrui Lyu
MaintainerJianrui Lyu

Announcements

more

Guest Book Sitemap Contact Contact Author