From afbba3b1d12f17572ca4745766f2e0d55a6f58f3 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 8 Jan 2024 03:02:10 +0000 Subject: CTAN sync 202401080302 --- macros/latex/required/babel/base/README.md | 30 +++------- macros/latex/required/babel/base/babel-code.pdf | Bin 641724 -> 642704 bytes macros/latex/required/babel/base/babel.dtx | 72 ++++++++++++++++++------ macros/latex/required/babel/base/babel.ins | 4 +- macros/latex/required/babel/base/babel.pdf | Bin 419191 -> 419409 bytes macros/latex/required/babel/base/bbcompat.dtx | 2 +- 6 files changed, 67 insertions(+), 41 deletions(-) (limited to 'macros/latex/required/babel/base') diff --git a/macros/latex/required/babel/base/README.md b/macros/latex/required/babel/base/README.md index def9611a9d..55553c86e8 100644 --- a/macros/latex/required/babel/base/README.md +++ b/macros/latex/required/babel/base/README.md @@ -1,6 +1,6 @@ -## Babel 3.99 +## Babel 24.1 -2023-12-10 +2024-01-07 This package manages culturally-determined typographical (and other) rules, and hyphenation patterns for a wide range of languages. Many @@ -10,9 +10,9 @@ is a set of ini files for about 300 languages. The latest stable version is available on . -Changes in version 3.99 are described in: +Changes in version 24.1 are described in: -https://latex3.github.io/babel/news/whats-new-in-babel-3.99.html +https://latex3.github.io/babel/news/whats-new-in-babel-24.1.html Apart from the manual, you can find information on some aspects of babel at: @@ -48,23 +48,11 @@ respective authors. ### Summary of latest changes ``` -3.99 2023-12-10 - * Spurious space in some cases because of a missing % (introduced - in 3.98). - * Two new locales: chakma and lowgerman. - * And more bare minimum locales: aramaic, avestan, aymara, - bashkir, bataktoba, bavarian, classicalmandaic, ingush, komi, - lepcha, limbu, lineara, lu, makasar, samaritan, sinteromani, - tainua, tangut, waray. - -3.98 2023-12-06 - * Case mappings in ini files, with new casing variants in the - Latin locales. - * New: \ShowLocaleProperties. - * Improved Persian/Farsi, thanks to Farshad Rasuli - (@farshadrasuli). - * In some languages and xetex, the language name was printed with - the first \foreignlanguage. +24.1 2024-01-07 + * New version numbering scheme. + * New key in \babelprovide: interchar (xe). + * Definitions for French interchar=punctuation.space (xe) and + transforms=punctuation.space (lua). ``` ### Previous changes diff --git a/macros/latex/required/babel/base/babel-code.pdf b/macros/latex/required/babel/base/babel-code.pdf index fad4043c77..d9b3837fe9 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 aa4c096b0d..4bf1f3e84d 100644 --- a/macros/latex/required/babel/base/babel.dtx +++ b/macros/latex/required/babel/base/babel.dtx @@ -1,7 +1,7 @@ % \iffalse % This document requires lualatex %% -%% Copyright (C) 2012-2023 Javier Bezos and Johannes L. Braams. +%% Copyright (C) 2012-2024 Javier Bezos and Johannes L. Braams. %% Copyright (C) 1989-2012 Johannes L. Braams and %% any individual authors listed elsewhere in this file. %% All rights reserved. @@ -32,7 +32,7 @@ % % \iffalse %<*filedriver> -\ProvidesFile{babel.dtx}[2023/12/10 v3.99 The Babel package] +\ProvidesFile{babel.dtx}[2024/01/07 v24.1 The Babel package] \documentclass{ltxdoc} \GetFileInfo{babel.dtx} \usepackage{fontspec} @@ -90,17 +90,23 @@ localization}} \ExplSyntaxOn \newcommand\New[1]{% - \regex_extract_once:nnN{(\d\d?)\.(\d\d)}{#1}\bbltempa + \regex_extract_once:nnN{(\d\d?)\.(\d\d?)}{#1}\bbltempa \seq_pop_right:NN\bbltempa\bbltempb \seq_pop_right:NN\bbltempa\bbltempa \colorbox[rgb]{.92, .86, .73}% {New~#1% \quark_if_no_value:NTF\bbltempb{}% - {~\ifnum\bbltempa>2 \ifnum\bbltempb>34 + {~ + \ifnum\bbltempa>2 \ifnum\bbltempb>34 \href{https://latex3.github.io/babel/news/% whats-new-in-babel-\bbltempa.\bbltempb.html}% {\raisebox{.15ex}{$\oplus$}}% - \fi\fi}}\enspace\ignorespaces} + \fi\fi + \ifnum\bbltempa>23 + \href{https://latex3.github.io/babel/news/% + whats-new-in-babel-\bbltempa.\bbltempb.html}% + {\raisebox{.15ex}{$\oplus$}}% + \fi}}\enspace\ignorespaces} \ExplSyntaxOff \definecolor{thered}{rgb}{0.65,0.04,0.07} \definecolor{thegrey}{gray}{0.8} @@ -275,7 +281,8 @@ are highlighted with \New{X.XX}\hspace{-.5em} (\raisebox{.15ex}{$\oplus$} is a link to the \babel{} site), and there are some notes for the latest versions in \href{https://latex3.github.io/babel/}{the \babel{} site}. The most -recent features can be still unstable. +recent features can be still unstable. Remember version 24.1 follows +3.99, because of a new numbering scheme. \item[\sffamily\color{messages}Can I help?] Sure! If you are interested in the \TeX{} multilingual support, please join the @@ -1465,7 +1472,7 @@ Or also: \item[Hebrew] Niqqud marks seem to work in both engines, but depending on the font cantillation marks might be misplaced (\xetex{} or \luatex{} with Harfbuzz seems better). -\item[Devanagari] In \luatex{} and the the default renderer many fonts +\item[Devanagari] In \luatex{} and the default renderer many fonts work, but some others do not, the main issue being the ‘ra’. You may need to set explicitly the script to either |deva| or |dev2|, eg: \begin{verbatim} @@ -2972,7 +2979,7 @@ line breaking mode is not really ‘sloppy’ (in other words, overfull boxes are reported as usual). The second and the third are for the Arabic script. It sets the -linebreaking and justification method, which can be based on the the +linebreaking and justification method, which can be based on the \textsc{arabic tatweel} character or in the ‘justification alternatives’ OpenType table (\texttt{jalt}). For an explanation see the @@ -3628,6 +3635,9 @@ a non-syllabic preposition or conjunction into a non-breaking space.} \trans{Finnish}{prehyphen.nobreak}{Line breaks just after hyphens prepended to words are prevented, like in “pakastekaapit ja -arkut”.} +\trans{French}{punctuation.space}{Rules for proper spacing with +characters \textit{;:!?«»} are applied.} + \trans{Greek}{diaeresis.hyphen}{Removes the diaeresis above iota and upsilon if hyphenated just before. It works with the three variants.} @@ -3901,6 +3911,13 @@ current language. however, must be large enough for many uses). \end{warning} +\Describe{interchar=}{\meta{interchar-list}} + +\New{24.1} This key in |\babelprovide| activates predefined rules for +the ‘provided’ locale. Currently there is a set of rules for French +named |punctuation.space|, which applies proper spacing with characters +\textit{;:!?«»}. + \subsection{Selection based on BCP 47 tags} \label{bcp47} @@ -5678,8 +5695,8 @@ wouldn’t exist. % \section{Tools} % % \begin{macrocode} -%<> -%<> +%<> +%<> % \end{macrocode} % % \textbf{Do not use the following macros in \texttt{ldf} files. They @@ -10202,7 +10219,7 @@ wouldn’t exist. \bbl@vforeach{captions,date,import,main,script,language,% hyphenrules,linebreaking,justification,mapfont,maparabic,% mapdigits,intraspace,intrapenalty,onchar,transforms,alph,% - Alph,labels,labels*,calendar,date,casing}% + Alph,labels,labels*,calendar,date,casing,interchar}% {\bbl@csarg\let{KVP@##1}\@nnil}% \global\let\bbl@release@transforms\@empty \global\let\bbl@release@casing\@empty @@ -12872,9 +12889,17 @@ wouldn’t exist. \csname bbl@mod@\CurrentOption\endcsname \bbl@exp{\\\AtBeginDocument{% \\\bbl@usehooks@lang{\CurrentOption}{begindocument}{{\CurrentOption}}}}}% - {\bbl@error{% + {\IfFileExists{babel-#1.tex}% + {\def\bbl@tempa{% + .\\There is a locale ini file for this language.\\% + If it’s the main language, try adding `provide=*'\\% + to the babel package options}}% + {\let\bbl@tempa\empty}% + \bbl@error{% Unknown option '\CurrentOption'. Either you misspelled it\\% - or the language definition file \CurrentOption.ldf was not found}{% + or the language definition file \CurrentOption.ldf\\% + was not found% + \bbl@tempa}{% Valid options are, among others: shorthands=, KeepShorthandsActive,\\% activeacute, activegrave, noconfigs, safe=, main=, math=\\% headfoot=, strings=, config=, hyphenmap=, or a language name.}}} @@ -13954,6 +13979,18 @@ wouldn’t exist. % special case, hyphens are stored as |\bbl@upto|, to deal with ranges. % % \begin{macrocode} +\newcommand\IfBabelIntercharT[1]{% + \let\bbl@tempa\@gobble % Assume to ignore + \edef\bbl@tempb{\zap@space#1 \@empty}% + \ifx\bbl@KVP@interchar\@nnil\else + \bbl@replace\bbl@KVP@interchar{ }{,}% + \bbl@foreach\bbl@tempb{% + \bbl@xin@{,##1,}{,\bbl@KVP@interchar,}% + \ifin@ + \let\bbl@tempa\@firstofone + \fi}% + \fi + \bbl@tempa} \newcommand\babelcharclass[3]{% \EnableBabelHook{babel-interchar}% \bbl@csarg\newXeTeXintercharclass{xeclass@#2@#1}% @@ -14013,9 +14050,9 @@ wouldn’t exist. \bbl@exp{\\\bbl@for\\\bbl@tempb{\zap@space#4 \@empty}}{% \XeTeXinterchartoks \@nameuse{bbl@xeclass@\bbl@tempa @% - \bbl@ifunset{bbl@xeclass@\bbl@tempa @#2}{}{#2}} + \bbl@ifunset{bbl@xeclass@\bbl@tempa @#2}{}{#2}} % \@nameuse{bbl@xeclass@\bbl@tempb @% - \bbl@ifunset{bbl@xeclass@\bbl@tempb @#2}{}{#2}} + \bbl@ifunset{bbl@xeclass@\bbl@tempb @#2}{}{#2}} % = \expandafter{% \csname bbl@ic@\bbl@kv@label @#2\expandafter\endcsname \csname\zap@space bbl@xeinter@\bbl@kv@label @@ -14151,7 +14188,8 @@ wouldn’t exist. % \subsection{8-bit TeX} % % Which start just above, because some code is shared with \xetex. Now, -% 8-bit specific stuff. +% 8-bit specific stuff. If just one encoding has been declared, then +% asume no switching is necessary (1). % % \begin{macrocode} %<*texxet> @@ -14165,7 +14203,7 @@ wouldn’t exist. \bbl@foreach\bbl@tempe{% \def\bbl@tempd{##1}% Save last declared \advance\count@\@ne}% - \ifnum\count@>\@ne + \ifnum\count@>\@ne % (1) \getlocaleproperty*\bbl@tempa{#1}{identification/encodings}% \ifx\bbl@tempa\relax \let\bbl@tempa\@empty \fi \bbl@replace\bbl@tempa{ }{,}% diff --git a/macros/latex/required/babel/base/babel.ins b/macros/latex/required/babel/base/babel.ins index ab14e5ccb8..5c80152d15 100644 --- a/macros/latex/required/babel/base/babel.ins +++ b/macros/latex/required/babel/base/babel.ins @@ -3,7 +3,7 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright 2012-2023 Javier Bezos and Johannes L. Braams. +%% Copyright 2012-2024 Javier Bezos and Johannes L. Braams. %% Copyright 1989-2008 Johannes L. Braams and any individual authors %% listed elsewhere in this file. All rights reserved. %% @@ -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{2023/12/10} +\def\filedate{2024/01/07} \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 e17676a481..b28a330557 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 7afefacc0a..e1de136111 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}[2023/12/10 v3.99] +\ProvidesFile{bbcompat.dtx}[2024/01/07 v24.1] % % %% File 'bbcompat.dtx' -- cgit v1.2.3