diff options
author | Karl Berry <karl@freefriends.org> | 2021-11-29 21:13:12 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-11-29 21:13:12 +0000 |
commit | fffd05cae905f23ad2300395a5ead86d7c0253cd (patch) | |
tree | 0bdd2c0e52d5481ce26d77492a593fce5036fa3e /Master/texmf-dist/tex/generic/babel/babel.sty | |
parent | 82a638461359e5fd966fdca40ae90d9c018d7e99 (diff) |
babel (29nov21)
git-svn-id: svn://tug.org/texlive/trunk@61186 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/babel/babel.sty')
-rw-r--r-- | Master/texmf-dist/tex/generic/babel/babel.sty | 48 |
1 files changed, 38 insertions, 10 deletions
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty index b214975d903..991dbb42e3f 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}[2021/11/08 3.66 The Babel package] +\ProvidesPackage{babel}[2021/11/29 3.67 The Babel package] \@ifpackagewith{babel}{debug} {\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}% \let\bbl@debug\@firstofone @@ -458,8 +458,8 @@ \expandafter\@secondoftwo \fi} \fi -\def\bbl@version{3.66} -\def\bbl@date{2021/11/08} +\def\bbl@version{3.67} +\def\bbl@date{2021/11/29} \ifx\language\@undefined \csname newcount\endcsname\language \fi @@ -672,7 +672,10 @@ \newif\ifbbl@bcpallowed \bbl@bcpallowedfalse \def\select@language#1{% from set@, babel@aux + \ifx\bbl@selectorname\@empty + \def\bbl@selectorname{select}% % set hymap + \fi \ifnum\bbl@hymapsel=\@cclv\chardef\bbl@hymapsel4\relax\fi % set name \edef\languagename{#1}% @@ -782,8 +785,10 @@ \else \expandafter\expandafter\expandafter\set@hyphenmins \csname #1hyphenmins\endcsname\relax - \fi} + \fi + \let\bbl@selectorname\@empty} \long\def\otherlanguage#1{% + \def\bbl@selectorname{other}% \ifnum\bbl@hymapsel=\@cclv\let\bbl@hymapsel\thr@@\fi \csname selectlanguage \endcsname{#1}% \ignorespaces} @@ -792,6 +797,7 @@ \expandafter\def\csname otherlanguage*\endcsname{% \@ifnextchar[\bbl@otherlanguage@s{\bbl@otherlanguage@s[]}} \def\bbl@otherlanguage@s[#1]#2{% + \def\bbl@selectorname{other*}% \ifnum\bbl@hymapsel=\@cclv\chardef\bbl@hymapsel4\relax\fi \def\bbl@select@opts{#1}% \foreign@language{#2}} @@ -804,6 +810,7 @@ \@ifstar\bbl@foreign@s\bbl@foreign@x} \providecommand\bbl@foreign@x[3][]{% \begingroup + \def\bbl@selectorname{foreign}% \def\bbl@select@opts{#1}% \let\BabelText\@firstofone \bbl@beforeforeign @@ -814,6 +821,7 @@ \def\bbl@foreign@s#1#2{% TODO - \shapemode, \@setpar, ?\@@par \begingroup {\par}% + \def\bbl@selectorname{foreign*}% \let\bbl@select@opts\@empty \let\BabelText\@firstofone \foreign@language{#1}% @@ -846,6 +854,13 @@ % set type \let\bbl@select@type\@ne \expandafter\bbl@switch\expandafter{\languagename}}} +\def\IfBabelSelectorTF#1{% + \bbl@xin@{,\bbl@selectorname,}{,\zap@space#1 \@empty,}% + \ifin@ + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi} \let\bbl@hyphlist\@empty \let\bbl@hyphenation@\relax \let\bbl@pttnlist\@empty @@ -921,7 +936,6 @@ \let\uselocale\setlocale \let\locale\setlocale \let\selectlocale\setlocale -\let\localename\setlocale \let\textlocale\setlocale \let\textlanguage\setlocale \let\languagetext\setlocale @@ -3397,14 +3411,15 @@ \bbl@transforms\babelprehyphenation} \@namedef{bbl@inikv@transforms.posthyphenation}{% \bbl@transforms\babelposthyphenation} -\def\bbl@transforms@aux#1#2#3,#4\relax{#1{#2}{#3}{#4}} +\def\bbl@transforms@aux#1#2#3#4,#5\relax{% + #1[#2]{#3}{#4}{#5}} \begingroup % A hack. TODO. Don't require an specific order \catcode`\%=12 \catcode`\&=14 \gdef\bbl@transforms#1#2#3{&% \ifx\bbl@KVP@transforms\@nil\else \directlua{ - str = [==[#2]==] + local str = [==[#2]==] str = str:gsub('%.%d+%.%d+$', '') tex.print([[\def\string\babeltempa{]] .. str .. [[}]]) }&% @@ -3412,10 +3427,23 @@ \ifin@ \in@{.0$}{#2$}&% \ifin@ - \g@addto@macro\bbl@release@transforms{&% - \relax\bbl@transforms@aux#1{\languagename}{#3}}&% + \directlua{ + local str = string.match([[\bbl@KVP@transforms]], + '%(([^%(]-)%)[^%)]-\babeltempa') + if str == nil then + tex.print([[\def\string\babeltempb{}]]) + else + tex.print([[\def\string\babeltempb{,attribute=]] .. str .. [[}]]) + end + } + \toks@{#3}&% + \bbl@exp{&% + \\\g@addto@macro\\\bbl@release@transforms{&% + \relax &% Closes previous \bbl@transforms@aux + \\\bbl@transforms@aux + \\#1{label=\babeltempa\babeltempb}{\languagename}{\the\toks@}}}&% \else - \g@addto@macro\bbl@release@transforms{, {#3}}&% + \g@addto@macro\bbl@release@transforms{, {#3}}&% \fi \fi \fi} |