diff options
author | Karl Berry <karl@freefriends.org> | 2023-11-02 19:56:02 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-11-02 19:56:02 +0000 |
commit | 71147fa86bd892e6a89bf394448ad5aada518bdb (patch) | |
tree | f9c92a1b69d35b7785469b1ff57911ffdf5bf634 /Master/texmf-dist/tex/latex-dev | |
parent | 1e0a29c72707a3dd4a7cf45bc6eea2d43068e2b7 (diff) |
latex-dev (2nov23)
git-svn-id: svn://tug.org/texlive/trunk@68730 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex-dev')
40 files changed, 1413 insertions, 177 deletions
diff --git a/Master/texmf-dist/tex/latex-dev/base/docstrip.tex b/Master/texmf-dist/tex/latex-dev/base/docstrip.tex index fa6dbc7cc18..0cafcd2c109 100644 --- a/Master/texmf-dist/tex/latex-dev/base/docstrip.tex +++ b/Master/texmf-dist/tex/latex-dev/base/docstrip.tex @@ -46,7 +46,7 @@ \def\filename{docstrip.dtx} \def\fileversion{v2.6b} \def\filedate{2022-09-03} -\def\docdate {2022-09-03} +\def\docdate {2023-10-10} %% %% The docstrip program for use with TeX. %% Copyright (C) 1989-1991 Frank Mittelbach diff --git a/Master/texmf-dist/tex/latex-dev/base/latex.ltx b/Master/texmf-dist/tex/latex-dev/base/latex.ltx index 54b3e969575..fe599414688 100644 --- a/Master/texmf-dist/tex/latex-dev/base/latex.ltx +++ b/Master/texmf-dist/tex/latex-dev/base/latex.ltx @@ -707,8 +707,8 @@ %%% From File: ltvers.dtx \def\fmtname{LaTeX2e} \edef\fmtversion - {2023-11-01} -\def\patch@level{-1} + {2024-06-01} +\def\patch@level{0} \edef\development@branch@name{develop \the\year-\the\month-\the\day} \iffalse \def\reserved@a#1/#2/#3\@nil{% @@ -1179,6 +1179,7 @@ \msg_new:nnn { kernel } { unknown-arg-expansion } { Unknown~arg~expansion~"#1" } \ExplSyntaxOff +\def\IfExplAtLeastTF{\@ifl@t@r\ExplLoaderFileDate} %%% From File: ltdefns.dtx \def\two@digits#1{\ifnum#1<10 0\fi\number#1} \protected\long\def\typeout#1{\begingroup @@ -4539,7 +4540,7 @@ %%% From File: lthooks.dtx \def\lthooksversion{v1.1f} -\def\lthooksdate{2023/08/11} +\def\lthooksdate{2023/10/02} \ExplSyntaxOn \bool_new:N \g__hook_debug_bool \cs_new_eq:NN \__hook_debug:n \use_none:n @@ -7611,7 +7612,12 @@ Type H <return> for immediate help.}% \DeclareRobustCommand{\nobreakspace}{% \leavevmode\nobreak\ } \catcode `\~=13 -\def~{\nobreakspace{}} +\protected\edef~{% + \noexpand\ifincsname\noexpand\expandafter\string~% + \noexpand\else + \noexpand\expandafter\noexpand\nobreakspace + \noexpand\fi +} \expandafter\let\expandafter\@xobeysp\csname nobreakspace \endcsname \let\@xobeytab\@xobeysp \def\@{\spacefactor\@m{}}% @@ -11944,8 +11950,8 @@ Type H <return> for immediate help.}% {\IfBooleanTF{#1}{\@kernel@sRef}{\@kernel@Ref}} \def\@currentlabel{} %% File: ltproperties.dtx -\def\ltpropertiesversion{1.0b} -\def\ltpropertiesdate{2023-09-13} +\def\ltpropertiesversion{1.0c} +\def\ltpropertiesdate{2023-10-15} @@ -11963,7 +11969,7 @@ Type H <return> for immediate help.}% } \cs_new_protected:Npn \property_gset:nnnn #1#2#3#4 { - \__property_gset:xnnn { \tl_to_str:n {#1} } + \__property_gset:ennn { \tl_to_str:n {#1} } {#2} {#3} {#4} } \cs_new_protected:Npn \__property_gset:nnnn #1#2#3#4 @@ -11981,20 +11987,22 @@ Type H <return> for immediate help.}% } { \msg_error:nnnn { property } { unknown-setpoint } {#1} {#2} } } -\cs_generate_variant:Nn \__property_gset:nnnn {xnnn} +\cs_generate_variant:Nn \__property_gset:nnnn {ennn} \cs_new_protected:Npn \NewProperty #1#2#3#4 { - \exp_args:Nx \property_new:nnnn {#1}{#2}{#3}{#4} + \protected@edef\reserved@a{#1} + \exp_args:No \property_new:nnnn {\reserved@a} {#2}{#3}{#4} } \cs_new_protected:Npn \SetProperty #1#2#3#4 { - \exp_args:Nx \property_gset:nnnn {#1}{#2}{#3}{#4} + \protected@edef\reserved@a{#1} + \exp_args:No \property_gset:nnnn {\reserved@a} {#2}{#3}{#4} } \cs_new_protected:Npn \property_record:nN #1#2 { \property_record:nV {#1} #2 } \cs_new_protected:Npn \property_record:nn #1#2 - { \__property_record:xn { \tl_to_str:n {#1} } {#2} } -\cs_generate_variant:Nn \property_record:nn { nV , xx } + { \__property_record:en { \tl_to_str:n {#1} } {#2} } +\cs_generate_variant:Nn \property_record:nn { nV , ee, oo } \cs_new_protected:Npn \__property_record:nn #1#2 { \legacy_if:nT { @filesw } @@ -12007,7 +12015,7 @@ Type H <return> for immediate help.}% } } } -\cs_generate_variant:Nn \__property_record:nn { x } +\cs_generate_variant:Nn \__property_record:nn { e } \cs_new:Npn \__property_record_value:n #1 { \__property_record_value_aux:e { \tl_to_str:n {#1} } } \cs_new:Npn \__property_record_value_aux:n #1 @@ -12028,7 +12036,9 @@ Type H <return> for immediate help.}% \NewDocumentCommand\RecordProperties { m m } { \@bsphack - \property_record:xx {#1}{#2} + \protected@edef\reserved@a{#1} + \protected@edef\reserved@b{#2} + \property_record:oo {\reserved@a}{\reserved@b} \@esphack } \flag_new:n { l__property_ref_flag } @@ -12167,16 +12177,19 @@ Type H <return> for immediate help.}% \@latex@warning { Reference~`#1'~on~page~\thepage\space undefined }% } } -\cs_generate_variant:Nn \property_ref_undefined_warn:nn {xx} -\cs_set_eq:NN \RefUndefinedWarn \property_ref_undefined_warn:xx +\cs_generate_variant:Nn \property_ref_undefined_warn:nn {ee} +\cs_set_eq:NN \RefUndefinedWarn \property_ref_undefined_warn:ee \property_new:nnnn { abspage } { shipout } { 0 } { \int_use:N \g_shipout_readonly_int } \property_new:nnnn { page } { shipout } { 0 } { \thepage } \property_new:nnnn { pagenum } { shipout } { 0 } { \the \value { page } } -\property_new:nnnn { currentlabel } { now } { ?? } { \@currentlabel } +\property_new:nnnn { label } { now } { ?? } { \@currentlabel } \property_new:nnnn { title } { now } { \exp_not:n { \textbf { ?? } } } { \@currentlabelname } \property_new:nnnn { target } { now } { } { \@currentHref } +\newcommand\@currentHpage{} +\property_new:nnnn { pagetarget } { shipout } { } { \@currentHpage } + \property_new:nnnn { counter } { now } { } { \@currentcounter } \property_new:nnnn { xpos } { shipout } { 0} { \int_use:N \tex_lastxpos:D } \property_new:nnnn { ypos } { shipout } { 0} { \int_use:N \tex_lastypos:D } @@ -13028,7 +13041,13 @@ Type H <return> for immediate help.}% \long\def\@imakebox[#1][#2]#3{% \@begin@tempboxa\hbox{#3}% \setlength\@tempdima{#1}% support calc - \hb@xt@\@tempdima{\csname bm@#2\endcsname}% + \hb@xt@\@tempdima{% + \expandafter\ifx\csname bm@#2\endcsname\relax + \bm@c + \@latex@warning{Unexpected alignment #2}% + \else + \csname bm@#2\endcsname + \fi}% \@end@tempboxa} \def\@makepicbox(#1,#2){% \@ifnextchar[{\@imakepicbox(#1,#2)}{\@imakepicbox(#1,#2)[]}} @@ -13119,7 +13138,14 @@ Type H <return> for immediate help.}% \@begin@tempboxa\hbox{#3}% \setlength\@tempdima{#1}% \setbox\@tempboxa\hb@xt@\@tempdima - {\kern\fboxsep\csname bm@#2\endcsname\kern\fboxsep}% + {\kern\fboxsep + \expandafter\ifx\csname bm@#2\endcsname\relax + \bm@c + \@latex@warning{Unexpected alignment #2}% + \else + \csname bm@#2\endcsname + \fi + \kern\fboxsep}% \@frameb@x{\kern-\fboxrule}% \@end@tempboxa} \def\@frameb@x#1{% @@ -13175,7 +13201,12 @@ Type H <return> for immediate help.}% \else\@pboxswtrue $\vcenter \fi\fi\fi \@parboxto{\let\hss\vss\let\unhbox\unvbox - \csname bm@#3\endcsname}% + \expandafter\ifx\csname bm@#3\endcsname\relax + \bm@c + \@latex@warning{Unexpected alignment #3}% + \else + \csname bm@#3\endcsname + \fi}% \if@pboxsw \m@th$\fi \@end@tempboxa} \def\@arrayparboxrestore{% diff --git a/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty b/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty index c8776b66f93..a0a76e124ac 100644 --- a/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty +++ b/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty @@ -292,7 +292,7 @@ } %%% From File: ltvers.dtx \edef\latexreleaseversion - {2023-11-01} + {2024-06-01} \newif\if@includeinrelease \@includeinreleasefalse \def\IncludeInRelease#1{% @@ -1413,6 +1413,15 @@ of this package available from CTAN} \let\UseName\@undefined \let\ExpandArgs\@undefined \EndIncludeInRelease +\IncludeInRelease{2023/11/01}% + {\IfExplAtLeastTF}{Test for expl3 date}% +\def\IfExplAtLeastTF{\@ifl@t@r\ExplLoaderFileDate} +\EndIncludeInRelease +\IncludeInRelease{0000/00/00}% + {\IfExplAtLeastTF}{Test for expl3 date}% + +\def\IfExplAtLeastTF{\@ifl@t@r\ExplLoaderFileDate} +\EndIncludeInRelease %%% From File: ltdefns.dtx \IncludeInRelease{2020/10/01}% {\typeout}{Allow "par" in \typeout}% @@ -4801,7 +4810,7 @@ of this package available from CTAN} %%% From File: lthooks.dtx \def\lthooksversion{v1.1f} -\def\lthooksdate{2023/08/11} +\def\lthooksdate{2023/10/02} \ExplSyntaxOn \NewModuleRelease{2020/10/01}{lthooks} {The~hook~management~system} @@ -9031,6 +9040,19 @@ of this package available from CTAN} \fi} \EndIncludeInRelease \IncludeInRelease{2023/11/01}% + {\tilde}{Protected tilde}% +\protected\edef~{% + \noexpand\ifincsname\noexpand\expandafter\string~% + \noexpand\else + \noexpand\expandafter\noexpand\nobreakspace + \noexpand\fi +} +\EndIncludeInRelease +\IncludeInRelease{0000/00/00}% + {\tilde}{Protected tilde}% +\def~{\nobreakspace{}} +\EndIncludeInRelease +\IncludeInRelease{2023/11/01}% {\@xobeytab}{Obeyed tabs}% \let\@xobeytab\@xobeysp \EndIncludeInRelease @@ -13239,8 +13261,8 @@ of this package available from CTAN} \EndIncludeInRelease %% File: ltproperties.dtx -\def\ltpropertiesversion{1.0b} -\def\ltpropertiesdate{2023-09-13} +\def\ltpropertiesversion{1.0c} +\def\ltpropertiesdate{2023-10-15} @@ -13260,7 +13282,7 @@ of this package available from CTAN} } \cs_new_protected:Npn \property_gset:nnnn #1#2#3#4 { - \__property_gset:xnnn { \tl_to_str:n {#1} } + \__property_gset:ennn { \tl_to_str:n {#1} } {#2} {#3} {#4} } \cs_new_protected:Npn \__property_gset:nnnn #1#2#3#4 @@ -13278,20 +13300,22 @@ of this package available from CTAN} } { \msg_error:nnnn { property } { unknown-setpoint } {#1} {#2} } } -\cs_generate_variant:Nn \__property_gset:nnnn {xnnn} +\cs_generate_variant:Nn \__property_gset:nnnn {ennn} \cs_new_protected:Npn \NewProperty #1#2#3#4 { - \exp_args:Nx \property_new:nnnn {#1}{#2}{#3}{#4} + \protected@edef\reserved@a{#1} + \exp_args:No \property_new:nnnn {\reserved@a} {#2}{#3}{#4} } \cs_new_protected:Npn \SetProperty #1#2#3#4 { - \exp_args:Nx \property_gset:nnnn {#1}{#2}{#3}{#4} + \protected@edef\reserved@a{#1} + \exp_args:No \property_gset:nnnn {\reserved@a} {#2}{#3}{#4} } \cs_new_protected:Npn \property_record:nN #1#2 { \property_record:nV {#1} #2 } \cs_new_protected:Npn \property_record:nn #1#2 - { \__property_record:xn { \tl_to_str:n {#1} } {#2} } -\cs_generate_variant:Nn \property_record:nn { nV , xx } + { \__property_record:en { \tl_to_str:n {#1} } {#2} } +\cs_generate_variant:Nn \property_record:nn { nV , ee, oo } \cs_new_protected:Npn \__property_record:nn #1#2 { \legacy_if:nT { @filesw } @@ -13304,7 +13328,7 @@ of this package available from CTAN} } } } -\cs_generate_variant:Nn \__property_record:nn { x } +\cs_generate_variant:Nn \__property_record:nn { e } \cs_new:Npn \__property_record_value:n #1 { \__property_record_value_aux:e { \tl_to_str:n {#1} } } \cs_new:Npn \__property_record_value_aux:n #1 @@ -13325,7 +13349,9 @@ of this package available from CTAN} \NewDocumentCommand\RecordProperties { m m } { \@bsphack - \property_record:xx {#1}{#2} + \protected@edef\reserved@a{#1} + \protected@edef\reserved@b{#2} + \property_record:oo {\reserved@a}{\reserved@b} \@esphack } \flag_new:n { l__property_ref_flag } @@ -13464,16 +13490,19 @@ of this package available from CTAN} \@latex@warning { Reference~`#1'~on~page~\thepage\space undefined }% } } -\cs_generate_variant:Nn \property_ref_undefined_warn:nn {xx} -\cs_set_eq:NN \RefUndefinedWarn \property_ref_undefined_warn:xx +\cs_generate_variant:Nn \property_ref_undefined_warn:nn {ee} +\cs_set_eq:NN \RefUndefinedWarn \property_ref_undefined_warn:ee \property_new:nnnn { abspage } { shipout } { 0 } { \int_use:N \g_shipout_readonly_int } \property_new:nnnn { page } { shipout } { 0 } { \thepage } \property_new:nnnn { pagenum } { shipout } { 0 } { \the \value { page } } -\property_new:nnnn { currentlabel } { now } { ?? } { \@currentlabel } +\property_new:nnnn { label } { now } { ?? } { \@currentlabel } \property_new:nnnn { title } { now } { \exp_not:n { \textbf { ?? } } } { \@currentlabelname } \property_new:nnnn { target } { now } { } { \@currentHref } +\newcommand\@currentHpage{} +\property_new:nnnn { pagetarget } { shipout } { } { \@currentHpage } + \property_new:nnnn { counter } { now } { } { \@currentcounter } \property_new:nnnn { xpos } { shipout } { 0} { \int_use:N \tex_lastxpos:D } \property_new:nnnn { ypos } { shipout } { 0} { \int_use:N \tex_lastypos:D } @@ -14315,6 +14344,28 @@ of this package available from CTAN} {\@ifnextchar[\@makebox\mbox}}% \expandafter\let\csname makebox \endcsname\@undefined \EndIncludeInRelease +\IncludeInRelease{2023/11/01}% + {\@imakebox}{Unknown alignment warning}% +\long\def\@imakebox[#1][#2]#3{% + \@begin@tempboxa\hbox{#3}% + \setlength\@tempdima{#1}% support calc + \hb@xt@\@tempdima{% + \expandafter\ifx\csname bm@#2\endcsname\relax + \bm@c + \@latex@warning{Unexpected alignment #2}% + \else + \csname bm@#2\endcsname + \fi}% + \@end@tempboxa} +\EndIncludeInRelease +\IncludeInRelease{0000/00/00}% + {\@imakebox}{Unknown alignment warning}% +\long\def\@imakebox[#1][#2]#3{% + \@begin@tempboxa\hbox{#3}% + \setlength\@tempdima{#1}% support calc + \hb@xt@\@tempdima{\csname bm@#2\endcsname}% + \@end@tempboxa} +\EndIncludeInRelease \IncludeInRelease{2020/10/01}% {\@imakepicbox}{default units}% \long\def\@imakepicbox(#1,#2)[#3]#4{% @@ -14399,6 +14450,35 @@ of this package available from CTAN} \@framepicbox{\@ifnextchar[\@framebox\fbox}}% \expandafter\let\csname framebox \endcsname\@undefined \EndIncludeInRelease +\IncludeInRelease{2023/11/01}% + {\@iframebox}{Unknown alignment warning}% +\long\def\@iframebox[#1][#2]#3{% + \leavevmode + \@begin@tempboxa\hbox{#3}% + \setlength\@tempdima{#1}% + \setbox\@tempboxa\hb@xt@\@tempdima + {\kern\fboxsep + \expandafter\ifx\csname bm@#2\endcsname\relax + \bm@c + \@latex@warning{Unexpected alignment #2}% + \else + \csname bm@#2\endcsname + \fi + \kern\fboxsep}% + \@frameb@x{\kern-\fboxrule}% + \@end@tempboxa} +\EndIncludeInRelease +\IncludeInRelease{0000/00/00}% + {\@iframebox}{Unknown alignment warning}% +\long\def\@iframebox[#1][#2]#3{% + \leavevmode + \@begin@tempboxa\hbox{#3}% + \setlength\@tempdima{#1}% + \setbox\@tempboxa\hb@xt@\@tempdima + {\kern\fboxsep\csname bm@#2\endcsname\kern\fboxsep}% + \@frameb@x{\kern-\fboxrule}% + \@end@tempboxa} +\EndIncludeInRelease \IncludeInRelease{2015/01/01}% {\parbox}{Make \parbox robust}% \DeclareRobustCommand\parbox{% @@ -14414,6 +14494,53 @@ of this package available from CTAN} {\@iiiparbox c\relax[s]}}% \expandafter\let\csname parbox \endcsname\@undefined \EndIncludeInRelease +\IncludeInRelease{2023/11/01}% + {\@iiiparbox}{Unknown alignment warning}% +\long\def\@iiiparbox#1#2[#3]#4#5{% + \leavevmode + \@pboxswfalse + \setlength\@tempdima{#4}% + \@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore#5\@@par}% + \ifx\relax#2\else + \setlength\@tempdimb{#2}% + \edef\@parboxto{to\the\@tempdimb}% + \fi + \if#1b\vbox + \else\if #1t\vtop + \else\ifmmode\vcenter + \else\@pboxswtrue $\vcenter + \fi\fi\fi + \@parboxto{\let\hss\vss\let\unhbox\unvbox + \expandafter\ifx\csname bm@#3\endcsname\relax + \bm@c + \@latex@warning{Unexpected alignment #3}% + \else + \csname bm@#3\endcsname + \fi}% + \if@pboxsw \m@th$\fi + \@end@tempboxa} +\EndIncludeInRelease +\IncludeInRelease{0000/00/00}% + {\@iiiparbox}{Unknown alignment warning}% +\long\def\@iiiparbox#1#2[#3]#4#5{% + \leavevmode + \@pboxswfalse + \setlength\@tempdima{#4}% + \@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore#5\@@par}% + \ifx\relax#2\else + \setlength\@tempdimb{#2}% + \edef\@parboxto{to\the\@tempdimb}% + \fi + \if#1b\vbox + \else\if #1t\vtop + \else\ifmmode\vcenter + \else\@pboxswtrue $\vcenter + \fi\fi\fi + \@parboxto{\let\hss\vss\let\unhbox\unvbox + \csname bm@#3\endcsname}% + \if@pboxsw \m@th$\fi + \@end@tempboxa} +\EndIncludeInRelease \IncludeInRelease{2017-04-15}% {\normallineskiplimit} {reset \lineskiplimit}% diff --git a/Master/texmf-dist/tex/latex-dev/base/source2edoc.cls b/Master/texmf-dist/tex/latex-dev/base/source2edoc.cls index f0f1479cac5..5f731af7ae8 100644 --- a/Master/texmf-dist/tex/latex-dev/base/source2edoc.cls +++ b/Master/texmf-dist/tex/latex-dev/base/source2edoc.cls @@ -30,7 +30,7 @@ \seq_if_empty:NF \g__codedoc_nested_names_seq { % This is a crude change: we grab the first name - \__codedoc_get_hyper_target:xN + \__codedoc_get_hyper_target:eN { \seq_item:Nn \g__codedoc_nested_names_seq { 1 } } \l__codedoc_tmpa_tl % ... and check if it has a reference diff --git a/Master/texmf-dist/tex/latex-dev/firstaid/latex2e-first-aid-for-external-files.ltx b/Master/texmf-dist/tex/latex-dev/firstaid/latex2e-first-aid-for-external-files.ltx index 4cfc1c4d1f8..d782bcd647e 100644 --- a/Master/texmf-dist/tex/latex-dev/firstaid/latex2e-first-aid-for-external-files.ltx +++ b/Master/texmf-dist/tex/latex-dev/firstaid/latex2e-first-aid-for-external-files.ltx @@ -34,8 +34,8 @@ %% %% The LaTeX Project and any individual authors listed elsewhere %% in this file. -\def\LaTeXFirstAidDate{2023/07/18} -\def\LaTeXFirstAidVersion{v1.1a} +\def\LaTeXFirstAidDate{2023/09/20} +\def\LaTeXFirstAidVersion{v1.1b} \ProvidesFile{latex2e-first-aid-for-external-files.ltx} [\LaTeXFirstAidDate\space \LaTeXFirstAidVersion\space LaTeX kernel fixes to external files and packages] @@ -167,6 +167,8 @@ \ngermanTeX }% } +\AddToHook{file/underscore.sty/after}[firstaid]{% + \FirstAidNeededT{underscore}{sty}{2006/09/13}{\RequirePackage{underscore-ltx}}} \endinput %% %% End of file `latex2e-first-aid-for-external-files.ltx'. diff --git a/Master/texmf-dist/tex/latex-dev/firstaid/underscore-ltx.sty b/Master/texmf-dist/tex/latex-dev/firstaid/underscore-ltx.sty new file mode 100644 index 00000000000..3a0df981742 --- /dev/null +++ b/Master/texmf-dist/tex/latex-dev/firstaid/underscore-ltx.sty @@ -0,0 +1,56 @@ +%% +%% This is file `underscore-ltx.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% latex2e-first-aid-for-external-files.dtx (with options: `underscore-ltx') +%% +%% The source is maintained by the LaTeX Project team and bug +%% reports for it can be opened at https://latex-project.org/bugs/ +%% (but please observe conditions on bug reports sent to that address!) +%% +%% +%% Copyright (C) 2020-2023 +%% The LaTeX Project and any individual authors listed elsewhere +%% in this file. +%% +%% This file was generated from file(s) of the Standard LaTeX `First Aid Bundle'. +%% ------------------------------------------------------------------------------ +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3c +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% https://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This file may only be distributed together with a copy of the LaTeX +%% `First Aid Bundle'. You may however distribute the LaTeX `First Aid Bundle' +%% without such generated files. +%% +%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020-2023 +%% +%% The LaTeX Project and any individual authors listed elsewhere +%% in this file. +\ProvidesPackage{underscore-ltx}[2023/09/20 LaTeX firstaid to make underscore protected ] +\begingroup + \catcode`\_=\active + \protected\gdef _{% + \ifincsname % + \string_% + \else + \ifx\protect\@typeset@protect + \ifmmode \sb \else \BreakableUnderscore \fi + \else + \ifx\protect\@unexpandable@protect \noexpand_% + \else \protect_% + \fi\fi + \fi + } + \global\let\ActiveUnderscore=_ +\endgroup +\endinput +%% +%% End of file `underscore-ltx.sty'. diff --git a/Master/texmf-dist/tex/latex-dev/latex-lab/graphic-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex-dev/latex-lab/graphic-latex-lab-testphase.ltx index 858853ed3f6..b8d2878c302 100644 --- a/Master/texmf-dist/tex/latex-dev/latex-lab/graphic-latex-lab-testphase.ltx +++ b/Master/texmf-dist/tex/latex-dev/latex-lab/graphic-latex-lab-testphase.ltx @@ -33,8 +33,8 @@ %% %% %% File: latex-lab-graphic.dtx (C) Copyright 2022-2023 LaTeX Project -\def\ltlabgraphicdate{2023-07-20} -\def\ltlabgraphicversion{0.80a} +\def\ltlabgraphicdate{2023-10-13} +\def\ltlabgraphicversion{0.80b} \ProvidesFile{graphic-latex-lab-testphase.ltx} [\ltlabgraphicdate\space v\ltlabgraphicversion\space latex-lab wrapper graphic] diff --git a/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-footnotes.ltx b/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-footnotes.ltx index c7615b453b9..38876d0c908 100644 --- a/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-footnotes.ltx +++ b/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-footnotes.ltx @@ -58,8 +58,6 @@ \bool_set_true:N \l__fnote_autodetect_bool \tl_new:N \l__fnote_currentstruct_tl \tl_set:Nn \l__fnote_currentstruct_tl {1} -\cs_generate_variant:Nn \ref_value:nn { Vn } -\cs_generate_variant:Nn \prop_gput:Nnn {cxn} \cs_generate_variant:Nn \hook_gput_code:nnn{nne} \cs_generate_variant:Nn \tag_struct_use:n {e} \cs_new_protected:Npn \fnote_step_fnmark:nn #1#2 { @@ -371,14 +369,14 @@ \bool_set_false:N \l_fnote_link_bool } } -\ref_attribute_gset:nnnn {fnote/struct}{1}{now}{\l__fnote_currentstruct_tl} -\cs_new_protected:Npn \__fnote_label_hook:n #1 {} -\AddToHookWithArguments{label}{ \__fnote_label_hook:n{#1}} +\property_new:nnnn {fnote/struct}{now}{1}{\l__fnote_currentstruct_tl} +\cs_new_protected:Npn \__fnote_label_hook:e #1 {} +\AddToHookWithArguments{label}{ \__fnote_label_hook:e{#1}} \AddToHook{fntext/begin} { - \cs_set_protected:Npn \__fnote_label_hook:n #1 + \cs_set_protected:Npn \__fnote_label_hook:e #1 { - \ref_label:nn {#1} {fnote/struct} + \property_record:ee {__fnote/#1} {fnote/struct} } } \cs_new_protected:Npn \fnote_class_new:nn #1 #2 % #1 name, #2 options @@ -389,7 +387,7 @@ \fnote_class_new:nn {default}{} \cs_new_protected:Npn \fnote_mark_gput:nn #1 #2 % #1 the representation of the mark, #2 type { - \prop_gput:cxn { g__fnote_currentmarks_ #2 _prop } + \prop_gput:cen { g__fnote_currentmarks_ #2 _prop } { \tag_get:n{struct_num} } { #1 } } @@ -416,16 +414,16 @@ \bool_if:NTF \l__fnote_autodetect_bool { \fnote_mark_gput:oo {\@thefnmark}{\l_fnote_type_tl} - \tl_set:Nx \l__fnote_linktarget_tl {footnote*.\tag_get:n{struct_num}} + \tl_set:Ne \l__fnote_linktarget_tl {footnote*.\tag_get:n{struct_num}} } { \hook_gput_code:nne {tagpdf/finish/before} {tagpdf/footnote} { \exp_not:N\fnote_gput_refs:ee { \tag_get:n{struct_num} } - { \ref_value:Vn\l__fnote_currentlabel_tl {fnote/struct} } + { \property_ref:ee{ __fnote/\l__fnote_currentlabel_tl } {fnote/struct} } } - \tl_set:Nx \l__fnote_linktarget_tl {footnote*.\ref_value:Vn\l__fnote_currentlabel_tl {fnote/struct}} + \tl_set:Ne \l__fnote_linktarget_tl {footnote*.\property_ref:ee {__fnote/\l__fnote_currentlabel_tl} {fnote/struct}} } \tag_mc_begin:n{tag=Lbl} % @@ -470,7 +468,7 @@ { \tag_struct_begin:n { tag=footnote,parent=\l__fnote_dflt_struct_tl } } - \tl_set:Nx \l__fnote_currentstruct_tl { \tag_get:n{struct_num} } + \tl_set:Ne \l__fnote_currentstruct_tl { \tag_get:n{struct_num} } \tag_struct_begin:n { tag=footnotelabel }\tag_struct_end: \bool_if:NTF \l__fnote_autodetect_bool { diff --git a/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-kernel-changes.sty b/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-kernel-changes.sty index 14294ee125a..f2c99285c91 100644 --- a/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-kernel-changes.sty +++ b/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-kernel-changes.sty @@ -34,8 +34,8 @@ %% %% %% File: latex-lab-toc-kernel-changes.dtx (C) Copyright 2022-2023 LaTeX Project -\def\ltlabkerneldate{2023-07-20} -\def\ltlabkernelversion{0.85a} +\def\ltlabkerneldate{2023-10-16} +\def\ltlabkernelversion{0.85b} \ProvidesPackage{latex-lab-kernel-changes} [\ltlabkerneldate\space v\ltlabkernelversion\space General kernel and class changes] @@ -77,9 +77,21 @@ \def\toclevel@subparagraph{5} \def\toclevel@figure{1} \def\toclevel@table{1} +\ExplSyntaxOn +\AddToHookWithArguments{cmd/MakeLinkTarget/after} + { + \tag_if_active:T + { + \tl_if_blank:VF \@currentHref + { + \prop_gput:Nee \g__tag_struct_dest_num_prop {\@currentHref}{\tag_get:n{struct_num}} + } + } + } +\ExplSyntaxOff %% File: latex-lab-sec.dtx (C) Copyright 2022-2023 LaTeX Project -\def\ltlabsecdate{2023-07-20} -\def\ltlabsecversion{0.84a} +\def\ltlabsecdate{2023-10-16} +\def\ltlabsecversion{0.84b} \ifdefined\directlua \ifnum\outputmode > 0 \pdfvariable gentounicode =1 diff --git a/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-math.ltx b/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-math.ltx index 1b96a15a65f..1ced324bb10 100644 --- a/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-math.ltx +++ b/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-math.ltx @@ -83,7 +83,6 @@ \tagmcbegin{} % restart P-chunk (whatsits in pdftex) } } - } } @@ -299,7 +298,6 @@ { $ } } { - \bool_set_true:N \l__math_collected_bool \__math_grab_inline:w } } % \( diff --git a/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-graphic.sty b/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-graphic.sty index b8c4bdb6989..19aed304798 100644 --- a/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-graphic.sty +++ b/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-graphic.sty @@ -33,18 +33,15 @@ %% %% %% File: latex-lab-graphic.dtx (C) Copyright 2022-2023 LaTeX Project -\def\ltlabgraphicdate{2023-07-20} -\def\ltlabgraphicversion{0.80a} +\def\ltlabgraphicdate{2023-10-13} +\def\ltlabgraphicversion{0.80b} \ProvidesExplPackage {latex-lab-testphase-graphic} {\ltlabgraphicdate} {\ltlabgraphicversion} {Code related to the tagging of graphics} \RequirePackage{l3opacity} -\ref_attribute_gset:nnnn{xpos}{0}{shipout}{\int_use:N\tex_lastxpos:D} -\ref_attribute_gset:nnnn{ypos}{0}{shipout}{\int_use:N\tex_lastypos:D} - \cs_new_protected:Npn\__tag_graphic_savepos:n #1 { \tex_savepos:D - \ref_label:nn{#1}{xpos,ypos,abspage} + \property_record:nn{#1}{xpos,ypos,abspage} \tex_savepos:D } \cs_generate_variant:Nn \__tag_graphic_savepos:n {e} @@ -107,8 +104,8 @@ { \tl_if_empty:NT\l__tag_graphic_alt_tl { - \msg_warning:nnx{tag}{alt-text-missing}{\l__tag_graphic_alt_dflt_tl} - \tl_set:Nx\l__tag_graphic_alt_tl {\l__tag_graphic_alt_dflt_tl} + \msg_warning:nne{tag}{alt-text-missing}{\l__tag_graphic_alt_dflt_tl} + \tl_set:Ne\l__tag_graphic_alt_tl {\l__tag_graphic_alt_dflt_tl} } \tag_struct_begin:n { @@ -198,7 +195,7 @@ } \AddToHook{package/graphicx/after}[latex-lab] { - \define@key{Gin}{alt} {\tl_set:Nx\l__tag_graphic_alt_tl{\text_purify:n{#1}}} + \define@key{Gin}{alt} {\tl_set:Ne\l__tag_graphic_alt_tl{\text_purify:n{#1}}} \define@key{Gin}{artifact}[] { \bool_set_true:N \l__tag_graphic_artifact_bool @@ -206,7 +203,7 @@ } \define@key{Gin}{actualtext} { - \tl_set:Nx\l__tag_graphic_actual_tl{\text_purify:n{#1}} + \tl_set:Ne\l__tag_graphic_actual_tl{\text_purify:n{#1}} \bool_set_false:N \l__tag_graphic_BBox_bool } \define@key{Gin}{correct-BBox} @@ -233,7 +230,7 @@ \keys_define:nn{tag/picture} { ,alt .code:n = - {\tl_set:Nx\l__tag_graphic_alt_tl{\text_purify:n{#1}}} + {\tl_set:Ne\l__tag_graphic_alt_tl{\text_purify:n{#1}}} ,artifact .code:n = { \bool_set_true:N \l__tag_graphic_artifact_bool @@ -241,7 +238,7 @@ } ,actualtext .code:n = { - \tl_set:Nx\l__tag_graphic_actual_tl{\text_purify:n{#1}} + \tl_set:Ne\l__tag_graphic_actual_tl{\text_purify:n{#1}} \bool_set_false:N \l__tag_graphic_BBox_bool } ,correct-BBox .code:n = @@ -286,7 +283,12 @@ } \cs_new_protected:Npn \__tag_graphic_get_scale: { - \fp_set:Nn \l__tag_graphic_scale_fp { \Gin@scalex } + \fp_set:Nn \l__tag_graphic_scale_fp + { + \str_if_eq:eeTF {\Gin@scalex} { ! } + { \Gin@scaley } + { \Gin@scalex } + } } \cs_new_protected:Npn \__tag_graphic_applyangle:nnnn #1#2#3#4 %lx,ly,ux,uy { @@ -327,7 +329,7 @@ (\l__tag_graphic_uy_fp-\l__tag_graphic_ly_fp-\l__tag_graphic_trim_ly_fp) * (-\l__tag_graphic_sin_fp) } - \tl_gset:Nx\g__tag_graphic_lx_tl + \tl_gset:Ne\g__tag_graphic_lx_tl { \fp_eval:n { @@ -342,7 +344,7 @@ +\l__tag_graphic_trim_lx_fp } } - \tl_gset:Nx\g__tag_graphic_ux_tl + \tl_gset:Ne\g__tag_graphic_ux_tl { \fp_eval:n { @@ -383,7 +385,7 @@ (\l__tag_graphic_uy_fp-\l__tag_graphic_ly_fp-\l__tag_graphic_trim_ly_fp) * \l__tag_graphic_cos_fp } - \tl_gset:Nx\g__tag_graphic_ly_tl + \tl_gset:Ne\g__tag_graphic_ly_tl { \fp_eval:n { @@ -397,7 +399,7 @@ + \l__tag_graphic_ly_fp + \l__tag_graphic_trim_ly_fp } } - \tl_gset:Nx\g__tag_graphic_uy_tl + \tl_gset:Ne\g__tag_graphic_uy_tl { \fp_eval:n { @@ -418,7 +420,7 @@ { \bool_if:NT\l__tag_graphic_bboxcorr_bool { - \tl_set:Nx #1 + \tl_set:Ne #1 { \fp_eval:n { @@ -427,7 +429,7 @@ \dim_to_decimal_in_bp:n {\seq_item:Nn \l__tag_graphic_bboxcorr_seq {1} } } } - \tl_set:Nx #2 + \tl_set:Ne #2 { \fp_eval:n { @@ -436,7 +438,7 @@ \dim_to_decimal_in_bp:n {\seq_item:Nn \l__tag_graphic_bboxcorr_seq {2} } } } - \tl_set:Nx #3 + \tl_set:Ne #3 { \fp_eval:n { @@ -445,7 +447,7 @@ \dim_to_decimal_in_bp:n {\seq_item:Nn \l__tag_graphic_bboxcorr_seq {3} } } } - \tl_set:Nx #4 + \tl_set:Ne #4 { \fp_eval:n { @@ -465,22 +467,22 @@ {\l__tag_graphic_BBox_bool} } { - \fp_set:Nn \l__tag_graphic_scale_fp { \Gin@scalex } + \__tag_graphic_get_scale: \__tag_graphic_get_trim: \int_gincr:N\g__tag_graphic_int - \tl_set:Nx\l__tag_graphic_currentlabel_tl {__tag_graphic_\int_use:N \g__tag_graphic_int} + \tl_set:Ne\l__tag_graphic_currentlabel_tl {__tag_graphic_\int_use:N \g__tag_graphic_int} \__tag_graphic_savepos:e { \l__tag_graphic_currentlabel_tl } - \tl_gset:Nx\g__tag_graphic_lx_tl + \tl_gset:Ne\g__tag_graphic_lx_tl { \dim_to_decimal_in_bp:n - { \__tag_ref_value:enn {\l__tag_graphic_currentlabel_tl}{xpos}{0}sp } + { \property_ref:een {\l__tag_graphic_currentlabel_tl}{xpos}{0}sp } } - \tl_gset:Nx\g__tag_graphic_ly_tl + \tl_gset:Ne\g__tag_graphic_ly_tl { \dim_to_decimal_in_bp:n - { \__tag_ref_value:enn {\l__tag_graphic_currentlabel_tl}{ypos}{0}sp } + { \property_ref:een {\l__tag_graphic_currentlabel_tl}{ypos}{0}sp } } - \tl_gset:Nx\g__tag_graphic_ux_tl + \tl_gset:Ne\g__tag_graphic_ux_tl { \fp_eval:n { @@ -489,7 +491,7 @@ \dim_to_decimal_in_bp:n { \Gin@req@width } } } - \tl_gset:Nx\g__tag_graphic_uy_tl + \tl_gset:Ne\g__tag_graphic_uy_tl { \fp_eval:n { @@ -500,7 +502,7 @@ } \legacy_if:nF {Gin@clip} { - \tl_gset:Nx\g__tag_graphic_ux_tl + \tl_gset:Ne\g__tag_graphic_ux_tl { \fp_eval:n { @@ -509,7 +511,7 @@ \l__tag_graphic_trim_ux_fp } } - \tl_gset:Nx\g__tag_graphic_lx_tl + \tl_gset:Ne\g__tag_graphic_lx_tl { \fp_eval:n { @@ -518,7 +520,7 @@ \l__tag_graphic_trim_lx_fp } } - \tl_gset:Nx\g__tag_graphic_uy_tl + \tl_gset:Ne\g__tag_graphic_uy_tl { \fp_eval:n { @@ -527,7 +529,7 @@ \l__tag_graphic_trim_uy_fp } } - \tl_gset:Nx\g__tag_graphic_ly_tl + \tl_gset:Ne\g__tag_graphic_ly_tl { \fp_eval:n { @@ -583,26 +585,26 @@ } { \int_gincr:N\g__tag_graphic_int - \tl_set:Nx\l__tag_graphic_currentlabel_tl {__tag_graphic_\int_use:N \g__tag_graphic_int} + \tl_set:Ne\l__tag_graphic_currentlabel_tl {__tag_graphic_\int_use:N \g__tag_graphic_int} \__tag_graphic_savepos:e { \l__tag_graphic_currentlabel_tl } - \tl_gset:Nx \g__tag_graphic_lx_tl + \tl_gset:Ne \g__tag_graphic_lx_tl { \dim_to_decimal_in_bp:n - { \__tag_ref_value:enn {\l__tag_graphic_currentlabel_tl}{xpos}{0}sp } + { \property_ref:een {\l__tag_graphic_currentlabel_tl}{xpos}{0}sp } } - \tl_gset:Nx \g__tag_graphic_ly_tl + \tl_gset:Ne \g__tag_graphic_ly_tl { \dim_to_decimal_in_bp:n - { \__tag_ref_value:enn {\l__tag_graphic_currentlabel_tl}{ypos}{0}sp - \dp\@picbox } + { \property_ref:een {\l__tag_graphic_currentlabel_tl}{ypos}{0}sp - \dp\@picbox } } - \tl_gset:Nx \g__tag_graphic_ux_tl + \tl_gset:Ne \g__tag_graphic_ux_tl { \dim_to_decimal_in_bp:n { \g__tag_graphic_lx_tl bp + \wd\@picbox } } - \tl_gset:Nx \g__tag_graphic_uy_tl + \tl_gset:Ne \g__tag_graphic_uy_tl { \dim_to_decimal_in_bp:n { @@ -675,7 +677,7 @@ \int_compare:nNnT {\g_shipout_readonly_int} = - {\__tag_ref_value:enn{__tag_graphic_#6}{abspage}{0}} + {\property_ref:een{__tag_graphic_#6}{abspage}{0}} { \put (#1 bp,\dim_eval:n{-\paperheight + \dim_eval:n{#2 bp}}) diff --git a/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-minipage.sty b/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-minipage.sty index 7bed296b11b..1f8c5eb5b42 100644 --- a/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-minipage.sty +++ b/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-minipage.sty @@ -33,8 +33,8 @@ %% %% %% File: latex-lab-minipage.dtx (C) Copyright 2023 LaTeX Project -\def\ltlabminipagedate{2023-08-20} -\def\ltlabminipageversion{0.81b} +\def\ltlabminipagedate{2023-10-30} +\def\ltlabminipageversion{0.81c} \ProvidesExplPackage {latex-lab-testphase-minipage} {\ltlabminipagedate} {\ltlabminipageversion} {Code related to the tagging of minipages and parboxes} @@ -43,24 +43,24 @@ \def\@kernel@init@minipage{} \def\@kernel@init@parbox{} -\def\@kernel@before@minipage{} -\def\@kernel@after@minipage{} -\def\@kernel@before@parbox{} -\def\@kernel@after@parbox{} +\socket_new:nn {tagsupport/minipage/before}{0} +\socket_new:nn {tagsupport/minipage/after} {0} +\socket_new:nn {tagsupport/parbox/before} {0} +\socket_new:nn {tagsupport/parbox/after}{0} \def\@iiiminipage#1#2[#3]#4{% \@kernel@init@minipage \leavevmode \@pboxswfalse \setlength\@tempdima{#4}% \def\@mpargs{{#1}{#2}[#3]{#4}}% - \@kernel@before@minipage% new + \socket_use:n{tagsupport/minipage/before}% new \setbox\@tempboxa\vbox\bgroup \color@begingroup \hsize\@tempdima \textwidth\hsize \columnwidth\hsize \@parboxrestore \def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@ - \AssignSocketPlug{fntext/process}{mp}% + \socket_assign_plug:nn{fntext/process}{mp}% \let\@listdepth\@mplistdepth \@mplistdepth\z@ \@minipagerestore \@setminipage} @@ -79,14 +79,14 @@ \tag_stop:n{minipage} \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}% \tag_start:n{minipage} - \@kernel@after@minipage%new end ... + \socket_use:n{tagsupport/minipage/after} %new end ... } \long\def\@iiiparbox#1#2[#3]#4#5{% \@kernel@init@parbox \leavevmode \@pboxswfalse \setlength\@tempdima{#4}% - \@kernel@before@parbox% new + \socket_use:n{tagsupport/parbox/before} \@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore#5\@@par}% \ifx\relax#2\else \setlength\@tempdimb{#2}% @@ -101,20 +101,27 @@ \csname bm@#3\endcsname}% \if@pboxsw \m@th$\fi \@end@tempboxa% - \@kernel@after@parbox%new end + \socket_use:n{tagsupport/parbox/after} } \tl_new:N \l__ltboxes_tag_tl \tl_set:Nn \l__ltboxes_tag_tl {Div} -\cs_set_protected:Npn\@kernel@before@minipage +\socket_new_plug:nnn{tagsupport/minipage/before}{tag/dflt} { \tag_mc_end_push:\tag_struct_end: - \tag_struct_begin:n{tag=\l__ltboxes_tag_tl}} -\cs_set_protected:Npn\@kernel@after@minipage + \tag_struct_begin:n{tag=\l__ltboxes_tag_tl} + } +\socket_new_plug:nnn{tagsupport/minipage/after}{tag/dflt} {\tag_struct_end:\tag_struct_begin:n{tag=\l__tag_para_tag_tl}\tag_mc_begin_pop:n{}} -\cs_set_protected:Npn\@kernel@before@parbox + +\socket_new_plug:nnn{tagsupport/parbox/before}{tag/dflt} {\tag_mc_end_push:\tag_struct_end:\tag_struct_begin:n{tag=\l__ltboxes_tag_tl}} -\cs_set_protected:Npn\@kernel@after@parbox + +\socket_new_plug:nnn{tagsupport/parbox/after}{tag/dflt} {\tag_struct_end:\tag_struct_begin:n{tag=\l__tag_para_tag_tl}\tag_mc_begin_pop:n{}} +\socket_assign_plug:nn{tagsupport/minipage/before}{tag/dflt} +\socket_assign_plug:nn{tagsupport/minipage/after} {tag/dflt} +\socket_assign_plug:nn{tagsupport/parbox/before} {tag/dflt} +\socket_assign_plug:nn{tagsupport/parbox/after} {tag/dflt} \endinput %% diff --git a/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-sec.sty b/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-sec.sty index 7ff5295cce7..9e98894969c 100644 --- a/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-sec.sty +++ b/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-sec.sty @@ -33,8 +33,8 @@ %% %% %% File: latex-lab-sec.dtx (C) Copyright 2022-2023 LaTeX Project -\def\ltlabsecdate{2023-07-20} -\def\ltlabsecversion{0.84a} +\def\ltlabsecdate{2023-10-16} +\def\ltlabsecversion{0.84b} \ProvidesExplPackage {latex-lab-testphase-sec} {\ltlabsecdate} {\ltlabsecversion} {Code related to the tagging of sectioning commands} \RequirePackage{latex-lab-kernel-changes} @@ -215,11 +215,6 @@ } { \MakeLinkTarget[chapter]{} - %todo public function for this update! - \tl_if_blank:VF \@currentHref - { - \prop_gput:Nxx \g__tag_struct_dest_num_prop {\@currentHref}{\tag_get:n{struct_num}} - } } \IfBooleanTF {#1} @@ -258,10 +253,6 @@ } { \MakeLinkTarget[part]{} - \tl_if_blank:VF \@currentHref - { - \prop_gput:Nxx \g__tag_struct_dest_num_prop {\@currentHref}{\tag_get:n{struct_num}} - } } \IfBooleanTF {#1} @@ -273,18 +264,14 @@ } \def\hyper@nopatch@sectioning{} \cs_new_protected:Npn \@hyp@section@target@nnn #1 #2 #3 %#1 optarg #2 name/counter, #3 indent - { - \makebox[0pt][l] + { + \makebox[0pt][l] { \skip_set:Nn \@tempskipa {#3} \dim_compare:nNnF {\@tempskipa}<{0pt}{\kern-\@tempskipa} \MakeLinkTarget#1{#2} } - \tl_if_blank:VF \@currentHref - { - \prop_gput:Nxx \g__tag_struct_dest_num_prop {\@currentHref}{\tag_get:n{struct_num}} - } - } + } \def\@startsection#1#2#3#4#5#6{% \if@noskipsec \leavevmode \fi \par diff --git a/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-table.sty b/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-table.sty new file mode 100644 index 00000000000..e6c89d16715 --- /dev/null +++ b/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-table.sty @@ -0,0 +1,977 @@ +%% +%% This is file `latex-lab-testphase-table.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% latex-lab-table.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% Copyright 2021-2023 LaTeX Project +%% +%% This file was generated from file(s) of the `LaTeX-lab Bundle'. +%% ------------------------------------------------------------------------------------ +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3c +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2008 or later. +%% +%% This file may only be distributed together with a copy of the LaTeX +%% `LaTeX-lab Bundle'. You may however distribute the `LaTeX-lab Bundle' +%% without such generated files. +%% +%% The newest sources can be found below +%% +%% https://github.com/latex3/latex2e/required/latex-lab +%% +%% where one can also log issues in case there are any. +%% +%% +%% File: latex-lab-table.dtx (C) Copyright 2023 LaTeX Project +\def\ltlabtbldate{2023-10-30} +\def\ltlabtblversion{0.85d} +\ProvidesExplPackage {latex-lab-testphase-table} {\ltlabtbldate} {\ltlabtblversion} + {Code related to the tagging of tables} +\RequirePackage{array} +\tl_new:N \l__tbl_celltag_tl +\tl_set:Nn \l__tbl_celltag_tl {TD} +\tl_new:N \l__tbl_rowtag_tl +\tl_set:Nn \l__tbl_rowtag_tl {TR} +\tl_new:N \l__tbl_cellattribute_tl +\tl_set:Nn \l__tbl_cellattribute_tl {} +\tl_new:N \l__tbl_rowattribute_tl +\tl_set:Nn \l__tbl_rowattribute_tl {} +\int_new:N \g__tbl_missing_cells_int +\clist_new:N \l__tbl_tmpa_clist +\seq_new:N \l__tbl_tmpa_seq +\tl_new:N \l__tbl_tmpa_tl +\NewSocket{tagsupport/tblcell/begin}{0} +\NewSocket{tagsupport/tblcell/end}{0} +\NewSocket{tagsupport/tblrow/begin}{0} +\NewSocket{tagsupport/tblrow/end}{0} +\NewSocket{tagsupport/tbl/init}{0} +\NewSocket{tagsupport/tbl/finalize}{0} +\NewSocket{tagsupport/tbl/finalize/longtable}{0} +\NewSocket{tagsupport/tblhmode/begin}{0} +\NewSocket{tagsupport/tblhmode/end}{0} +\NewSocket{tagsupport/tblvmode/begin}{0} +\NewSocket{tagsupport/tblvmode/end}{0} +\NewSocketPlug{tagsupport/tblcell/begin}{TD} + { + \tag_struct_begin:n + { + tag =\l__tbl_celltag_tl, + attribute-class =\l__tbl_cellattribute_tl + } + \seq_gput_right:Ne \g__tbl_struct_cur_seq { \tag_get:n {struct_num} } + \int_step_inline:nn { \g__tbl_span_tl - 1 } + { + \seq_gput_right:Ne \g__tbl_struct_cur_seq { -\tag_get:n {struct_num} } + } + \tag_mc_begin:n{} + } +\NewSocketPlug{tagsupport/tblcell/end}{TD} + { + \tag_mc_end: + \tag_struct_end: + } +\NewSocketPlug{tagsupport/tblcell/begin}{TDpbox} + { + \tag_struct_begin:n + { + tag =\l__tbl_celltag_tl, + attribute-class =\l__tbl_cellattribute_tl + } + \seq_gput_right:Ne \g__tbl_struct_cur_seq { \tag_get:n {struct_num} } + \int_step_inline:nn { \g__tbl_span_tl - 1 } + { + \seq_gput_right:Ne \g__tbl_struct_cur_seq { -\tag_get:n {struct_num} } + } + \tagpdfparaOn + \tl_set:Nn \l__tag_para_main_tag_tl {Div} + } +\NewSocketPlug{tagsupport/tblcell/end}{TDpbox} + { + \tag_struct_end: + } +\NewSocketPlug{tagsupport/tblrow/begin}{TR} + { + \seq_gclear:N \g__tbl_struct_cur_seq + \tag_struct_begin:n + { + tag =\l__tbl_rowtag_tl, + attribute-class=\l__tbl_rowattribute_tl + } + \seq_gput_right:Ne \g__tbl_struct_rows_seq { \tag_get:n {struct_num} } + } +\NewSocketPlug{tagsupport/tblrow/end}{TR} + { + \__tag_tbl_add_missing_cells:n { \g__tbl_missing_cells_int } + \seq_gput_right:Ne \g__tbl_struct_cells_seq + { + \seq_use:Nn \g__tbl_struct_cur_seq {,} + } + \int_compare:nNnTF { \g__tbl_row_int } = { \seq_count:N\g__tbl_struct_cells_seq } + { + \typeout + {==>~ + stucture~stored~for~row~\int_use:N\g__tbl_row_int :~ + \seq_use:Nn \g__tbl_struct_cur_seq {,} + } + } + { \ERROR } % should not happen ... + \tag_struct_end: + } +\NewSocketPlug{tagsupport/tbl/init}{Table} + { + \tag_if_active:T + { + \bool_set_false:N \l__tag_para_bool + } + } +\NewSocketPlug{tagsupport/tbl/finalize}{Table} + { + \__tbl_set_header_rows: + } +\NewSocketPlug{tagsupport/tbl/finalize/longtable}{Table} + { + \bool_lazy_and:nnTF + { \seq_if_empty_p:N \g__tbl_LT@head_rows_seq } + { \seq_if_empty_p:N \g__tbl_LT@firsthead_rows_seq } + { \__tbl_set_header_rows: } + { + \seq_if_empty:NTF \g__tbl_LT@firsthead_rows_seq + { + \clist_set:Ne \l__tbl_header_rows_clist + {\seq_use:Nn \g__tbl_LT@head_rows_seq {,}} + \__tbl_set_header_rows: + } + { + \clist_set:Ne \l__tbl_header_rows_clist + { \seq_use:Nn \g__tbl_LT@firsthead_rows_seq {,} } + \__tbl_set_header_rows: + \pdf_version_compare:NnTF < {2.0} + { + \seq_map_inline:Nn \g__tbl_LT@head_rows_seq + { + \seq_gset_item:cnn + {g__tag_struct_kids_ \g__tbl_struct_table_tl _seq} + { ##1 } + {} + \tl_set:Ne \l__tbl_tmpa_tl + { \seq_item:Nn\g__tbl_struct_rows_seq {##1} } + \prop_if_exist:cT + { g__tag_struct_ \l__tbl_tmpa_tl _prop } + { + %\prop_gremove:cn {g__tag_struct_ \l__tbl_tmpa_tl _prop} {P} + } + } + } + { + \seq_map_inline:Nn \g__tbl_LT@head_rows_seq + { + \tl_set:Ne \l__tbl_tmpa_tl + { \seq_item:Nn\g__tbl_struct_rows_seq {##1} } + \prop_if_exist:cT + { g__tag_struct_ \l__tbl_tmpa_tl _prop } + { + \__tbl_struct_prop_gput:Vnn \l__tbl_tmpa_tl {S}{/Artifact} + } + } + } + } + } + \bool_lazy_and:nnF + { \seq_if_empty_p:N \g__tbl_LT@foot_rows_seq } + { \seq_if_empty_p:N \g__tbl_LT@lastfoot_rows_seq } + { + \seq_if_empty:NTF \g__tbl_LT@lastfoot_rows_seq + { + \seq_map_inline:Nn \g__tbl_LT@foot_rows_seq + { + \tl_set:Ne \l__tbl_tmpa_tl + { + \seq_item:cn + {g__tag_struct_kids_ \g__tbl_struct_table_tl _seq} + {##1} + } + \seq_gset_item:cnn + {g__tag_struct_kids_ \g__tbl_struct_table_tl _seq} + { ##1 } + {} + \seq_gput_right:cV + {g__tag_struct_kids_ \g__tbl_struct_table_tl _seq} + \l__tbl_tmpa_tl + } + } + { + \seq_map_inline:Nn \g__tbl_LT@lastfoot_rows_seq + { + \tl_set:Ne \l__tbl_tmpa_tl + { + \seq_item:cn + {g__tag_struct_kids_ \g__tbl_struct_table_tl _seq} + {##1} + } + \seq_gset_item:cnn + {g__tag_struct_kids_ \g__tbl_struct_table_tl _seq} + { ##1 } + {} + \seq_gput_right:cV + {g__tag_struct_kids_ \g__tbl_struct_table_tl _seq} + \l__tbl_tmpa_tl + } + \pdf_version_compare:NnTF < {2.0} + { + \seq_map_inline:Nn \g__tbl_LT@foot_rows_seq + { + \seq_gset_item:cnn + {g__tag_struct_kids_ \g__tbl_struct_table_tl _seq} + { ##1 } + {} + \tl_set:Ne \l__tbl_tmpa_tl + { \seq_item:Nn\g__tbl_struct_rows_seq {##1} } + \prop_if_exist:cT + { g__tag_struct_ \l__tbl_tmpa_tl _prop } + { + %\prop_gremove:cn {g__tag_struct_ \l__tbl_tmpa_tl _prop} {P} + } + } + } + { + \seq_map_inline:Nn \g__tbl_LT@foot_rows_seq + { + \tl_set:Ne \l__tbl_tmpa_tl + { \seq_item:Nn\g__tbl_struct_rows_seq {##1} } + \prop_if_exist:cT + { g__tag_struct_ \l__tbl_tmpa_tl _prop } + { + \__tbl_struct_prop_gput:Vnn \l__tbl_tmpa_tl {S}{/Artifact} + } + } + } + } + } + } +\NewSocketPlug{tagsupport/tblhmode/begin}{Table} + { + \mode_leave_vertical: + \tag_mc_end_push: + \bool_lazy_and:nnT + { \bool_if_exist_p:N \l__tag_para_bool } { \l__tag_para_bool } + { \tag_struct_end:n { text } } + \tag_struct_begin:n {tag=Table} + \tl_gset:Ne \g__tbl_struct_table_tl { \tag_get:n {struct_num} } + } +\NewSocketPlug{tagsupport/tblhmode/end}{Table} + { + \tag_struct_end: + \bool_lazy_and:nnT + { \bool_if_exist_p:N \l__tag_para_bool } { \l__tag_para_bool } + { \tag_struct_begin:n { tag=\l__tag_para_tag_tl } } + \tag_mc_begin_pop:n{} + } +\NewSocketPlug{tagsupport/tblvmode/begin}{Table} + { + \tag_struct_begin:n {tag=Table} + \tl_gset:Ne \g__tbl_struct_table_tl { \tag_get:n {struct_num} } + } +\NewSocketPlug{tagsupport/tblvmode/end}{Table} + { + \tag_struct_end: + \par + } +\AddToHook{env/tabular/before} {\UseSocket{tagsupport/tblhmode/begin}} +\AddToHook{env/tabular/after} {\UseSocket{tagsupport/tblhmode/end}} +\AddToHook{env/tabular*/before} {\UseSocket{tagsupport/tblhmode/begin}} +\AddToHook{env/tabular*/after} {\UseSocket{tagsupport/tblhmode/end}} +\AddToHook{env/tabularx/before} {\UseSocket{tagsupport/tblhmode/begin}} +\AddToHook{env/tabularx/after} {\UseSocket{tagsupport/tblhmode/end}} +\AddToHook{env/longtable/before}{\UseSocket{tagsupport/tblvmode/begin}} +\AddToHook{env/longtable/after} {\UseSocket{tagsupport/tblvmode/end}} +\AddToHook{env/array/begin} {\__tag_tbl_disable:} +\tag_if_active:T + { \cs_generate_variant:Nn \__tag_attr_new_entry:nn {ee} } +\cs_new_protected:Npn \__tbl_set_colspan:n #1 + { + \tag_if_active:T + { + \int_compare:nNnT {#1}>{1} + { + \prop_get:NeNF \g__tag_attr_entries_prop + {colspan-\int_eval:n{#1}} + \l__tbl_tmpa_tl + { + \__tag_attr_new_entry:ee + {colspan-\int_eval:n{#1}} + {/O /Table /ColSpan~\int_eval:n{#1}} + } + \tl_set:Ne \l__tbl_cellattribute_tl + {colspan-\int_eval:n{#1}} + } + } + } + +\cs_new_protected:Npn \__tag_tbl_disable: + { + \AssignSocketPlug{tagsupport/tblcell/begin}{noop} + \AssignSocketPlug{tagsupport/tblcell/end}{noop} + \AssignSocketPlug{tagsupport/tblrow/begin}{noop} + \AssignSocketPlug{tagsupport/tblrow/end}{noop} + \AssignSocketPlug{tagsupport/tbl/init}{noop} + \AssignSocketPlug{tagsupport/tbl/finalize}{noop} + \AssignSocketPlug{tagsupport/tbl/finalize/longtable}{noop} + \AssignSocketPlug{tagsupport/tblhmode/begin}{noop} + \AssignSocketPlug{tagsupport/tblhmode/end}{noop} + \AssignSocketPlug{tagsupport/tblvmode/begin}{noop} + \AssignSocketPlug{tagsupport/tblvmode/end}{noop} + } + +\cs_new_protected:Npn \__tag_tbl_enable: + { + \AssignSocketPlug{tagsupport/tblcell/begin}{TD} + \AssignSocketPlug{tagsupport/tblcell/end}{TD} + \AssignSocketPlug{tagsupport/tblrow/begin}{TR} + \AssignSocketPlug{tagsupport/tblrow/end}{TR} + \AssignSocketPlug{tagsupport/tbl/init}{Table} + \AssignSocketPlug{tagsupport/tbl/finalize}{Table} + \AssignSocketPlug{tagsupport/tbl/finalize/longtable}{Table} + \AssignSocketPlug{tagsupport/tblhmode/begin}{Table} + \AssignSocketPlug{tagsupport/tblhmode/end}{Table} + \AssignSocketPlug{tagsupport/tblvmode/begin}{Table} + \AssignSocketPlug{tagsupport/tblvmode/end}{Table} + } + +\keys_define:nn { __tag / setup } + { + table-tagging .choices:nn = { true, on } + { \__tag_tbl_enable: }, + table-tagging .choices:nn = { false, off } + { \__tag_tbl_disable: }, + table-tagging .default:n = true, + table-tagging .initial:n = true + } +\AddToHook{begindocument} + { + \cs_if_exist:NT \@kernel@before@head + { + \tl_put_right:Nn \@kernel@before@head {\__tag_tbl_disable:} + \tl_put_right:Nn \@kernel@before@foot {\__tag_tbl_disable:} + } + } +\AddToHook{begindocument} + { + \tag_if_active:T + { + \tagpdfsetup + { + newattribute = + {TH-col}{/O /Table /Scope /Column}, + newattribute = + {TH-row}{/O /Table /Scope /Row}, + newattribute = + {TH-both}{/O /Table /Scope /Both}, + } + \seq_gput_left:Ne\g__tag_attr_class_used_seq + {\pdf_name_from_unicode_e:n{TH-col}} + \seq_gput_left:Ne\g__tag_attr_class_used_seq + {\pdf_name_from_unicode_e:n{TH-row}} + \seq_gput_left:Ne\g__tag_attr_class_used_seq + {\pdf_name_from_unicode_e:n{TH-both}} + } + } + +\clist_new:N \l__tbl_header_rows_clist +\cs_if_free:NTF \__tag_struct_prop_gput:nnn + { + \cs_new_protected:Npn \__tbl_struct_prop_gput:nnn #1#2#3 + { \prop_gput:cnn { g__tag_struct_#1_prop }{#2}{#3} } + } + { \cs_new_protected:Npn \__tbl_struct_prop_gput:nnn #1#2#3 + { \__tag_struct_prop_gput:nnn {#1}{#2}{#3} } + } +\cs_generate_variant:Nn \__tbl_struct_prop_gput:nnn {nne,Vnn} +\cs_new_protected:Npn \__tbl_set_header_rows: + { + \clist_map_inline:Nn \l__tbl_header_rows_clist + { + \clist_set:Ne\l__tbl_tmpa_clist + { + \seq_item:Nn \g__tbl_struct_cells_seq {##1} + } + \clist_map_inline:Nn \l__tbl_tmpa_clist + { + \prop_if_exist:cT { g__tag_struct_####1_prop } + { + \__tbl_struct_prop_gput:nnn{ ####1 }{S}{/TH} + \prop_get:cnNTF + { g__tag_struct_####1_prop } + { C } + \l__tbl_tmpa_tl + {\__tbl_struct_prop_gput:nne{ ####1 }{C}{[/TH-col~\l__tbl_tmpa_tl]} } + {\__tbl_struct_prop_gput:nnn{ ####1 }{C}{/TH-col}} + } + } + } + } +\keys_define:nn { __tag / setup } + { + table-header-rows .clist_set:N = \l__tbl_header_rows_clist + } +\cs_new_protected:Npn \__tbl_show_curr_cell_data: { + \typeout { ==>~ current~cell~data:~ + \int_use:N \g__tbl_row_int , + \int_use:N \g__tbl_col_int , + \g__tbl_span_tl + } +} +\def\insert@column{% + \__tbl_show_curr_cell_data: + \UseSocket{tagsupport/tblcell/begin}% + \the@toks \the \@tempcnta + \ignorespaces \@sharp \unskip + \the@toks \the \count@ \relax + \UseSocket{tagsupport/tblcell/end}% +} +\def\@classz{\@classx + \@tempcnta \count@ + \prepnext@tok + \@addtopreamble{\ifcase \@chnum + \hfil + \hskip1sp% + \d@llarbegin + \insert@column + \d@llarend \do@row@strut \hfil \or + \hskip1sp\d@llarbegin \insert@column \d@llarend \do@row@strut \hfil \or + \hfil\hskip1sp\d@llarbegin \insert@column \d@llarend \do@row@strut \or + \setbox\ar@mcellbox\vbox + \@startpbox{\@nextchar} + \AssignSocketPlug{tagsupport/tblcell/begin}{TDpbox} + \AssignSocketPlug{tagsupport/tblcell/end}{TDpbox} + \insert@column \@endpbox + \ar@align@mcell + \do@row@strut \or + \vtop \@startpbox{\@nextchar} + \AssignSocketPlug{tagsupport/tblcell/begin}{TDpbox} + \AssignSocketPlug{tagsupport/tblcell/end}{TDpbox} + \insert@column \@endpbox\do@row@strut \or + \vbox \@startpbox{\@nextchar} + \AssignSocketPlug{tagsupport/tblcell/begin}{TDpbox} + \AssignSocketPlug{tagsupport/tblcell/end}{TDpbox} + \insert@column \@endpbox\do@row@strut + \fi}\prepnext@tok} +\def\@array[#1]#2{% + \@tempdima \ht \strutbox + \advance \@tempdima by\extrarowheight + \setbox \@arstrutbox \hbox{\vrule + \@height \arraystretch \@tempdima + \@depth \arraystretch \dp \strutbox + \@width \z@}% + \tl_set_eq:NN \l__tbl_saved_table_cols_tl \g__tbl_table_cols_tl + \begingroup + \@mkpream{#2} + \__tbl_determine_table_cols: + \xdef\@preamble{% + \noexpand + \ar@ialign + \@halignto + \bgroup \@arstrut + \UseSocket{tagsupport/tblrow/begin}% + \__tbl_init_cell_data: + \@preamble + \tabskip \z@ \cr}% + \endgroup + \@arrayleft + \UseSocket{tagsupport/tbl/init} + \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi \fi + \bgroup + \let \@sharp ##\let \protect \relax + \lineskip \z@ + \baselineskip \z@ + \m@th + \let\\\@arraycr \let\tabularnewline\\\let\par\@empty + \@preamble} +\let\@@array\@array +\cs_new_protected:Npn \__tbl_init_cell_data: { + \int_gset:Nn \g__tbl_col_int {1} + \tl_gset:Nn \g__tbl_span_tl {1} +} +\cs_new_protected:Npn \__tbl_update_cell_data: { + \int_gadd:Nn \g__tbl_col_int { \g__tbl_span_tl } + \tl_gset:Nn \g__tbl_span_tl {1} +} +\cs_new:Npn \__tbl_determine_table_cols: { + \seq_set_split:NnV\l__tbl_tmpa_seq {&}\@preamble + \tl_gset:Ne \g__tbl_table_cols_tl { \seq_count:N \l__tbl_tmpa_seq } + \typeout{ ==>~ Table~ has~ \g__tbl_table_cols_tl \space columns } +} +\protected\def\@arraycr{ + \relax + \__tbl_store_missing_cells:n{@arraycr} + % + \iffalse{\fi\ifnum 0=`}\fi + \@ifstar \@xarraycr \@xarraycr} +\cs_new:Npn \__tbl_store_missing_cells:n #1 { + \int_compare:nNnT \g__tbl_col_int > 0 + { + \int_gset:Nn \g__tbl_missing_cells_int + { + \g__tbl_table_cols_tl + - \g__tbl_col_int + - \g__tbl_span_tl + + 1 + } + \int_compare:nNnT \g__tbl_missing_cells_int < 0 \ERROR % should not happen + \typeout{==>~ + (#1)~ + This~ row~ needs~ + \int_use:N \g__tbl_missing_cells_int \space + additional~ cell(s) + } + } +} +\cs_new:Npn \__tag_tbl_add_missing_cells:n #1 + { + \int_compare:nNnT {#1}>{0} + { + \typeout{==>~ + ~Inserting~\int_eval:n{#1}~additional~cell(s)~into~previous~row:} + } + \int_step_inline:nn { #1 } + { + \UseSocket{tagsupport/tblcell/begin} + \UseSocket{tagsupport/tblcell/end} + } + } +\def\endarray{ + \__tbl_store_missing_cells:n{endarray} + \crcr \egroup + \UseSocket{tagsupport/tbl/finalize} + \int_gset:Nn \g__tbl_col_int { \l__tbl_saved_col_tl } + \int_gset:Nn \g__tbl_row_int { \l__tbl_saved_row_tl } + \tl_gset_eq:NN \g__tbl_span_tl \l__tbl_saved_span_tl + \tl_gset_eq:NN \g__tbl_table_cols_tl \l__tbl_saved_table_cols_tl + \tl_gset_eq:NN \g__tbl_struct_table_tl \l__tbl_saved_struct_table_tl + \seq_gset_eq:NN \g__tbl_struct_rows_seq \l__tbl_saved_struct_rows_seq + \seq_gset_eq:NN \g__tbl_struct_cells_seq\l__tbl_saved_struct_cells_seq + \seq_gset_eq:NN \g__tbl_struct_cur_seq \l__tbl_saved_struct_cur_seq + \typeout{==>~ restored~cell~data:~ + \int_use:N \g__tbl_row_int, + \int_use:N \g__tbl_col_int, + \l__tbl_saved_span_tl \space + ( + \int_compare:nNnTF \g__tbl_table_cols_tl = 0 + { outer~ level } + { max:~ \g__tbl_table_cols_tl } + ) + } + \egroup + \@arrayright \gdef\@preamble{}% +} +\def\@addamp { + \if@firstamp + \@firstampfalse + \else + \edef\@preamble{\@preamble & + \__tbl_update_cell_data: + } + \fi +} +\int_new:N \g__tbl_col_int +\int_new:N \g__tbl_row_int +\tl_new:N \g__tbl_span_tl +\tl_new:N \g__tbl_table_cols_tl + +\tl_gset:Nn \g__tbl_span_tl {1} +\tl_gset:Nn \g__tbl_table_cols_tl {0} % indicates outer level +\tl_new:N \l__tbl_saved_col_tl +\tl_new:N \l__tbl_saved_row_tl +\tl_new:N \l__tbl_saved_span_tl +\tl_new:N \l__tbl_saved_table_cols_tl + +\tl_set:Nn \l__tbl_saved_col_tl{0} +\tl_set:Nn \l__tbl_saved_row_tl{0} +\tl_set:Nn \l__tbl_saved_span_tl{1} +\tl_set:Nn \l__tbl_saved_table_cols_tl{0} % indicates outer level +\tl_new:N \g__tbl_struct_table_tl +\tl_new:N \l__tbl_saved_struct_table_tl +\seq_new:N \g__tbl_struct_rows_seq +\seq_new:N \l__tbl_saved_struct_rows_seq +\seq_new:N \g__tbl_struct_cells_seq +\seq_new:N \l__tbl_saved_struct_cells_seq +\seq_new:N \g__tbl_struct_cur_seq +\seq_new:N \l__tbl_saved_struct_cur_seq +\def\ar@ialign{% + \tl_set:No \l__tbl_saved_col_tl {\int_use:N \g__tbl_col_int } + \tl_set:No \l__tbl_saved_row_tl {\int_use:N \g__tbl_row_int } + \tl_set_eq:NN \l__tbl_saved_span_tl \g__tbl_span_tl + \tl_set_eq:NN \l__tbl_saved_struct_table_tl \g__tbl_struct_table_tl + \seq_set_eq:NN \l__tbl_saved_struct_rows_seq \g__tbl_struct_rows_seq + \seq_set_eq:NN \l__tbl_saved_struct_cells_seq \g__tbl_struct_cells_seq + \seq_set_eq:NN \l__tbl_saved_struct_cur_seq \g__tbl_struct_cur_seq + \typeout{==>~ saved~cell~data:~ + \l__tbl_saved_row_tl, + \l__tbl_saved_col_tl, + \l__tbl_saved_span_tl \space + ( + \int_compare:nNnTF \l__tbl_saved_table_cols_tl = 0 + { outer~ level } + { max:~ \l__tbl_saved_table_cols_tl } + ) + } + \int_gzero:N \g__tbl_row_int + \int_gzero:N \g__tbl_col_int + \tl_gset:Nn \g__tbl_span_tl {1} + \seq_gclear:N\g__tbl_struct_rows_seq + \seq_gclear:N\g__tbl_struct_cells_seq + \seq_gclear:N\g__tbl_struct_cur_seq + \everycr{% + \noalign{% + \int_compare:nNnT \g__tbl_col_int > 0 + { \UseSocket{tagsupport/tblrow/end} } + \int_gincr:N \g__tbl_row_int % this row about to start + \int_gzero:N \g__tbl_col_int % we are before first col + }% + }% + \tabskip\z@skip\halign} +\long\def\multicolumn#1#2#3{% + % alternative: determine first col with vmode test ... + % \ifvmode + % \multispan{#1}\typeout{A==> vmode}% + % \else + % \multispan{#1}\typeout{A==> not vmode} + % \fi + % but this makes the \crcr handling really complicated which would + % then need to become something like + % \ifvmode \expandafter \@gobble + % \else \expandafter \@iden \fi {\cr\noalign{do something}}% + % so not used. + % Instead: + \multispan{#1}\begingroup + \int_compare:nNnTF \g__tbl_col_int = 0 + { + \UseSocket{tagsupport/tblrow/begin} + \int_gset:Nn \g__tbl_col_int {1} + } + { + \int_gadd:Nn \g__tbl_col_int { \g__tbl_span_tl } + } + \tl_gset:Nn \g__tbl_span_tl {#1} + \def\@addamp{\if@firstamp\@firstampfalse \else + \@preamerr 5\fi}% + \@mkpream{#2}\@addtopreamble\@empty + \endgroup + \__tbl_set_colspan:n {#1} + \def\@sharp{#3}% + \@arstrut \@preamble + \null + \ignorespaces} +\let\@kernel@refstepcounter\refstepcounter +\def\hyper@nopatch@longtable{} +\def\__tbl_patch_LT@array[#1]#2{% + \UseSocket{tagsupport/tbl/init}% + \@kernel@refstepcounter{table}\stepcounter{LT@tables}% + \tl_gset:Ne \@currentHref {table.\cs_if_exist_use:N\theHtable} + \int_gzero:N \g__tbl_row_int + \seq_gclear:N\g__tbl_struct_rows_seq + \seq_gclear:N\g__tbl_struct_cells_seq + \seq_gclear:N\g__tbl_struct_cur_seq + \seq_gclear:N\g__tbl_LT@firsthead_rows_seq + \seq_gclear:N\g__tbl_LT@head_rows_seq + \seq_gclear:N\g__tbl_LT@lastfoot_rows_seq + \seq_gclear:N\g__tbl_LT@foot_rows_seq + \if l#1% + \LTleft\z@ \LTright\fill + \else\if r#1% + \LTleft\fill \LTright\z@ + \else\if c#1% + \LTleft\fill \LTright\fill + \fi\fi\fi + \let\LT@mcol\multicolumn + \let\LT@@tabarray\@tabarray + \let\LT@@hl\hline + \def\@tabarray{% + \let\hline\LT@@hl + \LT@@tabarray}% + \let\\\LT@tabularcr + \let\tabularnewline\\% + \def\newpage{\noalign{\break}}% + \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}% + \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}% + \let\hline\LT@hline \let\kill\LT@kill\let\caption\LT@caption + \@tempdima\ht\strutbox + \let\@endpbox\LT@endpbox + \ifx\extrarowheight\@undefined + \let\@acol\@tabacol + \let\@classz\@tabclassz \let\@classiv\@tabclassiv + \def\@startpbox{\vtop\LT@startpbox}% + \let\@@startpbox\@startpbox + \let\@@endpbox\@endpbox + \let\LT@LL@FM@cr\@tabularcr + \else + \advance\@tempdima\extrarowheight + \col@sep\tabcolsep + \let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr + \fi + \setbox\@arstrutbox\hbox{\vrule + \@height \arraystretch \@tempdima + \@depth \arraystretch \dp \strutbox + \@width \z@}% + \let\@sharp##\let\protect\relax + \begingroup + \@mkpream{#2}% + \__tbl_determine_table_cols: + \xdef\LT@bchunk{% + \int_gzero:N \g__tbl_col_int + \global\advance\c@LT@chunks\@ne + \global\LT@rows\z@\setbox\z@\vbox\bgroup + \LT@setprevdepth + \tabskip\LTleft \noexpand\halign to\hsize\bgroup + \tabskip\z@ \@arstrut + \UseSocket{tagsupport/tblrow/begin}% + \__tbl_init_cell_data: + \@preamble \tabskip\LTright \cr}% + \endgroup + \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols + \LT@make@row + \m@th\let\par\@empty + \everycr{% + \noalign{% + \typeout{--longtable-->~chunk~row:~ \the\LT@rows \space + row:~ \the\g__tbl_row_int \space + column:~ \the\g__tbl_col_int + } + \int_compare:nNnT \g__tbl_col_int > 0 + { + \UseSocket{tagsupport/tblrow/end} + } + \int_gzero:N \g__tbl_col_int % before first col + \int_compare:nNnT \LT@rows < \LTchunksize + { \int_gincr:N \g__tbl_row_int } % this row about to start + }% + }% + \lineskip\z@\baselineskip\z@ + \LT@bchunk} +\def\__tbl_patch_endlongtable{% + \__tbl_store_missing_cells:n{endlongtable} + \crcr + \noalign{% + \UseSocket{tagsupport/tbl/finalize/longtable} + \int_gzero:N \g__tbl_row_int % this prevents considering the next + % \crcr as another row end. + \let\LT@entry\LT@entry@chop + \xdef\LT@save@row{\LT@save@row}}% + \LT@echunk + \LT@start + \unvbox\z@ + \LT@get@widths + \if@filesw + {\let\LT@entry\LT@entry@write\immediate\write\@auxout{% + \gdef\expandafter\noexpand + \csname LT@\romannumeral\c@LT@tables\endcsname + {\LT@save@row}}}% + \fi + \ifx\LT@save@row\LT@@save@row + \else + \LT@warn{Column~\@width s~have~changed\MessageBreak + in~table~\thetable}% + \LT@final@warn + \fi + \endgraf\penalty -\LT@end@pen + \ifvoid\LT@foot\else + \global\advance\vsize\ht\LT@foot + \global\advance\@colroom\ht\LT@foot + \dimen@\pagegoal\advance\dimen@\ht\LT@foot\pagegoal\dimen@ + \fi + \endgroup + \global\@mparbottom\z@ + \endgraf\penalty\z@\addvspace\LTpost + \ifvoid\footins\else\insert\footins{}\fi} +\def\__tbl_patch_LT@t@bularcr{% + \global\advance\LT@rows\@ne + \ifnum\LT@rows=\LTchunksize + \__tbl_store_missing_cells:n{echunk} + \gdef\LT@setprevdepth{% + \prevdepth\z@ + \global\let\LT@setprevdepth\relax}% + \expandafter\LT@xtabularcr + \else + \ifnum0=`{}\fi + \expandafter\LT@LL@FM@cr + \fi} + +\def\__tbl_patch_LT@end@hd@ft#1{% + \__tbl_store_missing_cells:n{head/foot} + \int_step_inline:nn + { \LT@rows + 1 } + { + \seq_gput_left:ce + {g__tbl_\cs_to_str:N #1 _rows_seq } + { \int_eval:n {\g__tbl_row_int + 1 - ##1 } } + } + \int_gset:Nn \LT@rows { \LTchunksize } + \LT@echunk + \ifx\LT@start\endgraf + \LT@err + {Longtable head or foot not at start of table}% + {Increase LTchunksize}% + \fi + \setbox#1\box\z@ + \LT@get@widths + \LT@bchunk} + +\def\__tbl_patch_LT@start{% + \let\LT@start\endgraf + \endgraf\penalty\z@\vskip\LTpre\endgraf + \ifdim \pagetotal<\pagegoal \else + \dimen@=\pageshrink + \advance \dimen@ 1sp % + \kern\dimen@\penalty 9999\endgraf \kern-\dimen@ + \fi + \dimen@\pagetotal + \advance\dimen@ \ht\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi + \advance\dimen@ \dp\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi + \advance\dimen@ \ht\LT@foot + \edef\LT@reset@vfuzz{\vfuzz\the\vfuzz\vbadness\the\vbadness\relax}% + \vfuzz\maxdimen + \vbadness\@M + \setbox\tw@\copy\z@ + \setbox\tw@\vsplit\tw@ to \ht\@arstrutbox + \setbox\tw@\vbox{\unvbox\tw@}% + \LT@reset@vfuzz + \advance\dimen@ \ht + \ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi + \advance\dimen@\dp + \ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi + \advance\dimen@ -\pagegoal + \ifdim \dimen@>\z@ + \vfil\break + \else + \ifdim\pageshrink>\z@\pageshrink\z@\fi + \fi + \global\@colroom\@colht + \ifvoid\LT@foot\else + \global\advance\vsize-\ht\LT@foot + \global\advance\@colroom-\ht\LT@foot + \dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@ + \maxdepth\z@ + \fi + \MakeLinkTarget{table} + \ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi\nobreak + \tagmcbegin{artifact} + \tag_mc_reset_box:N\LT@head + \tagmcend + \output{\LT@output}} +\def\__tbl_patch_LT@output{% + \ifnum\outputpenalty <-\@Mi + \ifnum\outputpenalty > -\LT@end@pen + \LT@err{floats and marginpars not allowed in a longtable}\@ehc + \else + \setbox\z@\vbox{\unvbox\@cclv}% + \ifdim \ht\LT@lastfoot>\ht\LT@foot + \dimen@\pagegoal + \advance\dimen@\ht\LT@foot + \advance\dimen@-\ht\LT@lastfoot + \ifdim\dimen@<\ht\z@ + \setbox\@cclv\vbox{\unvbox\z@\copy\LT@foot\vss}% + \@makecol + \@outputpage + \global\vsize\@colroom + \setbox\z@\vbox{\box\LT@head}% + \fi + \fi + \unvbox\z@\box\ifvoid\LT@lastfoot\LT@foot\else\LT@lastfoot\fi + \tagmcbegin{artifact} + \tag_mc_reset_box:N \LT@foot + \tagmcend + \fi + \else + \setbox\@cclv\vbox{\unvbox\@cclv\copy\LT@foot\vss}% + \tagmcbegin{artifact} + \tag_mc_reset_box:N \LT@foot + \tagmcend + \@makecol + \@outputpage + \global\vsize\@colroom + \copy\LT@head\nobreak + \fi} +\def\__tbl_patch_LT@makecaption#1#2#3{% + \LT@mcol\LT@cols c{% + % test can go after merge + \str_if_exist:cT { l__socket_tagsupport/parbox/before_plug_str } + { + \AssignSocketPlug{tagsupport/parbox/before}{noop} + \AssignSocketPlug{tagsupport/parbox/after}{noop} + } + \hbox to\z@{\hss\parbox[t]\LTcapwidth{% + \reset@font + \tag_stop:n{caption} + \sbox\@tempboxa{#1{#2:~}#3}% + \tag_start:n{caption} + \ifdim\wd\@tempboxa>\hsize + #1{#2:~}#3% + \else + \hbox to\hsize{\hfil#1{#2:~}#3\hfil}% + \fi + \endgraf\vskip\baselineskip}% + \hss}}} +\AddToHook{package/longtable/after} + { + \seq_new:N \g__tbl_LT@firsthead_rows_seq + \seq_new:N \g__tbl_LT@head_rows_seq + \seq_new:N \g__tbl_LT@lastfoot_rows_seq + \seq_new:N \g__tbl_LT@foot_rows_seq + \cs_set_eq:NN \LT@array\__tbl_patch_LT@array + \cs_set_eq:NN \endlongtable\__tbl_patch_endlongtable + \cs_set_eq:NN \LT@start\__tbl_patch_LT@start + \cs_set_eq:NN \LT@output\__tbl_patch_LT@output + \cs_set_eq:NN \LT@t@bularcr\__tbl_patch_LT@t@bularcr + \cs_set_eq:NN \LT@end@hd@ft\__tbl_patch_LT@end@hd@ft + \cs_set_eq:NN \LT@makecaption\__tbl_patch_LT@makecaption + } + +\def\__tbl_patch_TX@endtabularx{% + \expandafter\expandafter\expandafter + \TX@find@endtabularxa\csname end\TX@\endcsname + \endtabularx\TX@\endtabularx\TX@find@endtabularxa + \expandafter\TX@newcol\expandafter{\tabularxcolumn{\TX@col@width}}% + \let\verb\TX@verb + \def\@elt##1{\global\value{##1}\the\value{##1}\relax}% + \edef\TX@ckpt{\cl@@ckpt}% + \let\@elt\relax + \TX@old@table\maxdimen + \TX@col@width\TX@target + \global\TX@cols\@ne + \TX@typeout@ + {\@spaces Table Width\@spaces Column Width\@spaces X Columns}% + \tag_stop:n{tabularx} + \TX@trial{\def\NC@rewrite@X{% + \global\advance\TX@cols\@ne\NC@find p{\TX@col@width}}}% + \loop + \TX@arith + \ifTX@ + \TX@trial{}% + \repeat + \tag_start:n{tabularx} + {\let\@footnotetext\TX@ftntext\let\@xfootnotenext\TX@xftntext + \csname tabular*\expandafter\endcsname\expandafter\TX@target + \the\toks@ + \csname endtabular*\endcsname}% + \global\TX@ftn\expandafter{\expandafter}\the\TX@ftn + \ifnum0=`{\fi}% + \expandafter\expandafter\expandafter + \TX@find@endtabularxbb + \expandafter\end\expandafter{\TX@}% + \endtabularx\TX@\endtabularx\TX@find@endtabularxb +} + +\AddToHook{package/tabularx/after} + {\cs_set_eq:NN \TX@endtabularx\__tbl_patch_TX@endtabularx } +\endinput +%% +%% End of file `latex-lab-testphase-table.sty'. diff --git a/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-toc.sty b/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-toc.sty index 0411e550b9c..bf1cb9bb87f 100644 --- a/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-toc.sty +++ b/Master/texmf-dist/tex/latex-dev/latex-lab/latex-lab-testphase-toc.sty @@ -36,13 +36,13 @@ %% %% %% File: latex-lab-toc.dtx (C) Copyright 2022-2023 LaTeX Project -\def\ltlabtocdate{2023-07-20} -\def\ltlabtocversion{0.85a} +\def\ltlabtocdate{2023-10-16} +\def\ltlabtocversion{0.85b} \ProvidesExplPackage {latex-lab-testphase-toc} {\ltlabtocdate} {\ltlabtocversion} { Code related to the tagging of toc-like lists} %% File: latex-lab-toc-kernel-changes.dtx (C) Copyright 2022-2023 LaTeX Project -\def\ltlabkerneldate{2023-07-20} -\def\ltlabkernelversion{0.85a} +\def\ltlabkerneldate{2023-10-16} +\def\ltlabkernelversion{0.85b} \RequirePackage{latex-lab-kernel-changes} \def\@contentsline@cfgpoint@before#1#2#3#4{} \def\@contentsline@cfgpoint@after#1#2#3#4{} @@ -276,27 +276,21 @@ \fi} } %% File: latex-lab-toc.dtx (C) Copyright 2022-2023 LaTeX Project -\def\ltlabtocdate{2023-07-20} -\def\ltlabtocversion{0.85a} +\def\ltlabtocdate{2023-10-16} +\def\ltlabtocversion{0.85b} \tl_new:N \l__tag_toc_tmpa_tl \AddToHook{cmd/refstepcounter/after} { \tl_if_blank:VF \@currentHref { - \prop_if_exist:NT \g__tag_struct_dest_num_prop - { - \prop_gput:Nxx \g__tag_struct_dest_num_prop {\@currentHref}{\tag_get:n{struct_num}} - } + \prop_gput:Nee \g__tag_struct_dest_num_prop {\@currentHref}{\tag_get:n{struct_num}} } } \AddToHook{cmd/H@refstepcounter/after} { \tl_if_blank:VF \@currentHref { - \prop_if_exist:NT \g__tag_struct_dest_num_prop - { - \prop_gput:Nxx \g__tag_struct_dest_num_prop {\@currentHref}{\tag_get:n{struct_num}} - } + \prop_gput:Nee \g__tag_struct_dest_num_prop {\@currentHref}{\tag_get:n{struct_num}} } } \msg_new:nnn { tag } {struct-dest-unknown} diff --git a/Master/texmf-dist/tex/latex-dev/latex-lab/minipage-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex-dev/latex-lab/minipage-latex-lab-testphase.ltx index cf329a8e806..e309b479ed1 100644 --- a/Master/texmf-dist/tex/latex-dev/latex-lab/minipage-latex-lab-testphase.ltx +++ b/Master/texmf-dist/tex/latex-dev/latex-lab/minipage-latex-lab-testphase.ltx @@ -33,8 +33,8 @@ %% %% %% File: latex-lab-minipage.dtx (C) Copyright 2023 LaTeX Project -\def\ltlabminipagedate{2023-08-20} -\def\ltlabminipageversion{0.81b} +\def\ltlabminipagedate{2023-10-30} +\def\ltlabminipageversion{0.81c} \ProvidesFile{minipage-latex-lab-testphase.ltx} [\ltlabminipagedate\space v\ltlabminipageversion diff --git a/Master/texmf-dist/tex/latex-dev/latex-lab/sec-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex-dev/latex-lab/sec-latex-lab-testphase.ltx index 131fce259d1..bf39e9949f7 100644 --- a/Master/texmf-dist/tex/latex-dev/latex-lab/sec-latex-lab-testphase.ltx +++ b/Master/texmf-dist/tex/latex-dev/latex-lab/sec-latex-lab-testphase.ltx @@ -33,8 +33,8 @@ %% %% %% File: latex-lab-sec.dtx (C) Copyright 2022-2023 LaTeX Project -\def\ltlabsecdate{2023-07-20} -\def\ltlabsecversion{0.84a} +\def\ltlabsecdate{2023-10-16} +\def\ltlabsecversion{0.84b} \ProvidesFile{sec-latex-lab-testphase.ltx} [\ltlabsecdate\space v\ltlabsecversion\space latex-lab wrapper sec] diff --git a/Master/texmf-dist/tex/latex-dev/latex-lab/table-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex-dev/latex-lab/table-latex-lab-testphase.ltx new file mode 100644 index 00000000000..850f3ffa110 --- /dev/null +++ b/Master/texmf-dist/tex/latex-dev/latex-lab/table-latex-lab-testphase.ltx @@ -0,0 +1,43 @@ +%% +%% This is file `table-latex-lab-testphase.ltx', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% latex-lab-table.dtx (with options: `latex-lab') +%% +%% This is a generated file. +%% +%% Copyright 2021-2023 LaTeX Project +%% +%% This file was generated from file(s) of the `LaTeX-lab Bundle'. +%% ------------------------------------------------------------------------------------ +%% +%% It may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3c +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2008 or later. +%% +%% This file may only be distributed together with a copy of the LaTeX +%% `LaTeX-lab Bundle'. You may however distribute the `LaTeX-lab Bundle' +%% without such generated files. +%% +%% The newest sources can be found below +%% +%% https://github.com/latex3/latex2e/required/latex-lab +%% +%% where one can also log issues in case there are any. +%% +%% +%% File: latex-lab-table.dtx (C) Copyright 2023 LaTeX Project +\def\ltlabtbldate{2023-10-30} +\def\ltlabtblversion{0.85d} +\ProvidesFile{table-latex-lab-testphase.ltx} + [\ltlabtbldate\space v\ltlabtblversion\space latex-lab wrapper table] +\RequirePackage{latex-lab-testphase-table} +\endinput +%% +%% End of file `table-latex-lab-testphase.ltx'. diff --git a/Master/texmf-dist/tex/latex-dev/latex-lab/toc-latex-lab-testphase.ltx b/Master/texmf-dist/tex/latex-dev/latex-lab/toc-latex-lab-testphase.ltx index 8fb6ca3a450..1d7e70c5d79 100644 --- a/Master/texmf-dist/tex/latex-dev/latex-lab/toc-latex-lab-testphase.ltx +++ b/Master/texmf-dist/tex/latex-dev/latex-lab/toc-latex-lab-testphase.ltx @@ -33,8 +33,8 @@ %% %% %% File: latex-lab-toc.dtx (C) Copyright 2022-2023 LaTeX Project -\def\ltlabtocdate{2023-07-20} -\def\ltlabtocversion{0.85a} +\def\ltlabtocdate{2023-10-16} +\def\ltlabtocversion{0.85b} \ProvidesFile{toc-latex-lab-testphase.ltx} [\ltlabtocdate\space v\ltlabtocversion latex-lab wrapper toc] diff --git a/Master/texmf-dist/tex/latex-dev/tools/afterpage.sty b/Master/texmf-dist/tex/latex-dev/tools/afterpage.sty index 52ae067c1fa..823f3ffa25c 100644 --- a/Master/texmf-dist/tex/latex-dev/tools/afterpage.sty +++ b/Master/texmf-dist/tex/latex-dev/tools/afterpage.sty @@ -37,7 +37,7 @@ %% File: afterpage.dtx Copyright (C) 1994 1994 1995 David Carlisle \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{afterpage} - [2014/10/28 v1.08 After-Page Package (DPC)] + [2023/07/04 v1.08 After-Page Package (DPC)] \newtoks\AP@output \global\AP@output\expandafter{\the\output} \newbox\AP@partial diff --git a/Master/texmf-dist/tex/latex-dev/tools/array.sty b/Master/texmf-dist/tex/latex-dev/tools/array.sty index ff3a57f6eaa..cd6eee6a0fc 100644 --- a/Master/texmf-dist/tex/latex-dev/tools/array.sty +++ b/Master/texmf-dist/tex/latex-dev/tools/array.sty @@ -46,7 +46,7 @@ \DeclareCurrentRelease{}{2020-10-01} \ProvidesPackage{array} - [2022/09/04 v2.5g Tabular extension package (FMi)] + [2023/10/16 v2.5g Tabular extension package (FMi)] %% \def\@addtopreamble#1{\xdef\@preamble{\@preamble #1}} @@ -194,7 +194,6 @@ \def\@xargarraycr#1{\unskip\gdef\do@row@strut {\@tempdima #1\advance\@tempdima \dp\@arstrutbox \vrule \@depth\@tempdima \@width\z@\global\let\do@row@strut\relax}% - % \begin{macrocode} \ifnum\@multicnt >\z@ \do@row@strut \fi \cr} \let\do@row@strut\relax diff --git a/Master/texmf-dist/tex/latex-dev/tools/bm.sty b/Master/texmf-dist/tex/latex-dev/tools/bm.sty index 37ac28e1176..8a136bd86d5 100644 --- a/Master/texmf-dist/tex/latex-dev/tools/bm.sty +++ b/Master/texmf-dist/tex/latex-dev/tools/bm.sty @@ -40,7 +40,7 @@ %% Development of this package was commissioned by Y&Y Inc. \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{bm} - [2022/01/05 v1.2f Bold Symbol Support (DPC/FMi)] + [2023/07/08 v1.2f Bold Symbol Support (DPC/FMi)] \DeclareOption{nopmb}{\let\bm@pmb@\@firstofone} \DeclareOption{warn}{\def\bm@info{\PackageWarningNoLine{bm}}} \DeclareOption{info}{\def\bm@info#1{\PackageInfo{bm}{#1\@gobble}}} diff --git a/Master/texmf-dist/tex/latex-dev/tools/calc.sty b/Master/texmf-dist/tex/latex-dev/tools/calc.sty index f1ecb90347f..d36e1a57ba6 100644 --- a/Master/texmf-dist/tex/latex-dev/tools/calc.sty +++ b/Master/texmf-dist/tex/latex-dev/tools/calc.sty @@ -47,7 +47,7 @@ %% the normal LaTeX bug report address. \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{calc} - [2017/05/25 v4.3 Infix arithmetic (KKT,FJ)] + [2023/07/08 v4.3 Infix arithmetic (KKT,FJ)] \def\calc@assign@generic#1#2#3#4{\let\calc@A#1\let\calc@B#2% \calc@open(#4!% \global\calc@A\calc@B\endgroup#3\calc@B} diff --git a/Master/texmf-dist/tex/latex-dev/tools/dcolumn.sty b/Master/texmf-dist/tex/latex-dev/tools/dcolumn.sty index 78a01a5ba14..dccfaac71cb 100644 --- a/Master/texmf-dist/tex/latex-dev/tools/dcolumn.sty +++ b/Master/texmf-dist/tex/latex-dev/tools/dcolumn.sty @@ -38,7 +38,7 @@ %% File: dcolumn.dtx Copyright (C) 1992-1996 1999-2001 David Carlisle \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{dcolumn} - [2014/10/28 v1.06 decimal alignment package (DPC)] + [2023/07/08 v1.06 decimal alignment package (DPC)] \RequirePackage{array} \def\DC@#1#2#3{% \uccode`\~=`#1\relax diff --git a/Master/texmf-dist/tex/latex-dev/tools/enumerate.sty b/Master/texmf-dist/tex/latex-dev/tools/enumerate.sty index 86220225a13..31a7b6d8d11 100644 --- a/Master/texmf-dist/tex/latex-dev/tools/enumerate.sty +++ b/Master/texmf-dist/tex/latex-dev/tools/enumerate.sty @@ -38,7 +38,7 @@ %% File: enumerate.dtx Copyright 1993 1994 1999 David Carlisle \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{enumerate} - [2015/07/23 v3.00 enumerate extensions (DPC)] + [2023/07/04 v3.00 enumerate extensions (DPC)] \newtoks\@enLab \def\@enQmark{?} \def\@enLabel#1#2{% diff --git a/Master/texmf-dist/tex/latex-dev/tools/ftnright.sty b/Master/texmf-dist/tex/latex-dev/tools/ftnright.sty index d70101bae11..fbae2b7949a 100644 --- a/Master/texmf-dist/tex/latex-dev/tools/ftnright.sty +++ b/Master/texmf-dist/tex/latex-dev/tools/ftnright.sty @@ -39,7 +39,7 @@ %% Copyright (C) 1989-2004 Frank Mittelbach, all rights reserved. \NeedsTeXFormat{LaTeX2e}[1995/06/01] \ProvidesPackage{ftnright} - [2014/10/28 v1.1f footnote layout package (FMi)] + [2023/07/08 v1.1f footnote layout package (FMi)] %% %% \def\preparefootins{% diff --git a/Master/texmf-dist/tex/latex-dev/tools/indentfirst.sty b/Master/texmf-dist/tex/latex-dev/tools/indentfirst.sty index a552fdd8d67..be715f3d89b 100644 --- a/Master/texmf-dist/tex/latex-dev/tools/indentfirst.sty +++ b/Master/texmf-dist/tex/latex-dev/tools/indentfirst.sty @@ -38,7 +38,7 @@ %% File: indent.dtx Copyright (C) 1991-1994 David Carlisle \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{indentfirst} - [1995/11/23 v1.03 Indent first paragraph (DPC)] + [2023/07/02 v1.03 Indent first paragraph (DPC)] \let\@afterindentfalse\@afterindenttrue \@afterindenttrue \endinput diff --git a/Master/texmf-dist/tex/latex-dev/tools/layout.sty b/Master/texmf-dist/tex/latex-dev/tools/layout.sty index a80bc79e1f3..485dd89fac4 100644 --- a/Master/texmf-dist/tex/latex-dev/tools/layout.sty +++ b/Master/texmf-dist/tex/latex-dev/tools/layout.sty @@ -37,7 +37,7 @@ %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{layout} - [2021-03-10 v1.2e Show layout parameters] + [2023-08-20 v1.2e Show layout parameters] \DeclareOption{dutch}{% \def\Headertext{Kopregel} \def\Bodytext{Broodtekst} diff --git a/Master/texmf-dist/tex/latex-dev/tools/longtable.sty b/Master/texmf-dist/tex/latex-dev/tools/longtable.sty index 9d9ab53fda3..0da756ace51 100644 --- a/Master/texmf-dist/tex/latex-dev/tools/longtable.sty +++ b/Master/texmf-dist/tex/latex-dev/tools/longtable.sty @@ -43,7 +43,7 @@ \DeclareCurrentRelease{}{2020-02-07} \ProvidesPackage{longtable} - [2021-09-01 v4.17 Multi-page Table package (DPC)] + [2023-11-01 v4.19 Multi-page Table package (DPC)] \def\LT@err{\PackageError{longtable}} \def\LT@warn{\PackageWarning{longtable}} \def\LT@final@warn{% @@ -458,7 +458,10 @@ \let\@footnotetext\LT@p@ftntext \setlength\hsize{#1}% \@arrayparboxrestore - \vrule \@height \ht\@arstrutbox \@width \z@} + \everypar{% + \vrule \@height \ht\@arstrutbox \@width \z@ + \everypar{}}% + } \def\LT@endpbox{% \@finalstrut\@arstrutbox \color@endgroup diff --git a/Master/texmf-dist/tex/latex-dev/tools/shellesc.sty b/Master/texmf-dist/tex/latex-dev/tools/shellesc.sty index dfea3222973..6fbd004dfed 100644 --- a/Master/texmf-dist/tex/latex-dev/tools/shellesc.sty +++ b/Master/texmf-dist/tex/latex-dev/tools/shellesc.sty @@ -49,7 +49,7 @@ \ifx\PackageWarning\undefined\def\PackageWarning#1#2{\wlog{#1: #2}}\fi \expandafter\next\fi \ProvidesPackage{shellesc} - [2023/04/15 v1.0d unified shell escape interface for LaTeX] + [2023/07/08 v1.0d unified shell escape interface for LaTeX] \chardef\shellesc@quotecat\catcode`\" \chardef\shellesc@underscorecat\catcode`\_ \@makeother\" diff --git a/Master/texmf-dist/tex/latex-dev/tools/showkeys.sty b/Master/texmf-dist/tex/latex-dev/tools/showkeys.sty index 236b135311b..090a8fb7875 100644 --- a/Master/texmf-dist/tex/latex-dev/tools/showkeys.sty +++ b/Master/texmf-dist/tex/latex-dev/tools/showkeys.sty @@ -46,7 +46,7 @@ \DeclareCurrentRelease{}{2022-06-01} \ProvidesPackage{showkeys} - [2023/05/11 v3.19 Show cite and label keys (DPC, MH)] + [2023/07/08 v3.19 Show cite and label keys (DPC, MH)] \DeclareOption{notref}{\let\SK@ref\@empty} \DeclareOption{notcite}{\let\SK@cite\@empty} \let\SK@refcolor\relax diff --git a/Master/texmf-dist/tex/latex-dev/tools/tabularx.sty b/Master/texmf-dist/tex/latex-dev/tools/tabularx.sty index a084ff17cd4..4079dc9f63e 100644 --- a/Master/texmf-dist/tex/latex-dev/tools/tabularx.sty +++ b/Master/texmf-dist/tex/latex-dev/tools/tabularx.sty @@ -37,7 +37,7 @@ %% File: tabularx.dtx Copyright (C) 1991-1999 2012 2014 2016 2017 David Carlisle \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{tabularx} - [2020/01/15 v2.11c `tabularx' package (DPC)] + [2023/07/08 v2.11c `tabularx' package (DPC)] \DeclareOption{infoshow}{\AtEndOfPackage\tracingtabularx} \DeclareOption{debugshow}{\AtEndOfPackage\tracingtabularx} \ProcessOptions diff --git a/Master/texmf-dist/tex/latex-dev/tools/thb.sty b/Master/texmf-dist/tex/latex-dev/tools/thb.sty index 56deb3cd976..60ffb1140b8 100644 --- a/Master/texmf-dist/tex/latex-dev/tools/thb.sty +++ b/Master/texmf-dist/tex/latex-dev/tools/thb.sty @@ -36,7 +36,7 @@ %% given in the file `manifest.txt'. %% %% -\def\FMithmInfo{2014/10/28 v2.2c Theorem extension package (FMi)} +\def\FMithmInfo{2023/07/05 v2.2c Theorem extension package (FMi)} %% %% Package `theorem' to use with LaTeX2e %% Copyright (C) 1989-1995 Frank Mittelbach, all rights reserved. diff --git a/Master/texmf-dist/tex/latex-dev/tools/thc.sty b/Master/texmf-dist/tex/latex-dev/tools/thc.sty index 79d85c49184..c8ddd8b16c3 100644 --- a/Master/texmf-dist/tex/latex-dev/tools/thc.sty +++ b/Master/texmf-dist/tex/latex-dev/tools/thc.sty @@ -36,7 +36,7 @@ %% given in the file `manifest.txt'. %% %% -\def\FMithmInfo{2014/10/28 v2.2c Theorem extension package (FMi)} +\def\FMithmInfo{2023/07/05 v2.2c Theorem extension package (FMi)} %% %% Package `theorem' to use with LaTeX2e %% Copyright (C) 1989-1995 Frank Mittelbach, all rights reserved. diff --git a/Master/texmf-dist/tex/latex-dev/tools/thcb.sty b/Master/texmf-dist/tex/latex-dev/tools/thcb.sty index 39be6ed45a1..f6db2854666 100644 --- a/Master/texmf-dist/tex/latex-dev/tools/thcb.sty +++ b/Master/texmf-dist/tex/latex-dev/tools/thcb.sty @@ -36,7 +36,7 @@ %% given in the file `manifest.txt'. %% %% -\def\FMithmInfo{2014/10/28 v2.2c Theorem extension package (FMi)} +\def\FMithmInfo{2023/07/05 v2.2c Theorem extension package (FMi)} %% %% Package `theorem' to use with LaTeX2e %% Copyright (C) 1989-1995 Frank Mittelbach, all rights reserved. diff --git a/Master/texmf-dist/tex/latex-dev/tools/theorem.sty b/Master/texmf-dist/tex/latex-dev/tools/theorem.sty index 4304eff280e..5bbbe63e71a 100644 --- a/Master/texmf-dist/tex/latex-dev/tools/theorem.sty +++ b/Master/texmf-dist/tex/latex-dev/tools/theorem.sty @@ -36,7 +36,7 @@ %% given in the file `manifest.txt'. %% %% -\def\FMithmInfo{2014/10/28 v2.2c Theorem extension package (FMi)} +\def\FMithmInfo{2023/07/05 v2.2c Theorem extension package (FMi)} %% %% Package `theorem' to use with LaTeX2e %% Copyright (C) 1989-1995 Frank Mittelbach, all rights reserved. diff --git a/Master/texmf-dist/tex/latex-dev/tools/thm.sty b/Master/texmf-dist/tex/latex-dev/tools/thm.sty index f62e6b65c07..7c98832f830 100644 --- a/Master/texmf-dist/tex/latex-dev/tools/thm.sty +++ b/Master/texmf-dist/tex/latex-dev/tools/thm.sty @@ -36,7 +36,7 @@ %% given in the file `manifest.txt'. %% %% -\def\FMithmInfo{2014/10/28 v2.2c Theorem extension package (FMi)} +\def\FMithmInfo{2023/07/05 v2.2c Theorem extension package (FMi)} %% %% Package `theorem' to use with LaTeX2e %% Copyright (C) 1989-1995 Frank Mittelbach, all rights reserved. diff --git a/Master/texmf-dist/tex/latex-dev/tools/thmb.sty b/Master/texmf-dist/tex/latex-dev/tools/thmb.sty index 167aaafe080..47babc61d69 100644 --- a/Master/texmf-dist/tex/latex-dev/tools/thmb.sty +++ b/Master/texmf-dist/tex/latex-dev/tools/thmb.sty @@ -36,7 +36,7 @@ %% given in the file `manifest.txt'. %% %% -\def\FMithmInfo{2014/10/28 v2.2c Theorem extension package (FMi)} +\def\FMithmInfo{2023/07/05 v2.2c Theorem extension package (FMi)} %% %% Package `theorem' to use with LaTeX2e %% Copyright (C) 1989-1995 Frank Mittelbach, all rights reserved. diff --git a/Master/texmf-dist/tex/latex-dev/tools/thp.sty b/Master/texmf-dist/tex/latex-dev/tools/thp.sty index ce803310b70..951bc8fa14c 100644 --- a/Master/texmf-dist/tex/latex-dev/tools/thp.sty +++ b/Master/texmf-dist/tex/latex-dev/tools/thp.sty @@ -36,7 +36,7 @@ %% given in the file `manifest.txt'. %% %% -\def\FMithmInfo{2014/10/28 v2.2c Theorem extension package (FMi)} +\def\FMithmInfo{2023/07/05 v2.2c Theorem extension package (FMi)} %% %% Package `theorem' to use with LaTeX2e %% Copyright (C) 1989-1995 Frank Mittelbach, all rights reserved. diff --git a/Master/texmf-dist/tex/latex-dev/tools/xr.sty b/Master/texmf-dist/tex/latex-dev/tools/xr.sty index 8304f2ff866..ece5e0df2d0 100644 --- a/Master/texmf-dist/tex/latex-dev/tools/xr.sty +++ b/Master/texmf-dist/tex/latex-dev/tools/xr.sty @@ -38,7 +38,7 @@ %% File: xr.dtx Copyright (C) 1993-2019 David Carlisle \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{xr} - [2020-05-10 v5.06 eXternal References (DPC)] + [2023-07-04 v5.06 eXternal References (DPC)] \def\externaldocument{\@ifnextchar[\XR@{\XR@[]}} \let\externalcitedocument\externaldocument \def\XR@[#1]#2{{% |