diff options
author | Karl Berry <karl@freefriends.org> | 2021-10-22 21:41:02 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-10-22 21:41:02 +0000 |
commit | 68000a49928e6bb364140f025edf109855b643b2 (patch) | |
tree | 3ab9ba7cca15011894ee658c6ad9e962350f74bb /Master/texmf-dist/tex/latex-dev/base | |
parent | abde33f8241a26a6b42ff9a290306966536c55cf (diff) |
latex-dev (22oct21)
git-svn-id: svn://tug.org/texlive/trunk@60842 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex-dev/base')
22 files changed, 455 insertions, 79 deletions
diff --git a/Master/texmf-dist/tex/latex-dev/base/article.cls b/Master/texmf-dist/tex/latex-dev/base/article.cls index 5b41ddfbbdd..721b5f5277e 100644 --- a/Master/texmf-dist/tex/latex-dev/base/article.cls +++ b/Master/texmf-dist/tex/latex-dev/base/article.cls @@ -43,7 +43,7 @@ %% extension .ins) which are part of the distribution. \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{article} - [2021/09/11 v1.4n + [2021/10/04 v1.4n Standard LaTeX document class] \newcommand\@ptsize{} \newif\if@restonecol diff --git a/Master/texmf-dist/tex/latex-dev/base/bk10.clo b/Master/texmf-dist/tex/latex-dev/base/bk10.clo index 61467c423d7..01f4e768bf1 100644 --- a/Master/texmf-dist/tex/latex-dev/base/bk10.clo +++ b/Master/texmf-dist/tex/latex-dev/base/bk10.clo @@ -42,7 +42,7 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. \ProvidesFile{bk10.clo} - [2021/09/11 v1.4n + [2021/10/04 v1.4n Standard LaTeX file (size option)] \renewcommand\normalsize{% \@setfontsize\normalsize\@xpt\@xiipt diff --git a/Master/texmf-dist/tex/latex-dev/base/bk11.clo b/Master/texmf-dist/tex/latex-dev/base/bk11.clo index 4676a822495..6721e8a9bb5 100644 --- a/Master/texmf-dist/tex/latex-dev/base/bk11.clo +++ b/Master/texmf-dist/tex/latex-dev/base/bk11.clo @@ -42,7 +42,7 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. \ProvidesFile{bk11.clo} - [2021/09/11 v1.4n + [2021/10/04 v1.4n Standard LaTeX file (size option)] \renewcommand\normalsize{% \@setfontsize\normalsize\@xipt{13.6}% diff --git a/Master/texmf-dist/tex/latex-dev/base/bk12.clo b/Master/texmf-dist/tex/latex-dev/base/bk12.clo index 3363b912b39..3431015fd3b 100644 --- a/Master/texmf-dist/tex/latex-dev/base/bk12.clo +++ b/Master/texmf-dist/tex/latex-dev/base/bk12.clo @@ -42,7 +42,7 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. \ProvidesFile{bk12.clo} - [2021/09/11 v1.4n + [2021/10/04 v1.4n Standard LaTeX file (size option)] \renewcommand\normalsize{% \@setfontsize\normalsize\@xiipt{14.5}% diff --git a/Master/texmf-dist/tex/latex-dev/base/book.cls b/Master/texmf-dist/tex/latex-dev/base/book.cls index e073de5a533..10fec30421a 100644 --- a/Master/texmf-dist/tex/latex-dev/base/book.cls +++ b/Master/texmf-dist/tex/latex-dev/base/book.cls @@ -43,7 +43,7 @@ %% extension .ins) which are part of the distribution. \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{book} - [2021/09/11 v1.4n + [2021/10/04 v1.4n Standard LaTeX document class] \newcommand\@ptsize{} \newif\if@restonecol diff --git a/Master/texmf-dist/tex/latex-dev/base/doc.sty b/Master/texmf-dist/tex/latex-dev/base/doc.sty index 444849f2e76..b0fe0860f01 100644 --- a/Master/texmf-dist/tex/latex-dev/base/doc.sty +++ b/Master/texmf-dist/tex/latex-dev/base/doc.sty @@ -43,7 +43,7 @@ %% extension .ins) which are part of the distribution. \NeedsTeXFormat{LaTeX2e}[1994/12/01] \ProvidesPackage{doc} - [2021/05/28 v2.1n + [2021/10/04 v2.1n Standard LaTeX documentation package (FMi)] %% %% Package `doc' to use with LaTeX 2e diff --git a/Master/texmf-dist/tex/latex-dev/base/fleqn.clo b/Master/texmf-dist/tex/latex-dev/base/fleqn.clo index 9e7256d4e20..e5d93807821 100644 --- a/Master/texmf-dist/tex/latex-dev/base/fleqn.clo +++ b/Master/texmf-dist/tex/latex-dev/base/fleqn.clo @@ -104,6 +104,7 @@ \renewenvironment{eqnarray}{% \stepcounter{equation}% \def\@currentlabel{\p@equation\theequation}% + \def\@currentcounter{equation}% \global\@eqnswtrue\m@th \global\@eqcnt\z@ \tabskip\mathindent diff --git a/Master/texmf-dist/tex/latex-dev/base/latex.ltx b/Master/texmf-dist/tex/latex-dev/base/latex.ltx index 4580afeec0e..54ca1a8d465 100644 --- a/Master/texmf-dist/tex/latex-dev/base/latex.ltx +++ b/Master/texmf-dist/tex/latex-dev/base/latex.ltx @@ -692,7 +692,7 @@ \def\fmtname{LaTeX2e} \edef\fmtversion {2021-11-15} -\def\patch@level{-2} +\def\patch@level{-3} \edef\development@branch@name{develop \the\year-\the\month-\the\day} \iffalse \def\reserved@a#1/#2/#3\@nil{% @@ -4305,8 +4305,8 @@ \ExplSyntaxOff %%% From File: lthooks.dtx -\def\lthooksversion{v1.0r} -\def\lthooksdate{2021/09/06} +\def\lthooksversion{v1.0s} +\def\lthooksdate{2021/09/28} \ExplSyntaxOn \bool_new:N \g__hook_debug_bool \cs_new_eq:NN \__hook_debug:n \use_none:n @@ -5587,14 +5587,19 @@ %% File: ltcmdhooks.dtx (C) Copyright 2020-2021 %% Frank Mittelbach, Phelype Oleinik, LaTeX Team %%% From File: ltcmdhooks.dtx -\def\ltcmdhooksversion{v1.0d} -\def\ltcmdhooksdate{2021/08/25} +\def\ltcmdhooksversion{v1.0f} +\def\ltcmdhooksdate{2021/10/20} \ExplSyntaxOn \tl_new:N \g_hook_patch_action_list_tl \int_new:N \l__hook_patch_num_args_int \tl_new:N \l__hook_patch_prefixes_tl -\tl_new:N \l__hook_patch_param_text_tl -\tl_new:N \l__hook_patch_replacement_tl +\tl_new:N \l__hook_param_text_tl +\tl_new:N \l__hook_replace_text_tl +\tl_const:Nn \c__hook_hash_tl { # # } +\cs_new_eq:NN \__hook_exp_not:NN ? +\cs_new_eq:NN \__hook_def_cmd:w ? +\quark_new:N \q__hook_recursion_tail +\quark_new:N \q__hook_recursion_stop \prop_new:N \g__hook_delayed_patches_prop \cs_new_protected:Npn \__hook_patch_debug:x #1 { \__hook_debug:n { \iow_term:x { [lthooks]~#1 } } } @@ -5725,19 +5730,40 @@ } \int_compare:nNnTF { \l__hook_patch_num_args_int } > { \c_zero_int } { - \tl_set:Nx \l__hook_patch_param_text_tl - { \bool_if:NTF #1 { [####1] } { ####1 } } - \tl_set:Nx \l__hook_patch_replacement_tl - { \bool_if:NTF #1 { [####1] } { {####1} } } + \tl_set:Nx \l__hook_tmpa_tl { \bool_if:NTF #1 { [ ] } { { } } } \int_step_inline:nnn { 2 } { \l__hook_patch_num_args_int } + { \tl_put_right:Nn \l__hook_tmpa_tl { { } } } + \exp_args:NNo \exp_args:No \__hook_if_has_hash:nTF + { \exp_after:wN #2 \l__hook_tmpa_tl } + { \cs_set_eq:NN \__hook_exp_not:n \exp_not:n } + { \cs_set_eq:NN \__hook_exp_not:n \use:n } + \cs_set_protected:Npn \__hook_tmp:w ##1 ##2 { - \tl_put_right:Nn \l__hook_patch_param_text_tl { ## ####1 } - \tl_put_right:Nn \l__hook_patch_replacement_tl { { ## ####1 } } + ##1 \l__hook_param_text_tl { \use:n ##2 } + ##1 \l__hook_replace_text_tl { \__hook_exp_not:n {##2} } } + \bool_if:NTF #1 + { \__hook_tmp:w \tl_set:Nx { [ \c__hook_hash_tl 1 ] } } + { \__hook_tmp:w \tl_set:Nx { { \c__hook_hash_tl 1 } } } + \int_step_inline:nnn { 2 } { \l__hook_patch_num_args_int } + { \__hook_tmp:w \tl_put_right:Nx { { \c__hook_hash_tl ##1 } } } + \tl_set:Nx \l__hook_replace_text_tl + { \exp_not:N #2 \exp_not:V \l__hook_replace_text_tl } + \tl_set:Nx \l__hook_replace_text_tl + { + \token_if_eq_meaning:NNTF \__hook_exp_not:n \exp_not:n + { \exp_args:NNV \exp_args:No \__hook_double_hashes:n } + { \exp_args:NV \exp_not:o } + \l__hook_replace_text_tl + } + \cs_set_eq:NN \__hook_def_cmd:w \tex_gdef:D + \cs_set_eq:NN \__hook_exp_not:NN \prg_do_nothing: } { - \tl_clear:N \l__hook_patch_param_text_tl - \tl_clear:N \l__hook_patch_replacement_tl + \tl_clear:N \l__hook_param_text_tl + \tl_set_eq:NN \l__hook_replace_text_tl #2 + \cs_set_eq:NN \__hook_def_cmd:w \tex_xdef:D + \cs_set:Npn \__hook_exp_not:NN ##1 { \exp_not:N ##1 \exp_not:N } } \group_begin: \int_set:Nn \tex_escapechar:D { `\/ } @@ -5749,18 +5775,22 @@ } \use:x { - \l__hook_patch_prefixes_tl \tex_def:D - \exp_not:N #2 \exp_not:V \l__hook_patch_param_text_tl - { - \str_if_eq:nnT {#4} { before } - { \exp_not:N \UseHook { cmd / #3 / #4 } } - \exp_args:No \exp_not:o - { \exp_after:wN #2 \l__hook_patch_replacement_tl } - \str_if_eq:nnT {#4} { after } - { \exp_not:N \UseHook { cmd / #3 / #4 } } - } + \__hook_redefine_with_hooks:Nnnn \exp_not:N #2 + \str_if_eq:nnTF {#4} { after } + { \use_ii_i:nn } + { \use:nn } + { { \__hook_exp_not:NN \exp_not:N \UseHook { cmd / #3 / #4 } } } + { { } } + { \__hook_exp_not:NN \exp_not:V \l__hook_replace_text_tl } } } +\cs_new_protected:Npn \__hook_redefine_with_hooks:Nnnn #1 #2 #3 #4 + { + \l__hook_patch_prefixes_tl + \exp_after:wN \__hook_def_cmd:w + \exp_after:wN #1 \l__hook_param_text_tl + { #2 #4 #3 } + } \cs_new:Npn \__hook_make_prefixes:w / #1 / { \tl_if_empty:nF {#1} @@ -5769,6 +5799,58 @@ \__hook_make_prefixes:w / } } +\prg_new_conditional:Npnn \__hook_if_has_hash:n #1 { TF } + { \__hook_if_has_hash:w #1 ## \s__hook_mark } +\cs_new:Npn \__hook_if_has_hash:w #1 + { + \tl_if_single_token:nTF {#1} + { + \token_if_eq_catcode:NNTF ## #1 + { \__hook_if_has_hash_check:w } + { \__hook_if_has_hash:w } + } + { \__hook_if_has_hash:w #1 } + } +\cs_new:Npn \__hook_if_has_hash_check:w #1 \s__hook_mark + { \tl_if_empty:nTF {#1} { \prg_return_false: } { \prg_return_true: } } +\cs_new:Npn \__hook_double_hashes:n #1 + { \__hook_double_hashes:w #1 \q__hook_recursion_tail \q__hook_recursion_stop } +\cs_new:Npn \__hook_double_hashes:w #1 \q__hook_recursion_stop + { + \tl_if_head_is_N_type:nTF {#1} + { \__hook_double_hashes_output:N } + { + \tl_if_head_is_group:nTF {#1} + { \__hook_double_hashes_group:n } + { \__hook_double_hashes_space:w } + } + #1 \q__hook_recursion_stop + } +\cs_new:Npn \__hook_double_hashes_output:N #1 + { + \if_meaning:w \q__hook_recursion_tail #1 + \__hook_double_hashes_stop:w + \fi: + \if_meaning:w \c__hook_hash_tl #1 + \use_i:nnnn + \fi: + \use:n + { + \if_catcode:w ## \exp_not:N #1 + \exp_after:wN \use_ii:nnnn + \fi: + \use_none:n + { \exp_not:n { #1 #1 } } + } + \exp_not:N #1 + \__hook_double_hashes:w + } +\cs_new:Npn \__hook_double_hashes_stop:w #1 \q__hook_recursion_stop { \fi: } +\cs_new:Npn \__hook_double_hashes_group:n #1 + { { \__hook_double_hashes:n {#1} } \__hook_double_hashes:w } +\exp_last_unbraced:NNo +\cs_new:Npn \__hook_double_hashes_space:w \c_space_tl + { ~ \__hook_double_hashes:w } \cs_new_protected:Npn \__hook_retokenize_patch:Nnn #1 #2 #3 { \__hook_patch_debug:x { ..~command~can~only~be~patched~by~rescanning } @@ -5869,7 +5951,7 @@ { \exp_not:N \__hook_tmp:w \token_to_meaning:N #1 \s__hook_mark } } \tl_rescan:nV { #4 \__hook_patch_required_catcodes: } \l__hook_tmpa_tl - \cs_set_eq:NN #1 \kerneltmpDoNotUse + \cs_gset_eq:NN #1 \kerneltmpDoNotUse } \msg_new:nnnn { hooks } { cant-patch } { @@ -6208,8 +6290,8 @@ Type H <return> for immediate help.}% \def\@restorepar{\def\par{\@par}} %% File: ltpara.dtx (C) Copyright 2020-2021 %%% From File: ltpara.dtx -\def\ltparaversion{v1.0j} -\def\ltparadate{2021/09/18} +\def\ltparaversion{v1.0k} +\def\ltparadate{2021/10/19} \ExplSyntaxOn @@ -6709,6 +6791,7 @@ Type H <return> for immediate help.}% \expandafter\reserved@a \expandafter{\detokenize{.tex}} \def\@include#1 {% +\ifx\@nodocument\relax \clearpage \if@filesw \immediate\write\@mainaux{\string\@input{#1.aux}}% @@ -6744,7 +6827,12 @@ Type H <return> for immediate help.}% \deadcycles\z@ \@nameuse{cp@#1}% \fi - \let\@auxout\@mainaux} + \let\@auxout\@mainaux +\else +\@latex@warning{% + \noexpand\include should only be used after \string\begin{document}}% +\@input@{#1}% +\fi} \NewHook{include/before} \NewReversedHook{include/end} \NewReversedHook{include/after} @@ -6957,7 +7045,7 @@ Type H <return> for immediate help.}% \global\mathchardef\accent@spacefactor\spacefactor}% \let\maybe@load@fontshape\relax \let\ignorespaces\relax - \accent#1 #2\egroup\spacefactor\accent@spacefactor} + \accent#1 #2\egroup\ifmmode\else\spacefactor\accent@spacefactor\fi} \let\accent@spacefactor\relax \def\hmode@bgroup{\leavevmode\bgroup} \def\DeclareTextCompositeCommand#1#2#3#4{% @@ -8822,11 +8910,22 @@ Type H <return> for immediate help.}% \endgroup \fi}% \@onlypreamble\dorestore@version +\ifx\c@localmathalphabets\@undefined + \newcount\c@localmathalphabets + \setcounter{localmathalphabets}{2} +\fi \def\document@select@group#1#2#3#4{% \ifx\math@bgroup\bgroup\else\relax\expandafter\@firstofone\fi {% \ifmmode \ifnum\csname c@mv@\math@version\endcsname<\e@mathgroup@top + \ifnum \numexpr\e@mathgroup@top-\c@localmathalphabets + >\csname c@mv@\math@version\endcsname + \else + \ifcsname mv@\math@version @frozen\endcsname \else + \expandafter\freeze@math@version\expandafter{\math@version}% + \fi + \fi \begingroup \escapechar\m@ne \getanddefine@fonts{\csname c@mv@\math@version\endcsname}#3% @@ -8840,14 +8939,51 @@ Type H <return> for immediate help.}% \global\advance\csname c@mv@\math@version\endcsname\@ne \else \let#1\relax - \@latex@error{Too many math alphabets used - in version \math@version}% + \@latex@error{Too many math alphabets used in + version \math@version}% \@eha \fi \else \expandafter\expandafter\expandafter\non@alpherr\fi \expandafter#1\ifx\math@bgroup\bgroup{#4}\else#4\fi }% } +\ExplSyntaxOn +\cs_new_protected:Npn\freeze@math@version #1 { + \@font@info{Freeze~ math~ alphabet~ allocation~ in~ version~ + #1.\MessageBreak + Allocated~math~groups:~\int_use:c{ c@mv@ #1 }~ + (local:~ \int_use:N\c@localmathalphabets) } + \cs_gset_eq:cc { mv@#1@frozen }{ mv@#1 } + \tl_gset:cx { g__nfss_frozen_mv_ #1 _tl }{ \int_use:c { c@mv@#1 } } + \group_insert_after:N \__nfss_init_mv_freeze:N \exp_after:wN + \group_insert_after:N \cs:w mv@#1@reset \cs_end: + \tl_gput_right:No \check@mathfonts + { + \exp_after:wN \group_insert_after:N \cs:w mv@#1@reset \cs_end: + } + \cs_gset:cpn{mv@#1@reset} + { + \int_compare:nNnTF { \int_use:c{c@mv@#1} } > + { \tl_use:c{g__nfss_frozen_mv_ #1 _tl} } + { + \@font@info{Undo~ math~ alphabet~ allocation~ in~ version~ #1} + \cs_gset_eq:cc { mv@#1 }{ mv@#1@frozen } + \int_gset:cn { c@mv@#1 }{ \tl_use:c {g__nfss_frozen_mv_ #1 _tl} } + \group_begin: + \cs_set_eq:NN \getanddefine@fonts \use_none:nn + \use:c {mv@#1} + \group_end: + } + { + \@font@info{No~ math~ alphabet~ change~ to~ frozen~ version~ #1} + } + } +} +\cs_new_protected:Npn \__nfss_init_mv_freeze:N #1 {% + \mode_if_math:T { \group_insert_after:N \__nfss_init_mv_freeze:N + \group_insert_after:N } #1 +} +\ExplSyntaxOff \def\process@table{% \def\cdp@elt##1##2##3##4{% \@font@info{Checking defaults for @@ -8893,6 +9029,7 @@ Type H <return> for immediate help.}% } \@onlypreamble\process@table \def\DeclareMathVersion#1{% + \@namedef{g__nfss_frozen_mv_#1_tl}{}% \expandafter\new@mathversion\csname mv@#1\endcsname} \@onlypreamble\DeclareMathVersion \def\new@mathversion#1{% @@ -11230,6 +11367,7 @@ Type H <return> for immediate help.}% \def\eqnarray{% \stepcounter{equation}% \def\@currentlabel{\p@equation\theequation}% + \def\@currentcounter{equation}% \global\@eqnswtrue \m@th \global\@eqcnt\z@ @@ -11774,6 +11912,7 @@ Type H <return> for immediate help.}% \reset@font\footnotesize \hsize\columnwidth \@parboxrestore + \def\@currentcounter{mpfootnote}% \protected@edef\@currentlabel {\csname p@mpfootnote\endcsname\@thefnmark}% \color@begingroup @@ -13076,6 +13215,7 @@ Type H <return> for immediate help.}% \splittopskip\footnotesep \splitmaxdepth \dp\strutbox \floatingpenalty \@MM \hsize\columnwidth \@parboxrestore + \def\@currentcounter{footnote}% \protected@edef\@currentlabel{% \csname p@footnote\endcsname\@thefnmark }% diff --git a/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty b/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty index 0e580141cd2..96c73e3caa2 100644 --- a/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty +++ b/Master/texmf-dist/tex/latex-dev/base/latexrelease.sty @@ -4441,8 +4441,8 @@ of this package available from CTAN} \catcode`\^^@=\@latexrelease@catcode@null\relax %%% From File: lthooks.dtx -\def\lthooksversion{v1.0r} -\def\lthooksdate{2021/09/06} +\def\lthooksversion{v1.0s} +\def\lthooksdate{2021/09/28} \ExplSyntaxOn \NewModuleRelease{2020/10/01}{lthooks} {The~hook~management~system} @@ -4844,7 +4844,7 @@ of this package available from CTAN} } \cs_new_protected:Npn \__hook_try_declaring_generic_hook:nNNnn #1 { - \__hook_if_file_hook:wTF #1 / \s__hook_mark {#1} + \__hook_if_file_hook:wTF #1 / \s__hook_mark { \exp_args:Ne \__hook_try_declaring_generic_hook_split:nNNnn { \exp_args:Ne \__hook_file_hook_normalize:n {#1} } @@ -5617,7 +5617,7 @@ of this package available from CTAN} } \cs_new_protected:Npn \__hook_try_file_hook:n #1 { - \__hook_if_file_hook:wTF #1 / \s__hook_mark {#1} + \__hook_if_file_hook:wTF #1 / \s__hook_mark { \exp_args:Ne \__hook_if_usable_use:n { \exp_args:Ne \__hook_file_hook_normalize:n {#1} } @@ -5997,16 +5997,21 @@ of this package available from CTAN} %% File: ltcmdhooks.dtx (C) Copyright 2020-2021 %% Frank Mittelbach, Phelype Oleinik, LaTeX Team %%% From File: ltcmdhooks.dtx -\def\ltcmdhooksversion{v1.0d} -\def\ltcmdhooksdate{2021/08/25} +\def\ltcmdhooksversion{v1.0f} +\def\ltcmdhooksdate{2021/10/20} \ExplSyntaxOn \NewModuleRelease{2021/06/01}{ltcmdhooks} {The~hook~management~system~for~commands} \tl_new:N \g_hook_patch_action_list_tl \int_new:N \l__hook_patch_num_args_int \tl_new:N \l__hook_patch_prefixes_tl -\tl_new:N \l__hook_patch_param_text_tl -\tl_new:N \l__hook_patch_replacement_tl +\tl_new:N \l__hook_param_text_tl +\tl_new:N \l__hook_replace_text_tl +\tl_const:Nn \c__hook_hash_tl { # # } +\cs_new_eq:NN \__hook_exp_not:NN ? +\cs_new_eq:NN \__hook_def_cmd:w ? +\quark_new:N \q__hook_recursion_tail +\quark_new:N \q__hook_recursion_stop \prop_new:N \g__hook_delayed_patches_prop \cs_new_protected:Npn \__hook_patch_debug:x #1 { \__hook_debug:n { \iow_term:x { [lthooks]~#1 } } } @@ -6154,19 +6159,40 @@ of this package available from CTAN} } \int_compare:nNnTF { \l__hook_patch_num_args_int } > { \c_zero_int } { - \tl_set:Nx \l__hook_patch_param_text_tl - { \bool_if:NTF #1 { [####1] } { ####1 } } - \tl_set:Nx \l__hook_patch_replacement_tl - { \bool_if:NTF #1 { [####1] } { {####1} } } + \tl_set:Nx \l__hook_tmpa_tl { \bool_if:NTF #1 { [ ] } { { } } } \int_step_inline:nnn { 2 } { \l__hook_patch_num_args_int } + { \tl_put_right:Nn \l__hook_tmpa_tl { { } } } + \exp_args:NNo \exp_args:No \__hook_if_has_hash:nTF + { \exp_after:wN #2 \l__hook_tmpa_tl } + { \cs_set_eq:NN \__hook_exp_not:n \exp_not:n } + { \cs_set_eq:NN \__hook_exp_not:n \use:n } + \cs_set_protected:Npn \__hook_tmp:w ##1 ##2 { - \tl_put_right:Nn \l__hook_patch_param_text_tl { ## ####1 } - \tl_put_right:Nn \l__hook_patch_replacement_tl { { ## ####1 } } + ##1 \l__hook_param_text_tl { \use:n ##2 } + ##1 \l__hook_replace_text_tl { \__hook_exp_not:n {##2} } } + \bool_if:NTF #1 + { \__hook_tmp:w \tl_set:Nx { [ \c__hook_hash_tl 1 ] } } + { \__hook_tmp:w \tl_set:Nx { { \c__hook_hash_tl 1 } } } + \int_step_inline:nnn { 2 } { \l__hook_patch_num_args_int } + { \__hook_tmp:w \tl_put_right:Nx { { \c__hook_hash_tl ##1 } } } + \tl_set:Nx \l__hook_replace_text_tl + { \exp_not:N #2 \exp_not:V \l__hook_replace_text_tl } + \tl_set:Nx \l__hook_replace_text_tl + { + \token_if_eq_meaning:NNTF \__hook_exp_not:n \exp_not:n + { \exp_args:NNV \exp_args:No \__hook_double_hashes:n } + { \exp_args:NV \exp_not:o } + \l__hook_replace_text_tl + } + \cs_set_eq:NN \__hook_def_cmd:w \tex_gdef:D + \cs_set_eq:NN \__hook_exp_not:NN \prg_do_nothing: } { - \tl_clear:N \l__hook_patch_param_text_tl - \tl_clear:N \l__hook_patch_replacement_tl + \tl_clear:N \l__hook_param_text_tl + \tl_set_eq:NN \l__hook_replace_text_tl #2 + \cs_set_eq:NN \__hook_def_cmd:w \tex_xdef:D + \cs_set:Npn \__hook_exp_not:NN ##1 { \exp_not:N ##1 \exp_not:N } } \group_begin: \int_set:Nn \tex_escapechar:D { `\/ } @@ -6178,18 +6204,22 @@ of this package available from CTAN} } \use:x { - \l__hook_patch_prefixes_tl \tex_def:D - \exp_not:N #2 \exp_not:V \l__hook_patch_param_text_tl - { - \str_if_eq:nnT {#4} { before } - { \exp_not:N \UseHook { cmd / #3 / #4 } } - \exp_args:No \exp_not:o - { \exp_after:wN #2 \l__hook_patch_replacement_tl } - \str_if_eq:nnT {#4} { after } - { \exp_not:N \UseHook { cmd / #3 / #4 } } - } + \__hook_redefine_with_hooks:Nnnn \exp_not:N #2 + \str_if_eq:nnTF {#4} { after } + { \use_ii_i:nn } + { \use:nn } + { { \__hook_exp_not:NN \exp_not:N \UseHook { cmd / #3 / #4 } } } + { { } } + { \__hook_exp_not:NN \exp_not:V \l__hook_replace_text_tl } } } +\cs_new_protected:Npn \__hook_redefine_with_hooks:Nnnn #1 #2 #3 #4 + { + \l__hook_patch_prefixes_tl + \exp_after:wN \__hook_def_cmd:w + \exp_after:wN #1 \l__hook_param_text_tl + { #2 #4 #3 } + } \cs_new:Npn \__hook_make_prefixes:w / #1 / { \tl_if_empty:nF {#1} @@ -6198,6 +6228,58 @@ of this package available from CTAN} \__hook_make_prefixes:w / } } +\prg_new_conditional:Npnn \__hook_if_has_hash:n #1 { TF } + { \__hook_if_has_hash:w #1 ## \s__hook_mark } +\cs_new:Npn \__hook_if_has_hash:w #1 + { + \tl_if_single_token:nTF {#1} + { + \token_if_eq_catcode:NNTF ## #1 + { \__hook_if_has_hash_check:w } + { \__hook_if_has_hash:w } + } + { \__hook_if_has_hash:w #1 } + } +\cs_new:Npn \__hook_if_has_hash_check:w #1 \s__hook_mark + { \tl_if_empty:nTF {#1} { \prg_return_false: } { \prg_return_true: } } +\cs_new:Npn \__hook_double_hashes:n #1 + { \__hook_double_hashes:w #1 \q__hook_recursion_tail \q__hook_recursion_stop } +\cs_new:Npn \__hook_double_hashes:w #1 \q__hook_recursion_stop + { + \tl_if_head_is_N_type:nTF {#1} + { \__hook_double_hashes_output:N } + { + \tl_if_head_is_group:nTF {#1} + { \__hook_double_hashes_group:n } + { \__hook_double_hashes_space:w } + } + #1 \q__hook_recursion_stop + } +\cs_new:Npn \__hook_double_hashes_output:N #1 + { + \if_meaning:w \q__hook_recursion_tail #1 + \__hook_double_hashes_stop:w + \fi: + \if_meaning:w \c__hook_hash_tl #1 + \use_i:nnnn + \fi: + \use:n + { + \if_catcode:w ## \exp_not:N #1 + \exp_after:wN \use_ii:nnnn + \fi: + \use_none:n + { \exp_not:n { #1 #1 } } + } + \exp_not:N #1 + \__hook_double_hashes:w + } +\cs_new:Npn \__hook_double_hashes_stop:w #1 \q__hook_recursion_stop { \fi: } +\cs_new:Npn \__hook_double_hashes_group:n #1 + { { \__hook_double_hashes:n {#1} } \__hook_double_hashes:w } +\exp_last_unbraced:NNo +\cs_new:Npn \__hook_double_hashes_space:w \c_space_tl + { ~ \__hook_double_hashes:w } \cs_new_protected:Npn \__hook_retokenize_patch:Nnn #1 #2 #3 { \__hook_patch_debug:x { ..~command~can~only~be~patched~by~rescanning } @@ -6298,7 +6380,7 @@ of this package available from CTAN} { \exp_not:N \__hook_tmp:w \token_to_meaning:N #1 \s__hook_mark } } \tl_rescan:nV { #4 \__hook_patch_required_catcodes: } \l__hook_tmpa_tl - \cs_set_eq:NN #1 \kerneltmpDoNotUse + \cs_gset_eq:NN #1 \kerneltmpDoNotUse } \IncludeInRelease{2021/11/15}{wrong-cmd-hook}% {Standardise~generic~hook~names} @@ -6387,8 +6469,8 @@ of this package available from CTAN} %%% From File: ltpar.dtx %% File: ltpara.dtx (C) Copyright 2020-2021 %%% From File: ltpara.dtx -\def\ltparaversion{v1.0j} -\def\ltparadate{2021/09/18} +\def\ltparaversion{v1.0k} +\def\ltparadate{2021/10/19} \ExplSyntaxOn @@ -6526,6 +6608,9 @@ of this package available from CTAN} \cs_set_eq:NN \@@par \tex_par:D \cs_set_eq:NN \endgraf \tex_par:D +\tex_everypar:D {} +\cs_set_eq:NN \everypar \tex_everypar:D + \EndModuleRelease \ExplSyntaxOff %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -7118,6 +7203,7 @@ of this package available from CTAN} \IncludeInRelease{2020/10/01}% {\@include}{Spaces in file names and hooks}% \def\@include#1 {% +\ifx\@nodocument\relax \clearpage \if@filesw \immediate\write\@mainaux{\string\@input{#1.aux}}% @@ -7153,7 +7239,12 @@ of this package available from CTAN} \deadcycles\z@ \@nameuse{cp@#1}% \fi - \let\@auxout\@mainaux} + \let\@auxout\@mainaux +\else +\@latex@warning{% + \noexpand\include should only be used after \string\begin{document}}% +\@input@{#1}% +\fi} \NewHook{include/before} \NewReversedHook{include/end} \NewReversedHook{include/after} @@ -8839,8 +8930,86 @@ of this package available from CTAN} }% } \EndIncludeInRelease +\IncludeInRelease{2021/11/15} + {\document@select@group}{\document@select@group}% +\ifx\c@localmathalphabets\@undefined + \newcount\c@localmathalphabets + \setcounter{localmathalphabets}{2} +\fi +\def\document@select@group#1#2#3#4{% + \ifx\math@bgroup\bgroup\else\relax\expandafter\@firstofone\fi + {% + \ifmmode + \ifnum\csname c@mv@\math@version\endcsname<\e@mathgroup@top + \ifnum \numexpr\e@mathgroup@top-\c@localmathalphabets + >\csname c@mv@\math@version\endcsname + \else + \ifcsname mv@\math@version @frozen\endcsname \else + \expandafter\freeze@math@version\expandafter{\math@version}% + \fi + \fi + \begingroup + \escapechar\m@ne + \getanddefine@fonts{\csname c@mv@\math@version\endcsname}#3% + \globaldefs\@ne \math@fonts + \endgroup + \expandafter\extract@alph@from@version + \csname mv@\math@version\expandafter\endcsname + \expandafter{\number\csname + c@mv@\math@version\endcsname}% + #1% + \global\advance\csname c@mv@\math@version\endcsname\@ne + \else + \let#1\relax + \@latex@error{Too many math alphabets used in + version \math@version}% + \@eha + \fi + \else \expandafter\expandafter\expandafter\non@alpherr\fi + \expandafter#1\ifx\math@bgroup\bgroup{#4}\else#4\fi + }% +} +\ExplSyntaxOn +\cs_new_protected:Npn\freeze@math@version #1 { + \@font@info{Freeze~ math~ alphabet~ allocation~ in~ version~ + #1.\MessageBreak + Allocated~math~groups:~\int_use:c{ c@mv@ #1 }~ + (local:~ \int_use:N\c@localmathalphabets) } + \cs_gset_eq:cc { mv@#1@frozen }{ mv@#1 } + \tl_gset:cx { g__nfss_frozen_mv_ #1 _tl }{ \int_use:c { c@mv@#1 } } + \group_insert_after:N \__nfss_init_mv_freeze:N \exp_after:wN + \group_insert_after:N \cs:w mv@#1@reset \cs_end: + \tl_gput_right:No \check@mathfonts + { + \exp_after:wN \group_insert_after:N \cs:w mv@#1@reset \cs_end: + } + \cs_gset:cpn{mv@#1@reset} + { + \int_compare:nNnTF { \int_use:c{c@mv@#1} } > + { \tl_use:c{g__nfss_frozen_mv_ #1 _tl} } + { + \@font@info{Undo~ math~ alphabet~ allocation~ in~ version~ #1} + \cs_gset_eq:cc { mv@#1 }{ mv@#1@frozen } + \int_gset:cn { c@mv@#1 }{ \tl_use:c {g__nfss_frozen_mv_ #1 _tl} } + \group_begin: + \cs_set_eq:NN \getanddefine@fonts \use_none:nn + \use:c {mv@#1} + \group_end: + } + { + \@font@info{No~ math~ alphabet~ change~ to~ frozen~ version~ #1} + } + } +} +\cs_new_protected:Npn \__nfss_init_mv_freeze:N #1 {% + \mode_if_math:T { \group_insert_after:N \__nfss_init_mv_freeze:N + \group_insert_after:N } #1 +} +\ExplSyntaxOff +\EndIncludeInRelease \IncludeInRelease{2020/10/01} {\document@select@group}{\document@select@group}% + \def\document@select@group#1#2#3#4{% \ifx\math@bgroup\bgroup\else\relax\expandafter\@firstofone\fi {% @@ -8930,6 +9099,18 @@ of this package available from CTAN} }% } \EndIncludeInRelease +\IncludeInRelease{2021/11/15}% + {\DeclareMathVersion}{local alphabets}% +\def\DeclareMathVersion#1{% + \@namedef{g__nfss_frozen_mv_#1_tl}{}% + \expandafter\new@mathversion\csname mv@#1\endcsname} +\@onlypreamble\DeclareMathVersion +\EndIncludeInRelease +\IncludeInRelease{0000/00/00}% + {\DeclareMathVersion}{local alphabets}% +\def\DeclareMathVersion#1{% + \expandafter\new@mathversion\csname mv@#1\endcsname} +\EndIncludeInRelease \IncludeInRelease{2019/10/01}% {DeclareMathAccent}{Make math accents robust}% \def\DeclareMathAccent#1#2#3#4{% @@ -11372,6 +11553,23 @@ of this package available from CTAN} \baselineskip\normalbaselineskip \sloppy} \EndIncludeInRelease +\IncludeInRelease{2021/11/15}% + {\@mpfootnotetext}{footnotetext tagging}% +\long\def\@mpfootnotetext#1{% + \global\setbox\@mpfootins\vbox{% + \unvbox\@mpfootins + \reset@font\footnotesize + \hsize\columnwidth + \@parboxrestore + \def\@currentcounter{mpfootnote}% + \protected@edef\@currentlabel + {\csname p@mpfootnote\endcsname\@thefnmark}% + \color@begingroup + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% + \par + \color@endgroup}} +\EndIncludeInRelease \IncludeInRelease{2021/06/01}% {\@mpfootnotetext}{footnotetext tagging}% \long\def\@mpfootnotetext#1{% @@ -12427,6 +12625,24 @@ of this package available from CTAN} {\@textsubscript}{subscript baseline}% \let\@textsubscript\@undefined \EndIncludeInRelease +\IncludeInRelease{2021/11/15}% + {\@footnotetext}{footnotetext tagging}% +\long\def\@footnotetext#1{\insert\footins{% + \reset@font\footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth \dp\strutbox \floatingpenalty \@MM + \hsize\columnwidth \@parboxrestore + \def\@currentcounter{footnote}% + \protected@edef\@currentlabel{% + \csname p@footnote\endcsname\@thefnmark + }% + \color@begingroup + \@makefntext{% + \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% + \par + \color@endgroup}}% +\EndIncludeInRelease \IncludeInRelease{2021/06/01}% {\@footnotetext}{footnotetext tagging}% \long\def\@footnotetext#1{\insert\footins{% diff --git a/Master/texmf-dist/tex/latex-dev/base/ltluatex.lua b/Master/texmf-dist/tex/latex-dev/base/ltluatex.lua index 118a36a2745..5f14651fbff 100644 --- a/Master/texmf-dist/tex/latex-dev/base/ltluatex.lua +++ b/Master/texmf-dist/tex/latex-dev/base/ltluatex.lua @@ -326,6 +326,7 @@ local callbacktypes = callbacktypes or { make_extensible = exclusive, font_descriptor_objnum_provider = exclusive, input_level_string = exclusive, + provide_charproc_data = exclusive, } luatexbase.callbacktypes=callbacktypes local callback_register = callback_register or callback.register diff --git a/Master/texmf-dist/tex/latex-dev/base/ltluatex.tex b/Master/texmf-dist/tex/latex-dev/base/ltluatex.tex index 75e2d234aa4..9cf7c9511a6 100644 --- a/Master/texmf-dist/tex/latex-dev/base/ltluatex.tex +++ b/Master/texmf-dist/tex/latex-dev/base/ltluatex.tex @@ -47,7 +47,7 @@ #1#2[#3]{\endgroup\immediate\write-1{File: #1 #3}} \fi \ProvidesFile{ltluatex.tex}% -[2021/08/11 v1.1u +[2021/10/15 v1.1v LuaTeX support for plain TeX (core) ] \edef\etatcatcode{\the\catcode`\@} diff --git a/Master/texmf-dist/tex/latex-dev/base/makeidx.sty b/Master/texmf-dist/tex/latex-dev/base/makeidx.sty index 518507399a7..69ee592cf71 100644 --- a/Master/texmf-dist/tex/latex-dev/base/makeidx.sty +++ b/Master/texmf-dist/tex/latex-dev/base/makeidx.sty @@ -42,7 +42,7 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. \ProvidesPackage{makeidx} - [2014/09/29 v1.0m Standard LaTeX package] + [2021/10/04 v1.0m Standard LaTeX package] \newcommand*\see[2]{\emph{\seename} #1} \providecommand*\seealso[2]{\emph{\alsoname} #1} \newcommand\printindex{\@input@{\jobname.ind}} diff --git a/Master/texmf-dist/tex/latex-dev/base/preload.ltx b/Master/texmf-dist/tex/latex-dev/base/preload.ltx index 14b6aa4caa1..9e88f31d02c 100644 --- a/Master/texmf-dist/tex/latex-dev/base/preload.ltx +++ b/Master/texmf-dist/tex/latex-dev/base/preload.ltx @@ -37,7 +37,7 @@ %% %%% From File: preload.dtx \ProvidesFile{preload.ltx} - [2014/09/29 v2.1g LaTeX Kernel (Font Preloading)] + [2021/10/04 v2.1g LaTeX Kernel (Font Preloading)] \expandafter\font\csname OMX/cmex/m/n/10\endcsname=cmex10\relax \font\tenln =line10 \font\tenlnw =linew10\relax \font\tencirc=lcircle10 \font\tencircw=lcirclew10\relax diff --git a/Master/texmf-dist/tex/latex-dev/base/report.cls b/Master/texmf-dist/tex/latex-dev/base/report.cls index 3c6221ed6a1..c8a4255d4a2 100644 --- a/Master/texmf-dist/tex/latex-dev/base/report.cls +++ b/Master/texmf-dist/tex/latex-dev/base/report.cls @@ -43,7 +43,7 @@ %% extension .ins) which are part of the distribution. \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{report} - [2021/09/11 v1.4n + [2021/10/04 v1.4n Standard LaTeX document class] \newcommand\@ptsize{} \newif\if@restonecol diff --git a/Master/texmf-dist/tex/latex-dev/base/shortvrb.sty b/Master/texmf-dist/tex/latex-dev/base/shortvrb.sty index 1aa89066c06..2f2df48380e 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} - [2021/05/28 v2.1n + [2021/10/04 v2.1n Standard LaTeX documentation package (FMi)] %% %% Package `doc' to use with LaTeX 2e diff --git a/Master/texmf-dist/tex/latex-dev/base/showidx.sty b/Master/texmf-dist/tex/latex-dev/base/showidx.sty index d0a2967d8f6..deec7bb819e 100644 --- a/Master/texmf-dist/tex/latex-dev/base/showidx.sty +++ b/Master/texmf-dist/tex/latex-dev/base/showidx.sty @@ -42,7 +42,7 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. \ProvidesPackage{showidx} - [2014/09/29 v1.0m Standard LaTeX package] + [2021/10/04 v1.0m Standard LaTeX package] \newinsert\indexbox \dimen\indexbox=\maxdimen \renewcommand\index{\@bsphack\begingroup diff --git a/Master/texmf-dist/tex/latex-dev/base/size10.clo b/Master/texmf-dist/tex/latex-dev/base/size10.clo index ba08cc0a1da..44d49d79b50 100644 --- a/Master/texmf-dist/tex/latex-dev/base/size10.clo +++ b/Master/texmf-dist/tex/latex-dev/base/size10.clo @@ -42,7 +42,7 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. \ProvidesFile{size10.clo} - [2021/09/11 v1.4n + [2021/10/04 v1.4n Standard LaTeX file (size option)] \renewcommand\normalsize{% \@setfontsize\normalsize\@xpt\@xiipt diff --git a/Master/texmf-dist/tex/latex-dev/base/size11.clo b/Master/texmf-dist/tex/latex-dev/base/size11.clo index 31b05c0c872..aa52bb6a06a 100644 --- a/Master/texmf-dist/tex/latex-dev/base/size11.clo +++ b/Master/texmf-dist/tex/latex-dev/base/size11.clo @@ -42,7 +42,7 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. \ProvidesFile{size11.clo} - [2021/09/11 v1.4n + [2021/10/04 v1.4n Standard LaTeX file (size option)] \renewcommand\normalsize{% \@setfontsize\normalsize\@xipt{13.6}% diff --git a/Master/texmf-dist/tex/latex-dev/base/size12.clo b/Master/texmf-dist/tex/latex-dev/base/size12.clo index bc7051ed988..2ca0d7405ae 100644 --- a/Master/texmf-dist/tex/latex-dev/base/size12.clo +++ b/Master/texmf-dist/tex/latex-dev/base/size12.clo @@ -42,7 +42,7 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. \ProvidesFile{size12.clo} - [2021/09/11 v1.4n + [2021/10/04 v1.4n Standard LaTeX file (size option)] \renewcommand\normalsize{% \@setfontsize\normalsize\@xiipt{14.5}% diff --git a/Master/texmf-dist/tex/latex-dev/base/slides.cls b/Master/texmf-dist/tex/latex-dev/base/slides.cls index ffbdbdbff8f..8dc33962200 100644 --- a/Master/texmf-dist/tex/latex-dev/base/slides.cls +++ b/Master/texmf-dist/tex/latex-dev/base/slides.cls @@ -43,7 +43,7 @@ %% extension .ins) which are part of the distribution. \NeedsTeXFormat{LaTeX2e}[1997/06/01] \ProvidesClass{slides} - [2020/11/23 v2.4b + [2021/10/04 v2.4b Standard LaTeX document class] \input{slides.def} \InputIfFileExists{sfonts.cfg} diff --git a/Master/texmf-dist/tex/latex-dev/base/slides.def b/Master/texmf-dist/tex/latex-dev/base/slides.def index f23e9313989..d1dcc58b84a 100644 --- a/Master/texmf-dist/tex/latex-dev/base/slides.def +++ b/Master/texmf-dist/tex/latex-dev/base/slides.def @@ -42,7 +42,7 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. \ProvidesFile{slides.def} - [2020/11/23 v2.4b + [2021/10/04 v2.4b SLiTeX definitions] \message{hacks,} diff --git a/Master/texmf-dist/tex/latex-dev/base/source2edoc.cls b/Master/texmf-dist/tex/latex-dev/base/source2edoc.cls index ba6acf9f80e..bef81d995d4 100644 --- a/Master/texmf-dist/tex/latex-dev/base/source2edoc.cls +++ b/Master/texmf-dist/tex/latex-dev/base/source2edoc.cls @@ -61,6 +61,24 @@ \int_compare:nNnTF \@auxout = \@partaux { \@latexerr{\string\include\space cannot~be~nested}\@eha } { \@docinclude {#1} } % <--- braces needed! + \int_compare:nNnF { \tex_currentgrouplevel:D } = { 0 } + { + \int_compare:nNnT { \tex_interactionmode:D } = { 0 } + { \int_set:Nn \tex_interactionmode:D { 1 } } + \msg_fatal:nnn { source2edoc } { missing-endgroup } {#1} + } + } +\msg_new:nnn { source2edoc } { missing-endgroup } + { + \str_if_eq:VnTF \@currenvir { document } + { + There~are~\int_use:N \tex_currentgrouplevel:D + \c_space_tl unclosed~groups~in~#1.dtx. + } + { + The~\@currenvir \c_space_tl environment~on~line~\@currenvline + \c_space_tl doesn't~have~a~matching~\iow_char:N\\end{\@currenvir}. + } } \cs_gset:Npn \@docinclude #1 { |