[latex3-commits] [git/LaTeX3-latex3-babel] master: \shorthandsoff* fixed? Polish: oneletter.nobreak (5aaff0e)
Javier
email at dante.de
Sat Apr 24 08:52:13 CEST 2021
Repository : https://github.com/latex3/babel
On branch : master
Link : https://github.com/latex3/babel/commit/5aaff0e6007314041784ca2c9bc775521174fe18
>---------------------------------------------------------------
commit 5aaff0e6007314041784ca2c9bc775521174fe18
Author: Javier <email at localhost>
Date: Sat Apr 24 08:52:13 2021 +0200
\shorthandsoff* fixed? Polish: oneletter.nobreak
>---------------------------------------------------------------
5aaff0e6007314041784ca2c9bc775521174fe18
README.md | 4 +-
babel.dtx | 58 +++++++++++++++++++++------
babel.ins | 2 +-
babel.pdf | Bin 828809 -> 831891 bytes
bbcompat.dtx | 2 +-
locale/ml/babel-ml.ini | 1 -
locale/pl/babel-pl.ini | 5 +++
news-guides/guides/keys-in-ini-files.md | 3 ++
news-guides/guides/using-babel-with-plain.md | 24 +++++++----
9 files changed, 74 insertions(+), 25 deletions(-)
diff --git a/README.md b/README.md
index bcd0cc7..63d8ace 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-## Babel 3.57.2345
+## Babel 3.57.2352
This package manages culturally-determined typographical (and other)
rules, and hyphenation patterns for a wide range of languages. Many
@@ -49,7 +49,7 @@ respective authors.
3.58 2021-04-28??
* More predefined transforms (lua):
- doubleletter.hyphen: Norsk
- - oneletter.nobreak: Czech, Slovak
+ - oneletter.nobreak: Czech, Polish, Slovak
- hyphen.repeat: Czech, Polish, Portuguese, Slovak, Spanish
* 'prehyphenation' transforms are disabled in verbatim.
* New linebreaking mode ‘unhyphenated’.
diff --git a/babel.dtx b/babel.dtx
index 02397f7..a9d7106 100644
--- a/babel.dtx
+++ b/babel.dtx
@@ -31,7 +31,7 @@
%
% \iffalse
%<*filedriver>
-\ProvidesFile{babel.dtx}[2021/04/17 v3.57.2345 The Babel package]
+\ProvidesFile{babel.dtx}[2021/04/24 v3.57.2352 The Babel package]
\documentclass{ltxdoc}
\GetFileInfo{babel.dtx}
\usepackage{fontspec}
@@ -80,6 +80,13 @@
\usepackage{multicol}
\usepackage{color,colortbl}
\usepackage[linkcolor=blue,urlcolor=blue,colorlinks=true]{hyperref}
+\hypersetup{%
+ pdfsubject={LaTeX Multilingual documents and localization for pdfTeX, LuaTex and
+ XeTeX.},
+ pdfauthor={Johannes Braams, Javier Bezos},
+ pdftitle={Babel},
+ pdfkeywords={TeX, LaTeX, pdfTeX, LuaTeX, XeTeX, internationalization,
+ localization}}
\newcommand\New[1]{%
\colorbox[rgb]{.92, .86, .73}{New #1}\enspace\ignorespaces}
\definecolor{thered} {rgb}{0.65,0.04,0.07}
@@ -89,6 +96,7 @@
\makeatletter
\def\@begintheorem#1#2{%
\list{}{}%
+ \small
\global\advance\@listdepth\m at ne
\item[{\sffamily\bfseries\color{messages}\hspace*{1.3em}%
\MakeUppercase{#1}}]}%
@@ -238,9 +246,9 @@ Xe\largetex
\begin{description}
\item[\sffamily\color{messages}What is this document about?] This user
guide focuses on internationalization and localization with \LaTeX{}
-and \pdftex, \xetex{} and \luatex{} with the \babel{} package. There are
-also some notes on its use with Plain \TeX. Part II describes the code,
-and usually it can be ignored.
+and \pdftex, \xetex{} and \luatex{} with the \babel{} package. There
+are also some notes on its use with e-Plain and pdf-Plain \TeX . Part II
+describes the code, and usually it can be ignored.
\item[\sffamily\color{messages}What if I’m interested only in the
latest changes?] Changes and new features with relation to version 3.8
@@ -631,7 +639,7 @@ modifiers are a more general mechanism.
\subsection{Plain}
-In Plain, load languages styles with |\input| and then use
+In e-Plain and pdf-Plain, load languages styles with |\input| and then use
|\begindocument| (the latter is defined by \babel):
\begin{verbatim}
\input estonian.sty
@@ -640,9 +648,10 @@ In Plain, load languages styles with |\input| and then use
\begin{warning}
Not all languages provide a |sty| file and some of them are not
- compatible with Plain.\footnote{Even in the \babel{} kernel there
- were some macros not compatible with plain. Hopefully these issues
- have been fixed.}
+ compatible with those formats. Please, refer to
+ \href{https://github.com/latex3/babel/blob/%
+ master/news-guides/guides/using-babel-with-plain.md}{Using babel with
+ Plain} for further details.
\end{warning}
\subsection{Basic language selectors}
@@ -1298,7 +1307,7 @@ required for a locale.
|ini| files are not meant only for \babel, and they has been devised as
a resource for other packages. To easy interoperability between \TeX{}
and other systems, they are identified with the BCP 47 codes as
-preferred by the Unicode Common Language Data Repository, which was
+preferred by the Unicode Common Locale Data Repository, which was
used as source for most of the data provided by these files, too (the
main exception being the |\...name| strings).
@@ -3058,8 +3067,8 @@ OTF features), but it can get you out of a hurry.}
Spanish}{hyphen.repeat}{Explicit hyphens behave like
|\string\babelhyphen|\allowbreak|\{repeat\}|.}
-\trans{Czech, Slovak}{oneletter.nobreak}{Converts a space after a
-non-syllabic preposition into a non-breaking space.}
+\trans{Czech, Polish, Slovak}{oneletter.nobreak}{Converts a space after
+a non-syllabic preposition or conjunction into a non-breaking space.}
\trans{Greek}{diaeresis.hyphen}{Removes the diaeresis above iota and
upsilon if hyphenated just before. It works with the
@@ -3165,6 +3174,21 @@ This feature is activated with the first |\babelposthyphenation| or
\end{verbatim}
\end{example}
+\begin{note}
+ With \luatex{} there is another approach to make text
+ transformations, with the function |fonts.handlers.otf.addfeature|,
+ which adds new features to an OTF font. These features can be made
+ language-dependent, and \babel{} by default recognizes this setting
+ if the font has been declared with |\babelfont|. The
+ \textit{transforms} mechanism supplements rather than replaces OTF
+ features.
+
+ With \xetex{}, where \textit{transforms} are not available, there is
+ still another approach, with font mappings, mainly meant to perform
+ encoding conversions and transliterations. Mappings, however, are
+ linked to fonts, not to languages.
+\end{note}
+
\subsection{Selection based on BCP 47 tags}
\label{bcp47}
@@ -4928,8 +4952,8 @@ help from Bernd Raichle, for which I am grateful.
% \section{Tools}
%
% \begin{macrocode}
-%<<version=3.57.2345>>
-%<<date=2021/04/17>>
+%<<version=3.57.2352>>
+%<<date=2021/04/24>>
% \end{macrocode}
%
% \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -8899,10 +8923,13 @@ help from Bernd Raichle, for which I am grateful.
% or |\normal at char|\m{char} in the case of |\bbl at deactivate|.
%
% \begin{macrocode}
+\chardef\bbl at activated\z@
\def\bbl at activate#1{%
+ \chardef\bbl at activated\@ne
\bbl at withactive{\expandafter\let\expandafter}#1%
\csname bbl at active@\string#1\endcsname}
\def\bbl at deactivate#1{%
+ \chardef\bbl at activated\tw@
\bbl at withactive{\expandafter\let\expandafter}#1%
\csname bbl at normal@\string#1\endcsname}
% \end{macrocode}
@@ -9184,6 +9211,11 @@ help from Bernd Raichle, for which I am grateful.
{\bbl at withactive{\expandafter\let\expandafter}#2%
\csname bbl at shdef@\string#2\endcsname
\bbl at csarg\let{shdef@\string#2}\relax}%
+ \ifcase\bbl at activated\or
+ \bbl at activate{#2}%
+ \else
+ \bbl at deactivate{#2}%
+ \fi
\or
\bbl at ifunset{bbl at shdef@\string#2}%
{\bbl at withactive{\bbl at csarg\let{shdef@\string#2}}#2}%
diff --git a/babel.ins b/babel.ins
index 9bc98b1..dd8de65 100644
--- a/babel.ins
+++ b/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/04/17}
+\def\filedate{2021/04/24}
\def\batchfile{babel.ins}
\input docstrip.tex
diff --git a/babel.pdf b/babel.pdf
index 97b50e7..66879b4 100644
Binary files a/babel.pdf and b/babel.pdf differ
diff --git a/bbcompat.dtx b/bbcompat.dtx
index 065e2e2..6b254f8 100644
--- a/bbcompat.dtx
+++ b/bbcompat.dtx
@@ -30,7 +30,7 @@
%
% \iffalse
%<*dtx>
-\ProvidesFile{bbcompat.dtx}[2021/04/17 v3.57.2345]
+\ProvidesFile{bbcompat.dtx}[2021/04/24 v3.57.2352]
%</dtx>
%
%% File 'bbcompat.dtx'
diff --git a/locale/ml/babel-ml.ini b/locale/ml/babel-ml.ini
index 2f1d33b..3cffb6c 100644
--- a/locale/ml/babel-ml.ini
+++ b/locale/ml/babel-ml.ini
@@ -133,7 +133,6 @@ exhyphenchar =
preexhyphenchar =
postexhyphenchar =
hyphenationmin =
-linebreaking = u
; The syntax is liable to change in 'other' values
hyphenate.other.locale = "200C "200D
diff --git a/locale/pl/babel-pl.ini b/locale/pl/babel-pl.ini
index f6e122d..67608f2 100644
--- a/locale/pl/babel-pl.ini
+++ b/locale/pl/babel-pl.ini
@@ -184,6 +184,11 @@ superscriptingExponent = ×
[counters]
+[transforms.prehyphenation]
+oneletter.nobreak.1.0 = { |[aiouwzAIOUWZ]()|() }
+oneletter.nobreak.1.1 = { insert, penalty=10000 }
+oneletter.nobreak.1.2 = {}
+
[transforms.posthyphenation]
hyphen.repeat.1.0 = { (){a}=(){a} }
hyphen.repeat.1.1 = {}
diff --git a/news-guides/guides/keys-in-ini-files.md b/news-guides/guides/keys-in-ini-files.md
index 95b0cfa..b9b9e74 100644
--- a/news-guides/guides/keys-in-ini-files.md
+++ b/news-guides/guides/keys-in-ini-files.md
@@ -89,6 +89,9 @@ calendar, such as in English for days of the week:
**hyphenate.other.script** (Tentative syntax.) Same, based on the
script.
+**linebreaking** The line breaking mode, with a letter: h(yphenated, by
+ default), c(jk), s(outheast Asian), u(nhyphenated).
+
### `labels`
Under development:
diff --git a/news-guides/guides/using-babel-with-plain.md b/news-guides/guides/using-babel-with-plain.md
index 3efbd3f..f64ce10 100644
--- a/news-guides/guides/using-babel-with-plain.md
+++ b/news-guides/guides/using-babel-with-plain.md
@@ -11,7 +11,7 @@ Currently, support for Plain is mostly in a maintenance mode, which
means **many of the features added in the last few months (well, years)
won't work**.
-It is worth noting Babel is *not* compatible with the original Plain,
+It is worth noting Babel is *not* compatible with the original Plain
but rather with a format named `bplain` (admittedly, the manual is
somewhat misleading in this regard). Apparently this format has never
found its way into most of distributions. Version 3.9 added support for
@@ -27,13 +27,13 @@ Here is a minimal working example with two languages:
\input danish.sty % Last language, and therefore the main one
\begindocument
-\chaptername ---\today
+\chaptername---\today
-\foreignlanguage{dutch}{\chaptername ---\today}
+\foreignlanguage{dutch}{\chaptername---\today}
\selectlanguage{dutch}
-\chaptername ---\today
+\chaptername---\today
\bye
```
@@ -42,6 +42,12 @@ Which prints (the date will be different, of course):
> Kapitel—14. april 2021<br>
> Hoofdstuk—14 april 2021
+The optional argument works, so:
+```tex
+\foreignlanguage[captions]{dutch}{\chaptername---\today}
+```
+will print ‘Hoofdstuk’.
+
This is basically all what you can do with Plain TeX, although in some
languages there will be additional features (for example, with
`spanish` `\sen` is correctly recognized) and shorthands are usually
@@ -59,7 +65,8 @@ Everyting related to `\babelprovide` and the `ini` mechanism won't work,
including `\babelfont`. Obviously, features activated as package
options won't work either.
-Hooks work when they make sense in Plain. For example:
+Hooks work when they make sense, which is particularly useful in
+Plain’s DIY philosophy. For example:
```tex
\AddBabelHook[danish]{font}{beforeextras}{\it}
```
@@ -76,9 +83,12 @@ definitions just to avoid errors or simplified versions.
(..... More to follow.)
+## Languages
+
Here is a document which runs with no error messages in pdfTeX and
-ePlain, but with an error in `latin` in TeX (note all of them use
-the Latin script):
+ePlain, but with an error in `latin` in TeX. Note two points: all of
+them use the Latin script, and there is only a set of hyphenation
+patterns (English):
```
\input afrikaans.sty
\input albanian.sty
More information about the latex3-commits
mailing list.