From a65977b7a0d9973e675e06e3b250663288afe988 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sun, 19 May 2024 03:01:32 +0000 Subject: CTAN sync 202405190301 --- macros/latex/required/babel/base/README.md | 20 ++++--- macros/latex/required/babel/base/babel-code.pdf | Bin 647068 -> 647398 bytes macros/latex/required/babel/base/babel.dtx | 74 +++++++++++++----------- macros/latex/required/babel/base/babel.ins | 2 +- macros/latex/required/babel/base/babel.pdf | Bin 423110 -> 423656 bytes macros/latex/required/babel/base/bbcompat.dtx | 2 +- 6 files changed, 54 insertions(+), 44 deletions(-) (limited to 'macros/latex/required/babel') diff --git a/macros/latex/required/babel/base/README.md b/macros/latex/required/babel/base/README.md index 07a872c4ab..3247ec987f 100644 --- a/macros/latex/required/babel/base/README.md +++ b/macros/latex/required/babel/base/README.md @@ -1,6 +1,6 @@ -## Babel 24.4 +## Babel 24.5 -2024-04-20 +2024-05-18 `babel` is the multilingual framework for localizing documents in LaTeX, LuaLaTeX, XeLaTeX. It manages culturally-determined @@ -10,9 +10,9 @@ languages even work with Plain formats. The latest stable version is available on . -Changes in version 24.4 are described in: +Changes in version 24.5 are described in: -https://latex3.github.io/babel/news/whats-new-in-babel-24.4.html +https://latex3.github.io/babel/news/whats-new-in-babel-24.5.html Apart from the manual, you can find information on some aspects of babel at: @@ -48,10 +48,14 @@ respective authors. ### Summary of latest changes ``` -24.4 2024-04-20 - * New ‘interchar’ declarations for Cantonese, Chinese, Japanese and - Korean: linebreak.basic (xe). - * Fixed Tibetan line breaking with closing punctuation (lua). +24.5 2024-05-18 + * Change the first item in `abjad` and `maghrebi.abjad` counters + in `ar-DZ`, `ar-MA` and `ar-TN`), from ا to أ. Suggested by + @seloumi. + * Fixed an error when a locale is loaded on the fly and there are empty + captions in another language (#294) + * Fix in transforms (lua): negative values in `space` and `spacefactor` + raised and error. ``` ### Previous changes diff --git a/macros/latex/required/babel/base/babel-code.pdf b/macros/latex/required/babel/base/babel-code.pdf index b157d32efd..fc188152cf 100644 Binary files a/macros/latex/required/babel/base/babel-code.pdf and b/macros/latex/required/babel/base/babel-code.pdf differ diff --git a/macros/latex/required/babel/base/babel.dtx b/macros/latex/required/babel/base/babel.dtx index 256ec0384c..6a129d2c32 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}[2024/04/20 v24.4 The Babel package] +\ProvidesFile{babel.dtx}[2024/05/18 v24.5 The Babel package] \documentclass{ltxdoc} \GetFileInfo{babel.dtx} \usepackage{fontspec} @@ -2567,11 +2567,11 @@ languages above. So, the previous example is best written as: \babelprovide[_import_]{hungarian} \end{verbatim} -There are about 250 |ini| files, with data taken from the |ldf| files -and the CLDR provided by Unicode. Not all languages in the latter are -complete, and therefore neither are the |ini| files. A few languages -may show a warning about the current lack of suitability of some -features. +There are 380 |ini| files for about 300 languages, with data taken from +the |ldf| files and the CLDR provided by Unicode. Not all languages in +the latter are complete, and therefore neither are the |ini| files. A +few languages may show a warning about the current lack of suitability +of some features. Besides |\today|, this option defines an additional command for dates: |\date|, which takes three arguments, namely, year, month and @@ -3892,22 +3892,26 @@ There are some package options controlling bidi writing. $\string|$ \texttt{basic-r} $\string|$ \texttt{bidi-l} $\string|$ \texttt{bidi-r}} -\New{3.14} Selects the bidi algorithm to be used. With |default| the -bidi mechanism is just activated (by default it is not), but every -change must be marked up. In \xetex{} and \pdftex{} this is the only -option. +\New{3.14} Selects the bidi algorithm to be used. -In \luatex, |basic-r| provides a simple and fast method for R text, -which handles numbers and unmarked L text within an R context many in -typical cases. \New{3.19} Finally, |basic| supports both L and R text, -and it is the preferred method (support for |basic-r| is currently -limited). (They are named \texttt{basic} mainly because they only -consider the intrinsic direction of scripts and weak directionality.) +With |default| the bidi mechanism is just activated (by default it is +not), but every change must be marked up. In \pdftex{} this is the only +option. If the RL text only consists of letters and punctuation, it +will be fine in most cases, but numbers, for example, will be rendered +in the wrong order. -\New{3.29} In \xetex, |bidi-r| and |bidi-l| resort to the package -\textsf{bidi} (by Vafa Khalighi). Integration is still somewhat -tentative, but it mostly works. For RL documents use the former, and -for LR ones use the latter. +In \luatex, the preferred method is |basic|, which supports both L and +R text. |basic-r| was a first attempt to create a bidi algorith and +provides a simple and fast method for R text in some typical cases. +(They are named \texttt{basic} mainly because they only consider the +intrinsic direction of scripts and weak directionality.) + +In \xetex, |bidi-r| and |bidi-l| resort to the package \textsf{bidi} +(by Vafa Khalighi). For RL documents use the former, and for LR ones +use the latter. However, this package patches heavily lots of macros +and packages even if the RL script is not the main one, which can lead +to some surprising results, so for short and simple texts (letters and +punctuation) the |default| method can be preferable. There are samples on GitHub, under \texttt{/required/babel/samples}. See particularly |lua-bidibasic.tex| and |lua-secenum.tex|. @@ -5475,8 +5479,8 @@ wouldn’t exist. % \section{Tools} % % \begin{macrocode} -%<> -%<> +%<> +%<> % \end{macrocode} % % \textbf{Do not use the following macros in \texttt{ldf} files. They @@ -10354,15 +10358,15 @@ wouldn’t exist. \@namedef{extras#1}{}% \@namedef{noextras#1}{}% \bbl@startcommands*{#1}{captions}% - \ifx\bbl@KVP@captions\@nnil % and also if import, implicit + \ifx\bbl@KVP@captions\@nnil % and also if import, implicit \def\bbl@tempb##1{% elt for \bbl@captionslist - \ifx##1\@empty\else + \ifx##1\@nnil\else \bbl@exp{% \\\SetString\\##1{% \\\bbl@nocaption{\bbl@stripslash##1}{#1\bbl@stripslash##1}}}% \expandafter\bbl@tempb \fi}% - \expandafter\bbl@tempb\bbl@captionslist\@empty + \expandafter\bbl@tempb\bbl@captionslist\@nnil \else \ifx\bbl@initoload\relax \bbl@read@ini{\bbl@KVP@captions}2% % Here letters cat = 11 @@ -14592,10 +14596,10 @@ end }} \begingroup \catcode`\%=12 -\catcode`\^=14 +\catcode`\&=14 \catcode`\'=12 \catcode`\~=12 -\gdef\bbl@seaintraspace{^ +\gdef\bbl@seaintraspace{& \let\bbl@seaintraspace\relax \directlua{ Babel = Babel or {} @@ -14611,7 +14615,7 @@ end function Babel.sea_disc_to_space (head) local sea_ranges = Babel.sea_ranges local last_char = nil - local quad = 655360 ^% 10 pt = 655360 = 10 * 65536 + local quad = 655360 &% 10 pt = 655360 = 10 * 65536 for item in node.traverse(head) do local i = item.id if i == node.id'glyph' then @@ -14621,16 +14625,16 @@ end quad = font.getfont(last_char.font).size for lg, rg in pairs(sea_ranges) do if last_char.char > rg[1] and last_char.char < rg[2] then - lg = lg:sub(1, 4) ^% Remove trailing number of, eg, Cyrl1 + lg = lg:sub(1, 4) &% Remove trailing number of, eg, Cyrl1 local intraspace = Babel.intraspaces[lg] local intrapenalty = Babel.intrapenalties[lg] local n if intrapenalty ~= 0 then - n = node.new(14, 0) ^% penalty + n = node.new(14, 0) &% penalty n.penalty = intrapenalty node.insert_before(head, item, n) end - n = node.new(12, 13) ^% (glue, spaceskip) + n = node.new(12, 13) &% (glue, spaceskip) node.setglue(n, intraspace.b * quad, intraspace.p * quad, intraspace.m * quad) @@ -14641,7 +14645,7 @@ end end end end - }^^ + }& \bbl@luahyphenate} % \end{macrocode} % @@ -15321,9 +15325,11 @@ end rep = rep:gsub('^%s*(insert)%s*,', 'insert = true, ') rep = rep:gsub('(string)%s*=%s*([^%s,]*)', Babel.capture_func) if #1 == 0 or #1 == 2 then - rep = rep:gsub('(space)%s*=%s*([%d%.]+)%s+([%d%.]+)%s+([%d%.]+)', + rep = rep:gsub(&% + '(space)%s*=%s*([%-%d%.]+)%s+([%-%d%.]+)%s+([%-%d%.]+)', 'space = {' .. '%2, %3, %4' .. '}') - rep = rep:gsub('(spacefactor)%s*=%s*([%d%.]+)%s+([%d%.]+)%s+([%d%.]+)', + rep = rep:gsub(&% + '(spacefactor)%s*=%s*([%-%d%.]+)%s+([%-%d%.]+)%s+([%-%d%.]+)', 'spacefactor = {' .. '%2, %3, %4' .. '}') rep = rep:gsub('(kashida)%s*=%s*([^%s,]*)', Babel.capture_kashida) else diff --git a/macros/latex/required/babel/base/babel.ins b/macros/latex/required/babel/base/babel.ins index 4bd22c8667..d70ae40c62 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{2024/04/20} +\def\filedate{2024/05/18} \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 index 55df378a61..b541f0bf05 100644 Binary files a/macros/latex/required/babel/base/babel.pdf and b/macros/latex/required/babel/base/babel.pdf differ diff --git a/macros/latex/required/babel/base/bbcompat.dtx b/macros/latex/required/babel/base/bbcompat.dtx index f36bd4b705..00e5a6b8b5 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}[2024/04/20 v24.4] +\ProvidesFile{bbcompat.dtx}[2024/05/18 v24.5] % % %% File 'bbcompat.dtx' -- cgit v1.2.3