summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex-dev
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2024-06-04 20:04:32 +0000
committerKarl Berry <karl@freefriends.org>2024-06-04 20:04:32 +0000
commit719c0852409803b7f2ca5c56a00fb9f7a71ec849 (patch)
treee19a5dae1068513a64095030019c0ff5fac7f77f /Master/texmf-dist/tex/latex-dev
parentbde8e15257ba37627e88088426e19138ec236e41 (diff)
latex2e-dev (3jun24)
git-svn-id: svn://tug.org/texlive/trunk@71433 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex-dev')
-rw-r--r--Master/texmf-dist/tex/latex-dev/amsmath/amsmath-2018-12-01.sty6
-rw-r--r--Master/texmf-dist/tex/latex-dev/amsmath/amsmath.sty7
-rw-r--r--Master/texmf-dist/tex/latex-dev/base/doc.sty7
-rw-r--r--Master/texmf-dist/tex/latex-dev/base/latex.ltx202
-rw-r--r--Master/texmf-dist/tex/latex-dev/base/latexrelease.sty276
-rw-r--r--Master/texmf-dist/tex/latex-dev/base/shortvrb.sty2
-rw-r--r--Master/texmf-dist/tex/latex-dev/base/textcomp.sty7
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/color.sty4
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/dvipdf.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/dvipsnam.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/dvipsone.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/dviwin.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/emtex.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/epsfig.sty4
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/graphics-2017-06-25.sty4
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/graphics.sty7
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/graphicx.sty2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/keyval.sty2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/lscape.sty2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/pctex32.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/pctexhp.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/pctexps.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/pctexwin.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/rotating.sty2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/tcidvi.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/trig.sty4
-rw-r--r--Master/texmf-dist/tex/latex-dev/graphics/truetex.def2
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/array-2016-10-06.sty4
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/array-2020-02-10.sty9
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/array-2023-11-01.sty10
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/array.sty8
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/l3sys-query.sty2
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/longtable-2020-01-07.sty4
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/longtable.sty6
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/multicol-2017-04-11.sty4
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/multicol-2019-10-01.sty13
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/multicol.sty7
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/showkeys-2014-10-28.sty4
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/showkeys.sty8
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/varioref-2016-02-16.sty4
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/varioref.sty5
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/xr-2023-07-04.sty84
-rw-r--r--Master/texmf-dist/tex/latex-dev/tools/xr.sty60
43 files changed, 495 insertions, 297 deletions
diff --git a/Master/texmf-dist/tex/latex-dev/amsmath/amsmath-2018-12-01.sty b/Master/texmf-dist/tex/latex-dev/amsmath/amsmath-2018-12-01.sty
index ab45172a32d..ca5ac506fbc 100644
--- a/Master/texmf-dist/tex/latex-dev/amsmath/amsmath-2018-12-01.sty
+++ b/Master/texmf-dist/tex/latex-dev/amsmath/amsmath-2018-12-01.sty
@@ -1,4 +1,8 @@
%%
+%% This is an old release of `amsmath.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
%% This is file `amsmath.sty',
%% generated with the docstrip utility.
%%
@@ -517,7 +521,7 @@ Foreign command \@backslashchar#1;\MessageBreak
\else % \not \mathxxx
\@xp\Umathch@\meaning@"0"\Umathch@
\ifgtest@ % if \Umathchar
- \else % else not \Umathcar
+ \else % else not \Umathchar
\@xp\macro@\meaning@@\macro@
\ifgtest@ % if macro test
\@xp\not@\meaning@\not@
diff --git a/Master/texmf-dist/tex/latex-dev/amsmath/amsmath.sty b/Master/texmf-dist/tex/latex-dev/amsmath/amsmath.sty
index 0171144d539..63f578290a7 100644
--- a/Master/texmf-dist/tex/latex-dev/amsmath/amsmath.sty
+++ b/Master/texmf-dist/tex/latex-dev/amsmath/amsmath.sty
@@ -23,11 +23,10 @@
%%
\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX)
[1994/12/01]% LaTeX date must be December 1994 or later
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
+\DeclareRelease{}{1994-06-01}{amsmath-2018-12-01.sty}
\DeclareRelease{}{2018-12-01}{amsmath-2018-12-01.sty}
\DeclareCurrentRelease{}{2019-04-01}
-\ProvidesPackage{amsmath}[2024/03/13 v2.17p AMS math features]
+\ProvidesPackage{amsmath}[2024/05/23 v2.17q AMS math features]
\edef\@temp{\catcode 96=\number\catcode 96 }
\catcode\string `\`=12
\def\do#1{\catcode\number`#1=\number\catcode`#1}
@@ -531,7 +530,7 @@ Foreign command \@backslashchar#1;\MessageBreak
\else % \not \mathxxx
\@xp\Umathch@\meaning@"0"\Umathch@
\ifgtest@ % if \Umathchar
- \else % else not \Umathcar
+ \else % else not \Umathchar
\@xp\macro@\meaning@@\macro@
\ifgtest@ % if macro test
\@xp\not@\meaning@\not@
diff --git a/Master/texmf-dist/tex/latex-dev/base/doc.sty b/Master/texmf-dist/tex/latex-dev/base/doc.sty
index 9fec881c4de..ea693f4ff1d 100644
--- a/Master/texmf-dist/tex/latex-dev/base/doc.sty
+++ b/Master/texmf-dist/tex/latex-dev/base/doc.sty
@@ -43,9 +43,8 @@
%% extension .ins) which are part of the distribution.
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
-
+\DeclareRelease{}{1994-06-01}
+ {doc-2016-02-15.sty}
\DeclareRelease{v2.1g}{2016-02-15}
{doc-2016-02-15.sty}
\DeclareRelease{v2}{2021-06-01}
@@ -53,7 +52,7 @@
\DeclareCurrentRelease{v3}{2022-06-01}
\ProvidesPackage{doc}
- [2024/02/08 v3.0o
+ [2024/04/26 v3.0p
Standard LaTeX documentation package V3 (FMi)]
%%
%% Package `doc' to use with LaTeX 2e
diff --git a/Master/texmf-dist/tex/latex-dev/base/latex.ltx b/Master/texmf-dist/tex/latex-dev/base/latex.ltx
index e912c3d3494..b468b974374 100644
--- a/Master/texmf-dist/tex/latex-dev/base/latex.ltx
+++ b/Master/texmf-dist/tex/latex-dev/base/latex.ltx
@@ -709,8 +709,8 @@
%%% From File: ltvers.dtx
\def\fmtname{LaTeX2e}
\edef\fmtversion
- {2024-06-01}
-\def\patch@level{-2}
+ {2024-11-01}
+\def\patch@level{0}
\edef\development@branch@name{develop \the\year-\the\month-\the\day}
\iffalse
\def\reserved@a#1/#2/#3\@nil{%
@@ -1160,7 +1160,10 @@
\cs_gset_eq:NN \@expl@cs@to@str@@N \cs_to_str:N
\cs_gset_eq:NN \@expl@str@if@eq@@nnTF \str_if_eq:nnTF
\cs_gset_eq:NN \@expl@cs@prefix@spec@@N \cs_prefix_spec:N
-\cs_gset_eq:NN \@expl@cs@argument@spec@@N \cs_argument_spec:N
+\cs_if_exist:NTF \cs_parameter_spec:N
+ { \cs_gset_eq:NN \@expl@cs@parameter@spec@@N \cs_parameter_spec:N }
+ { \cs_gset_eq:NN \@expl@cs@parameter@spec@@N \cs_argument_spec:N }
+\cs_gset_eq:NN \__kernel_cs_parameter_spec:N \@expl@cs@parameter@spec@@N
\cs_gset_eq:NN \@expl@cs@replacement@spec@@N \cs_replacement_spec:N
\cs_gset_eq:NN \@expl@str@map@function@@NN \str_map_function:NN
\cs_gset_eq:NN \@expl@char@generate@@nn \char_generate:nn
@@ -1650,7 +1653,7 @@
\long\def\@show@newcommand@aux#1#2#3{%
\typeout{> \string#1=\@expl@cs@prefix@spec@@N#1macro:}%
#3{default \string##1=\expandafter\detokenize\@gobblethree#2.^^J%
- \@expl@cs@argument@spec@@N#1->\@expl@cs@replacement@spec@@N#1}}
+ \@expl@cs@parameter@spec@@N#1->\@expl@cs@replacement@spec@@N#1}}
\long\def\@show@tokens#1{%
\edef\reserved@a{#1}%
\showtokens\expandafter
@@ -1681,7 +1684,7 @@
\@show@environment@end#1}
\long\def\@show@environment@begin#1{%
\typeout{> \string\begin{\@expl@cs@to@str@@N#1}=environment:}%
- \typeout{\@expl@cs@argument@spec@@N#1->%
+ \typeout{\@expl@cs@parameter@spec@@N#1->%
\@expl@cs@replacement@spec@@N#1.^^J}}
\long\def\@show@normalenv#1{%
\@show@environment@begin#1%
@@ -1692,12 +1695,12 @@
\long\def\@show@environment@end@aux#1#2{%
\@show@tokens{\string\end{\@expl@cs@to@str@@N#2}%
\ifx\relax#1=undefined%
- \else:^^J\@expl@cs@argument@spec@@N#1->%
+ \else:^^J\@expl@cs@parameter@spec@@N#1->%
\@expl@cs@replacement@spec@@N#1%
\fi}}
\def\@show@nonstop#1{%
\typeout{> \string#1=\@expl@cs@prefix@spec@@N#1macro:^^J%
- \@expl@cs@argument@spec@@N#1->\@expl@cs@replacement@spec@@N#1.}}
+ \@expl@cs@parameter@spec@@N#1->\@expl@cs@replacement@spec@@N#1.}}
\def\@show@typeout#1{\typeout{> #1.^^J}}
\def\@ifundefined#1{%
\ifcsname#1\endcsname\@ifundefin@d@i\else\@ifundefin@d@ii\fi{#1}}
@@ -1808,8 +1811,8 @@
\xdef#1{\the\toks@}%
\endgroup}
%%% From File: ltcmd.dtx
-\def\ltcmdversion{v1.2d}
-\def\ltcmddate{2024-03-21}
+\def\ltcmdversion{v1.2e}
+\def\ltcmddate{2024-04-17}
\message{document commands,}
\ExplSyntaxOn
\tl_new:N \l__cmd_arg_spec_tl
@@ -4188,7 +4191,7 @@
{
\exp_args:Ne \str_case_e:nnF
{
- \exp_args:Nf \tl_if_empty:nT { \cs_argument_spec:N #1 }
+ \exp_args:Nf \tl_if_empty:nT { \__kernel_cs_parameter_spec:N #1 }
{ \exp_not:N \exp_not:n { \exp_not:e { \tl_head:N #1 } } }
}
{
@@ -6432,7 +6435,7 @@
\__hook_curr_name_pop:
\ExplSyntaxOff
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% From File: ltcmdhooks.dtx
+%% From File: ltcmdhooks.dtx
%% Copyright (C) 2020-2024
%% Frank Mittelbach, Phelype Oleinik, The LaTeX Project
%%% From File: lthooks.dtx
@@ -6573,7 +6576,7 @@
\__hook_patch_debug:x { ++~command~can~be~patched~without~rescanning }
\int_set:Nn \l__hook_patch_num_args_int
{
- \exp_args:Nf \str_count:n { \cs_argument_spec:N #2 } / 2
+ \exp_args:Nf \str_count:n { \__kernel_cs_parameter_spec:N #2 } / 2
\bool_if:NT #1 { -1 }
}
\int_compare:nNnTF { \l__hook_patch_num_args_int } > { \c_zero_int }
@@ -6713,7 +6716,7 @@
{ ~ \__hook_double_hashes:w }
\cs_new_protected:Npn \__hook_retokenize_patch:Nnn #1 #2 #3
{
- \str_if_eq:eeTF { \cs_argument_spec:N #1 } { }
+ \str_if_eq:eeTF { \__kernel_cs_parameter_spec:N #1 } { }
{ \__hook_patch_expand_redefine:NNnn \c_false_bool #1 {#2} {#3} }
{
\__hook_patch_debug:x { ..~command~can~only~be~patched~by~rescanning }
@@ -7770,7 +7773,8 @@
{ \__template_find_global: }
}
\tl_set:Nn \l__template_key_name_tl {#1}
- \use:c { __template_assign_ \l__template_keytype_tl : }
+ \cs_if_exist_use:cF { __template_assign_ \l__template_keytype_tl : }
+ { \__template_assign_variable: }
}
{ \msg_error:nnn { template } { unknown-attribute } {#1} }
}
@@ -7884,67 +7888,14 @@
}
}
}
-\cs_new_protected:Npn \__template_assign_integer:
+\cs_new_protected:Npn \__template_assign_variable:
{
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_variable:N \int_gset:Nn }
- { \__template_assign_variable:N \int_set:Nn }
- }
-\cs_new_protected:Npn \__template_assign_length:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_variable:N \dim_gset:Nn }
- { \__template_assign_variable:N \dim_set:Nn }
-}
-\cs_new_protected:Npn \__template_assign_muskip:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_variable:N \muskip_gset:Nn }
- { \__template_assign_variable:N \muskip_set:Nn }
- }
-\cs_new_protected:Npn \__template_assign_real:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_variable:N \fp_gset:Nn }
- { \__template_assign_variable:N \fp_set:Nn }
- }
-\cs_new_protected:Npn \__template_assign_skip:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_variable:N \skip_gset:Nn }
- { \__template_assign_variable:N \skip_set:Nn }
- }
-\cs_new_protected:Npn \__template_assign_tokenlist:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_tokenlist_aux:NN \tl_gset:NV \tl_gset:Nn }
- { \__template_assign_tokenlist_aux:NN \tl_set:NV \tl_set:Nn }
- }
-\cs_new_protected:Npn \__template_assign_tokenlist_aux:NN #1#2
- {
- \__template_if_key_value:VTF \l__template_value_tl
- {
- \__template_key_to_value:
- \tl_put_right:Ne \l__template_assignments_tl
- {
- #1 \exp_not:V \l__template_var_tl
- { \exp_not:V \l__template_value_tl }
- }
- }
+ \__template_assign_variable:c
{
- \tl_put_right:Ne \l__template_assignments_tl
- {
- #2 \exp_not:V \l__template_var_tl
- { \exp_not:V \l__template_value_tl }
- }
+ \__template_map_var_type: _
+ \bool_if:NT \l__template_global_bool { g } set:Nn
}
}
-\cs_new_protected:Npn \__template_assign_commalist:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_tokenlist_aux:NN \clist_gset:NV \clist_gset:Nn }
- { \__template_assign_tokenlist_aux:NN \clist_set:NV \clist_set:Nn }
- }
\cs_new_protected:Npn \__template_assign_variable:N #1
{
\__template_if_key_value:VT \l__template_value_tl
@@ -7955,6 +7906,7 @@
{ \exp_not:V \l__template_value_tl }
}
}
+\cs_generate_variant:Nn \__template_assign_variable:N { c }
\cs_new_protected:Npn \__template_key_to_value:
{ \exp_after:wN \__template_key_to_value_auxi:w \l__template_value_tl }
\cs_new_protected:Npn \__template_key_to_value_auxi:w \KeyValue #1
@@ -8269,11 +8221,11 @@
{ \__template_show_vars:nn {#1} {#2} }
\cs_new_protected:Npn \ShowInstanceValues #1#2
{ \__template_show_values:nn {#1} {#2} }
-\cs_new:Npn \IfInstanceExistTF #1#2
+\cs_new:Npn \IfInstanceExistsTF #1#2
{ \__template_if_instance_exist:nnTF {#1} {#2} }
-\cs_new:Npn \IfInstanceExistT #1#2
+\cs_new:Npn \IfInstanceExistsT #1#2
{ \__template_if_instance_exist:nnT {#1} {#2} }
-\cs_new:Npn \IfInstanceExistF #1#2
+\cs_new:Npn \IfInstanceExistsF #1#2
{ \__template_if_instance_exist:nnF {#1} {#2} }
\cs_new_protected:Npn \KeyValue #1 {#1}
\cs_new_protected:Npn \AssignTemplateKeys { \__template_assignments_pop: }
@@ -8699,7 +8651,7 @@ Type H <return> for immediate help.}%
\cs_set_eq:NN \par \para_end:
\cs_set_eq:NN \@@par \para_end:
\cs_set_eq:NN \endgraf \para_end:
-\everypar{\@nodocument} %% To get an error if text appears before the
+\everypar{\@nodocument} %% To get an error if text appears before the \document
\msg_new:nnnn { hooks } { para-mode }
{
Illegal~mode~ change~ in~ hook~ 'para/#1'.\\
@@ -13499,7 +13451,9 @@ Type H <return> for immediate help.}%
}
}
\prg_generate_conditional_variant:Nnn \property_if_exist:n {e} {TF}
-\cs_new_eq:NN \IfPropertyExistTF \property_if_exist:eTF
+\cs_new_eq:NN \IfPropertyExistsTF \property_if_exist:eTF
+\cs_new:Npn \IfPropertyExistsT #1#2 {\property_if_exist:eTF {#1}{#2}{} }
+\cs_new:Npn \IfPropertyExistsF #1 {\property_if_exist:eTF {#1}{} }
\prg_new_conditional:Npnn \property_if_recorded:n #1 { p , T , F, TF }
% #1 label
{
@@ -13512,7 +13466,9 @@ Type H <return> for immediate help.}%
}
}
\prg_generate_conditional_variant:Nnn \property_if_recorded:n {e} {TF}
-\cs_new_eq:NN \IfLabelExistTF \property_if_recorded:eTF
+\cs_new_eq:NN \IfLabelExistsTF \property_if_recorded:eTF
+\cs_new:Npn \IfLabelExistsT #1#2 {\property_if_exist:eTF {#1}{#2}{} }
+\cs_new:Npn \IfLabelExistsF #1 {\property_if_exist:eTF {#1}{} }
\prg_new_conditional:Npnn \property_if_recorded:nn #1#2 { p , T , F, TF }
% #1 label #2 property
{
@@ -14714,7 +14670,16 @@ Type H <return> for immediate help.}%
\box\@tempboxa
\@end@tempboxa}
\def\@finalstrut#1{%
- \unskip\ifhmode\nobreak\fi\vrule\@width\z@\@height\z@\@depth\dp#1}
+ \unskip
+ \ifhmode \nobreak \vrule
+ \else
+ \ifdim \prevdepth=-\@m\p@
+ \else
+ \vskip-\prevdepth
+ \fi
+ \hrule
+ \fi
+ \@width\z@\@height\z@\@depth\dp#1}
\def\@@line{\hb@xt@\hsize}
\DeclareRobustCommand\leftline[1]{\@@line{#1\hss}}
\DeclareRobustCommand\rightline[1]{\@@line{\hss#1}}
@@ -16148,6 +16113,24 @@ Type H <return> for immediate help.}%
\tl_new:c { g__mark_last-column_top_ #1 _tl }
\tl_new:c { g__mark_last-column_first_ #1 _tl }
\tl_new:c { g__mark_last-column_last_ #1 _tl }
+ \tl_set:cn { g__mark_page_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_page_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_page_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-page_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-page_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-page_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_column_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-column_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_first-column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_first-column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_first-column_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_last-column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_last-column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_last-column_last_ #1 _tl }{ \__mark_id:n{0} }
}
\box_new:N \l__mark_box
\box_new:N \l__mark_ii_box
@@ -16304,14 +16287,16 @@ Type H <return> for immediate help.}%
\group_begin:
\@kernel@before@insertmark
\hook_use:n { insertmark }
- \unrestored@protected@xdef \g__mark_tmp_tl {#2}
+ \unrestored@protected@xdef \g__mark_tmp_tl
+ {
+ \__mark_id:n{ \int_use:N\g__mark_int }
+ #2
+ }
\__mark_debug:n{ \iow_term:x { Marks:~ set~#1~<-~
'\tl_to_str:V \g__mark_tmp_tl' ~ \msg_line_context: } }
\tex_marks:D \use:c { c__mark_class_ #1 _mark }
{
- \tl_if_empty:NTF \g__mark_tmp_tl
- { \exp_not:n { \prg_do_nothing: } }
- { \exp_not:o { \g__mark_tmp_tl } }
+ \exp_not:o { \g__mark_tmp_tl }
}
\group_end:
\if@nobreak\ifvmode\nobreak\fi\fi
@@ -16321,15 +16306,23 @@ Type H <return> for immediate help.}%
{ \tl_to_str:n {#1} }
}
}
+\cs_new_protected:Npn \__mark_id:n #1 { }
+\int_new:N \g__mark_int
\cs_new:Npn \@kernel@before@insertmark {
\cs_set_eq:NN \label \scan_stop:
\cs_set_eq:NN \index \scan_stop:
\cs_set_eq:NN \glossary \scan_stop:
+ \int_compare:nNnTF \g__mark_int < {99999}
+ { \int_gincr:N \g__mark_int }
+ { \int_gzero:N \g__mark_int }
+
}
\hook_new:n {insertmark}
-\cs_new:Npn \mark_use_first:nn #1#2 { \exp_not:v { g__mark_#1_first_#2_tl } }
-\cs_new:Npn \mark_use_last:nn #1#2 { \exp_not:v { g__mark_#1_last_#2_tl } }
-\cs_new:Npn \mark_use_top:nn #1#2 { \exp_not:v { g__mark_#1_top_#2_tl } }
+\cs_new:Npn \mark_use_first:nn #1#2 { \__mark_use:v { g__mark_#1_first_#2_tl } }
+\cs_new:Npn \mark_use_last:nn #1#2 { \__mark_use:v { g__mark_#1_last_#2_tl } }
+\cs_new:Npn \mark_use_top:nn #1#2 { \__mark_use:v { g__mark_#1_top_#2_tl } }
+\cs_new:Npn \__mark_use:n #1 { \exp_not:o { \use_none:nn #1 } }
+\cs_generate_variant:Nn \__mark_use:n { v }
\prg_new_conditional:Npnn \mark_if_eq:nnnn #1#2#3#4 { T , F , TF }
{
\tl_if_eq:ccTF { g__mark_ #1 _#3_ #2 _tl }
@@ -16491,10 +16484,19 @@ Type H <return> for immediate help.}%
{ g__mark_page_last_ ##1 _tl }
\tl_gset_eq:cc { g__mark_page_top_ ##1 _tl }
{ g__mark_first-column_top_ ##1 _tl }
- \tl_gset_eq:cc { g__mark_ page_first_ ##1 _tl }
+
+ \tl_if_eq:ccTF { g__mark_first-column_top_ ##1 _tl }
{ g__mark_first-column_first_ ##1 _tl }
- \tl_gset_eq:cc { g__mark_page_last_ ##1 _tl }
- { g__mark_last-column_last_ ##1 _tl }
+ {
+ \tl_gset_eq:cc { g__mark_page_first_ ##1 _tl }
+ { g__mark_last-column_first_ ##1 _tl }
+ }
+ {
+ \tl_gset_eq:cc { g__mark_page_first_ ##1 _tl }
+ { g__mark_first-column_first_ ##1 _tl }
+ }
+ \tl_gset_eq:cc { g__mark_page_last_ ##1 _tl }
+ { g__mark_last-column_last_ ##1 _tl }
}
}
\__mark_debug:n
@@ -16684,6 +16686,30 @@ Type H <return> for immediate help.}%
\let \IfClassLoadedTF \@ifclassloaded
\let \IfPackageLoadedWithOptionsTF \@ifpackagewith
\let \IfClassLoadedWithOptionsTF \@ifclasswith
+\def\IfPackageLoadedT #1#2{\IfPackageLoadedTF{#1}{#2}{}}
+\def\IfPackageLoadedF #1{\IfPackageLoadedTF{#1}{}}
+\def\IfClassLoadedT #1#2{\IfClassLoadedTF{#1}{#2}{}}
+\def\IfClassLoadedF #1{\IfClassLoadedTF{#1}{}}
+\def\IfPackageAtLeastT#1#2#3{\IfPackageAtLeastTF{#1}{#2}{#3}{}}
+\def\IfPackageAtLeastF #1#2{\IfPackageAtLeastTF{#1}{#2}{}}
+\def\IfClassAtLeastT #1#2#3{\IfClassAtLeastTF{#1}{#2}{#3}{}}
+\def\IfClassAtLeastF #1#2{\IfClassAtLeastTF{#1}{#2}{}}
+\def\IfFileAtLeastT #1#2#3{\IfFileAtLeastTF{#1}{#2}{#3}{}}
+\def\IfFileAtLeastF #1#2{\IfFileAtLeastTF{#1}{#2}{}}
+\def\IfFormatAtLeastT #1#2{\IfFormatAtLeastTF{#1}{#2}{}}
+\def\IfFormatAtLeastF #1{\IfFormatAtLeastTF{#1}{}}
+\def\IfPackageLoadedWithOptionsT #1#2#3{\IfPackageLoadedWithOptionsTF{#1}{#2}{#3}{}}
+\def\IfPackageLoadedWithOptionsF #1#2{\IfPackageLoadedWithOptionsTF{#1}{#2}{}}
+\def\IfClassLoadedWithOptionsT #1#2#3{\IfClassLoadedWithOptionsTF{#1}{#2}{#3}{}}
+\def\IfClassLoadedWithOptionsF #1#2{\IfClassLoadedWithOptionsTF{#1}{#2}{}}
+\def\IfFileLoadedTF#1{%
+ \expandafter\ifx\csname ver@#1\endcsname\relax
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi}
+\def\IfFileLoadedT#1#2{\IfFileLoadedTF{#1}{#2}{}}
+\def\IfFileLoadedF #1{\IfFileLoadedTF{#1}{}}
\def\ProvidesPackage#1{%
\xdef\@gtempa{#1}%
\@expandtwoargs\@expl@str@if@eq@@nnTF
diff --git a/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty b/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty
index a7ea9bfd040..7fcd9a53f73 100644
--- a/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty
+++ b/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty
@@ -293,7 +293,7 @@
}
%%% From File: ltvers.dtx
\edef\latexreleaseversion
- {2024-06-01}
+ {2024-11-01}
\newif\if@includeinrelease
\@includeinreleasefalse
\def\IncludeInRelease#1{%
@@ -571,25 +571,6 @@ of this package available from CTAN}
"luatex",
tex.extraprimitives("core","omega", "aleph", "luatex")
)
- local i
- local t = { }
- for _,i in pairs(tex.extraprimitives("luatex")) do
- if not string.match(i,"^U") then
- if not string.match(i, "^luatex") then
- table.insert(t,i)
- end
- else
- if string.match(i,"^Uchar$") then
- table.insert(t,i)
- end
- end
- end
- for _,i in pairs(t) do
- tex.print(
- "\noexpand\\let\noexpand\\" .. i
- .. "\noexpand\\undefined"
- )
- end
}
\EndIncludeInRelease
\fi
@@ -1363,7 +1344,10 @@ of this package available from CTAN}
\cs_gset_eq:NN \@expl@cs@to@str@@N \cs_to_str:N
\cs_gset_eq:NN \@expl@str@if@eq@@nnTF \str_if_eq:nnTF
\cs_gset_eq:NN \@expl@cs@prefix@spec@@N \cs_prefix_spec:N
-\cs_gset_eq:NN \@expl@cs@argument@spec@@N \cs_argument_spec:N
+\cs_if_exist:NTF \cs_parameter_spec:N
+ { \cs_gset_eq:NN \@expl@cs@parameter@spec@@N \cs_parameter_spec:N }
+ { \cs_gset_eq:NN \@expl@cs@parameter@spec@@N \cs_argument_spec:N }
+\cs_gset_eq:NN \__kernel_cs_parameter_spec:N \@expl@cs@parameter@spec@@N
\cs_gset_eq:NN \@expl@cs@replacement@spec@@N \cs_replacement_spec:N
\cs_gset_eq:NN \@expl@str@map@function@@NN \str_map_function:NN
\cs_gset_eq:NN \@expl@char@generate@@nn \char_generate:nn
@@ -1374,7 +1358,7 @@ of this package available from CTAN}
\let \@expl@cs@to@str@@N \@undefined
\let \@expl@str@if@eq@@nnTF \@undefined
\let \@expl@cs@prefix@spec@@N \@undefined
-\let \@expl@cs@argument@spec@@N \@undefined
+\let \@expl@cs@parameter@spec@@N \@undefined
\let \@expl@cs@replacement@spec@@N \@undefined
\let \@expl@str@map@function@@NN \@undefined
\EndIncludeInRelease
@@ -1797,7 +1781,7 @@ of this package available from CTAN}
\long\def\@show@newcommand@aux#1#2#3{%
\typeout{> \string#1=\@expl@cs@prefix@spec@@N#1macro:}%
#3{default \string##1=\expandafter\detokenize\@gobblethree#2.^^J%
- \@expl@cs@argument@spec@@N#1->\@expl@cs@replacement@spec@@N#1}}
+ \@expl@cs@parameter@spec@@N#1->\@expl@cs@replacement@spec@@N#1}}
\long\def\@show@tokens#1{%
\edef\reserved@a{#1}%
\showtokens\expandafter
@@ -1845,7 +1829,7 @@ of this package available from CTAN}
\@show@environment@end#1}
\long\def\@show@environment@begin#1{%
\typeout{> \string\begin{\@expl@cs@to@str@@N#1}=environment:}%
- \typeout{\@expl@cs@argument@spec@@N#1->%
+ \typeout{\@expl@cs@parameter@spec@@N#1->%
\@expl@cs@replacement@spec@@N#1.^^J}}
\long\def\@show@normalenv#1{%
\@show@environment@begin#1%
@@ -1856,12 +1840,12 @@ of this package available from CTAN}
\long\def\@show@environment@end@aux#1#2{%
\@show@tokens{\string\end{\@expl@cs@to@str@@N#2}%
\ifx\relax#1=undefined%
- \else:^^J\@expl@cs@argument@spec@@N#1->%
+ \else:^^J\@expl@cs@parameter@spec@@N#1->%
\@expl@cs@replacement@spec@@N#1%
\fi}}
\def\@show@nonstop#1{%
\typeout{> \string#1=\@expl@cs@prefix@spec@@N#1macro:^^J%
- \@expl@cs@argument@spec@@N#1->\@expl@cs@replacement@spec@@N#1.}}
+ \@expl@cs@parameter@spec@@N#1->\@expl@cs@replacement@spec@@N#1.}}
\def\@show@typeout#1{\typeout{> #1.^^J}}
\EndIncludeInRelease
\IncludeInRelease{0000-00-00}{\ShowEnvironment}
@@ -1998,8 +1982,8 @@ of this package available from CTAN}
\EndIncludeInRelease
%%% From File: ltcmd.dtx
-\def\ltcmdversion{v1.2d}
-\def\ltcmddate{2024-03-21}
+\def\ltcmdversion{v1.2e}
+\def\ltcmddate{2024-04-17}
\edef\@latexrelease@catcode@null{\the\catcode`\^^@ }
\catcode`\^^@=12
\ExplSyntaxOn
@@ -4452,7 +4436,7 @@ of this package available from CTAN}
{
\exp_args:Ne \str_case_e:nnF
{
- \exp_args:Nf \tl_if_empty:nT { \cs_argument_spec:N #1 }
+ \exp_args:Nf \tl_if_empty:nT { \__kernel_cs_parameter_spec:N #1 }
{ \exp_not:N \exp_not:n { \exp_not:e { \tl_head:N #1 } } }
}
{
@@ -7863,7 +7847,7 @@ of this package available from CTAN}
}
\ExplSyntaxOff
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% From File: ltcmdhooks.dtx
+%% From File: ltcmdhooks.dtx
%% Copyright (C) 2020-2024
%% Frank Mittelbach, Phelype Oleinik, The LaTeX Project
%%% From File: lthooks.dtx
@@ -8025,7 +8009,7 @@ of this package available from CTAN}
\__hook_patch_debug:x { ++~command~can~be~patched~without~rescanning }
\int_set:Nn \l__hook_patch_num_args_int
{
- \exp_args:Nf \str_count:n { \cs_argument_spec:N #2 } / 2
+ \exp_args:Nf \str_count:n { \__kernel_cs_parameter_spec:N #2 } / 2
\bool_if:NT #1 { -1 }
}
\int_compare:nNnTF { \l__hook_patch_num_args_int } > { \c_zero_int }
@@ -8100,7 +8084,7 @@ of this package available from CTAN}
\__hook_patch_debug:x { ++~command~can~be~patched~without~rescanning }
\int_set:Nn \l__hook_patch_num_args_int
{
- \exp_args:Nf \str_count:n { \cs_argument_spec:N #2 } / 2
+ \exp_args:Nf \str_count:n { \__kernel_cs_parameter_spec:N #2 } / 2
\bool_if:NT #1 { -1 }
}
\int_compare:nNnTF { \l__hook_patch_num_args_int } > { \c_zero_int }
@@ -8233,7 +8217,7 @@ of this package available from CTAN}
{ ~ \__hook_double_hashes:w }
\cs_new_protected:Npn \__hook_retokenize_patch:Nnn #1 #2 #3
{
- \str_if_eq:eeTF { \cs_argument_spec:N #1 } { }
+ \str_if_eq:eeTF { \__kernel_cs_parameter_spec:N #1 } { }
{ \__hook_patch_expand_redefine:NNnn \c_false_bool #1 {#2} {#3} }
{
\__hook_patch_debug:x { ..~command~can~only~be~patched~by~rescanning }
@@ -9388,7 +9372,8 @@ of this package available from CTAN}
{ \__template_find_global: }
}
\tl_set:Nn \l__template_key_name_tl {#1}
- \use:c { __template_assign_ \l__template_keytype_tl : }
+ \cs_if_exist_use:cF { __template_assign_ \l__template_keytype_tl : }
+ { \__template_assign_variable: }
}
{ \msg_error:nnn { template } { unknown-attribute } {#1} }
}
@@ -9502,67 +9487,14 @@ of this package available from CTAN}
}
}
}
-\cs_new_protected:Npn \__template_assign_integer:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_variable:N \int_gset:Nn }
- { \__template_assign_variable:N \int_set:Nn }
- }
-\cs_new_protected:Npn \__template_assign_length:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_variable:N \dim_gset:Nn }
- { \__template_assign_variable:N \dim_set:Nn }
-}
-\cs_new_protected:Npn \__template_assign_muskip:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_variable:N \muskip_gset:Nn }
- { \__template_assign_variable:N \muskip_set:Nn }
- }
-\cs_new_protected:Npn \__template_assign_real:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_variable:N \fp_gset:Nn }
- { \__template_assign_variable:N \fp_set:Nn }
- }
-\cs_new_protected:Npn \__template_assign_skip:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_variable:N \skip_gset:Nn }
- { \__template_assign_variable:N \skip_set:Nn }
- }
-\cs_new_protected:Npn \__template_assign_tokenlist:
+\cs_new_protected:Npn \__template_assign_variable:
{
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_tokenlist_aux:NN \tl_gset:NV \tl_gset:Nn }
- { \__template_assign_tokenlist_aux:NN \tl_set:NV \tl_set:Nn }
- }
-\cs_new_protected:Npn \__template_assign_tokenlist_aux:NN #1#2
- {
- \__template_if_key_value:VTF \l__template_value_tl
+ \__template_assign_variable:c
{
- \__template_key_to_value:
- \tl_put_right:Ne \l__template_assignments_tl
- {
- #1 \exp_not:V \l__template_var_tl
- { \exp_not:V \l__template_value_tl }
- }
- }
- {
- \tl_put_right:Ne \l__template_assignments_tl
- {
- #2 \exp_not:V \l__template_var_tl
- { \exp_not:V \l__template_value_tl }
- }
+ \__template_map_var_type: _
+ \bool_if:NT \l__template_global_bool { g } set:Nn
}
}
-\cs_new_protected:Npn \__template_assign_commalist:
- {
- \bool_if:NTF \l__template_global_bool
- { \__template_assign_tokenlist_aux:NN \clist_gset:NV \clist_gset:Nn }
- { \__template_assign_tokenlist_aux:NN \clist_set:NV \clist_set:Nn }
- }
\cs_new_protected:Npn \__template_assign_variable:N #1
{
\__template_if_key_value:VT \l__template_value_tl
@@ -9573,6 +9505,7 @@ of this package available from CTAN}
{ \exp_not:V \l__template_value_tl }
}
}
+\cs_generate_variant:Nn \__template_assign_variable:N { c }
\cs_new_protected:Npn \__template_key_to_value:
{ \exp_after:wN \__template_key_to_value_auxi:w \l__template_value_tl }
\cs_new_protected:Npn \__template_key_to_value_auxi:w \KeyValue #1
@@ -9887,11 +9820,11 @@ of this package available from CTAN}
{ \__template_show_vars:nn {#1} {#2} }
\cs_new_protected:Npn \ShowInstanceValues #1#2
{ \__template_show_values:nn {#1} {#2} }
-\cs_new:Npn \IfInstanceExistTF #1#2
+\cs_new:Npn \IfInstanceExistsTF #1#2
{ \__template_if_instance_exist:nnTF {#1} {#2} }
-\cs_new:Npn \IfInstanceExistT #1#2
+\cs_new:Npn \IfInstanceExistsT #1#2
{ \__template_if_instance_exist:nnT {#1} {#2} }
-\cs_new:Npn \IfInstanceExistF #1#2
+\cs_new:Npn \IfInstanceExistsF #1#2
{ \__template_if_instance_exist:nnF {#1} {#2} }
\cs_new_protected:Npn \KeyValue #1 {#1}
\cs_new_protected:Npn \AssignTemplateKeys { \__template_assignments_pop: }
@@ -10086,7 +10019,7 @@ of this package available from CTAN}
\cs_set_eq:NN \par \para_end:
\cs_set_eq:NN \@@par \para_end:
\cs_set_eq:NN \endgraf \para_end:
-\everypar{\@nodocument} %% To get an error if text appears before the
+\everypar{\@nodocument} %% To get an error if text appears before the \document
\msg_new:nnnn { hooks } { para-mode }
{
Illegal~mode~ change~ in~ hook~ 'para/#1'.\\
@@ -14859,7 +14792,9 @@ of this package available from CTAN}
}
}
\prg_generate_conditional_variant:Nnn \property_if_exist:n {e} {TF}
-\cs_new_eq:NN \IfPropertyExistTF \property_if_exist:eTF
+\cs_new_eq:NN \IfPropertyExistsTF \property_if_exist:eTF
+\cs_new:Npn \IfPropertyExistsT #1#2 {\property_if_exist:eTF {#1}{#2}{} }
+\cs_new:Npn \IfPropertyExistsF #1 {\property_if_exist:eTF {#1}{} }
\prg_new_conditional:Npnn \property_if_recorded:n #1 { p , T , F, TF }
% #1 label
{
@@ -14872,7 +14807,9 @@ of this package available from CTAN}
}
}
\prg_generate_conditional_variant:Nnn \property_if_recorded:n {e} {TF}
-\cs_new_eq:NN \IfLabelExistTF \property_if_recorded:eTF
+\cs_new_eq:NN \IfLabelExistsTF \property_if_recorded:eTF
+\cs_new:Npn \IfLabelExistsT #1#2 {\property_if_exist:eTF {#1}{#2}{} }
+\cs_new:Npn \IfLabelExistsF #1 {\property_if_exist:eTF {#1}{} }
\prg_new_conditional:Npnn \property_if_recorded:nn #1#2 { p , T , F, TF }
% #1 label #2 property
{
@@ -14961,8 +14898,8 @@ of this package available from CTAN}
\let \RefProperty \@undefined
\let \RefUndefinedWarn \@undefined
-\let \IfPropertyExistTF \@undefined
-\let \IfLabelExistTF \@undefined
+\let \IfPropertyExistsTF \@undefined
+\let \IfLabelExistsTF \@undefined
\let \IfPropertyRecordedTF \@undefined
\let\new@label@record \@undefined
@@ -16078,6 +16015,27 @@ of this package available from CTAN}
\@ifnextchar[{\@rsbox{#1}}{\@irsbox{#1}[]}}
\expandafter\let\csname raisebox \endcsname\@undefined
\EndIncludeInRelease
+\IncludeInRelease{2024/06/01}%
+ {\@finalstrut}{final strut correction}%
+\def\@finalstrut#1{%
+ \unskip
+ \ifhmode \nobreak \vrule
+ \else
+ \ifdim \prevdepth=-\@m\p@
+ \else
+ \vskip-\prevdepth
+ \fi
+ \hrule
+ \fi
+ \@width\z@\@height\z@\@depth\dp#1}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\@finalstrut}{final strut correction}%
+\def\@finalstrut#1{%
+ \unskip\ifhmode\nobreak\fi
+ \vrule\@width\z@\@height\z@\@depth\dp#1}
+
+\EndIncludeInRelease
%%% From File: lttab.dtx
\IncludeInRelease{2020/10/01}%
{\@itabcr}{Tabbing calc syntax}%
@@ -17264,6 +17222,24 @@ of this package available from CTAN}
\tl_new:c { g__mark_last-column_top_ #1 _tl }
\tl_new:c { g__mark_last-column_first_ #1 _tl }
\tl_new:c { g__mark_last-column_last_ #1 _tl }
+ \tl_set:cn { g__mark_page_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_page_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_page_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-page_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-page_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-page_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_column_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_previous-column_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_first-column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_first-column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_first-column_last_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_last-column_top_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_last-column_first_ #1 _tl }{ \__mark_id:n{0} }
+ \tl_set:cn { g__mark_last-column_last_ #1 _tl }{ \__mark_id:n{0} }
}
\box_new:N \l__mark_box
\box_new:N \l__mark_ii_box
@@ -17408,12 +17384,14 @@ of this package available from CTAN}
\group_begin:
\@kernel@before@insertmark
\hook_use:n { insertmark }
- \unrestored@protected@xdef \g__mark_tmp_tl {#2}
+ \unrestored@protected@xdef \g__mark_tmp_tl
+ {
+ \__mark_id:n{ \int_use:N\g__mark_int }
+ #2
+ }
\tex_marks:D \use:c { c__mark_class_ #1 _mark }
{
- \tl_if_empty:NTF \g__mark_tmp_tl
- { \exp_not:n { \prg_do_nothing: } }
- { \exp_not:o { \g__mark_tmp_tl } }
+ \exp_not:o { \g__mark_tmp_tl }
}
\group_end:
\if@nobreak\ifvmode\nobreak\fi\fi
@@ -17423,15 +17401,23 @@ of this package available from CTAN}
{ \tl_to_str:n {#1} }
}
}
+\cs_new_protected:Npn \__mark_id:n #1 { }
+\int_new:N \g__mark_int
\cs_new:Npn \@kernel@before@insertmark {
\cs_set_eq:NN \label \scan_stop:
\cs_set_eq:NN \index \scan_stop:
\cs_set_eq:NN \glossary \scan_stop:
+ \int_compare:nNnTF \g__mark_int < {99999}
+ { \int_gincr:N \g__mark_int }
+ { \int_gzero:N \g__mark_int }
+
}
\hook_new:n {insertmark}
-\cs_new:Npn \mark_use_first:nn #1#2 { \exp_not:v { g__mark_#1_first_#2_tl } }
-\cs_new:Npn \mark_use_last:nn #1#2 { \exp_not:v { g__mark_#1_last_#2_tl } }
-\cs_new:Npn \mark_use_top:nn #1#2 { \exp_not:v { g__mark_#1_top_#2_tl } }
+\cs_new:Npn \mark_use_first:nn #1#2 { \__mark_use:v { g__mark_#1_first_#2_tl } }
+\cs_new:Npn \mark_use_last:nn #1#2 { \__mark_use:v { g__mark_#1_last_#2_tl } }
+\cs_new:Npn \mark_use_top:nn #1#2 { \__mark_use:v { g__mark_#1_top_#2_tl } }
+\cs_new:Npn \__mark_use:n #1 { \exp_not:o { \use_none:nn #1 } }
+\cs_generate_variant:Nn \__mark_use:n { v }
\prg_new_conditional:Npnn \mark_if_eq:nnnn #1#2#3#4 { T , F , TF }
{
\tl_if_eq:ccTF { g__mark_ #1 _#3_ #2 _tl }
@@ -17546,10 +17532,19 @@ of this package available from CTAN}
{ g__mark_page_last_ ##1 _tl }
\tl_gset_eq:cc { g__mark_page_top_ ##1 _tl }
{ g__mark_first-column_top_ ##1 _tl }
- \tl_gset_eq:cc { g__mark_ page_first_ ##1 _tl }
+
+ \tl_if_eq:ccTF { g__mark_first-column_top_ ##1 _tl }
{ g__mark_first-column_first_ ##1 _tl }
- \tl_gset_eq:cc { g__mark_page_last_ ##1 _tl }
- { g__mark_last-column_last_ ##1 _tl }
+ {
+ \tl_gset_eq:cc { g__mark_page_first_ ##1 _tl }
+ { g__mark_last-column_first_ ##1 _tl }
+ }
+ {
+ \tl_gset_eq:cc { g__mark_page_first_ ##1 _tl }
+ { g__mark_first-column_first_ ##1 _tl }
+ }
+ \tl_gset_eq:cc { g__mark_page_last_ ##1 _tl }
+ { g__mark_last-column_last_ ##1 _tl }
}
}
}
@@ -17812,15 +17807,15 @@ of this package available from CTAN}
}%
\reserved@a}
\EndIncludeInRelease
-\IncludeInRelease{2021/11/15}%
- {\IfPackageLoadedtTF}{Test package loading}%
+\IncludeInRelease{2024/06/01}%
+ {\IfPackageLoadedTF}{Test package loading}%
\let \IfPackageLoadedTF \@ifpackageloaded
\let \IfClassLoadedTF \@ifclassloaded
\let \IfPackageLoadedWithOptionsTF \@ifpackagewith
\let \IfClassLoadedWithOptionsTF \@ifclasswith
\EndIncludeInRelease
\IncludeInRelease{0000/00/00}%
- {\IfPackageLoadedtTF}{Test package loading}%
+ {\IfPackageLoadedTF}{Test package loading}%
\let \IfPackageLoadedTF \@ifpackageloaded
\let \IfClassLoadedTF \@ifclassloaded
@@ -17828,6 +17823,63 @@ of this package available from CTAN}
\let \IfClassLoadedWithOptionsTF \@ifclasswith
\EndIncludeInRelease
+\IncludeInRelease{2024/06/01}%
+ {\IfPackageLoadedT}{More conditionals}%
+\def\IfPackageLoadedT #1#2{\IfPackageLoadedTF{#1}{#2}{}}
+\def\IfPackageLoadedF #1{\IfPackageLoadedTF{#1}{}}
+\def\IfClassLoadedT #1#2{\IfClassLoadedTF{#1}{#2}{}}
+\def\IfClassLoadedF #1{\IfClassLoadedTF{#1}{}}
+\def\IfPackageAtLeastT#1#2#3{\IfPackageAtLeastTF{#1}{#2}{#3}{}}
+\def\IfPackageAtLeastF #1#2{\IfPackageAtLeastTF{#1}{#2}{}}
+\def\IfClassAtLeastT #1#2#3{\IfClassAtLeastTF{#1}{#2}{#3}{}}
+\def\IfClassAtLeastF #1#2{\IfClassAtLeastTF{#1}{#2}{}}
+\def\IfFileAtLeastT #1#2#3{\IfFileAtLeastTF{#1}{#2}{#3}{}}
+\def\IfFileAtLeastF #1#2{\IfFileAtLeastTF{#1}{#2}{}}
+\def\IfFormatAtLeastT #1#2{\IfFormatAtLeastTF{#1}{#2}{}}
+\def\IfFormatAtLeastF #1{\IfFormatAtLeastTF{#1}{}}
+\def\IfPackageLoadedWithOptionsT #1#2#3{\IfPackageLoadedWithOptionsTF{#1}{#2}{#3}{}}
+\def\IfPackageLoadedWithOptionsF #1#2{\IfPackageLoadedWithOptionsTF{#1}{#2}{}}
+\def\IfClassLoadedWithOptionsT #1#2#3{\IfClassLoadedWithOptionsTF{#1}{#2}{#3}{}}
+\def\IfClassLoadedWithOptionsF #1#2{\IfClassLoadedWithOptionsTF{#1}{#2}{}}
+\def\IfFileLoadedTF#1{%
+ \expandafter\ifx\csname ver@#1\endcsname\relax
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi}
+\def\IfFileLoadedT#1#2{\IfFileLoadedTF{#1}{#2}{}}
+\def\IfFileLoadedF #1{\IfFileLoadedTF{#1}{}}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\IfPackageLoadedT}{More conditionals}%
+
+\def\IfPackageLoadedT #1#2{\IfPackageLoadedTF{#1}{#2}{}}
+\def\IfPackageLoadedF #1{\IfPackageLoadedTF{#1}{}}
+\def\IfClassLoadedT #1#2{\IfClassLoadedTF{#1}{#2}{}}
+\def\IfClassLoadedF #1{\IfClassLoadedTF{#1}{}}
+\def\IfPackageAtLeastT#1#2#3{\IfPackageAtLeastTF{#1}{#2}{#3}{}}
+\def\IfPackageAtLeastF #1#2{\IfPackageAtLeastTF{#1}{#2}{}}
+\def\IfClassAtLeastT #1#2#3{\IfClassAtLeastTF{#1}{#2}{#3}{}}
+\def\IfClassAtLeastF #1#2{\IfClassAtLeastTF{#1}{#2}{}}
+\def\IfFileAtLeastT #1#2#3{\IfFileAtLeastTF{#1}{#2}{#3}{}}
+\def\IfFileAtLeastF #1#2{\IfFileAtLeastTF{#1}{#2}{}}
+\def\IfFormatAtLeastT #1#2{\IfFormatAtLeastTF{#1}{#2}{}}
+\def\IfFormatAtLeastF #1{\IfFormatAtLeastTF{#1}{}}
+\def\IfPackageLoadedWithOptionsT #1#2#3{\IfPackageLoadedWithOptionsTF{#1}{#2}{#3}{}}
+\def\IfPackageLoadedWithOptionsF #1#2{\IfPackageLoadedWithOptionsTF{#1}{#2}{}}
+\def\IfClassLoadedWithOptionsT #1#2#3{\IfClassLoadedWithOptionsTF{#1}{#2}{#3}{}}
+\def\IfClassLoadedWithOptionsF #1#2{\IfClassLoadedWithOptionsTF{#1}{#2}{}}
+
+\def\IfFileLoadedTF#1{%
+ \expandafter\ifx\csname ver@#1\endcsname\relax
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi}
+\def\IfFileLoadedT#1#2{\IfFileLoadedTF{#1}{#2}{}}
+\def\IfFileLoadedF #1{\IfFileLoadedTF{#1}{}}
+
+\EndIncludeInRelease
\IncludeInRelease{2020/10/01}%
{\ProvidesPackage}{Check name with \strcmp}%
\def\ProvidesPackage#1{%
diff --git a/Master/texmf-dist/tex/latex-dev/base/shortvrb.sty b/Master/texmf-dist/tex/latex-dev/base/shortvrb.sty
index 43c0cdf1013..c0266dd6930 100644
--- a/Master/texmf-dist/tex/latex-dev/base/shortvrb.sty
+++ b/Master/texmf-dist/tex/latex-dev/base/shortvrb.sty
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
\ProvidesPackage{shortvrb}
- [2024/02/08 v3.0o
+ [2024/04/26 v3.0p
Standard LaTeX documentation package V3 (FMi)]
%%
%% Package `doc' to use with LaTeX 2e
diff --git a/Master/texmf-dist/tex/latex-dev/base/textcomp.sty b/Master/texmf-dist/tex/latex-dev/base/textcomp.sty
index 540274252f6..df0d53634de 100644
--- a/Master/texmf-dist/tex/latex-dev/base/textcomp.sty
+++ b/Master/texmf-dist/tex/latex-dev/base/textcomp.sty
@@ -42,14 +42,12 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%%% From File: lttextcomp.dtx
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
-
+\DeclareRelease{}{1997-12-01}{textcomp-2018-08-11.sty}
\DeclareRelease{}{2018-08-11}{textcomp-2018-08-11.sty}
\DeclareCurrentRelease{}{2020-02-02}
\ProvidesPackage{textcomp}
- [2020/02/02 v2.0n Standard LaTeX package]
+ [2024/04/24 v2.1b Standard LaTeX package]
\NeedsTeXFormat{LaTeX2e}[2020/02/02]
\DeclareOption{full}{\DeclareEncodingSubset{TS1}{?}{0}}
\DeclareOption{almostfull}{\DeclareEncodingSubset{TS1}{?}{1}}
@@ -74,7 +72,6 @@
{#1{#2}}{#3}%
#5}%
}
-\ExecuteOptions{info}
\ProcessOptions\relax
\InputIfFileExists{textcomp.cfg}
{\PackageInfo{textcomp}{Local configuration file used}}{}
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/color.sty b/Master/texmf-dist/tex/latex-dev/graphics/color.sty
index a19ce4bc78d..7083345d319 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/color.sty
+++ b/Master/texmf-dist/tex/latex-dev/graphics/color.sty
@@ -12,7 +12,7 @@
%%
%%
%% color.dtx Copyright (C) 1994--1999 David Carlisle
-%% Copyright (C) 2005-2023 LaTeX Project
+%% Copyright (C) 2005-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -25,7 +25,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{color}
- [2022/01/06 v1.3d Standard LaTeX Color (DPC)]
+ [2024/01/14 v1.3d Standard LaTeX Color (DPC)]
\edef\Gin@codes{%
\catcode`\noexpand\^^A\the\catcode`\^^A\relax
\catcode`\noexpand\"\the\catcode`\"\relax
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/dvipdf.def b/Master/texmf-dist/tex/latex-dev/graphics/dvipdf.def
index 0d4f850a1e9..54f14b9116d 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/dvipdf.def
+++ b/Master/texmf-dist/tex/latex-dev/graphics/dvipdf.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/dvipsnam.def b/Master/texmf-dist/tex/latex-dev/graphics/dvipsnam.def
index b28466f4571..9c3e261c281 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/dvipsnam.def
+++ b/Master/texmf-dist/tex/latex-dev/graphics/dvipsnam.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/dvipsone.def b/Master/texmf-dist/tex/latex-dev/graphics/dvipsone.def
index 96c5715c964..0b052c068fd 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/dvipsone.def
+++ b/Master/texmf-dist/tex/latex-dev/graphics/dvipsone.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/dviwin.def b/Master/texmf-dist/tex/latex-dev/graphics/dviwin.def
index d862abced2e..6dd22108a49 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/dviwin.def
+++ b/Master/texmf-dist/tex/latex-dev/graphics/dviwin.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/emtex.def b/Master/texmf-dist/tex/latex-dev/graphics/emtex.def
index 9616f25d624..2bb0144563d 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/emtex.def
+++ b/Master/texmf-dist/tex/latex-dev/graphics/emtex.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/epsfig.sty b/Master/texmf-dist/tex/latex-dev/graphics/epsfig.sty
index c1642f670f8..10bc2aa88e1 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/epsfig.sty
+++ b/Master/texmf-dist/tex/latex-dev/graphics/epsfig.sty
@@ -12,7 +12,7 @@
%%
%%
%% epsfig.dtx Copyright (C) 1994-1996 1999 Sebastian Rahtz
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -23,7 +23,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
\ProvidesPackage{epsfig}
- [2017/06/25 v1.7b (e)psfig emulation (SPQR)]
+ [2024/01/14 v1.7b (e)psfig emulation (SPQR)]
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{graphicx}}
\ProcessOptions
\RequirePackage{graphicx}
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/graphics-2017-06-25.sty b/Master/texmf-dist/tex/latex-dev/graphics/graphics-2017-06-25.sty
index 154867d99a4..24f64431247 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/graphics-2017-06-25.sty
+++ b/Master/texmf-dist/tex/latex-dev/graphics/graphics-2017-06-25.sty
@@ -1,4 +1,8 @@
%%
+%% This is an old release of `graphics.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
%% This is file `graphics.sty',
%% generated with the docstrip utility.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/graphics.sty b/Master/texmf-dist/tex/latex-dev/graphics/graphics.sty
index 15d0c640214..9d6e6c3b176 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/graphics.sty
+++ b/Master/texmf-dist/tex/latex-dev/graphics/graphics.sty
@@ -12,7 +12,7 @@
%%
%%
%% graphics.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
-%% Copyright (C) 1995-2023 LaTeX Project
+%% Copyright (C) 1995-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -24,14 +24,13 @@
%% This file has the LPPL maintenance status "maintained".
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
+\DeclareRelease{}{1994-06-01}{graphics-2017-06-25.sty}
\DeclareRelease{}{2017-06-25}{graphics-2017-06-25.sty}
\DeclareCurrentRelease{}{2019-10-01}
\ProvidesPackage{graphics}
- [2022/03/10 v1.4e Standard LaTeX Graphics (DPC,SPQR)]
+ [2024/05/23 v1.4g Standard LaTeX Graphics (DPC,SPQR)]
\edef\Gin@codes{%
\catcode`\noexpand\^^A\the\catcode`\^^A\relax
\catcode`\noexpand\"\the\catcode`\"\relax
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/graphicx.sty b/Master/texmf-dist/tex/latex-dev/graphics/graphicx.sty
index 4b5d9560f43..de9d178cb06 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/graphicx.sty
+++ b/Master/texmf-dist/tex/latex-dev/graphics/graphicx.sty
@@ -12,7 +12,7 @@
%%
%%
%% graphicx.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
-%% Copyright (C) 1995-2023 LaTeX Project
+%% Copyright (C) 1995-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/keyval.sty b/Master/texmf-dist/tex/latex-dev/graphics/keyval.sty
index ca092fb4284..c422add543c 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/keyval.sty
+++ b/Master/texmf-dist/tex/latex-dev/graphics/keyval.sty
@@ -12,7 +12,7 @@
%%
%%
%% keyval.dtx Copyright (C) 1993 1994 1995 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 David Carlisle, LaTeX Project
+%% Copyright (C) 2000-2024 David Carlisle, LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/lscape.sty b/Master/texmf-dist/tex/latex-dev/graphics/lscape.sty
index 998fff80d24..372fdcea132 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/lscape.sty
+++ b/Master/texmf-dist/tex/latex-dev/graphics/lscape.sty
@@ -12,7 +12,7 @@
%%
%%
%% lscape.dtx Copyright (C) 1994 1999-2000 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/pctex32.def b/Master/texmf-dist/tex/latex-dev/graphics/pctex32.def
index 8ab6c23fe1c..92943879a60 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/pctex32.def
+++ b/Master/texmf-dist/tex/latex-dev/graphics/pctex32.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/pctexhp.def b/Master/texmf-dist/tex/latex-dev/graphics/pctexhp.def
index 6fbc3180a0f..f334eb179ab 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/pctexhp.def
+++ b/Master/texmf-dist/tex/latex-dev/graphics/pctexhp.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/pctexps.def b/Master/texmf-dist/tex/latex-dev/graphics/pctexps.def
index 7a2e45defb5..d8c324574b0 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/pctexps.def
+++ b/Master/texmf-dist/tex/latex-dev/graphics/pctexps.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/pctexwin.def b/Master/texmf-dist/tex/latex-dev/graphics/pctexwin.def
index 57f050c5d6f..a25c2a7265b 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/pctexwin.def
+++ b/Master/texmf-dist/tex/latex-dev/graphics/pctexwin.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/rotating.sty b/Master/texmf-dist/tex/latex-dev/graphics/rotating.sty
index 3257208525a..5d4596be493 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/rotating.sty
+++ b/Master/texmf-dist/tex/latex-dev/graphics/rotating.sty
@@ -13,7 +13,7 @@
%%
%% Copyright (C) 1995-1999 Sebastian Rahtz and Leonor Barroca
%% Copyright (C) 2001-2003,2007-2009 Robin Fairbairns
-%% Copyright (C) 2016-2023 LaTeX Project
+%% Copyright (C) 2016-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
\NeedsTeXFormat{LaTeX2e}
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/tcidvi.def b/Master/texmf-dist/tex/latex-dev/graphics/tcidvi.def
index 4d544c48591..2e0a032dcfc 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/tcidvi.def
+++ b/Master/texmf-dist/tex/latex-dev/graphics/tcidvi.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/trig.sty b/Master/texmf-dist/tex/latex-dev/graphics/trig.sty
index 17f18478311..b5114838368 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/trig.sty
+++ b/Master/texmf-dist/tex/latex-dev/graphics/trig.sty
@@ -12,7 +12,7 @@
%%
%%
%% File: trig.dtx Copyright (C) 1993-1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -23,7 +23,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{trig}
- [2021/08/11 v1.11 sin cos tan (DPC)]
+ [2023/12/02 v1.11 sin cos tan (DPC)]
\chardef\nin@ty=90
\chardef\@clxxx=180
\chardef\@lxxi=71
diff --git a/Master/texmf-dist/tex/latex-dev/graphics/truetex.def b/Master/texmf-dist/tex/latex-dev/graphics/truetex.def
index adafafbca7d..28f11e78c86 100644
--- a/Master/texmf-dist/tex/latex-dev/graphics/truetex.def
+++ b/Master/texmf-dist/tex/latex-dev/graphics/truetex.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2023 LaTeX Project
+%% Copyright (C) 2000-2024 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/tools/array-2016-10-06.sty b/Master/texmf-dist/tex/latex-dev/tools/array-2016-10-06.sty
index f079fd4975d..ced72d2913c 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/array-2016-10-06.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/array-2016-10-06.sty
@@ -1,5 +1,7 @@
%%
-%% This is an old release of `array.sty',
+%% This is an old release of `array.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
%%
%% Copyright 1993-2016
%% The LaTeX Project and any individual authors listed elsewhere
diff --git a/Master/texmf-dist/tex/latex-dev/tools/array-2020-02-10.sty b/Master/texmf-dist/tex/latex-dev/tools/array-2020-02-10.sty
index 1243f25f747..5acd9c727e2 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/array-2020-02-10.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/array-2020-02-10.sty
@@ -1,4 +1,8 @@
%%
+%% This is an old release of `array.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
%% This is file `array.sty',
%% generated with the docstrip utility.
%%
@@ -38,11 +42,6 @@
%% Package `array' to use with LaTeX 2e
%% Copyright (C) 1989-1998 Frank Mittelbach, all rights reserved.
\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
-
-\DeclareRelease{}{2016-10-06}{array-2016-10-06.sty}
-\DeclareCurrentRelease{}{2019-10-01}
\ProvidesPackage{array}
[2020/02/10 v2.4m Tabular extension package (FMi)]
diff --git a/Master/texmf-dist/tex/latex-dev/tools/array-2023-11-01.sty b/Master/texmf-dist/tex/latex-dev/tools/array-2023-11-01.sty
index cd6eee6a0fc..b5267cffd23 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/array-2023-11-01.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/array-2023-11-01.sty
@@ -1,4 +1,8 @@
%%
+%% This is an old release of `array.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
%% This is file `array.sty',
%% generated with the docstrip utility.
%%
@@ -38,12 +42,6 @@
%% Package `array' to use with LaTeX 2e
%% Copyright (C) 1989-1998 Frank Mittelbach, all rights reserved.
\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
-
-\DeclareRelease{}{2016-10-06}{array-2016-10-06.sty}
-\DeclareRelease{v2.4}{2020-02-10}{array-2020-02-10.sty}
-\DeclareCurrentRelease{}{2020-10-01}
\ProvidesPackage{array}
[2023/10/16 v2.5g Tabular extension package (FMi)]
diff --git a/Master/texmf-dist/tex/latex-dev/tools/array.sty b/Master/texmf-dist/tex/latex-dev/tools/array.sty
index c2fc16814a8..5010b2f1b43 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/array.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/array.sty
@@ -38,9 +38,8 @@
%% Package `array' to use with LaTeX 2e
%% Copyright (C) 1989-1998 Frank Mittelbach, all rights reserved.
\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
+\DeclareRelease{}{1994-06-01}{array-2016-10-06.sty}
\DeclareRelease{}{2016-10-06}{array-2016-10-06.sty}
\DeclareRelease{v2.4}{2020-02-10}{array-2020-02-10.sty}
\DeclareRelease{v2.5}{2023-11-01}{array-2023-11-01.sty}
@@ -48,7 +47,7 @@
\NeedsTeXFormat{LaTeX2e}[2024/06/01]
\ProvidesPackage{array}
- [2023/12/11 v2.6a Tabular extension package (FMi)]
+ [2024/05/23 v2.6c Tabular extension package (FMi)]
%%
\ExplSyntaxOn
@@ -98,10 +97,11 @@
\def\insert@column{%
\UseTaggingSocket{tbl/cell/begin}%
\the@toks \the \@tempcnta
- \ignorespaces \@sharp \unskip
+ \ignorespaces \@sharp \textonly@unskip
\the@toks \the \count@ \relax
\UseTaggingSocket{tbl/cell/end}%
}
+\protected\def\textonly@unskip{\ifhmode\unskip\fi}
\def\insert@pcolumn{%
\UseTaggingSocket{tbl/pcell/begin}%
\the@toks \the \@tempcnta
diff --git a/Master/texmf-dist/tex/latex-dev/tools/l3sys-query.sty b/Master/texmf-dist/tex/latex-dev/tools/l3sys-query.sty
index d70701056f1..792ef9c0416 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/l3sys-query.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/l3sys-query.sty
@@ -43,7 +43,7 @@
%% This file may be distributed under the terms of the LPPL.
%% See README for details.
\ProvidesPackage{l3sys-query}
- [2024-03-13 v1.0a LaTeX2e interface for l3sys file queries]
+ [2024-03-28 v1.0a LaTeX2e interface for l3sys file queries]
\ExplSyntaxOn
\sys_if_shell:F{
\PackageWarningNoLine{l3sys-query}
diff --git a/Master/texmf-dist/tex/latex-dev/tools/longtable-2020-01-07.sty b/Master/texmf-dist/tex/latex-dev/tools/longtable-2020-01-07.sty
index f79c691e104..fc7c3f42909 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/longtable-2020-01-07.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/longtable-2020-01-07.sty
@@ -1,4 +1,8 @@
%%
+%% This is an old release of `longtable.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
%% This is file `longtable.sty',
%% generated with the docstrip utility.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/tools/longtable.sty b/Master/texmf-dist/tex/latex-dev/tools/longtable.sty
index fabcf42aa8d..aa19b28096a 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/longtable.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/longtable.sty
@@ -36,14 +36,14 @@
%%
%% File: longtable.dtx Copyright (C) 1990-2020 David Carlisle
\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
+
+\DeclareRelease{}{1994-06-01}{longtable-2020-01-07.sty}
\DeclareRelease{v4.13}{2020-01-02}{longtable-2020-01-07.sty}
\DeclareCurrentRelease{}{2020-02-07}
\ProvidesPackage{longtable}
- [2023-12-16 v4.19 Multi-page Table package (DPC)]
+ [2024-04-26 v4.20 Multi-page Table package (DPC)]
\def\LT@err{\PackageError{longtable}}
\def\LT@warn{\PackageWarning{longtable}}
\def\LT@final@warn{%
diff --git a/Master/texmf-dist/tex/latex-dev/tools/multicol-2017-04-11.sty b/Master/texmf-dist/tex/latex-dev/tools/multicol-2017-04-11.sty
index 9e346656bbf..bdebc93db92 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/multicol-2017-04-11.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/multicol-2017-04-11.sty
@@ -1,5 +1,7 @@
%%
-%% This is an old release of `multicol.sty',
+%% This is an old release of `multicol.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
%%
%% The source is maintained by the LaTeX Project team and bug
%% reports for it can be opened at http://latex-project.org/bugs.html
diff --git a/Master/texmf-dist/tex/latex-dev/tools/multicol-2019-10-01.sty b/Master/texmf-dist/tex/latex-dev/tools/multicol-2019-10-01.sty
index 221f62f68e6..fc8bda54793 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/multicol-2019-10-01.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/multicol-2019-10-01.sty
@@ -1,6 +1,7 @@
-%% This is a rollback file for multicol to the last version within release 2019-10-01
-%% =======================
%%
+%% This is an old release of `multicol.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
%%
%% This is file `multicol.sty',
%% generated with the docstrip utility.
@@ -101,14 +102,6 @@
%%
%% Frank.Mittelbach@latex-project.org
%%
-\NeedsTeXFormat{LaTeX2e}[2018-04-01]
-
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
-
-\DeclareRelease{}{2017-04-11}{multicol-2017-04-11.sty}
-\DeclareCurrentRelease{}{2018-04-01}
-
\ProvidesPackage{multicol}
[2019/12/09 v1.8y multicolumn formatting (FMi)]
%%
diff --git a/Master/texmf-dist/tex/latex-dev/tools/multicol.sty b/Master/texmf-dist/tex/latex-dev/tools/multicol.sty
index 37125021618..ebe9ea853a8 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/multicol.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/multicol.sty
@@ -98,17 +98,14 @@
%%
%% Frank.Mittelbach@latex-project.org
%%
-\NeedsTeXFormat{LaTeX2e}[2018-04-01]
-
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
+\DeclareRelease{}{1994-06-01}{multicol-2017-04-11.sty}
\DeclareRelease{}{2017-04-11}{multicol-2017-04-11.sty}
\DeclareRelease{v1.8}{2019-10-01}{multicol-2019-10-01.sty}
\DeclareCurrentRelease{}{2021-11-15}
\ProvidesPackage{multicol}
- [2024/01/29 v1.9g multicolumn formatting (FMi)]
+ [2024/05/23 v1.9h multicolumn formatting (FMi)]
\DeclareOption{twocolumn}
{\PackageWarning{multicol}{May not work
with the twocolumn option}}
diff --git a/Master/texmf-dist/tex/latex-dev/tools/showkeys-2014-10-28.sty b/Master/texmf-dist/tex/latex-dev/tools/showkeys-2014-10-28.sty
index b4d7b190287..9f465dff5c6 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/showkeys-2014-10-28.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/showkeys-2014-10-28.sty
@@ -1,4 +1,8 @@
%%
+%% This is an old release of `showkeys.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
%% This is file `showkeys.sty',
%% generated with the docstrip utility.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/tools/showkeys.sty b/Master/texmf-dist/tex/latex-dev/tools/showkeys.sty
index 1de125c5f92..67811019e39 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/showkeys.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/showkeys.sty
@@ -36,17 +36,15 @@
%% given in the file `manifest.txt'.
%%
%% File: showkeys.dtx Copyright (C) 1992-1997 David Carlisle
-%% File: showkeys.dtx Copyright (C) 2006-2023 David Carlisle, LaTeX Project
+%% File: showkeys.dtx Copyright (C) 2006-2024 David Carlisle, LaTeX Project
\NeedsTeXFormat{LaTeX2e}
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
-
+\DeclareRelease{}{1994-06-01}{showkeys-2014-10-28.sty}
\DeclareRelease{}{2014-10-28}{showkeys-2014-10-28.sty}
\DeclareCurrentRelease{}{2022-06-01}
\ProvidesPackage{showkeys}
- [2023/12/16 v3.20 Show cite and label keys (DPC, MH)]
+ [2024/05/23 v3.21 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/varioref-2016-02-16.sty b/Master/texmf-dist/tex/latex-dev/tools/varioref-2016-02-16.sty
index 747e89dc605..39cc4467a79 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/varioref-2016-02-16.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/varioref-2016-02-16.sty
@@ -1,4 +1,8 @@
%%
+%% This is an old release of `varioref.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
%% This is file `varioref.sty',
%% generated with the docstrip utility.
%%
diff --git a/Master/texmf-dist/tex/latex-dev/tools/varioref.sty b/Master/texmf-dist/tex/latex-dev/tools/varioref.sty
index e6cfd77f823..6b2f7cfd7ac 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/varioref.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/varioref.sty
@@ -45,14 +45,13 @@
%% or open an issue at https://github.com/latex3/latex2e.
%%
\NeedsTeXFormat{LaTeX2e}[1995/05/16]
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
+\DeclareRelease{}{1994-06-01}{varioref-2016-02-16.sty}
\DeclareRelease{}{2016-02-16}{varioref-2016-02-16.sty}
\DeclareCurrentRelease{}{2019-10-01}
\ProvidesPackage{varioref}
- [2024/01/15 v1.6f package for extended references (FMi)]
+ [2024/05/23 v1.6g package for extended references (FMi)]
%%
diff --git a/Master/texmf-dist/tex/latex-dev/tools/xr-2023-07-04.sty b/Master/texmf-dist/tex/latex-dev/tools/xr-2023-07-04.sty
new file mode 100644
index 00000000000..15bfde169a2
--- /dev/null
+++ b/Master/texmf-dist/tex/latex-dev/tools/xr-2023-07-04.sty
@@ -0,0 +1,84 @@
+%%
+%% This is an old release of `xr.sty' used during rollback operations.
+%% Do not use this file directly.
+%% ==============================
+%%
+%% This is file `xr.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xr.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% 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) 1993-2023
+%% The LaTeX Project and any individual authors listed elsewhere
+%% in this file.
+%%
+%% This file was generated from file(s) of the Standard LaTeX `Tools 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
+%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
+%% without such generated files.
+%%
+%% The list of all files belonging to the LaTeX `Tools Bundle' is
+%% given in the file `manifest.txt'.
+%%
+%% File: xr.dtx Copyright (C) 1993-2019 David Carlisle
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{xr}
+ [2023-07-04 v5.06 eXternal References (DPC)]
+\def\externaldocument{\@ifnextchar[\XR@{\XR@[]}}
+\let\externalcitedocument\externaldocument
+\def\XR@[#1]#2{{%
+ \makeatletter
+ \def\XR@prefix{#1}%
+ \set@curr@file{#2}%
+ \expandafter\XR@next\@curr@file.aux\relax\\}}
+\def\XR@next#1\relax#2\\{%
+ \edef\XR@list{#2}%
+ \XR@loop{#1}}
+\def\XR@aux{%
+ \ifx\XR@list\@empty\else\expandafter\XR@explist\fi}
+
+\def\XR@explist{\expandafter\XR@next\XR@list\\}
+\def\XR@loop#1{\openin\@inputcheck{#1}\relax
+ \ifeof\@inputcheck
+ \PackageWarning{xr}{^^JNo file #1^^JLABELS NOT IMPORTED.^^J}%
+ \expandafter\XR@aux
+ \else
+ \PackageInfo{xr}{IMPORTING LABELS FROM #1}%
+ \expandafter\XR@read\fi}
+\def\XR@read{%
+ \read\@inputcheck to\XR@line
+ \expandafter\XR@test\XR@line...\XR@}
+\long\def\XR@test#1#2#3#4\XR@{%
+ \let\XR@tempa\@gobbletwo
+ \ifx#1\newlabel
+ \let\XR@tempa\@firstoftwo
+ \else\ifx#1\bibcite
+ \let\XR@tempa\@firstoftwo
+ \else\ifx#1\@input
+ \let\XR@tempa\@secondoftwo
+ \fi\fi\fi
+ \XR@tempa{#1{\XR@prefix#2}{#3}}{\edef\XR@list{\XR@list#2\relax}}%
+ \ifeof\@inputcheck\expandafter\XR@aux
+ \else\expandafter\XR@read\fi}
+\endinput
+%%
+%% End of file `xr.sty'.
diff --git a/Master/texmf-dist/tex/latex-dev/tools/xr.sty b/Master/texmf-dist/tex/latex-dev/tools/xr.sty
index 3f7185039c2..9e3f16cd92b 100644
--- a/Master/texmf-dist/tex/latex-dev/tools/xr.sty
+++ b/Master/texmf-dist/tex/latex-dev/tools/xr.sty
@@ -35,17 +35,40 @@
%% The list of all files belonging to the LaTeX `Tools Bundle' is
%% given in the file `manifest.txt'.
%%
-%% File: xr.dtx Copyright (C) 1993-2019 David Carlisle
+%% File: xr.dtx Copyright (C) 1993-2024 David Carlisle
\NeedsTeXFormat{LaTeX2e}
+\DeclareRelease{v5}{2023-07-04}{xr-2023-07-04.sty}
+\DeclareCurrentRelease{}{2024-04-10}
\ProvidesPackage{xr}
- [2023-07-04 v5.06 eXternal References (DPC)]
-\def\externaldocument{\@ifnextchar[\XR@{\XR@[]}}
+ [2024-04-10 v6.00 eXternal References (DPC)]
+\def\externaldocument{\@testopt\XR@cite{}}
\let\externalcitedocument\externaldocument
-\def\XR@[#1]#2{{%
+\def\XR@cite[#1]{\@testopt{\XR@[#1]}{}}
+\def\XR@[#1][#2]#3{\@testopt{\XR@@{#1}{#2}{#3}}{#3.\XR@ext}}
+\def\XR@@nocite{nocite}
+\long\def\@gobblefour #1#2#3#4{}
+\long\def\@firstoffour #1#2#3#4{#1}
+\long\def\@secondoffour#1#2#3#4{#2}
+\long\def\@thirdoffour #1#2#3#4{#3}
+\long\def\@fourthoffour #1#2#3#4{#4}
+\def\XR@addURL#1{\XR@@dURL#1{}{}{}{}\\}
+\def\XR@@dURL#1#2#3#4#5\\{%
+ \unexpanded{{#1}{#2}{#3}{#4}}{\XR@URL}%
+ }%
+\providecommand\XR@ext{pdf}
+\def\XR@@#1#2#3[#4]{{%
\makeatletter
\def\XR@prefix{#1}%
- \set@curr@file{#2}%
- \expandafter\XR@next\@curr@file.aux\relax\\}}
+ \def\XR@nocite{#2}%
+ \ifx\XR@nocite\XR@@nocite
+ \let\XR@bibcite\vadjust
+ \else
+ \let\XR@bibcite\bibcite
+ \fi
+ \def\XR@URL{#4}%
+ \set@curr@file{#3}%
+ \filename@parse\@curr@file
+ \XR@next\@curr@file.aux\relax\\}}
\def\XR@next#1\relax#2\\{%
\edef\XR@list{#2}%
\XR@loop{#1}}
@@ -64,15 +87,26 @@
\read\@inputcheck to\XR@line
\expandafter\XR@test\XR@line...\XR@}
\long\def\XR@test#1#2#3#4\XR@{%
- \let\XR@tempa\@gobbletwo
+ \let\XR@tempa\@gobblefour
\ifx#1\newlabel
- \let\XR@tempa\@firstoftwo
- \else\ifx#1\bibcite
- \let\XR@tempa\@firstoftwo
+ \let\XR@tempa\@firstoffour
+ \else\ifx#1\XR@bibcite
+ \let\XR@tempa\@secondoffour
\else\ifx#1\@input
- \let\XR@tempa\@secondoftwo
- \fi\fi\fi
- \XR@tempa{#1{\XR@prefix#2}{#3}}{\edef\XR@list{\XR@list#2\relax}}%
+ \let\XR@tempa\@thirdoffour
+ \else\ifx#1\new@label@record
+ \let\XR@tempa\@fourthoffour
+ \fi\fi\fi\fi
+ \XR@tempa
+ {%
+ \expandafter\protected@xdef\csname r@\XR@prefix#2\endcsname{\XR@addURL{#3}}%
+ }%
+ {\expandafter\bibcite\expandafter{\XR@prefix#2}{#3}}%
+ {\edef\XR@list{\XR@list\filename@area#2\relax}}%
+ {%
+ \edef\next{\noexpand\new@label@record{\XR@prefix#2}{\unexpanded{#3}{xr-url}{\XR@URL}}}%
+ \next
+ }
\ifeof\@inputcheck\expandafter\XR@aux
\else\expandafter\XR@read\fi}
\endinput