Skip to content

Commit 0ead69b

Browse files
author
Javier
committed
Bump to 3.71.
1 parent f0a6e8b commit 0ead69b

File tree

6 files changed

+55
-81
lines changed

6 files changed

+55
-81
lines changed

README.md

+3-9
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
## Babel 3.70.2644
1+
## Babel 3.71
22

3-
(Development.)
3+
2022-02-13
44

55
This package manages culturally-determined typographical (and other)
66
rules, and hyphenation patterns for a wide range of languages. Many
@@ -48,19 +48,13 @@ respective authors.
4848

4949
### Summary of Latest changes
5050
```
51-
3.71 2022-02-14?? (dev)
51+
3.71 2022-02-13
5252
* IAST transliteration for Sanskrit (by Maximilian Mehner).
5353
* Fixes:
5454
- Bad interraction between bidi option and mathtools (#166).
5555
- 'provide+=' didn’t work with 'hebrew' as a secondary
5656
language.
5757
- Wrong equation direction in 'cases' and 'array' (#167).
58-
59-
3.70 2022-01-26
60-
* Finnish: transform 'prehyphen.nobreak'.
61-
* Better fixes for amsmath, as well as for the default
62-
'equation' and 'eqnarray' (but still not perfect).
63-
* Fix an error with bidi=basic and some fonts for graphics.
6458
```
6559

6660
### Previous changes

babel.dtx

+50-70
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
%
3333
% \iffalse
3434
%<*filedriver>
35-
\ProvidesFile{babel.dtx}[2022/02/10 v3.70.2644 The Babel package]
35+
\ProvidesFile{babel.dtx}[2022/02/13 v3.71 The Babel package]
3636
\documentclass{ltxdoc}
3737
\GetFileInfo{babel.dtx}
3838
\usepackage{fontspec}
@@ -547,6 +547,7 @@ _\usepackage[vietnamese,danish]{babel}_
547547
\end{note}
548548

549549
\subsection{Mostly monolingual documents}
550+
\label{mostlymono}
550551

551552
\New{3.39} Very often, multilingual documents consist of a main
552553
language with small pieces of text in another languages (words, idioms,
@@ -1291,6 +1292,11 @@ can take the following values:
12911292
\New{3.16} Selects which layout elements are adapted in bidi
12921293
documents. See sec.~\ref{bidi}.
12931294

1295+
\Describe{provide=}{\texttt{*}}
1296+
\New{3.49} An alternative to |\babelprovide| for languages passed as
1297+
options. See section~\ref{inifiles}, which describes also the variants
1298+
|provide+=| and |provide*=|.
1299+
12941300
\subsection{The \texttt{base} option}
12951301

12961302
With this package option \babel{} just loads some basic macros (those
@@ -1327,12 +1333,12 @@ be the same as the option name as set in |\usepackage|!).
13271333
\end{verbatim}
13281334
\end{example}
13291335

1330-
% \begin{note}
1331-
% With a recent version of \LaTeX, an alternative method to execute
1332-
% some code just after an |ldf| file is loaded is with |\AddToHook| and
1333-
% the hook |file/after/<language>.ldf|. \Babel{} does not predeclare
1334-
% it, and you have to do it yourself with |\NewHook| or |\ProvideHook|.
1335-
% \end{note}
1336+
\begin{note}
1337+
With a recent version of \LaTeX, an alternative method to execute
1338+
some code just after an |ldf| file is loaded is with |\AddToHook| and
1339+
the hook |file/<language>.ldf/after|. \Babel{} does not predeclare
1340+
it, and you have to do it yourself with |\ActivateGenericHook|.
1341+
\end{note}
13361342

13371343
\begin{warning}
13381344
Currently this option is not compatible with languages loaded on the
@@ -1344,8 +1350,8 @@ be the same as the option name as set in |\usepackage|!).
13441350

13451351
An alternative approach to define a language (or, more precisely, a
13461352
\textit{locale}) is by means of an \texttt{ini} file. Currently
1347-
\babel{} provides about 200 of these files containing the basic data
1348-
required for a locale.
1353+
\babel{} provides about 250 of these files containing the basic data
1354+
required for a locale, plus basic templates for 500 about locales.
13491355

13501356
|ini| files are not meant only for \babel, and they has been devised as
13511357
a resource for other packages. To easy interoperability between \TeX{}
@@ -1435,11 +1441,12 @@ Or also:
14351441
\begin{description}
14361442
\itemsep=-\parskip
14371443
\item[Arabic] Monolingual documents mostly work in \luatex, but it must
1438-
be fine tuned, particularly graphical elements like |picture|. In \xetex{}
1439-
\babel{} resorts to the \textsf{bidi} package, which seems to work.
1444+
be fine tuned, particularly math and graphical elements like
1445+
|picture|. In \xetex{} \babel{} resorts to the \textsf{bidi} package,
1446+
which seems to work.
14401447
\item[Hebrew] Niqqud marks seem to work in both engines, but depending
14411448
on the font cantillation marks might be misplaced (\xetex{} or
1442-
\luatex{} with Harfbuzz seems better, but still problematic).
1449+
\luatex{} with Harfbuzz seems better).
14431450
\item[Devanagari] In \luatex{} and the the default renderer many fonts
14441451
work, but some others do not, the main issue being the ‘ra’. You may
14451452
need to set explicitly the script to either |deva| or |dev2|, eg:
@@ -1451,8 +1458,8 @@ need to set explicitly the script to either |deva| or |dev2|, eg:
14511458
also work with \xetex{}, although unlike with \luatex{} fine tuning
14521459
the font behavior is not always possible.
14531460
\item[Southeast scripts] Thai works in both \luatex{} and \xetex{}, but
1454-
line breaking differs (rules can be modified in \luatex; they are
1455-
hard-coded in \xetex). Lao seems to work, too, but there are no
1461+
line breaking differs (rules are hard-coded in \xetex, but they can
1462+
be modified in \luatex). Lao seems to work, too, but there are no
14561463
patterns for the latter in \luatex{}. Khemer clusters are rendered
14571464
wrongly with the default renderer. The comment about Indic scripts
14581465
and \textsf{lualatex} also applies here. Some quick patterns can
@@ -1479,7 +1486,7 @@ need to set explicitly the script to either |deva| or |dev2|, eg:
14791486
\item[Latin, Greek, Cyrillic] Combining chars with the default
14801487
\luatex{} font renderer might be wrong; on then other hand, with the
14811488
Harfbuzz renderer diacritics are stacked correctly, but many
1482-
hyphenations points are discarded (this bug seems related to kerning,
1489+
hyphenations points are discarded (this bug is related to kerning,
14831490
so it depends on the font). With \xetex{} both combining characters
14841491
and hyphenation work as expected (not quite, but in most cases it
14851492
works; the problem here are font clusters).
@@ -2129,6 +2136,7 @@ zulu
21292136

21302137
\textbf{Modifying and adding values to |ini| files}
21312138

2139+
\nobreak
21322140
\New{3.39} There is a way to modify the values of |ini| files when they
21332141
get loaded with |\babelprovide| and |import|. To set, say,
21342142
|digits.native| in the |numbers| section, use something like
@@ -2573,6 +2581,9 @@ Remerber there is an alternative syntax for the latter:
25732581
\begin{verbatim}
25742582
\usepackage[italian, polytonicgreek, provide=*]{babel}
25752583
\end{verbatim}
2584+
Finally, also remember you might not need to load |italian| at all if
2585+
there are only a few word in this language (see~\ref{mostlymono}).
2586+
25762587
\end{example}
25772588

25782589
\Describe{script=}{\meta{script-name}}
@@ -2630,7 +2641,10 @@ CJK.
26302641
\Describe{intrapenalty=}{\meta{penalty}}
26312642
Sets the interword penalty for the writing system of this language.
26322643
Currently used only in Southeast Asian scrips, like Thai. Ignored if 0
2633-
(which is the default value).
2644+
(which is the default value).
2645+
2646+
\Describe{transforms=}{\meta{transform-list}}
2647+
See section~\ref{transforms}.
26342648

26352649
\Describe{justification=}{\texttt{kashida} $\string|$
26362650
\texttt{elongated} $\string|$ \texttt{unhyphenated}}
@@ -2676,10 +2690,10 @@ well dates do not rely on |\arabic|.)
26762690

26772691
For example:
26782692
\begin{verbatim}
2679-
\babelprovide[import]{telugu} % Telugu better with XeTeX
2693+
\babelprovide[import]{telugu}
26802694
% Or also, if you want:
26812695
% \babelprovide[import, maparabic]{telugu}
2682-
\babelfont{rm}{Gautami}
2696+
\babelfont{rm}{Gautami} % With luatex, better with Harfbuzz
26832697
\begin{document}
26842698
_\telugudigits{1234}_
26852699
_\telugucounter{section}_
@@ -2827,7 +2841,7 @@ with the following command.
28272841
{\marg{year}\m{month}\m{day}}}
28282842

28292843
By default the calendar is the Gregorian, but an |ini| file may define
2830-
strings for other calendars (currently |ar|, |ar-|*, |he|, |fa|, |hi|.)
2844+
strings for other calendars (currently |ar|, |ar-|*, |he|, |fa|, |hi|).
28312845
In the latter case, the three arguments are the year, the month, and
28322846
the day in those in the corresponding calendar. They are \textit{not}
28332847
the Gregorian data to be converted (which means, say, 13 is a valid
@@ -2853,7 +2867,7 @@ current language.
28532867

28542868
If more than one language is used, it might be necessary to know which
28552869
language is active at a specific time. This can be checked by a call
2856-
to |\iflanguage|, but note here ``language'' is used in the \TeX
2870+
to |\iflanguage|, but note here ``language'' is used in the \TeX{}
28572871
sense, as a set of hyphenation patterns, and \textit{not} as its
28582872
\textsf{babel} name. This macro takes three arguments. The first
28592873
argument is the name of a language; the second and third arguments are
@@ -2940,7 +2954,9 @@ identifier, which can be retrieved with |\localeid|.
29402954
typically the LGC group, South East Asian, like Thai, and CJK, but
29412955
support depends on the engine: \textsf{pdftex} only deals with the
29422956
former, \xetex{} also with the second one (although in a limited way),
2943-
while \luatex{} provides basic rules for the latter, too.
2957+
while \luatex{} provides basic rules for the latter, too. With \luatex{}
2958+
there are also tools for non-standard hyphenation rules, explained in
2959+
the next section.
29442960

29452961
\Describe{\babelhyphen}{%
29462962
\colorbox{thegrey}{\ttfamily\hskip-.2em*\hskip-.2em}\marg{type}}
@@ -3087,6 +3103,7 @@ of the previous char in \luatex, and the font size set by the last
30873103
|\selectfont| in \xetex).
30883104

30893105
\subsection{Transforms}
3106+
\label{transforms}
30903107

30913108
Transforms (only \luatex) provide a way to process the text on the
30923109
typesetting level in several language-dependent ways, like non-standard
@@ -3193,6 +3210,9 @@ Gujarati, Hindi, Kannada, Malayalam, Marathi, Oriya, Tamil, Telugu.}
31933210
\trans{Latin}{letters.uv}{Replaces \textit{v}, \textit{U} with
31943211
\textit{u}, \textit{V}.}
31953212

3213+
\trans{Sanskrit}{transliteration.iast}{The IAST system to
3214+
romanize Devanagari.\footnote{Thanks to Maximilian Mehner}}
3215+
31963216
\trans{Serbian}{transliteration.gajica}{(Note |serbian| with |ini|
31973217
files refers to the Cyrillic script, which is here the target.) The
31983218
standard system devised by Ljudevit Gaj.}
@@ -3280,7 +3300,7 @@ This feature is activated with the first |\babelposthyphenation| or
32803300
\babelprovide[hyphenrules=+]{russian-latin} % Create locale
32813301
\babelprehyphenation{russian-latin}{([sz])h} % Create rule
32823302
{
3283-
string = {1|sz|šž},
3303+
string = _{1|sz|šž}_,
32843304
remove
32853305
}
32863306
\end{verbatim}
@@ -4157,7 +4177,7 @@ for a small example (|xe-bidi|).
41574177
See the code section for |\foreignlanguage*| (a new starred
41584178
version of |\foreignlanguage|).
41594179

4160-
For old an deprecated functions, see the wiki.
4180+
For old an deprecated functions, see the \babel{} site.
41614181

41624182
\medskip
41634183
\textbf{Options for locales loaded on the fly}
@@ -4174,7 +4194,8 @@ extended numerals in Greek).
41744194
\New{3.48} There is some work in progress for \babel{} to deal with
41754195
labels, both with the relation to captions (chapters, part), and how
41764196
counters are used to define them. It is still somewhat tentative
4177-
because it is far from trivial -- see the wiki for further details.
4197+
because it is far from trivial -- see the \babel{} site for further
4198+
details.
41784199

41794200
\section{Loading languages with \file{language.dat}}
41804201

@@ -4926,50 +4947,6 @@ is true with these two environment selectors.
49264947

49274948
Its natural place of use is in hooks or in |\extras|\m{language}.
49284949

4929-
\section{Changes}
4930-
4931-
\subsection{Changes in \babel\ version 3.9}
4932-
4933-
Most of the changes in version 3.9 were related to bugs, either to fix
4934-
them (there were lots), or to provide some alternatives. Even new
4935-
features like |\babelhyphen| are intended to solve a certain problem
4936-
(in this case, the lacking of a uniform syntax and behavior for
4937-
shorthands across languages). These changes, as well as the subsequent
4938-
ones ($\ge$3.10), are described in this manual in the corresponding
4939-
place. A selective list of the changes in 3.9 follows:
4940-
\begin{itemize}
4941-
\item |\select@language| did not set |\languagename|. This meant the
4942-
language in force when auxiliary files were loaded was the one used
4943-
in, for example, shorthands -- if the language was |german|, a
4944-
|\select@language{spanish}| had no effect.
4945-
4946-
\item |\foreignlanguage| and |otherlanguage*| messed up
4947-
|\extras<language>|. Scripts, encodings and many other things were
4948-
not switched correctly.
4949-
4950-
\item The |:ENC| mechanism for hyphenation patterns used the encoding
4951-
of the \textit{previous} language, not that of the language being
4952-
selected.
4953-
4954-
\item |'| (with |activeacute|) had the original value when writing to an
4955-
auxiliary file, and things like an infinite loop can happen. It
4956-
worked incorrectly with |^| (if activated) and also if deactivated.
4957-
4958-
\item Active chars where not reset at the end of language options, and
4959-
that lead to incompatibilities between languages.
4960-
4961-
\item |\textormath| raised an error with a conditional.
4962-
4963-
\item |\aliasshorthand| didn't work (or only in a few and very specific
4964-
cases).
4965-
4966-
\item |\l@english| was defined incorrectly (using |\let| instead of
4967-
|\chardef|).
4968-
4969-
\item |ldf| files not bundled with babel were not recognized when
4970-
called as global options.
4971-
\end{itemize}
4972-
49734950
\DocInput{babel.dtx}
49744951

49754952
\section{Acknowledgements}
@@ -5123,8 +5100,8 @@ help from Bernd Raichle, for which I am grateful.
51235100
% \section{Tools}
51245101
%
51255102
% \begin{macrocode}
5126-
%<<version=3.70.2644>>
5127-
%<<date=2022/02/10>>
5103+
%<<version=3.71>>
5104+
%<<date=2022/02/13>>
51285105
% \end{macrocode}
51295106
%
51305107
% \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -14568,6 +14545,9 @@ end
1456814545
\def\BabelNoAMSMath{\let\bbl@noamsmath\relax}
1456914546
\ifnum\bbl@bidimode>\z@
1457014547
\let\bbl@eqnodir\relax
14548+
% \ifx\matheqdirmode\@undefined\else
14549+
% \matheqdirmode\@ne
14550+
% \fi
1457114551
\AtBeginDocument{%
1457214552
\ifx\maketag@@@\@undefined % Normal equation, eqnarray
1457314553
\AddToHook{env/eqnarray/begin}{%

babel.ins

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
%% and covered by LPPL is defined by the unpacking scripts (with
2727
%% extension .ins) which are part of the distribution.
2828
%%
29-
\def\filedate{2022/02/10}
29+
\def\filedate{2022/02/13}
3030
\def\batchfile{babel.ins}
3131
\input docstrip.tex
3232

babel.pdf

-1.55 KB
Binary file not shown.

bbcompat.dtx

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
%
3131
% \iffalse
3232
%<*dtx>
33-
\ProvidesFile{bbcompat.dtx}[2022/02/10 v3.70.2644]
33+
\ProvidesFile{bbcompat.dtx}[2022/02/13 v3.71]
3434
%</dtx>
3535
%
3636
%% File 'bbcompat.dtx'

samples/lua-arabic.pdf

-1 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)