summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-04-30 20:04:04 +0000
committerKarl Berry <karl@freefriends.org>2022-04-30 20:04:04 +0000
commitc672bfbc647851808b23bd991236f0eb93f2b404 (patch)
tree1ad6d8d9791ad149b199614322d168e7286cb8fb /Master
parent3bf07308bf7627c8c23570e03f2bf8ae7058c8c1 (diff)
babel (30apr22)
git-svn-id: svn://tug.org/texlive/trunk@63189 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/babel/README.md23
-rw-r--r--Master/texmf-dist/doc/latex/babel/babel.pdfbin855582 -> 857732 bytes
-rw-r--r--Master/texmf-dist/source/latex/babel/babel.dtx261
-rw-r--r--Master/texmf-dist/source/latex/babel/babel.ins2
-rw-r--r--Master/texmf-dist/source/latex/babel/bbcompat.dtx2
-rw-r--r--Master/texmf-dist/source/latex/babel/locale.zipbin796161 -> 796166 bytes
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def6
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.sty81
-rw-r--r--Master/texmf-dist/tex/generic/babel/hyphen.cfg6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/km/babel-km.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini8
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/tk/babel-tk.ini6
-rw-r--r--Master/texmf-dist/tex/generic/babel/luababel.def86
-rw-r--r--Master/texmf-dist/tex/generic/babel/nil.ldf2
14 files changed, 317 insertions, 172 deletions
diff --git a/Master/texmf-dist/doc/latex/babel/README.md b/Master/texmf-dist/doc/latex/babel/README.md
index 92c1e3d3669..537cda320d1 100644
--- a/Master/texmf-dist/doc/latex/babel/README.md
+++ b/Master/texmf-dist/doc/latex/babel/README.md
@@ -1,4 +1,4 @@
-## Babel 3.73
+## Babel 3.74
This package manages culturally-determined typographical (and other)
rules, and hyphenation patterns for a wide range of languages. Many
@@ -8,9 +8,9 @@ is a set of ini files for about 250 languages.
The latest stable version is available on <https://ctan.org/pkg/babel>.
-Changes in version 3.73 are described in:
+Changes in version 3.74 are described in:
-https://latex3.github.io/babel/news/whats-new-in-babel-3.73.html
+https://latex3.github.io/babel/news/whats-new-in-babel-3.74.html
Apart from the manual, you can find information on some aspects of babel at:
@@ -19,7 +19,7 @@ https://latex3.github.io/babel/
The best way to install and/or update it is with the help of package
managers.
-### Reporting Bugs
+### Reporting bugs
If you wish to report a problem or bug in any of these packages please
use the
@@ -44,18 +44,13 @@ You may also report them to the current maintainer more informally on:
Bugs related to specific languages are best reported to their
respective authors.
-### Summary of Latest changes
+### Summary of latest changes
```
-3.73 2022-02-26
- * Fixes a severe bug introduced in 3.72 when amsmath is
- loaded.
-
-3.72 2022-02-24
- * Advances in amsmath (lua).
+3.74 2022-04-30
* Fixes:
- - Captions in Thai.
- - Some settings sometimes ignored with 'onchar' (lua).
- - Extra colon in Polish 'cc' (#172)
+ - Error in transforms if | is active.
+ - Minor fixes in Khemer, Turkmen, Marathi.
+ * RTL math improved (with luatex).
```
### Previous changes
diff --git a/Master/texmf-dist/doc/latex/babel/babel.pdf b/Master/texmf-dist/doc/latex/babel/babel.pdf
index c51f53a46d7..b68346d6e57 100644
--- a/Master/texmf-dist/doc/latex/babel/babel.pdf
+++ b/Master/texmf-dist/doc/latex/babel/babel.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/babel/babel.dtx b/Master/texmf-dist/source/latex/babel/babel.dtx
index 45b916160fe..980ab2b11e6 100644
--- a/Master/texmf-dist/source/latex/babel/babel.dtx
+++ b/Master/texmf-dist/source/latex/babel/babel.dtx
@@ -32,7 +32,7 @@
%
% \iffalse
%<*filedriver>
-\ProvidesFile{babel.dtx}[2022/02/26 v3.73 The Babel package]
+\ProvidesFile{babel.dtx}[2022/04/30 v3.74 The Babel package]
\documentclass{ltxdoc}
\GetFileInfo{babel.dtx}
\usepackage{fontspec}
@@ -2752,7 +2752,10 @@ which is not recommended).
font.
\end{note}
-\New{4.41} Many `ini` locale files has been extended with information
+\Describe{\localenumeral}{\marg{style}\marg{number}}
+\DescribeOther{\localecounterl}{\marg{style}\marg{counter}}
+
+\New{3.41} Many `ini` locale files has been extended with information
about non-positional numerical systems, based on those predefined in
CSS. They only work with \xetex{} and \luatex{} and are fully
expendable (even inside an unprotected |\edef|). Currently, they are
@@ -2784,33 +2787,47 @@ The styles are:
\item[Arabic] |abjad|, |maghrebi.abjad|
-\item[Belarusan, Bulgarian, Macedonian, Serbian] |lower|, |upper|
+\item[Armenian] |lower.letter|, |upper.letter|
+
+\item[Belarusan, Bulgarian, Church Slavic, Macedonian, Serbian] |lower|, |upper|
\item[Bengali] |alphabetic|
-\item[Coptic] |epact|,|lower.letters|
+\item[Central Kurdish] |alphabetic|
-\item[Hebrew] |letters| (neither geresh nor gershayim yet)
+\item[Chinese] |cjk-earthly-branch|, |cjk-heavenly-stem|,
+|circled.ideograph|, |parenthesized.ideograph|,
+|fullwidth.lower.alpha|, |fullwidth.upper.alpha|
-\item[Hindi] |alphabetic|
+\item[Church Slavic (Glagolitic)] |letters|
-\item[Armenian] |lower.letter|, |upper.letter|
+\item[Coptic] |epact|, |lower.letters|
-\item[Japanese] |hiragana|, |hiragana.iroha|, |katakana|,
-|katakana.iroha|, |circled.katakana|, |informal|, |formal|,
-|cjk-earthly-branch|, |cjk-heavenly-stem|, f|ullwidth.lower.alpha|,
-|fullwidth.upper.alpha|
+\item[French] |date.day| (mainly for internal use).
\item[Georgian] |letters|
\item[Greek] |lower.modern|, |upper.modern|, |lower.ancient|,
|upper.ancient| (all with keraia)
+\item[Hebrew] |letters| (neither geresh nor gershayim yet)
+
+\item[Hindi] |alphabetic|
+
+\item[Italian] |lower.legal|, |upper.legal|
+
+\item[Japanese] |hiragana|, |hiragana.iroha|, |katakana|,
+|katakana.iroha|, |circled.katakana|, |informal|, |formal|,
+|cjk-earthly-branch|, |cjk-heavenly-stem|, |circled.ideograph|,
+|parenthesized.ideograph|, |fullwidth.lower.alpha|,
+|fullwidth.upper.alpha|
+
\item[Khmer] |consonant|
-\item[Korean] |consonant|, |syllabe|, |hanja.informal|,
-|hanja.formal|, |hangul.formal|, |cjk-earthly-branch|,
-|cjk-heavenly-stem|, |fullwidth.lower.alpha|, |fullwidth.upper.alpha|
+\item[Korean] |consonant|, |syllabe|, |hanja.informal|, |hanja.formal|,
+|hangul.formal|, |cjk-earthly-branch|, |cjk-heavenly-stem|,
+|circled.ideograph|, |parenthesized.ideograph|,
+|fullwidth.lower.alpha|, |fullwidth.upper.alpha|
\item[Marathi] |alphabetic|
@@ -2825,9 +2842,6 @@ The styles are:
\item[Thai] |alphabetic|
\item[Ukrainian] |lower| , |lower.full|, |upper| , |upper.full|
-
-\item[Chinese] |cjk-earthly-branch|, |cjk-heavenly-stem|,
-|fullwidth.lower.alpha|, |fullwidth.upper.alpha|
\end{description}
\New{3.45} In addition, native digits (in languages defining them) may
@@ -2922,33 +2936,31 @@ If the key does not exist, the macro is set to |\relax| and an error is
raised. \New{3.47} With the starred version no error is raised, so that
you can take your own actions with undefined properties.
+\Describe{\localeid}{}
+Each language in the \babel{} sense has its own unique numeric
+identifier, which can be retrieved with |\localeid|.
+
+The |\localeid| is not the same as the |\language| identifier, which
+refers to a set of hyphenation patters (which, in turn, is just a
+component of the line breaking algorithm described in the next
+section). The data about preloaded patterns are store in an internal
+macro named |\bbl@languages| (see the code for further details), but
+note several locales may share a single |\language|, so they are
+separated concepts. In \luatex, the |\localeid| is saved in each node
+(when it makes sense) as an attribute, too.
+
+\Describe{\LocaleForEach}{\marg{code}}
\Babel{} remembers which |ini| files have been loaded. There is a loop
named |\LocaleForEach| to traverse the list, where |#1| is the name of
the current item, so that |\LocaleForEach{\message{ **#1** }}| just
shows the loaded |ini|’s.
-\begin{note}
+\Describe{\BabelEnsureInfo}{}
|ini| files are loaded with |\babelprovide| and also when languages are
-selected if there is a |\babelfont|. To ensure the |ini| files are
-loaded (and therefore the corresponding data) even if these two
-conditions are not met, write |\BabelEnsureInfo| in the preamble.
-\end{note}
-
-\Describe{\localeid}{}
-
-Each language in the \babel{} sense has its own unique numeric
-identifier, which can be retrieved with |\localeid|.
-
-\begin{note}
- The |\localeid| is not the same as the |\language| identifier, which
- refers to a set of hyphenation patters (which, in turn, is just a
- component of the line breaking algorithm described in the next
- section). The data about preloaded patterns are store in an internal
- macro named |\bbl@languages| (see the code for further details), but
- note several locales may share a single |\language|, so they are
- separated concepts. In \luatex, the |\localeid| is saved in each node
- (where it makes sense) as an attribute, too.
-\end{note}
+selected if there is a |\babelfont| or they have not been explicitly
+declared. To ensure the |ini| files are loaded (and therefore the
+corresponding data) even if these two conditions are not met, write
+|\BabelEnsureInfo| in the preamble.
\subsection{Hyphenation and line breaking}
@@ -5104,8 +5116,8 @@ help from Bernd Raichle, for which I am grateful.
% \section{Tools}
%
% \begin{macrocode}
-%<<version=3.73>>
-%<<date=2022/02/26>>
+%<<version=3.74>>
+%<<date=2022/04/30>>
% \end{macrocode}
%
% \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -11156,6 +11168,8 @@ help from Bernd Raichle, for which I am grateful.
\DeclareOption{safe=none}{\let\bbl@opt@safe\@empty}
\DeclareOption{safe=bib}{\def\bbl@opt@safe{B}}
\DeclareOption{safe=ref}{\def\bbl@opt@safe{R}}
+\DeclareOption{safe=refbib}{\def\bbl@opt@safe{BR}}
+\DeclareOption{safe=bibref}{\def\bbl@opt@safe{BR}}
%<</More package options>>
% \end{macrocode}
%
@@ -11168,7 +11182,7 @@ help from Bernd Raichle, for which I am grateful.
%
% \begin{macrocode}
\bbl@trace{Cross referencing macros}
-\ifx\bbl@opt@safe\@empty\else
+\ifx\bbl@opt@safe\@empty\else % ie, if 'ref' and/or 'bib'
\def\@newl@bel#1#2#3{%
{\@safe@activestrue
\bbl@ifunset{#1@#2}%
@@ -11235,10 +11249,24 @@ help from Bernd Raichle, for which I am grateful.
% \begin{macrocode}
\bbl@xin@{R}\bbl@opt@safe
\ifin@
- \bbl@redefinerobust\ref#1{%
- \@safe@activestrue\org@ref{#1}\@safe@activesfalse}
- \bbl@redefinerobust\pageref#1{%
- \@safe@activestrue\org@pageref{#1}\@safe@activesfalse}
+ \edef\bbl@tempc{\expandafter\string\csname ref code\endcsname}%
+ \bbl@xin@{\expandafter\strip@prefix\meaning\bbl@tempc}%
+ {\expandafter\strip@prefix\meaning\ref}%
+ \ifin@
+ \bbl@redefine\@kernel@ref#1{%
+ \@safe@activestrue\org@@kernel@ref{#1}\@safe@activesfalse}
+ \bbl@redefine\@kernel@pageref#1{%
+ \@safe@activestrue\org@@kernel@pageref{#1}\@safe@activesfalse}
+ \bbl@redefine\@kernel@sref#1{%
+ \@safe@activestrue\org@@kernel@sref{#1}\@safe@activesfalse}
+ \bbl@redefine\@kernel@spageref#1{%
+ \@safe@activestrue\org@@kernel@spageref{#1}\@safe@activesfalse}
+ \else
+ \bbl@redefinerobust\ref#1{%
+ \@safe@activestrue\org@ref{#1}\@safe@activesfalse}
+ \bbl@redefinerobust\pageref#1{%
+ \@safe@activestrue\org@pageref{#1}\@safe@activesfalse}
+ \fi
\else
\let\org@ref\ref
\let\org@pageref\pageref
@@ -11502,28 +11530,30 @@ help from Bernd Raichle, for which I am grateful.
%
% \begin{macrocode}
\bbl@trace{Preventing clashes with other packages}
-\bbl@xin@{R}\bbl@opt@safe
-\ifin@
- \AtBeginDocument{%
- \@ifpackageloaded{ifthen}{%
- \bbl@redefine@long\ifthenelse#1#2#3{%
- \let\bbl@temp@pref\pageref
- \let\pageref\org@pageref
- \let\bbl@temp@ref\ref
- \let\ref\org@ref
- \@safe@activestrue
- \org@ifthenelse{#1}%
- {\let\pageref\bbl@temp@pref
- \let\ref\bbl@temp@ref
- \@safe@activesfalse
- #2}%
- {\let\pageref\bbl@temp@pref
- \let\ref\bbl@temp@ref
- \@safe@activesfalse
- #3}%
- }%
- }{}%
- }
+\ifx\org@ref\@undefined\else
+ \bbl@xin@{R}\bbl@opt@safe
+ \ifin@
+ \AtBeginDocument{%
+ \@ifpackageloaded{ifthen}{%
+ \bbl@redefine@long\ifthenelse#1#2#3{%
+ \let\bbl@temp@pref\pageref
+ \let\pageref\org@pageref
+ \let\bbl@temp@ref\ref
+ \let\ref\org@ref
+ \@safe@activestrue
+ \org@ifthenelse{#1}%
+ {\let\pageref\bbl@temp@pref
+ \let\ref\bbl@temp@ref
+ \@safe@activesfalse
+ #2}%
+ {\let\pageref\bbl@temp@pref
+ \let\ref\bbl@temp@ref
+ \@safe@activesfalse
+ #3}%
+ }%
+ }{}%
+ }
+\fi
% \end{macrocode}
%
% \end{macro}
@@ -11575,7 +11605,6 @@ help from Bernd Raichle, for which I am grateful.
%
% \subsubsection{\pkg{hhline}}
%
-%
% \begin{macro}{\hhline}
%
% Delaying the activation of the shorthand characters has introduced
@@ -14283,6 +14312,7 @@ end
\catcode`\~=12
\catcode`\%=12
\catcode`\&=14
+\catcode`\|=12
\gdef\babelprehyphenation{&%
\@ifnextchar[{\bbl@settransform{0}}{\bbl@settransform{0}[]}}
\gdef\babelposthyphenation{&%
@@ -14541,38 +14571,80 @@ end
%
% \begin{macrocode}
\bbl@trace{Redefinitions for bidi layout}
+%
+%<<*More package options>>
+\chardef\bbl@eqnpos\z@
+\DeclareOption{leqno}{\chardef\bbl@eqnpos\@ne}
+\DeclareOption{fleqn}{\chardef\bbl@eqnpos\tw@}
+%<</More package options>>
+%
\def\BabelNoAMSMath{\let\bbl@noamsmath\relax}
\ifnum\bbl@bidimode>\z@
+ \ifx\matheqdirmode\@undefined\else
+ \matheqdirmode\@ne
+ \fi
\let\bbl@eqnodir\relax
-% \ifx\matheqdirmode\@undefined\else
-% \matheqdirmode\@ne
-% \fi
+ \def\bbl@eqdel{()}
+ \def\bbl@eqnum{%
+ {\normalfont\normalcolor
+ \expandafter\@firstoftwo\bbl@eqdel
+ \theequation
+ \expandafter\@secondoftwo\bbl@eqdel}}
+ \def\bbl@puteqno#1{\eqno\hbox{#1}}
+ \def\bbl@putleqno#1{\leqno\hbox{#1}}
+ \def\bbl@eqno@flip#1{%
+ \ifdim\predisplaysize=-\maxdimen
+ \eqno
+ \hb@xt@.01pt{\hb@xt@\displaywidth{\hss{#1}}\hss}%
+ \else
+ \leqno\hbox{#1}%
+ \fi}
+ \def\bbl@leqno@flip#1{%
+ \ifdim\predisplaysize=-\maxdimen
+ \leqno
+ \hb@xt@.01pt{\hss\hb@xt@\displaywidth{{#1}\hss}}%
+ \else
+ \eqno\hbox{#1}%
+ \fi}
\AtBeginDocument{%
\ifx\maketag@@@\@undefined % Normal equation, eqnarray
- \AddToHook{env/eqnarray/begin}{%
+ \AddToHook{env/equation/begin}{%
\ifnum\bbl@thetextdir>\z@
+ \let\@eqnnum\bbl@eqnum
\edef\bbl@eqnodir{\noexpand\bbl@textdir{\the\bbl@thetextdir}}%
\chardef\bbl@thetextdir\z@
\bbl@add\normalfont{\bbl@eqnodir}%
+ \ifcase\bbl@eqnpos
+ \let\bbl@puteqno\bbl@eqno@flip
+ \or
+ \let\bbl@puteqno\bbl@leqno@flip
+ \fi
\fi}%
- \AddToHook{env/equation/begin}{%
+ \ifnum\bbl@eqnpos=\tw@\else
+ \def\endequation{\bbl@puteqno{\@eqnnum}$$\@ignoretrue}%
+ \fi
+ \AddToHook{env/eqnarray/begin}{%
\ifnum\bbl@thetextdir>\z@
\edef\bbl@eqnodir{\noexpand\bbl@textdir{\the\bbl@thetextdir}}%
\chardef\bbl@thetextdir\z@
\bbl@add\normalfont{\bbl@eqnodir}%
- \pardir TLT % dir for \eqno is \pardir!
- \fi}%
- \bbl@xin@{,leqno,}{,\@classoptionslist,}%
- \ifin@
- \def\@eqnnum{%
- \setbox\z@\hbox{\normalfont\normalcolor(\theequation)}%
- \hbox to0.01pt{\hss\hbox to\displaywidth{\box\z@\hss}}}%
- \fi
+ \ifnum\bbl@eqnpos=\@ne
+ \def\@eqnnum{%
+ \setbox\z@\hbox{\bbl@eqnum}%
+ \hbox to0.01pt{\hss\hbox to\displaywidth{\box\z@\hss}}}%
+ \else
+ \let\@eqnnum\bbl@eqnum
+ \fi
+ \fi}
+ % Hack. YA luatex bug?:
+ \expandafter\bbl@sreplace\csname] \endcsname{$$}{\eqno\kern.001pt$$}%
\else % amstex
\ifx\bbl@noamsmath\@undefined
- \@ifpackagewith{amsmath}{leqno}%
- {\let\bbl@ams@lap\hbox}% = leqno
- {\let\bbl@ams@lap\llap}% = default
+ \ifnum\bbl@eqnpos=\@ne
+ \let\bbl@ams@lap\hbox
+ \else
+ \let\bbl@ams@lap\llap
+ \fi
\ExplSyntaxOn
\bbl@sreplace\intertext@{\normalbaselines}%
{\normalbaselines
@@ -14592,12 +14664,21 @@ end
\bbl@sreplace\textdef@{\hbox}{\bbl@ams@tagbox\hbox}%
\bbl@sreplace\maketag@@@{\hbox}{\bbl@ams@tagbox#1}%
\fi}%
- \AddToHook{env/equation/begin}{%
- \ifnum\bbl@thetextdir>\z@
- \ifx\bbl@ams@lap\llap\hrule\@height\z@\fi
- \bbl@ams@preset\bbl@ams@flip
- \fi}%
- \AddToHook{env/equation*/begin}{\bbl@ams@preset\bbl@ams@flip}%
+ \ifnum\bbl@eqnpos=\tw@\else
+ \def\bbl@ams@equation{%
+ \ifnum\bbl@thetextdir>\z@
+ \edef\bbl@eqnodir{\noexpand\bbl@textdir{\the\bbl@thetextdir}}%
+ \chardef\bbl@thetextdir\z@
+ \bbl@add\normalfont{\bbl@eqnodir}%
+ \ifcase\bbl@eqnpos
+ \def\veqno##1##2{\bbl@eqno@flip{##1##2}}%
+ \or
+ \def\veqno##1##2{\bbl@leqno@flip{##1##2}}%
+ \fi
+ \fi}%
+ \AddToHook{env/equation/begin}{\bbl@ams@equation}%
+ \AddToHook{env/equation*/begin}{\bbl@ams@equation}%
+ \fi
\AddToHook{env/cases/begin}{\bbl@ams@preset\bbl@ams@lap}%
\AddToHook{env/multline/begin}{\bbl@ams@preset\hbox}%
\AddToHook{env/gather/begin}{\bbl@ams@preset\bbl@ams@lap}%
diff --git a/Master/texmf-dist/source/latex/babel/babel.ins b/Master/texmf-dist/source/latex/babel/babel.ins
index 0cc5c549778..1c80ae6d803 100644
--- a/Master/texmf-dist/source/latex/babel/babel.ins
+++ b/Master/texmf-dist/source/latex/babel/babel.ins
@@ -26,7 +26,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%%
-\def\filedate{2022/02/26}
+\def\filedate{2022/04/30}
\def\batchfile{babel.ins}
\input docstrip.tex
diff --git a/Master/texmf-dist/source/latex/babel/bbcompat.dtx b/Master/texmf-dist/source/latex/babel/bbcompat.dtx
index 763031c7f8f..b7a7c3dfbc2 100644
--- a/Master/texmf-dist/source/latex/babel/bbcompat.dtx
+++ b/Master/texmf-dist/source/latex/babel/bbcompat.dtx
@@ -30,7 +30,7 @@
%
% \iffalse
%<*dtx>
-\ProvidesFile{bbcompat.dtx}[2022/02/26 v3.73]
+\ProvidesFile{bbcompat.dtx}[2022/04/30 v3.74]
%</dtx>
%
%% File 'bbcompat.dtx'
diff --git a/Master/texmf-dist/source/latex/babel/locale.zip b/Master/texmf-dist/source/latex/babel/locale.zip
index 965f5935d99..5a1e3abb207 100644
--- a/Master/texmf-dist/source/latex/babel/locale.zip
+++ b/Master/texmf-dist/source/latex/babel/locale.zip
Binary files differ
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index d36d26395b3..a2badd86813 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.def
+++ b/Master/texmf-dist/tex/generic/babel/babel.def
@@ -40,7 +40,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{babel.def}[2022/02/26 3.73 Babel common definitions]
+\ProvidesFile{babel.def}[2022/04/30 3.74 Babel common definitions]
\ifx\AtBeginDocument\@undefined % TODO. change test.
\def\@empty{}
\def\loadlocalcfg#1{%
@@ -406,8 +406,8 @@
\expandafter\newif\csname ifbbl@single\endcsname
\chardef\bbl@bidimode\z@
\fi
-\def\bbl@version{3.73}
-\def\bbl@date{2022/02/26}
+\def\bbl@version{3.74}
+\def\bbl@date{2022/04/30}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty
index 87ca08bbc74..2c97c5384a5 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.sty
+++ b/Master/texmf-dist/tex/generic/babel/babel.sty
@@ -34,7 +34,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{babel}[2022/02/26 3.73 The Babel package]
+\ProvidesPackage{babel}[2022/04/30 3.74 The Babel package]
\@ifpackagewith{babel}{debug}
{\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}%
\let\bbl@debug\@firstofone
@@ -360,6 +360,8 @@
\DeclareOption{safe=none}{\let\bbl@opt@safe\@empty}
\DeclareOption{safe=bib}{\def\bbl@opt@safe{B}}
\DeclareOption{safe=ref}{\def\bbl@opt@safe{R}}
+\DeclareOption{safe=refbib}{\def\bbl@opt@safe{BR}}
+\DeclareOption{safe=bibref}{\def\bbl@opt@safe{BR}}
\chardef\bbl@bidimode\z@
\DeclareOption{bidi=default}{\chardef\bbl@bidimode=\@ne}
\DeclareOption{bidi=basic}{\chardef\bbl@bidimode=101 }
@@ -367,6 +369,9 @@
\DeclareOption{bidi=bidi}{\chardef\bbl@bidimode=201 }
\DeclareOption{bidi=bidi-r}{\chardef\bbl@bidimode=202 }
\DeclareOption{bidi=bidi-l}{\chardef\bbl@bidimode=203 }
+\chardef\bbl@eqnpos\z@
+\DeclareOption{leqno}{\chardef\bbl@eqnpos\@ne}
+\DeclareOption{fleqn}{\chardef\bbl@eqnpos\tw@}
\let\bbl@opt@shorthands\@nnil
\let\bbl@opt@config\@nnil
\let\bbl@opt@main\@nnil
@@ -453,8 +458,8 @@
\expandafter\@secondoftwo
\fi}
\fi
-\def\bbl@version{3.73}
-\def\bbl@date{2022/02/26}
+\def\bbl@version{3.74}
+\def\bbl@date{2022/04/30}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
@@ -3723,7 +3728,7 @@
\fi
\fi
\bbl@trace{Cross referencing macros}
-\ifx\bbl@opt@safe\@empty\else
+\ifx\bbl@opt@safe\@empty\else % ie, if 'ref' and/or 'bib'
\def\@newl@bel#1#2#3{%
{\@safe@activestrue
\bbl@ifunset{#1@#2}%
@@ -3755,10 +3760,24 @@
\fi
\bbl@xin@{R}\bbl@opt@safe
\ifin@
- \bbl@redefinerobust\ref#1{%
- \@safe@activestrue\org@ref{#1}\@safe@activesfalse}
- \bbl@redefinerobust\pageref#1{%
- \@safe@activestrue\org@pageref{#1}\@safe@activesfalse}
+ \edef\bbl@tempc{\expandafter\string\csname ref code\endcsname}%
+ \bbl@xin@{\expandafter\strip@prefix\meaning\bbl@tempc}%
+ {\expandafter\strip@prefix\meaning\ref}%
+ \ifin@
+ \bbl@redefine\@kernel@ref#1{%
+ \@safe@activestrue\org@@kernel@ref{#1}\@safe@activesfalse}
+ \bbl@redefine\@kernel@pageref#1{%
+ \@safe@activestrue\org@@kernel@pageref{#1}\@safe@activesfalse}
+ \bbl@redefine\@kernel@sref#1{%
+ \@safe@activestrue\org@@kernel@sref{#1}\@safe@activesfalse}
+ \bbl@redefine\@kernel@spageref#1{%
+ \@safe@activestrue\org@@kernel@spageref{#1}\@safe@activesfalse}
+ \else
+ \bbl@redefinerobust\ref#1{%
+ \@safe@activestrue\org@ref{#1}\@safe@activesfalse}
+ \bbl@redefinerobust\pageref#1{%
+ \@safe@activestrue\org@pageref{#1}\@safe@activesfalse}
+ \fi
\else
\let\org@ref\ref
\let\org@pageref\pageref
@@ -3841,28 +3860,30 @@
\bbl@tempc
\fi} % end ifbbl@single, end \IfBabelLayout
\bbl@trace{Preventing clashes with other packages}
-\bbl@xin@{R}\bbl@opt@safe
-\ifin@
- \AtBeginDocument{%
- \@ifpackageloaded{ifthen}{%
- \bbl@redefine@long\ifthenelse#1#2#3{%
- \let\bbl@temp@pref\pageref
- \let\pageref\org@pageref
- \let\bbl@temp@ref\ref
- \let\ref\org@ref
- \@safe@activestrue
- \org@ifthenelse{#1}%
- {\let\pageref\bbl@temp@pref
- \let\ref\bbl@temp@ref
- \@safe@activesfalse
- #2}%
- {\let\pageref\bbl@temp@pref
- \let\ref\bbl@temp@ref
- \@safe@activesfalse
- #3}%
- }%
- }{}%
- }
+\ifx\org@ref\@undefined\else
+ \bbl@xin@{R}\bbl@opt@safe
+ \ifin@
+ \AtBeginDocument{%
+ \@ifpackageloaded{ifthen}{%
+ \bbl@redefine@long\ifthenelse#1#2#3{%
+ \let\bbl@temp@pref\pageref
+ \let\pageref\org@pageref
+ \let\bbl@temp@ref\ref
+ \let\ref\org@ref
+ \@safe@activestrue
+ \org@ifthenelse{#1}%
+ {\let\pageref\bbl@temp@pref
+ \let\ref\bbl@temp@ref
+ \@safe@activesfalse
+ #2}%
+ {\let\pageref\bbl@temp@pref
+ \let\ref\bbl@temp@ref
+ \@safe@activesfalse
+ #3}%
+ }%
+ }{}%
+ }
+\fi
\AtBeginDocument{%
\@ifpackageloaded{varioref}{%
\bbl@redefine\@@vpageref#1[#2]#3{%
diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
index 757202584f7..45ff587e515 100644
--- a/Master/texmf-dist/tex/generic/babel/hyphen.cfg
+++ b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
@@ -38,10 +38,10 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{hyphen.cfg}[2022/02/26 3.73 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2022/04/30 3.74 Babel hyphens]
\xdef\bbl@format{\jobname}
-\def\bbl@version{3.73}
-\def\bbl@date{2022/02/26}
+\def\bbl@version{3.74}
+\def\bbl@date{2022/04/30}
\ifx\AtBeginDocument\@undefined
\def\@empty{}
\fi
diff --git a/Master/texmf-dist/tex/generic/babel/locale/km/babel-km.ini b/Master/texmf-dist/tex/generic/babel/locale/km/babel-km.ini
index 7c8c6e5e4b5..f34c9fb0723 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/km/babel-km.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/km/babel-km.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.9
-date = 2020-10-11
+version = 1.10
+date = 2022-04-07
name.local = ខ្មែរ
name.english = Khmer
name.babel = khmer
@@ -149,7 +149,7 @@ intraspace = 0 .1 0
linebreaking = s
[characters]
-ranges = 1780..17FF
+ranges = 1780..17FF 19E0..19FF
delimiters.quotes = “”‘’
auxiliary = [\u17B4\u17B5\u200B \u17CC \u17CE \u17CF \u17D1 ឝ ឞ]
exemplarCharacters = [\u17D0 ៈ \u17CB \u17C9 \u17CA \u17CD ក ខ គ ឃ ង ច ឆ ជ ឈ ញ ដ ឋ ឌ ឍ ណ ត ថ ទ ធ ន ប ផ ព ភ ម យ រ ឫ ឬ ល ឭ ឮ វ ស ហ ឡ អ {អា} ឥ ឦ ឧ {ឧក} ឩ ឪ ឯ ឰ ឱ ឲ ឳ ា \u17B7 \u17B8 \u17B9 \u17BA \u17BB \u17BC \u17BD ើ ឿ ៀ េ ែ ៃ ោ ៅ \u17C6 ះ \u17D2]
diff --git a/Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini b/Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini
index 7e933e127ea..6951ee273d6 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/mr/babel-mr.ini
@@ -13,8 +13,8 @@
[identification]
charset = utf8
-version = 1.11
-date = 2021-06-25
+version = 1.12
+date = 2022-04-07
name.local = मराठी
name.english = Marathi
name.babel = marathi
@@ -24,8 +24,8 @@ language.tag.bcp47 = mr
tag.bcp47.likely = mr-Deva-IN
tag.opentype = MAR
script.name = Devanagari
-script.tag.bcp47 = Mahj
-script.tag.opentype = mahj
+script.tag.bcp47 = Deva
+script.tag.opentype = deva
level = 1
encodings =
derivate = no
diff --git a/Master/texmf-dist/tex/generic/babel/locale/tk/babel-tk.ini b/Master/texmf-dist/tex/generic/babel/locale/tk/babel-tk.ini
index ccf51238d32..86d51b0383a 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/tk/babel-tk.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/tk/babel-tk.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.4
-date = 2020-06-30
+version = 1.5
+date = 2022-04-07
name.local = tk
name.english = Turkmen
name.babel = turkmen
@@ -21,7 +21,7 @@ tag.bcp47 = tk
language.tag.bcp47 = tk
tag.bcp47.likely = tk-Latn-TM
tag.opentype = TKM
-script.name = Arabic
+script.name = Latin
script.tag.bcp47 = Latn
script.tag.opentype = latn
level = 1
diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def
index f0682627191..3deb849a853 100644
--- a/Master/texmf-dist/tex/generic/babel/luababel.def
+++ b/Master/texmf-dist/tex/generic/babel/luababel.def
@@ -1162,6 +1162,7 @@ end
\catcode`\~=12
\catcode`\%=12
\catcode`\&=14
+\catcode`\|=12
\gdef\babelprehyphenation{&%
\@ifnextchar[{\bbl@settransform{0}}{\bbl@settransform{0}[]}}
\gdef\babelposthyphenation{&%
@@ -1377,33 +1378,71 @@ end
\bbl@trace{Redefinitions for bidi layout}
\def\BabelNoAMSMath{\let\bbl@noamsmath\relax}
\ifnum\bbl@bidimode>\z@
+ \ifx\matheqdirmode\@undefined\else
+ \matheqdirmode\@ne
+ \fi
\let\bbl@eqnodir\relax
+ \def\bbl@eqdel{()}
+ \def\bbl@eqnum{%
+ {\normalfont\normalcolor
+ \expandafter\@firstoftwo\bbl@eqdel
+ \theequation
+ \expandafter\@secondoftwo\bbl@eqdel}}
+ \def\bbl@puteqno#1{\eqno\hbox{#1}}
+ \def\bbl@putleqno#1{\leqno\hbox{#1}}
+ \def\bbl@eqno@flip#1{%
+ \ifdim\predisplaysize=-\maxdimen
+ \eqno
+ \hb@xt@.01pt{\hb@xt@\displaywidth{\hss{#1}}\hss}%
+ \else
+ \leqno\hbox{#1}%
+ \fi}
+ \def\bbl@leqno@flip#1{%
+ \ifdim\predisplaysize=-\maxdimen
+ \leqno
+ \hb@xt@.01pt{\hss\hb@xt@\displaywidth{{#1}\hss}}%
+ \else
+ \eqno\hbox{#1}%
+ \fi}
\AtBeginDocument{%
\ifx\maketag@@@\@undefined % Normal equation, eqnarray
- \AddToHook{env/eqnarray/begin}{%
+ \AddToHook{env/equation/begin}{%
\ifnum\bbl@thetextdir>\z@
+ \let\@eqnnum\bbl@eqnum
\edef\bbl@eqnodir{\noexpand\bbl@textdir{\the\bbl@thetextdir}}%
\chardef\bbl@thetextdir\z@
\bbl@add\normalfont{\bbl@eqnodir}%
+ \ifcase\bbl@eqnpos
+ \let\bbl@puteqno\bbl@eqno@flip
+ \or
+ \let\bbl@puteqno\bbl@leqno@flip
+ \fi
\fi}%
- \AddToHook{env/equation/begin}{%
+ \ifnum\bbl@eqnpos=\tw@\else
+ \def\endequation{\bbl@puteqno{\@eqnnum}$$\@ignoretrue}%
+ \fi
+ \AddToHook{env/eqnarray/begin}{%
\ifnum\bbl@thetextdir>\z@
\edef\bbl@eqnodir{\noexpand\bbl@textdir{\the\bbl@thetextdir}}%
\chardef\bbl@thetextdir\z@
\bbl@add\normalfont{\bbl@eqnodir}%
- \pardir TLT % dir for \eqno is \pardir!
- \fi}%
- \bbl@xin@{,leqno,}{,\@classoptionslist,}%
- \ifin@
- \def\@eqnnum{%
- \setbox\z@\hbox{\normalfont\normalcolor(\theequation)}%
- \hbox to0.01pt{\hss\hbox to\displaywidth{\box\z@\hss}}}%
- \fi
+ \ifnum\bbl@eqnpos=\@ne
+ \def\@eqnnum{%
+ \setbox\z@\hbox{\bbl@eqnum}%
+ \hbox to0.01pt{\hss\hbox to\displaywidth{\box\z@\hss}}}%
+ \else
+ \let\@eqnnum\bbl@eqnum
+ \fi
+ \fi}
+ % Hack. YA luatex bug?:
+ \expandafter\bbl@sreplace\csname] \endcsname{$$}{\eqno\kern.001pt$$}%
\else % amstex
\ifx\bbl@noamsmath\@undefined
- \@ifpackagewith{amsmath}{leqno}%
- {\let\bbl@ams@lap\hbox}% = leqno
- {\let\bbl@ams@lap\llap}% = default
+ \ifnum\bbl@eqnpos=\@ne
+ \let\bbl@ams@lap\hbox
+ \else
+ \let\bbl@ams@lap\llap
+ \fi
\ExplSyntaxOn
\bbl@sreplace\intertext@{\normalbaselines}%
{\normalbaselines
@@ -1423,12 +1462,21 @@ end
\bbl@sreplace\textdef@{\hbox}{\bbl@ams@tagbox\hbox}%
\bbl@sreplace\maketag@@@{\hbox}{\bbl@ams@tagbox#1}%
\fi}%
- \AddToHook{env/equation/begin}{%
- \ifnum\bbl@thetextdir>\z@
- \ifx\bbl@ams@lap\llap\hrule\@height\z@\fi
- \bbl@ams@preset\bbl@ams@flip
- \fi}%
- \AddToHook{env/equation*/begin}{\bbl@ams@preset\bbl@ams@flip}%
+ \ifnum\bbl@eqnpos=\tw@\else
+ \def\bbl@ams@equation{%
+ \ifnum\bbl@thetextdir>\z@
+ \edef\bbl@eqnodir{\noexpand\bbl@textdir{\the\bbl@thetextdir}}%
+ \chardef\bbl@thetextdir\z@
+ \bbl@add\normalfont{\bbl@eqnodir}%
+ \ifcase\bbl@eqnpos
+ \def\veqno##1##2{\bbl@eqno@flip{##1##2}}%
+ \or
+ \def\veqno##1##2{\bbl@leqno@flip{##1##2}}%
+ \fi
+ \fi}%
+ \AddToHook{env/equation/begin}{\bbl@ams@equation}%
+ \AddToHook{env/equation*/begin}{\bbl@ams@equation}%
+ \fi
\AddToHook{env/cases/begin}{\bbl@ams@preset\bbl@ams@lap}%
\AddToHook{env/multline/begin}{\bbl@ams@preset\hbox}%
\AddToHook{env/gather/begin}{\bbl@ams@preset\bbl@ams@lap}%
diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf
index d93c2127b24..8c8c69776ee 100644
--- a/Master/texmf-dist/tex/generic/babel/nil.ldf
+++ b/Master/texmf-dist/tex/generic/babel/nil.ldf
@@ -33,7 +33,7 @@
%% extension |.ins|) which are part of the distribution.
%%
-\ProvidesLanguage{nil}[2022/02/26 3.73 Nil language]
+\ProvidesLanguage{nil}[2022/04/30 3.74 Nil language]
\LdfInit{nil}{datenil}
\ifx\l@nil\@undefined
\newlanguage\l@nil