diff options
author | Norbert Preining <norbert@preining.info> | 2022-09-18 03:08:21 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-09-18 03:08:21 +0000 |
commit | baa3e10650110291de10e0e8e6a1e48ac4579afe (patch) | |
tree | 8eff974515ba91e538c94002db56558182e59a4e /macros/latex/required | |
parent | 9ae94dce28ea17b97ef24019e324353cd6af4dba (diff) |
CTAN sync 202209180308
Diffstat (limited to 'macros/latex/required')
-rw-r--r-- | macros/latex/required/babel/base/README.md | 28 | ||||
-rw-r--r-- | macros/latex/required/babel/base/babel.dtx | 118 | ||||
-rw-r--r-- | macros/latex/required/babel/base/babel.ins | 3 | ||||
-rw-r--r-- | macros/latex/required/babel/base/babel.pdf | bin | 883632 -> 885746 bytes | |||
-rw-r--r-- | macros/latex/required/babel/base/bbcompat.dtx | 2 |
5 files changed, 106 insertions, 45 deletions
diff --git a/macros/latex/required/babel/base/README.md b/macros/latex/required/babel/base/README.md index 8f8cc3876b..ac068b909e 100644 --- a/macros/latex/required/babel/base/README.md +++ b/macros/latex/required/babel/base/README.md @@ -1,4 +1,4 @@ -## Babel 3.79 +## Babel 3.80 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.79 are described in: +Changes in version 3.80 are described in: -https://latex3.github.io/babel/news/whats-new-in-babel-3.79.html +https://latex3.github.io/babel/news/whats-new-in-babel-3.80.html Apart from the manual, you can find information on some aspects of babel at: @@ -46,13 +46,21 @@ respective authors. ### Summary of latest changes ``` -3.79 2022-08-29 - * Fixes: - - Issues of tcolorbox in RTL (graphics layout), thanks to Salim - Bou (@seloumi) (#186). - - \footnote with babel bidi=default raises an error in LuaLaTeX (#187). - - Extra blank spaces with Hebrew calendar. - * 'odia' is now the preferred name for 'oriya', following the CLDR. +3.80 2022-09-16 + * Ethiopic calendar. + * Hungarian date in the superessive case. + * Captions for Hausa by Abubakar Yusuf (@fatherofcamels) + * Fixes in dates: + - Latin: In `pdftex`, numerals were printed in arabic form. + - Thai: Buddhist and Gregorian were reversed. + - Persian: The Persian calendar was not loaded. + * More updates to the CLDR 41: Galician, Swiss German, Gujarati, + Hausa, Hebrew, Hindi, Croatian, Upper Sorbian, Hungarian, + Armenian, Interlingua, Indonesian, Igbo, Sichuan Yi, Icelandic, + Italian, Japanese, Ngomba, Georgian, Kabyle, Kabuverdianu, + Kazakh, Kako, Kalaallisut, Khmer, Kannada, Korean, Konkani, + Kashmiri, Colognian, Cornish, Kyrgyz, Lakota, Lao, Northern + Luri, Lithuanian, Macedonian, Malayalam, Mongolian. ``` ### Previous changes diff --git a/macros/latex/required/babel/base/babel.dtx b/macros/latex/required/babel/base/babel.dtx index 1e7004c471..c633f24b9e 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}[2022/08/29 v3.79 The Babel package] +\ProvidesFile{babel.dtx}[2022/09/17 v3.80 The Babel package] \documentclass{ltxdoc} \GetFileInfo{babel.dtx} \usepackage{fontspec} @@ -460,16 +460,16 @@ except if there is a real reason to do so: Examples of cases where |main| is useful are the following. -\begin{note} +\begin{example} Some classes load \babel{} with a hardcoded language option. Sometimes, the main language can be overridden with something like that before |\documentclass|: \begin{verbatim} \PassOptionsToPackage{main=english}{babel} \end{verbatim} -\end{note} +\end{example} -\begin{warning} +\begin{note} Languages may be set as global and as package option at the same time, but in such a case you should set explicitly the main language with the package option |main|: @@ -477,7 +477,7 @@ the main language can be overridden with something like that before \documentclass[_italian_]{book} \usepackage[ngerman,_main=italian_]{babel} \end{verbatim} -\end{warning} +\end{note} \begin{warning} In the preamble the main language has \textit{not} been selected, @@ -519,7 +519,7 @@ _\foreignlanguage{french}{français}_. With \xetex{} and \luatex, the following bilingual, single script document in UTF-8 encoding just prints a couple of ‘captions’ and |\today| in Danish and Vietnamese. No additional packages are - required. + required, because the default font supports both languages. \setengine{luatex/xetex} \begin{verbatim} \documentclass{article} @@ -528,11 +528,11 @@ _\usepackage[vietnamese,danish]{babel}_ \begin{document} -\prefacename{} -- \alsoname{} -- \today +\prefacename, \alsoname, \today. \selectlanguage{vietnamese} -\prefacename{} -- \alsoname{} -- \today +\prefacename, \alsoname, \today. \end{document} \end{verbatim} @@ -583,7 +583,8 @@ _\foreignlanguage{spanish}{Español}_. Instead of its name, you may prefer to select the language with the corresponding BCP47 tag. This alternative, however, must be activated explicitly, because a two- or tree-letter word is a valid name for a -language (eg, |yi|). See section \ref{bcp47} for further details. +language (eg, |lu| can be the locale name with tag |khb| or the tag for +|lubakatanga|). See section \ref{bcp47} for further details. \end{note} \subsection{Modifiers} @@ -3009,7 +3010,7 @@ the current item, so that |\LocaleForEach{\message{ **#1** }}| just shows the loaded |ini|’s. \Describe{ensureinfo=off}{} -\New{3.75} Previously, |ini| files are loaded only with |\babelprovide| +\New{3.75} Previously, |ini| files were loaded only with |\babelprovide| and also when languages are selected if there is a |\babelfont| or they have not been explicitly declared. Now the |ini| files are loaded (and therefore the corresponding data) even if these two conditions are not @@ -3206,8 +3207,8 @@ transforms = transliteration.omega (\withsigmafinal) sigma.final This applies |transliteration.omega| always, but |sigma.final| only when |\withsigmafinal| is set. -Here are the transforms currently predefined. (More to follow -in future releases.) +Here are the transforms currently predefined. (A few may still require +some fine-tuning. More to follow in future releases.) \begingroup \def\trans#1#2#3{% @@ -5175,8 +5176,8 @@ help from Bernd Raichle, for which I am grateful. % \section{Tools} % % \begin{macrocode} -%<<version=3.79>> -%<<date=2022/08/29>> +%<<version=3.80>> +%<<date=2022/09/17>> % \end{macrocode} % % \textbf{Do not use the following macros in \texttt{ldf} files. They @@ -5944,12 +5945,13 @@ help from Bernd Raichle, for which I am grateful. % % For the option safe we use a different approach -- |\bbl@opt@safe| % says which macros are redefined (B for bibs and R for refs). By -% default, both are set. +% default, both are currently set, but in a future release it will be set to +% |none|. % % \begin{macrocode} \ifx\bbl@opt@safe\@undefined \def\bbl@opt@safe{BR} - % \let\bbl@opt@safe\@empty % -- By September + % \let\bbl@opt@safe\@empty % Pending of \cite \fi % \end{macrocode} % @@ -8740,6 +8742,25 @@ help from Bernd Raichle, for which I am grateful. {\bbl@tolower\@empty}{\bbl@toupper\@empty}}% \gdef\bbl@tolower{\csname\languagename @bbl@lc\endcsname}% \gdef\bbl@toupper{\csname\languagename @bbl@uc\endcsname}}} +% A temporary hack: +\ifx\BabelCaseHack\@undefined +\AtBeginDocument{% + \bbl@exp{% + \\\in@{\string\@uclclist}% + {\expandafter\meaning\csname MakeUppercase \endcsname}}% + \ifin@\else + \expandafter\let\expandafter\bbl@newuc\csname MakeUppercase \endcsname + \protected\@namedef{MakeUppercase }#1{{% + \def\reserved@a##1##2{\let##1##2\reserved@a}% + \expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}% + \protected@edef\reserved@a{\bbl@newuc{#1}}\reserved@a}}% + \expandafter\let\expandafter\bbl@newlc\csname MakeLowercase \endcsname + \protected\@namedef{MakeLowercase }#1{{% + \def\reserved@a##1##2{\let##2##1\reserved@a}% + \expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}% + \protected@edef\reserved@a{\bbl@newlc{#1}}\reserved@a}}% + \fi} +\fi % \end{macrocode} % % \begin{macrocode} @@ -9152,7 +9173,7 @@ help from Bernd Raichle, for which I am grateful. \bbl@toglobal\bbl@captionslist \fi \fi} -% \def\bbl@setcaption@s#1#2#3{} % TODO. Not yet implemented +% \def\bbl@setcaption@s#1#2#3{} % TODO. Not yet implemented (w/o 'name') % \end{macrocode} % % \subsection{Macros common to a number of languages} @@ -9712,14 +9733,14 @@ help from Bernd Raichle, for which I am grateful. \bbl@vforeach{captions,date,import,main,script,language,% hyphenrules,linebreaking,justification,mapfont,maparabic,% mapdigits,intraspace,intrapenalty,onchar,transforms,alph,% - Alph,labels,labels*,calendar}% + Alph,labels,labels*,calendar,date}% {\bbl@csarg\let{KVP@##1}\@nnil}% \global\let\bbl@release@transforms\@empty \let\bbl@calendars\@empty \global\let\bbl@inidata\@empty \global\let\bbl@extend@ini\@gobble \gdef\bbl@key@list{;}% - \bbl@forkv{#1}{% TODO - error handling + \bbl@forkv{#1}{% \in@{/}{##1}% \ifin@ \global\let\bbl@extend@ini\bbl@extend@ini@aux @@ -9738,6 +9759,9 @@ help from Bernd Raichle, for which I am grateful. \ifx\bbl@screset\@undefined \bbl@ldfinit \fi + % == date (as option) == + % \ifx\bbl@KVP@date\@nnil\else + % \fi % == \let\bbl@lbkflag\relax % \@empty = do setup linebreak \ifcase\bbl@howloaded @@ -9762,6 +9786,7 @@ help from Bernd Raichle, for which I am grateful. \xdef\bbl@KVP@import{\bbl@initoload}% \fi}% {}% + \let\bbl@KVP@date\@empty \fi \ifx\bbl@KVP@captions\@nnil \let\bbl@KVP@captions\bbl@KVP@import @@ -10128,7 +10153,7 @@ help from Bernd Raichle, for which I am grateful. \fi \fi \StartBabelCommands*{#1}{date}% - \ifx\bbl@KVP@import\@nnil + \ifx\bbl@KVP@date\@nnil \bbl@exp{% \\\SetString\\\today{\\\bbl@nocaption{today}{#1today}}}% \else @@ -10154,7 +10179,7 @@ help from Bernd Raichle, for which I am grateful. \bbl@read@ini{\bbl@KVP@captions}2% % Here all letters cat = 11 \EndBabelCommands \fi - \ifx\bbl@KVP@import\@nnil\else + \ifx\bbl@KVP@date\@nnil\else \StartBabelCommands*{#1}{date}% \bbl@savetoday \bbl@savedate @@ -10267,6 +10292,9 @@ help from Bernd Raichle, for which I am grateful. \bbl@trim\toks@{#2}% \bbl@xin@{;\bbl@section/\bbl@tempa;}{\bbl@key@list}% \ifin@\else + \bbl@xin@{,identification/include.}% + {,\bbl@section/\bbl@tempa}% + \ifin@\edef\bbl@required@inis{\the\toks@}\fi \bbl@exp{% \\\g@addto@macro\\\bbl@inidata{% \\\bbl@elt{\bbl@section}{\bbl@tempa}{\the\toks@}}}% @@ -10292,6 +10320,16 @@ help from Bernd Raichle, for which I am grateful. % |\babelprovide| it's either 1 or 2. % % \begin{macrocode} +\def\bbl@loop@ini{% + \loop + \if T\ifeof\bbl@readstream F\fi T\relax % Trick, because inside \loop + \endlinechar\m@ne + \read\bbl@readstream to \bbl@line + \endlinechar`\^^M + \ifx\bbl@line\@empty\else + \expandafter\bbl@iniline\bbl@line\bbl@iniline + \fi + \repeat} \ifx\bbl@readstream\@undefined \csname newread\endcsname\bbl@readstream \fi @@ -10317,17 +10355,16 @@ help from Bernd Raichle, for which I am grateful. \let\bbl@inistore\bbl@inistore@min % Remember it's local \fi \def\bbl@section{identification}% + \let\bbl@required@inis\@empty \bbl@exp{\\\bbl@inistore tag.ini=#1\\\@@}% \bbl@inistore load.level=#2\@@ - \loop - \if T\ifeof\bbl@readstream F\fi T\relax % Trick, because inside \loop - \endlinechar\m@ne - \read\bbl@readstream to \bbl@line - \endlinechar`\^^M - \ifx\bbl@line\@empty\else - \expandafter\bbl@iniline\bbl@line\bbl@iniline + \bbl@loop@ini + \ifx\bbl@required@inis\@empty\else + \bbl@replace\bbl@required@inis{ }{,}% + \bbl@foreach\bbl@required@inis{% + \openin\bbl@readstream=##1.ini + \bbl@loop@ini}% \fi - \repeat % == Process stored data == \bbl@csarg\xdef{lini@\languagename}{#1}% \bbl@read@ini@aux @@ -10410,7 +10447,7 @@ help from Bernd Raichle, for which I am grateful. \ifx\bbl@tempa\relax\else \bbl@replace\bbl@tempa{=}{}% \ifx\bbl@tempa\@empty\else - \xdef\bbl@calendars{,\bbl@tempa}% + \xdef\bbl@calendars{\bbl@calendars,\bbl@tempa}% \fi \bbl@exp{% \def\<bbl@inikv@#1>####1####2{% @@ -10762,7 +10799,6 @@ help from Bernd Raichle, for which I am grateful. % and therefore always converted with other calendars. TODO. Document % % \begin{macrocode} -% Arguments are _not_ protected. \let\bbl@calendar\@empty \DeclareRobustCommand\localedate[1][]{\bbl@localedate{#1}} \def\bbl@localedate#1#2#3#4{% @@ -10774,6 +10810,7 @@ help from Bernd Raichle, for which I am grateful. \bbl@ifunset{bbl@calpr@\languagename}{}{\bbl@cl{calpr}},% #1}% \bbl@replace\bbl@tempe{ }{}% + \bbl@replace\bbl@tempe{CONVERT}{convert=}% Hackish \bbl@replace\bbl@tempe{convert}{convert=}% \let\bbl@ld@calendar\@empty \let\bbl@ld@variant\@empty @@ -23167,10 +23204,11 @@ Babel.cjk_breaks = { %</ca-persian> % \end{macrocode} % -% \section{Coptic} +% \section{Coptic and Ethiopic} % % Adapted from \texttt{jquery.calendars.package-1.1.4}, written by Keith -% Wood, 2010. Dual license: GPL and MIT. +% Wood, 2010. Dual license: GPL and MIT. The only difference is the +% epoch. % % \begin{macrocode} %<*ca-coptic> @@ -23187,6 +23225,20 @@ Babel.cjk_breaks = { \edef#6{\fp_eval:n{\bbl@tempc - (#5 - 1) * 30 + 1}}} \ExplSyntaxOff %</ca-coptic> +%<*ca-ethiopic> +\ExplSyntaxOn +<@Compute Julian day@> +\def\bbl@ca@ethiopic#1-#2-#3\@@#4#5#6{% + \edef\bbl@tempd{\fp_eval:n{floor(\bbl@cs@jd{#1}{#2}{#3}) + 0.5}}% + \edef\bbl@tempc{\fp_eval:n{\bbl@tempd - 1724220.5}}% + \edef#4{\fp_eval:n{% + floor((\bbl@tempc - floor((\bbl@tempc+366) / 1461)) / 365) + 1}}% + \edef\bbl@tempc{\fp_eval:n{% + \bbl@tempd - (#4-1) * 365 - floor(#4/4) - 1724220.5}}% + \edef#5{\fp_eval:n{floor(\bbl@tempc / 30) + 1}}% + \edef#6{\fp_eval:n{\bbl@tempc - (#5 - 1) * 30 + 1}}} +\ExplSyntaxOff +%</ca-ethiopic> % \end{macrocode} % % \section{Buddhist} diff --git a/macros/latex/required/babel/base/babel.ins b/macros/latex/required/babel/base/babel.ins index e33a43e916..767fe23eb1 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{2022/08/29} +\def\filedate{2022/09/17} \def\batchfile{babel.ins} \input docstrip.tex @@ -137,6 +137,7 @@ \file{nil.ldf}{\from{babel.dtx}{nil}} \file{babel-ca-buddhist.tex}{\from{babel.dtx}{ca-buddhist}} \file{babel-ca-coptic.tex}{\from{babel.dtx}{ca-coptic}} + \file{babel-ca-ethiopic.tex}{\from{babel.dtx}{ca-ethiopic}} \file{babel-ca-hebrew.tex}{\from{babel.dtx}{ca-hebrew}} \file{babel-ca-islamic.tex}{\from{babel.dtx}{ca-islamic}} \file{babel-ca-persian.tex}{\from{babel.dtx}{ca-persian}} diff --git a/macros/latex/required/babel/base/babel.pdf b/macros/latex/required/babel/base/babel.pdf Binary files differindex d742702467..6741e73fcc 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 95360a381a..53b5f46b8e 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}[2022/08/29 v3.79] +\ProvidesFile{bbcompat.dtx}[2022/09/17 v3.80] %</dtx> % %% File 'bbcompat.dtx' |