From c672bfbc647851808b23bd991236f0eb93f2b404 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 30 Apr 2022 20:04:04 +0000 Subject: babel (30apr22) git-svn-id: svn://tug.org/texlive/trunk@63189 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/babel/README.md | 23 +- Master/texmf-dist/doc/latex/babel/babel.pdf | Bin 855582 -> 857732 bytes Master/texmf-dist/source/latex/babel/babel.dtx | 261 ++++++++++++++------- Master/texmf-dist/source/latex/babel/babel.ins | 2 +- Master/texmf-dist/source/latex/babel/bbcompat.dtx | 2 +- Master/texmf-dist/source/latex/babel/locale.zip | Bin 796161 -> 796166 bytes Master/texmf-dist/tex/generic/babel/babel.def | 6 +- Master/texmf-dist/tex/generic/babel/babel.sty | 81 ++++--- Master/texmf-dist/tex/generic/babel/hyphen.cfg | 6 +- .../tex/generic/babel/locale/km/babel-km.ini | 6 +- .../tex/generic/babel/locale/mr/babel-mr.ini | 8 +- .../tex/generic/babel/locale/tk/babel-tk.ini | 6 +- Master/texmf-dist/tex/generic/babel/luababel.def | 86 +++++-- Master/texmf-dist/tex/generic/babel/nil.ldf | 2 +- 14 files changed, 317 insertions(+), 172 deletions(-) (limited to 'Master') 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 . -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 Binary files a/Master/texmf-dist/doc/latex/babel/babel.pdf and b/Master/texmf-dist/doc/latex/babel/babel.pdf 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} -%<> -%<> +%<> +%<> % \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}} %<> % \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@} +%<> +% \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] % % %% 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 Binary files a/Master/texmf-dist/source/latex/babel/locale.zip and b/Master/texmf-dist/source/latex/babel/locale.zip 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 -- cgit v1.2.3