diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/tblr-extras/tblr-extras.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/tblr-extras/tblr-extras.sty | 246 |
1 files changed, 206 insertions, 40 deletions
diff --git a/Master/texmf-dist/tex/latex/tblr-extras/tblr-extras.sty b/Master/texmf-dist/tex/latex/tblr-extras/tblr-extras.sty index a6742f4a105..bbc181a00ec 100644 --- a/Master/texmf-dist/tex/latex/tblr-extras/tblr-extras.sty +++ b/Master/texmf-dist/tex/latex/tblr-extras/tblr-extras.sty @@ -1,6 +1,6 @@ % ----------------------------------------------------------------------- %%% tblr-extras: Extra libraries for tabularray package. -%%% Version : 1.1 - 2024-05-13 +%%% Version : 1.3 - 2024-06-25 %%% Copyright : 2024 (c) Manuel E. Merino <manuel.merino.pe@gmail.com> %%% License : The LaTeX Project Public License 1.3c % ----------------------------------------------------------------------- @@ -18,16 +18,19 @@ % The Current Maintainer of this work is Manuel E. Merino % ----------------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e}[2018-04-01] -\ProvidesPackage{tblr-extras}[2024/05/13 package tblr-extras] +\ProvidesPackage{tblr-extras}[2024/06/25 package tblr-extras] \RequirePackage{tabularray} %% ---------------------------------------------------------------------- %% TblrLibrary caption - Use caption package to typeset tabularray tall %% and long tabulars captions. -%% Empty token list checker wrapper +%% This stuff needs to be ported to expl3 soon. \ExplSyntaxOn \prg_generate_conditional_variant:Nnn \tl_if_empty:n { e } { TF } \let \IfTokenListEmpty = \tl_if_empty:eTF -\ExplSyntaxOff +\let \IfBoolFalse = \bool_if:NF +\let \IfBoolTF = \bool_if:NTF +\bool_new:N \l__tblrextras_table_title_below_bool +\bool_set_false:N \l__tblrextras_table_title_below_bool \NewTblrLibrary{caption} {% \RequirePackage{caption} @@ -35,27 +38,142 @@ \@ifundefined{KOMAClassName} {} {\PackageWarningNoLine{tblr-extras}{KOMAScript class detected. Setup caption position using 'captions=option'}} + %%% Presetup + \NewDocumentCommand{\TblrCaptionBelow}{}{\bool_set_true:N \l__tblrextras_table_title_below_bool} + \NewDocumentCommand{\TblrCaptionAbove}{}{\bool_set_false:N \l__tblrextras_table_title_below_bool} \SetTblrOuter[talltblr,longtblr]{headsep=0pt} - \DefTblrTemplate{firsthead}{default}{% - \addtocounter{table}{-1}% - \IfTokenListEmpty{\InsertTblrText{entry}}{% - \captionsetup{type=table} - \caption{\InsertTblrText{caption}}% - }{% - \captionsetup{type=table} - \caption[\InsertTblrText{entry}]{\InsertTblrText{caption}}% - }% - } - \DefTblrTemplate{middlehead,lasthead}{default}{% - \addtocounter{table}{-1}% - \captionsetup{type=table}% - \caption[]{\InsertTblrText{caption} \UseTblrTemplate{conthead-text}{default}}% - } + %%%%%%%%%% TEMPLATES + \DefTblrTemplate{firsthead}{default}{ + \IfBoolTF \l__tblr_table_no_label_bool + % True NoLabel + { } + % False NoLabel + { + \IfBoolTF \l__tblrextras_table_title_below_bool + % Cap Below + { } + % Cap Above (default) + { + \addtocounter{table}{-1} + \captionsetup{type=table} + \IfTokenListEmpty{\InsertTblrText{entry}}{ + \caption{\InsertTblrText{caption}} + }{ + \caption[\InsertTblrText{entry}]{\InsertTblrText{caption}} + } + } + } + } % END FIRSTHEAD + \DefTblrTemplate{middlehead}{default}{ + \IfBoolTF \l__tblr_table_no_label_bool + % True NoLabel + { \UseTblrTemplate{conthead}{default} \vspace{4pt} } + % False NoLabel + { + \IfBoolTF \l__tblrextras_table_title_below_bool + % Cap Below + { \UseTblrTemplate{conthead}{default} \vspace{4pt} } + % Cap Above (default) + { + \addtocounter{table}{-1} + \captionsetup{type=table} + \caption[]{\InsertTblrText{caption}~ \UseTblrTemplate{conthead-text}{default}} + } + } + }% END MIDDLEHEAD + \DefTblrTemplate{lasthead}{default}{ + \IfBoolTF \l__tblr_table_no_label_bool + % True NoLabel + { \UseTblrTemplate{conthead}{default} \vspace{4pt} } + % False NoLabel + { + \IfBoolTF \l__tblrextras_table_title_below_bool + % Cap Below + { \UseTblrTemplate{conthead}{default} \vspace{4pt} } + % Cap Above (default) + { + \addtocounter{table}{-1} + \captionsetup{type=table} + \caption[]{\InsertTblrText{caption}~ \UseTblrTemplate{conthead-text}{default}} + } + } + }% END LASTHEAD + \DefTblrTemplate{firstfoot}{default}{ + \IfBoolTF \l__tblr_table_no_label_bool + % True NoLabel + { \UseTblrTemplate{contfoot}{default} } + % False NoLabel + { + \IfBoolTF \l__tblrextras_table_title_below_bool + % Cap Below + { + \addtocounter{table}{-1} + \captionsetup{type=table} + \caption[]{\InsertTblrText{caption}} + \UseTblrTemplate{contfoot}{default} + } + % Cap Above (default) + { + \UseTblrTemplate{contfoot}{default} + } + } + }% END FIRSTFOOT + \DefTblrTemplate{middlefoot}{default}{ + \IfBoolTF \l__tblr_table_no_label_bool + % True NoLabel + { \UseTblrTemplate{contfoot}{default} } + % False NoLabel + { + \IfBoolTF \l__tblrextras_table_title_below_bool + % Cap Below + { + \addtocounter{table}{-1} + \captionsetup{type=table} + \caption[]{\InsertTblrText{caption}} + \UseTblrTemplate{contfoot}{default} + } + % Cap Above (default) + { + \UseTblrTemplate{contfoot}{default} + } + } + }% END MIDDLEFOOT + \DefTblrTemplate{lastfoot}{default}{ + \IfBoolTF \l__tblr_table_no_label_bool + % True NoLabel + { + \UseTblrTemplate{note}{default} + \UseTblrTemplate{remark}{default} + } + % False NoLabel + { + \IfBoolTF \l__tblrextras_table_title_below_bool + % Cap Below + { + \UseTblrTemplate{note}{default} + \UseTblrTemplate{remark}{default} + \addtocounter{table}{-1} + \captionsetup{type=table} \IfTokenListEmpty{\InsertTblrText{entry}}{ + \caption{\InsertTblrText{caption}} + }{ + \caption[\InsertTblrText{entry}]{\InsertTblrText{caption}} + } + } + % Cap Above (default) + { + \UseTblrTemplate{note}{default} + \UseTblrTemplate{remark}{default} + } + } + }% END LASTFOOT \SetTblrTemplate{caption-lot}{empty} } +\ExplSyntaxOff %% ---------------------------------------------------------------------- %% TblrLibrary babel - Translate contfoot and conthead to current babel/polyglossia -%% language. Supports: ngerman, french, spanish, russian and ukrainian translations. +%% language. +% Supports: ngerman, french, spanish, russian, romanian, galician, esperanto, danish, catalan, danish, afrikaans, italian, portuguese and ukrainian translations. +%%%%% %% Check engine \newif\if@unicode@engine \ifdefined\luatexversion @@ -71,53 +189,101 @@ \RequirePackage{babel} } } + \ifdefined\captionsromanian + \addto\captionsromanian{% + \renewcommand{\tblrcontfootname}{Continuare pe pagina următoare}% + \renewcommand{\tblrcontheadname}{(Continuare)}% + } + \fi + \ifdefined\captionsgalician + \addto\captionsgalician{% + \renewcommand{\tblrcontfootname}{Continuación na seguinte páxina}% + \renewcommand{\tblrcontheadname}{(Continuación)}% + } + \fi + \ifdefined\captionsesperanto + \addto\captionsesperanto{% + \renewcommand{\tblrcontfootname}{Daŭrigo sur la sekva paĝo}% + \renewcommand{\tblrcontheadname}{(Daŭrigo)}% + } + \fi + \ifdefined\captionsdanish + \addto\captionsdanish{% + \renewcommand{\tblrcontfootname}{Fortsættelse på næste side}% + \renewcommand{\tblrcontheadname}{(Fortsættelse)}% + } + \fi + \ifdefined\captionscatalan + \addto\captionscatalan{% + \renewcommand{\tblrcontfootname}{Continuació a la pàgina següent}% + \renewcommand{\tblrcontheadname}{(Continuació)}% + } + \fi + \ifdefined\captionsdutch + \addto\captionsdutch{% + \renewcommand{\tblrcontfootname}{Vervolg op de volgende pagina}% + \renewcommand{\tblrcontheadname}{(Vervolg)}% + } + \fi + \ifdefined\captionsafrikaans + \addto\captionsafrikaans{% + \renewcommand{\tblrcontfootname}{Vervolg op die volgende bladsy}% + \renewcommand{\tblrcontheadname}{(Vervolg)}% + } + \fi + \ifdefined\captionsitalian + \addto\captionsitalian{% + \renewcommand{\tblrcontfootname}{Continua alla pagina successiva}% + \renewcommand{\tblrcontheadname}{(Continuazione)}% + } + \fi + \ifdefined\captionsportuguese + \addto\captionsportuguese{% + \renewcommand{\tblrcontfootname}{Continua na próxima página}% + \renewcommand{\tblrcontheadname}{(Continuação)}% + } + \fi \ifdefined\captionsspanish \addto\captionsspanish{% - \DefTblrTemplate{contfoot-text}{default}{Continúa en la página siguiente}% - \DefTblrTemplate{conthead-text}{default}{(Continuación)}% + \renewcommand{\tblrcontfootname}{Continúa en la siguiente página}% + \renewcommand{\tblrcontheadname}{(Continuación)}% } \fi \ifdefined\captionsngerman \addto\captionsngerman{% - \DefTblrTemplate{contfoot-text}{default}{Fortsetzung auf der nächsten Seite}% - \DefTblrTemplate{conthead-text}{default}{(Fortsetzung)}% - } - \fi - \ifdefined\captionsgerman - \addto\captionsgerman{% - \DefTblrTemplate{contfoot-text}{default}{Fortsetzung auf der nächsten Seite}% - \DefTblrTemplate{conthead-text}{default}{(Fortsetzung)}% + \renewcommand{\tblrcontfootname}{Fortsetzung auf der nächsten Seite}% + \renewcommand{\tblrcontheadname}{(Fortsetzung)}% } \fi \ifdefined\captionsfrench \addto\captionsfrench{% - \DefTblrTemplate{contfoot-text}{default}{Suite à la page suivante}% - \DefTblrTemplate{conthead-text}{default}{(Suite)}% + \renewcommand{\tblrcontfootname}{Suite à la page suivante}% + \renewcommand{\tblrcontheadname}{(Suite)}% } \fi \ifdefined\captionsrussian \if@unicode@engine \addto\captionsrussian{% - \DefTblrTemplate{contfoot-text}{default}{Продолжение на следующей странице}% - \DefTblrTemplate{conthead-text}{default}{(продолжение)}% + \renewcommand{\tblrcontfootname}{Продолжение на следующей странице}% + \renewcommand{\tblrcontheadname}{(продолжение)}% } \else \addto\captionsrussian{% - \DefTblrTemplate{contfoot-text}{default}{\cyr\CYRP\cyrr\cyro\cyrd\cyro\cyrl\cyrzh\cyre\cyrn\cyri\cyre\ \cyrn\cyra\ \cyrs\cyrl\cyre\cyrd\cyru\cyryu\cyrshch\cyre\cyrishrt\ \cyrs\cyrt\cyrr\cyra\cyrn\cyri\cyrc\cyre}% - \DefTblrTemplate{conthead-text}{default}{(\cyr\cyrp\cyrr\cyro\cyrd\cyro\cyrl\cyrzh\cyre\cyrn\cyri\cyre)}% + \renewcommand{\tblrcontfootname}{\cyr\CYRP\cyrr\cyro\cyrd\cyro\cyrl\cyrzh\cyre\cyrn\cyri\cyre\ \cyrn\cyra\ \cyrs\cyrl\cyre\cyrd\cyru\cyryu\cyrshch\cyre\cyrishrt\ \cyrs\cyrt\cyrr\cyra\cyrn\cyri\cyrc\cyre}% + \renewcommand{\tblrcontheadname}{(\cyr\cyrp\cyrr\cyro\cyrd\cyro\cyrl\cyrzh\cyre\cyrn\cyri\cyre)}% } \fi \fi \ifdefined\captionsukrainian \if@unicode@engine \addto\captionsukrainian{% - \DefTblrTemplate{contfoot-text}{default}{Продовження на наступній сторінці}% - \DefTblrTemplate{conthead-text}{default}{(продовження)}% + \renewcommand{\tblrcontfootname}{Продовження на наступній сторінці}% + \renewcommand{\tblrcontheadname}{(продовження)}% } \else \addto\captionsukrainian{% - \DefTblrTemplate{contfoot-text}{default}{\cyr\CYRP\cyrr\cyro\cyrd\cyro\cyrv\cyrzh\cyre\cyrn\cyrn\cyrya\ \cyrn\cyra\ \cyrn\cyra\cyrs\cyrt\cyru\cyrp\cyrn\cyrii\cyrishrt\ \cyrs\cyrt\cyro\cyrr\cyrii\cyrn\cyrc\cyrii}% - \DefTblrTemplate{conthead-text}{default}{(\cyr\cyrp\cyrr\cyro\cyrd\cyro\cyrv\cyrzh\cyre\cyrn\cyrn\cyrya)}% + \renewcommand{\tblrcontfootname}{\cyr\CYRP\cyrr\cyro\cyrd\cyro\cyrv\cyrzh\cyre\cyrn\cyrn\cyrya\ \cyrn\cyra\ \cyrn\cyra\cyrs\cyrt\cyru\cyrp\cyrn\cyrii\cyrishrt\ \cyrs\cyrt\cyro\cyrr\cyrii\cyrn\cyrc\cyrii}% + \renewcommand{\tblrcontheadname}{(\cyr\cyrp\cyrr\cyro\cyrd\cyro\cyrv\cyrzh\cyre\cyrn\cyrn\cyrya)}% } \fi \fi |