CTAN update: tabularray
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 LaTeX3
LaTeX tables are implemented using TeX commands such as \halign, \noalign, \span, and \omit. In order to implement new features, many macro packages have modified the inner table commands inside LaTeX. This makes package code complicated, difficult to maintain, and often conflicts with each other.
At present, the LaTeX3 programming layer is basically mature. This tabularray package will discard the old \halign commands and directly use LaTeX3 functions to parse the table, and then typeset the entire table. Under the premise of being compatible with the basic syntax of LaTeX2 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.
Package | tabularray |
Version | 2025A 2025-03-11 |
Copyright | 2021–2023 Jianrui Lyu |
Maintainer | Jianrui Lyu |