diff options
author | Norbert Preining <norbert@preining.info> | 2021-10-20 03:02:56 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2021-10-20 03:02:56 +0000 |
commit | 97a50891a87d07d3cc327188a2b00b5c11e3c309 (patch) | |
tree | 5a7ced967e974e870980fa25e42ac2de4d5c6394 /macros/latex/required | |
parent | d045bcbc99b0eda65a444496d60d16ea2d063c65 (diff) |
CTAN sync 202110200302
Diffstat (limited to 'macros/latex/required')
-rw-r--r-- | macros/latex/required/babel/base/README.md | 20 | ||||
-rw-r--r-- | macros/latex/required/babel/base/babel.dtx | 205 | ||||
-rw-r--r-- | macros/latex/required/babel/base/babel.ins | 2 | ||||
-rw-r--r-- | macros/latex/required/babel/base/babel.pdf | bin | 847060 -> 847722 bytes | |||
-rw-r--r-- | macros/latex/required/babel/base/bbcompat.dtx | 2 |
5 files changed, 125 insertions, 104 deletions
diff --git a/macros/latex/required/babel/base/README.md b/macros/latex/required/babel/base/README.md index 7a150533d2..848148e3af 100644 --- a/macros/latex/required/babel/base/README.md +++ b/macros/latex/required/babel/base/README.md @@ -1,4 +1,4 @@ -## Babel 3.64 +## Babel 3.65 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.64 are described in: +Changes in version 3.65 are described in: -https://latex3.github.io/babel/news/whats-new-in-babel-3.64.html +https://latex3.github.io/babel/news/whats-new-in-babel-3.65.html Apart from the manual, you can find information on some aspects of babel at: @@ -46,6 +46,9 @@ respective authors. ### Summary of Latest changes ``` +3.65 2021-10-19 + * Fixes a severe bug with 'spanish' introduced in 3.64 (#154). + 3.64 2021-10-13 * Added a few counters to CJK. * Restored the previous behavior of \selectlanguage with @@ -55,17 +58,6 @@ respective authors. - name.babel in ini files set inconsistently (#149). * Now babel.def and babel.sty are separate files (for Plain-based formats and LaTeX, respectively). - -3.63 2021-07-22 - * Fixes a severe bug with CJK and XeTeX introduced in 3.62. - -3.62 2021-07-19 - * No more errors with unknown languages in aux file. - * Preliminary support for \AddToHook. - * Tentative extension for provide=. - * Fixes: - - Locale dependent quotes with CJK (#131). - - Babel and hyperref prevent changes to the \LaTeX logo (#138). ``` ### Previous changes diff --git a/macros/latex/required/babel/base/babel.dtx b/macros/latex/required/babel/base/babel.dtx index 6fe5db94f2..0444c526a7 100644 --- a/macros/latex/required/babel/base/babel.dtx +++ b/macros/latex/required/babel/base/babel.dtx @@ -32,7 +32,7 @@ % % \iffalse %<*filedriver> -\ProvidesFile{babel.dtx}[2021/10/13 v3.64 The Babel package] +\ProvidesFile{babel.dtx}[2021/10/19 v3.65 The Babel package] \documentclass{ltxdoc} \GetFileInfo{babel.dtx} \usepackage{fontspec} @@ -5026,8 +5026,8 @@ help from Bernd Raichle, for which I am grateful. % \section{Tools} % % \begin{macrocode} -%<<version=3.64>> -%<<date=2021/10/13>> +%<<version=3.65>> +%<<date=2021/10/19>> % \end{macrocode} % % \textbf{Do not use the following macros in \texttt{ldf} files. They @@ -5696,11 +5696,7 @@ help from Bernd Raichle, for which I am grateful. \ifin@ \expandafter\bbl@tempa\CurrentOption\bbl@tempa \else - \bbl@xin@{,\CurrentOption,}{,\bbl@language@opts,}% - \ifin@ - \bbl@exp{\\\bbl@replace\\\bbl@language@opts{,\CurrentOption,}{}}% - \fi - \edef\bbl@language@opts{\bbl@language@opts,\CurrentOption,} + \bbl@add@list\bbl@language@opts{\CurrentOption}% \fi} % \end{macrocode} % @@ -5812,7 +5808,9 @@ help from Bernd Raichle, for which I am grateful. % % \begin{macrocode} \ifx\bbl@opt@main\@nnil\else - \edef\bbl@language@opts{\bbl@language@opts,\bbl@opt@main,} + \edef\bbl@language@opts{% + \ifx\bbl@language@opts\@empty\else\bbl@language@opts,\fi + \bbl@opt@main} \fi % \end{macrocode} % @@ -12007,69 +12005,49 @@ help from Bernd Raichle, for which I am grateful. \fi % \end{macrocode} % -% Recognizing global options in packages not having a closed set of -% them is not trivial, as for them to be processed they must be defined -% explicitly. So, package options not yet taken into account and stored -% in |bbl@language@opts| are assumed to be existing languages (note -% this list also contains the language given with |main| as the last -% element). If not declared above, the names of the option and the file -% are the same. There are two steps -- first process option names and -% collect the result, which then do the actual declarations. % -% To allow multiple overlapping replacements, commas in -% |\bbl@language@opts| are doubled. +% Recognizing global options in packages not having a closed set of +% them is not trivial, as for them to be processed they must be +% defined explicitly. So, package options not yet taken into +% account and stored in |bbl@language@opts| are assumed to be +% languages (note this list also contains the language given with +% |main|). If not declared above, the names of the option and the +% file are the same. % % \begin{macrocode} -\let\bbl@elt\relax -\let\bbl@tempe\@empty -\bbl@foreach\@classoptionslist{% - \bbl@xin@{,#1,$}{\bbl@language@opts$}% Match last - \ifin@\else - \bbl@xin@{,#1,}{\bbl@language@opts}% Match non-last - \ifin@ - \bbl@replace\bbl@language@opts{,#1,}{,,}% - \edef\bbl@tempe{\bbl@tempe\bbl@elt{3}{#1}}% - \else - \babel@savecnt\z@ % Use as temp - \ifnum\bbl@iniflag<\thr@@ % Optimization: 3 = always ini - \IfFileExists{#1.ldf}{\advance\babel@savecnt\@ne}{}% - \fi - \ifnum\bbl@iniflag>\z@ % Optimization: 0 = always ldf - \IfFileExists{babel-#1.tex}{\advance\babel@savecnt\tw@}{}% - \fi - \ifnum\babel@savecnt>\z@ - \edef\bbl@tempe{\bbl@tempe\bbl@elt{\the\babel@savecnt}{#1}}% - \fi - \fi - \fi} -% -\let\bbl@savemain\@empty +\let\bbl@tempc\relax \bbl@foreach\bbl@language@opts{% - \edef\bbl@tempe{\bbl@tempe\bbl@elt{3}{#1}}} -\def\bbl@elt#1#2#3{% - \ifx#3\relax % if last - \bbl@ifunset{ds@#2}{}% - {\bbl@exp{\def\\\bbl@savemain{\\\DeclareOption{#2}{\[ds@#2]}}}}% - \bbl@add\bbl@savemain{\bbl@elt{#1}{#2}}% Save main - \DeclareOption{#2}{}% - \else - \ifnum\bbl@iniflag<\tw@ % other as ldf - \ifodd#1\relax % Class: if ldf exists 1,3. Package: always 3 - \bbl@ifunset{ds@#2}% - {\DeclareOption{#2}{\bbl@load@language{#2}}}% - {}% - \fi - \else % other as ini - \ifnum#1>\@ne % % Class: if ini exists 2,3. Package: always 3 - \DeclareOption{#2}{% - \bbl@ldfinit - \babelprovide[import]{#2}% - \bbl@afterldf{}}% - \fi - \fi - \fi - #3} -\bbl@tempe\relax % \relax catches last + \ifcase\bbl@iniflag % Default + \bbl@ifunset{ds@#1}% + {\DeclareOption{#1}{\bbl@load@language{#1}}}% + {}% + \or % provide=* + \@gobble % case 2 same as 1 + \or % provide+=* + \bbl@ifunset{ds@#1}% + {\IfFileExists{#1.ldf}{}% + {\IfFileExists{babel-#1.tex}{}{\@namedef{ds@#1}{}}}}% + {}% + \bbl@ifunset{ds@#1}% + {\def\bbl@tempc{#1}% + \DeclareOption{#1}{% + \ifnum\bbl@iniflag>\@ne + \bbl@ldfinit + \babelprovide[import]{#1}% + \bbl@afterldf{}% + \else + \bbl@load@language{#1}% + \fi}}% + {}% + \or % provide*=* + \def\bbl@tempc{#1}% + \bbl@ifunset{ds@#1}% + {\DeclareOption{#1}{% + \bbl@ldfinit + \babelprovide[import]{#1}% + \bbl@afterldf{}}}% + {}% + \fi} % \end{macrocode} % % Now, we make sure an option is explicitly declared for any language @@ -12078,7 +12056,54 @@ help from Bernd Raichle, for which I am grateful. % accessing the file system just to see if the option could be a % language. % +% \begin{macrocode} +\let\bbl@tempb\@nnil +\let\bbl@clsoptlst\@classoptionslist +\bbl@foreach\@classoptionslist{% + \bbl@ifunset{ds@#1}% + {\IfFileExists{#1.ldf}% + {\def\bbl@tempb{#1}% + \DeclareOption{#1}{% + \ifnum\bbl@iniflag>\@ne + \bbl@ldfinit + \babelprovide[import]{#1}% + \bbl@afterldf{}% + \else + \bbl@load@language{#1}% + \fi}}% + {\IfFileExists{babel-#1.tex}% + {\def\bbl@tempb{#1}% + \ifnum\bbl@iniflag>\z@ + \DeclareOption{#1}{% + \ifnum\bbl@iniflag>\@ne + \bbl@ldfinit + \babelprovide[import]{#1}% + \bbl@afterldf{}% + \fi}% + \fi}% + {}}}% + {}} +% \end{macrocode} +% % If a main language has been set, store it for the third pass. +% +% \begin{macrocode} +\ifnum\bbl@iniflag=\z@\else + \ifx\bbl@opt@main\@nnil + \ifx\bbl@tempc\relax + \let\bbl@opt@main\bbl@tempb + \else + \let\bbl@opt@main\bbl@tempc + \fi + \fi +\fi +\ifx\bbl@opt@main\@nnil\else + \expandafter + \let\expandafter\bbl@loadmain\csname ds@\bbl@opt@main\endcsname + \expandafter\let\csname ds@\bbl@opt@main\endcsname\@empty +\fi +% \end{macrocode} +% % And we are done, because all options for this pass has been % declared. Those already processed in the first pass are just % ignored. @@ -12120,27 +12145,31 @@ help from Bernd Raichle, for which I am grateful. and a package option. Use 'main=\bbl@tempc' as\\% option. Reported}% \fi -\fi -\def\bbl@elt#1#2{% main - \ifodd\bbl@iniflag % as ini = 1(=), 3(*=) - \ifnum#1>\@ne % % Class: if ini exists 2,3. Package: always 3 - \def\CurrentOption{#2}% Directly, because luatexbase - \bbl@ldfinit - \babelprovide[\bbl@opt@provide,main,import]{#2}% - \bbl@afterldf{}% - \DeclareOption{#2}{}% - \fi - \else % as ldf = 0(no), 2(+=) - \ifodd#1\relax % Class: if ldf exists 1,3. Package: always 3 - \bbl@ifunset{ds@#2}% - {\DeclareOption{#2}{\bbl@load@language{#2}}}% - {}% - \ExecuteOptions{#2}% +\else + \ifodd\bbl@iniflag % case 1,3 + \bbl@ldfinit + \let\CurrentOption\bbl@opt@main + \ifx\bbl@opt@provide\@nnil + \bbl@exp{\\\babelprovide[import,main]{\bbl@opt@main}}% + \else + \bbl@exp{\\\bbl@forkv{\@nameuse{@raw@opt@babel.sty}}}{% + \bbl@xin@{,provide,}{,#1,}% + \ifin@ + \def\bbl@opt@provide{#2}% + \bbl@replace\bbl@opt@provide{;}{,}% + \fi}% + \bbl@exp{% + \\\babelprovide[\bbl@opt@provide,import,main]{\bbl@opt@main}}% \fi - \fi} -\bbl@savemain -\DeclareOption*{}% -\ProcessOptions* + \bbl@afterldf{}% + \else % case 0,2 + \chardef\bbl@iniflag\z@ % Force ldf + \expandafter\let\csname ds@\bbl@opt@main\endcsname\bbl@loadmain + \ExecuteOptions{\bbl@opt@main} + \DeclareOption*{}% + \ProcessOptions* + \fi +\fi \def\AfterBabelLanguage{% \bbl@error {Too late for \string\AfterBabelLanguage}% diff --git a/macros/latex/required/babel/base/babel.ins b/macros/latex/required/babel/base/babel.ins index ae4bbb527c..473f06dfa7 100644 --- a/macros/latex/required/babel/base/babel.ins +++ b/macros/latex/required/babel/base/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{2021/10/13} +\def\filedate{2021/10/19} \def\batchfile{babel.ins} \input docstrip.tex diff --git a/macros/latex/required/babel/base/babel.pdf b/macros/latex/required/babel/base/babel.pdf Binary files differindex 36efb6e78f..7345ad7b76 100644 --- a/macros/latex/required/babel/base/babel.pdf +++ b/macros/latex/required/babel/base/babel.pdf diff --git a/macros/latex/required/babel/base/bbcompat.dtx b/macros/latex/required/babel/base/bbcompat.dtx index d45cedea36..c81d3ae4e7 100644 --- a/macros/latex/required/babel/base/bbcompat.dtx +++ b/macros/latex/required/babel/base/bbcompat.dtx @@ -30,7 +30,7 @@ % % \iffalse %<*dtx> -\ProvidesFile{bbcompat.dtx}[2021/10/13 v3.64] +\ProvidesFile{bbcompat.dtx}[2021/10/19 v3.65] %</dtx> % %% File 'bbcompat.dtx' |