[latex3-commits] [git/LaTeX3-latex3-latex2e] master: (babel) Bump to 3.23 (4b44acd)

Javier javier at dante.de
Sun Sep 2 13:42:33 CEST 2018


Repository : https://github.com/latex3/latex2e
On branch  : master
Link       : https://github.com/latex3/latex2e/commit/4b44acdb3b0d0201e79a9777444f9b1a7e4ecf96

>---------------------------------------------------------------

commit 4b44acdb3b0d0201e79a9777444f9b1a7e4ecf96
Author: Javier <javier at localhost>
Date:   Sun Sep 2 13:42:33 2018 +0200

    (babel) Bump to 3.23


>---------------------------------------------------------------

4b44acdb3b0d0201e79a9777444f9b1a7e4ecf96
 required/babel/README.md    |   35 ++++-----
 required/babel/babel.dtx    |  175 +++++++++++++++++++------------------------
 required/babel/babel.ins    |    2 +-
 required/babel/babel.pdf    |  Bin 654042 -> 652139 bytes
 required/babel/bbcompat.dtx |    2 +-
 5 files changed, 94 insertions(+), 120 deletions(-)

diff --git a/required/babel/README.md b/required/babel/README.md
index 5cb7818..b049831 100644
--- a/required/babel/README.md
+++ b/required/babel/README.md
@@ -1,4 +1,4 @@
-## Babel 3.22.1381
+## Babel 3.23
 
 This package manages culturally-determined typographical (and other)
 rules, and hyphenation patterns for a wide range of languages.  Many
@@ -61,9 +61,20 @@ You may also report them to the author more informally on:
 Bugs related to specific languages are best reported to their
 respective authors.
 
-### New
+### Latest changes
 
 ```
+3.23   - After extensive tests and fixing some issues, bidi=basic is 
+         not experimental any longer.
+       - import in \babelprovide does not require a language code if
+         the language name is a recognized one.
+       - New macro: \ifbabelshorthand.
+       - TS1, T3 and TS3 have been added to the non-ascii list, to 
+         avoid problems in case no ASCII-savvy encoding is requested.
+       - Define Language and Script if fontspec does not known them (eg, 
+         the Japanese script).
+       - Set the \thepage bidi bahavior in foots/heads.
+       - Fix - Undefined \bbl at stripslash in Plain.
 3.22   - Fix - Error with \chapter if empty in ini
        - Prelimimary support for Sanskrit
        - Unknown languages in aux files do not raise an error
@@ -108,26 +119,8 @@ respective authors.
        - Fix - \<language>date did not work correctly
        - Fix - with some languages (eg, british), using
          \babelfont raised an error.
-
-3.15  - New command \babelfont (in Unicode engines) to define
-        language/script dependent fonts. Related to it, new
-        keys (script, language) in \babelprovide.
-      - A common mistake is to leave some space(s) in \captions<lang>,
-        which go to the document. Now babel removes them.
-      - Fix - Error with hyphenrules in \babelprovide in some cases.
-      - Fix - \hyphenrules doesn't set \languagename any more (which
-        was against the documented behavior),
-	
-3.14  - R text (Hebrew-like) and AL text (Arabic-like) in luatex, with
-        "European" and "Arabic" numbers, mirroring and unmarked L text.
-      - Fix - `import' ignored `hyphenrules' in ini files.
-
-3.13  - Existing ldf files takes priority over declared options with
-        \DeclareOption (except hebrew).
-      - With a few exceptions, ini files have reached version 1.0.
-      - New key `import' for \babelprovide, which also defines dates. 
 ```
 
 Javier Bezos
-2018/08/27
+2018/09/02
 
diff --git a/required/babel/babel.dtx b/required/babel/babel.dtx
index ae4cc57..24cfe57 100644
--- a/required/babel/babel.dtx
+++ b/required/babel/babel.dtx
@@ -31,7 +31,7 @@
 %
 % \iffalse
 %<*filedriver>
-\ProvidesFile{babel.dtx}[2018/08/27 v3.22.1381 The Babel package]
+\ProvidesFile{babel.dtx}[2018/09/02 v3.23 The Babel package]
 \documentclass{ltxdoc}
 \GetFileInfo{babel.dtx}
 \usepackage{fontspec}
@@ -236,9 +236,8 @@ Javier Bezos
 \item  Changes and new features with relation to version 3.8 are
   highlighted with \New{X.XX}\hspace{-.5em}. The most recent features
   could be still unstable. Please, report any issues you find on      
-  \texttt{https://github.com/latex3/latex2e/issues}, and note just
-  complaining on an e-mail list or a web forum is usually of little
-  help.
+  \texttt{https://github.com/latex3/latex2e/issues}, which is better 
+  than just complaining on an e-mail list or a web forum.
 
 \item If you are interested in the \TeX{} multilingual support, please
   join the \textsf{kadingira} list on
@@ -529,7 +528,7 @@ In Plain, load languages styles with |\input| and then use
   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
-  will be fixed soon.}
+  have been fixed.}
 \end{warning}
 
 \subsection{Basic language selectors}
@@ -582,7 +581,9 @@ extra definitions and the hyphenation rules for the language,
 the language to auxiliary files (i.e., the surrounding language is
 still in force), and (3) it works even if the language has not been
 set as package option (but in such a case it only sets the hyphenation
-patterns and a warning is shown).
+patterns and a warning is shown). With the |bidi| option, it also 
+enters in horizontal mode (this is not done always for backwards 
+compatibility).
 
 \subsection{Auxiliary language selectors}
 
@@ -779,8 +780,11 @@ list of characters as their arguments.
 The command |\shorthandoff| sets the |\catcode| for each of the
 characters in its argument to other (12); the command |\shorthandon|
 sets the |\catcode| to active (13). Both commands only work on `known'
-shorthand characters. If a character is not known to be a shorthand
-character its category code will be left unchanged.
+shorthand characters.
+
+% TODO - Is the following true ????
+% If a character is not known to be a shorthand character its category
+% code will be left unchanged.
 
 \New{3.9a} However, |\shorthandoff| does not behave as
 you would expect with characters like |~| or |^|, because they
@@ -811,7 +815,7 @@ are always activated.
 
 Currently, if the package option |shorthands| is used, you must include any
 character to be activated with |\useshorthands|. This restriction will
-be lifted in a future release.
+be lifted in a future release.  % <- TODO
 
 \Describe\defineshorthand{\texttt{[}\langlist\texttt{]}%
      \marg{shorthand}\marg{code}}
@@ -952,6 +956,10 @@ which is let, like the standard |~|, to a non breaking
 space.\footnote{This declaration serves to nothing, but it is
 preserved for backward compatibility.}
 
+\Describe\ifbabelshorthand{\marg{character}\marg{true}\marg{false}}
+
+\New{3.23} Tests if a character has been made a shorthand.
+
 \subsection{Package options}
 
 \New{3.9a}
@@ -1081,7 +1089,8 @@ can take the following values:
   really useful, but who knows.}
 \end{description}
 
-\Describe{bidi=}{}
+\Describe{bidi=}{\texttt{default} $\string|$ \texttt{basic}
+  $\string|$ \texttt{basic-r}}
 
 \New{3.14} Selects the bidi algorithm to be used in \luatex{} and
 \xetex{}. See sec.~\ref{bidi}.
@@ -2002,7 +2011,11 @@ LICR (ie, with macros like |\'| or |\ss|) ones.
 \New{3.23} It may be used without a value. In such a case, the |ini|
 file set in the corresponding |babel-<language>.tex| (where
 |<language>| is the last argument in |\babelprovide|) is imported. See
-the list of recognized languages above.
+the list of recognized languages above. So, the previous example could 
+be written:
+\begin{verbatim}
+\babelprovide[import]{hungarian}
+\end{verbatim}
 
 There are about 200 |ini| files, with data taken from the |ldf| files
 and the CLDR provided by Unicode. Not all languages in the latter are
@@ -2011,10 +2024,10 @@ will show a warning about the current lack of suitability of the date
 format (\textsf{hindi}, \textsf{french}, \textsf{breton}, and
 \textsf{occitan}).
 
-Besides |\today|, there is a |\<language>date| macro with three
-arguments: year, month and day numbers. In fact, |\today| calls
-|\<language>today|, which in turn calls
-|\<language>date{\the\year}{\the\month}{\the\day}|.
+Besides |\today|, this option defines an additional command for dates:
+|\<language>date|, which takes three arguments, namely, year, month and
+day numbers. In fact, |\today| calls |\<language>today|, which in turn
+calls |\<language>date{\the\year}{\the\month}{\the\day}|.
 
 \Describe{captions=}{\meta{language-tag}}
 Loads only the strings. For example:
@@ -2050,7 +2063,8 @@ one. Only in newly defined languages.
 \Describe{script=}{\meta{script-name}} \New{3.15} Sets the script name
 to be used by \textsf{fontspec} (eg, |Devanagari|). Overrides the
 value in the |ini| file. This value is particularly important because
-it sets the writing direction.
+it sets the writing direction, so you must use it if for some reason 
+the default value is wrong.
 
 \Describe{language=}{\meta{language-name}} \New{3.15} Sets the
 language name to be used by \textsf{fontspec} (eg, |Hindi|). Overrides
@@ -2060,20 +2074,20 @@ relevant.
 \begin{note}
   (1) If you need shorthands, you can use |\useshorthands| and
   |\defineshorthand| as described above. (2) Captions and |\today| are
-  ``ensured'' with |\babelensure| (this is be the default in
+  ``ensured'' with |\babelensure| (this is the default in
   |ini|-based languages).
 \end{note}
 
 \subsection{Digits}
 
-\New{3.20} A few |ini| files define a field named |digits.native|. When
-it is present, two macros are created: |\<language>digits| and
-|\<language>counter| (only \xetex{} and \luatex{}). With the first, a
-string of ‘Latin’ digits are converted to the native digits of that
-language; the second takes a counter name as argument. With option
-|maparabic| in |\babelprovide|, |\arabic| is redefined to produce the
-native digits (this is done \textit{globally}, to avoid inconsistencies
-in, for example, page numbering).
+\New{3.20} About thirty |ini| files define a field named
+|digits.native|. When it is present, two macros are created:
+|\<language>digits| and |\<language>counter| (only \xetex{} and
+\luatex{}). With the first, a string of ‘Latin’ digits are converted to
+the native digits of that language; the second takes a counter name as
+argument. With the option |maparabic| in |\babelprovide|, |\arabic| is
+redefined to produce the native digits (this is done \textit{globally},
+to avoid inconsistencies in, for example, page numbering).
 
 For example:
 \begin{verbatim}
@@ -2257,11 +2271,12 @@ bug described in the previous paragraph.
 If non-ASCII encodings are not loaded (or no encoding at all), it is
 no-op (also |\TeX| and |\LaTeX| are not redefined); otherwise,
 |\ensureascii| switches to the encoding at the beginning of the
-document if ASCII-savvy, or else the last ASCII-savvy encoding
-loaded. For example, if you load |LY1,LGR|, then it is set to |LY1|,
-but if you load |LY1,T2A| it is set to |T2A|. The symbol encodings
-|TS1|, |T3|, and |TS3| are not taken into account, since they are not
-used for ``ordinary'' text.
+document if ASCII-savvy, or else the last ASCII-savvy encoding loaded.
+For example, if you load |LY1,LGR|, then it is set to |LY1|, but if you
+load |LY1,T2A| it is set to |T2A|. The symbol encodings |TS1|, |T3|,
+and |TS3| are not used for ``ordinary'' text, so they should be
+selected with some other encoding, but they are taken into account,
+just in case.
 
 The foregoing rules (which are applied ``at begin document'') cover
 most of cases. No asumption is made on characters above
@@ -2297,17 +2312,17 @@ differ in the way `weak' numeric characters are ordered (eg, Arabic
 
 There are some package options controlling bidi writing.
 
-\Describe{bidi=}{\texttt{default} $\string|$ \texttt{basic-r}
-  $\string|$ \texttt{basic}}
+\Describe{bidi=}{\texttt{default} $\string|$ \texttt{basic}
+  $\string|$ \texttt{basic-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 by marked up. In \xetex{} and \pdftex{} this is the only
 option. In \luatex, |basic-r| provides a simple and fast method for R
-text, which handles numbers and unmarked L text within an R context.
-\New{3.19} Finally, |basic| suports both L and R text. (They are named
-\texttt{basic} mainly because they only consider the intrinsic
-direction of scripts and weak directionality.)
+text, which handles numbers and unmarked L text within an R context in
+typical cases. \New{3.19} Finally, |basic| supports both L and R text.
+(They are named \texttt{basic} mainly because they only consider the
+intrinsic direction of scripts and weak directionality.)
 
 There are samples on GitHub, under \texttt{/required/babel/samples}.
 See particularly |lua-bidibasic.tex| and |lua-secenum.tex|.
@@ -2389,8 +2404,8 @@ _\babelprovide[import, main]{arabic}_
   direction as the script for the “provided” language (|arabic| in
   this case), then change its font to that set for this language’ (here
   defined via |*arabic|, because Crimson does not provide Arabic
-  letters). Note Hebrew and Arabic have different directions 
-  (internally ‘r’ and ‘al’, respectively).
+  letters). Note Hebrew and Arabic, following the Unicode rules, have
+  different directions (internally ‘r’ and ‘al’, respectively).
 \end{example}
 
 \begin{note}
@@ -2479,16 +2494,17 @@ required by all engines.
 
 \item[extras] is used for miscelaneous readjustments which do not fit into
   the previous groups. Currently redefines in \luatex{} |\underline| and
-  |LaTeX2e| \New{3.19}.
+  |\LaTeX2e| \New{3.19}.
 \end{description}
 
 \Describe{\babelsublr}{\marg{lr-text}}
 
 Digits in \pdftex{} must be marked up explicitly (unlike \luatex{} with
-|bidi=basic-r| and, usually, \xetex{}). This command is provided to set
-\marg{lr-text} in L mode if necessary. It's intended for what Unicode
-calls weak characters, because words are best set with the
-corresponding language. For this reason, there is no |rl| counterpart.
+|bidi=basic| or |bidi=basic-r| and, usually, \xetex{}). This command is
+provided to set \marg{lr-text} in L mode if necessary. It's intended
+for what Unicode calls weak characters, because words are best set with
+the corresponding language. For this reason, there is no |rl|
+counterpart.
 
 Any |\babelsublr| in \textit{explicit} L mode is ignored. However, with
 |bidi=basic| and \textit{implicit} L, it first returns to R and then
@@ -3662,7 +3678,7 @@ assignment is wrong, fix it directly.
 
 \subsection{Changes in \babel\ version 3.9}
 
-Most of changes in version 3.9 are related to bugs, either to fix them
+Most of changes in version 3.9 were related to bugs, either to fix them
 (there were lots), or to provide some alternatives. Even new features
 like |\babelhyphen| are intended to solve a certain problem (in this
 case, the lacking of a uniform syntax and behavior for shorthands
@@ -3701,45 +3717,6 @@ corresponding place. A selective list follows:
   called as global options.
 \end{itemize}
 
-\subsection{Changes in \babel\ version 3.7}
-
-In \babel\ version 3.7 a number of bugs that were found in
-version~3.6 are fixed. Also a number of changes and additions
-have occurred:
-\begin{itemize}
-\item Shorthands are expandable again. The disadvantage is that
-  one has to type |'{}a| when the acute accent is used as a
-  shorthand character. The advantage is that a number of other
-  problems (such as the breaking of ligatures, etc.) have
-  vanished.
-\item Two new commands, |\shorthandon| and |\shorthandoff| have
-  been introduced to enable to temporarily switch off one or more
-  shorthands.
-\item Support for typesetting Hebrew (and potential support for
-  typesetting other right-to-left written languages) is now
-  available thanks to Rama Porrat and Boris Lavva.
-\item A language attribute has been added to the |\mark...|
-  commands in order to make sure that a Greek header line comes
-  out right on the last page before a language switch.
-\item Hyphenation pattern files are now read \emph{inside a
-  group}; therefore any changes a pattern file needs to make to
-  lowercase codes, uppercase codes, and category codes are kept
-  local to that group. If they are needed for the language, these
-  changes will need to be repeated and stored in |\extras...|
-\item The concept of language attributes is introduced. It is intended
-  to give the user some control over the features a
-  language-definition file provides. Its first use is for the Greek
-  language, where the user can choose the πολυτονικό (``polytonikó'' or
-  multi-accented) Greek way of typesetting texts.
-\item The environment \Lenv{hyphenrules} is introduced.
-\item The syntax of the file \file{language.dat} has been
-  extended to allow (optionally) specifying the font
-  encoding to be used while processing the patterns file.
-\item The command |\providehyphenmins| should now be used in
-  language definition files in order to be able to keep any
-  settings provided by the pattern file.
-\end{itemize}
-
 \DocInput{babel.dtx}
 
 \section{Acknowledgements}
@@ -3888,8 +3865,8 @@ help from Bernd Raichle, for which I am grateful.
 % \section{Tools}
 %
 %    \begin{macrocode}
-%<<version=3.22.1381>>
-%<<date=2018/08/27>>
+%<<version=3.23>>
+%<<date=2018/09/02>>
 %    \end{macrocode}
 %
 % \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -6190,14 +6167,13 @@ help from Bernd Raichle, for which I am grateful.
 \fi
 %    \end{macrocode}
 %
-% \changes{babel~3.23}{2018/08/26}{Added \cs{IfBabelShorthand}}
+% \changes{babel~3.23}{2018/08/26}{Added \cs{ifbabelshorthand}}
 %
-% You may want to test if a character is a shorthand. Mainly intended 
-% for packages, and therefore marked with camel case. Note it does not 
+% You may want to test if a character is a shorthand. Note it does not
 % test whether the shorthand is on or off.
 %
 %    \begin{macrocode}
-\def\IfBabelShorthand#1#2#3{\bbl at ifunset{bbl at active@\string#1}{#3}{#2}}
+\newcommand\ifbabelshorthand[3]{\bbl at ifunset{bbl at active@\string#1}{#3}{#2}}
 %    \end{macrocode}
 %
 % \changes{babel~3.9a}{2012/12/27}{Removed redundant system declarations}
@@ -7755,6 +7731,7 @@ help from Bernd Raichle, for which I am grateful.
 %   only with direction}
 % \changes{babel~3.20}{2018/05/01}{Handle native digits (TeX level).
 %   New option - maparabic.}
+% \changes{babel~3.23}{2018/09/01}{Valueless import}
 %
 %    \begin{macrocode}
 \bbl at trace{Creating languages and reading ini files}
@@ -8606,6 +8583,9 @@ help from Bernd Raichle, for which I am grateful.
 %    it into the token registers}
 % \changes{babel~3.9t}{2017/04/23}{Refactored \cs{markright} and
 %    \cs{markboth}}
+% \changes{babel~3.23}{2018/09/01}{Trick to isolate the bidi in page 
+%    numbers}
+%
 %
 %    We check whether the argument is empty; if it is, we just make
 %    sure the scratch token register is empty.  Next, we store the
@@ -8942,13 +8922,12 @@ help from Bernd Raichle, for which I am grateful.
 %  Because documents may use non-ASCII font encodings, we make sure
 %  that the logos of \TeX\ and \LaTeX\ always come out in the right
 %  encoding. There is a list of non-ASCII encodings. Unfortunately,
-%  \textsf{fontenc} deletes its package options, so we must guess
-%  which encodings has been loaded by traversing |\@filelist| to
-%  search for \m{enc}|enc.def|. If a non-ASCII has been loaded, we
-%  define versions of |\TeX| and |\LaTeX| for them using
-%  |\ensureascii|. The default ASCII encoding is set, too (in reverse
-%  order): the ``main'' encoding (when the document begins), the last
-%  loaded, or |OT1|.
+%  \textsf{fontenc} deletes its package options, so we must guess which
+%  encodings has been loaded by traversing |\@filelist| to search for
+%  \m{enc}|enc.def|. If a non-ASCII has been loaded, we define versions
+%  of |\TeX| and |\LaTeX| for them using |\ensureascii|. The default
+%  ASCII encoding is set, too (in reverse order): the ``main'' encoding
+%  (when the document begins), the last loaded, or |OT1|.
 %
 %  \begin{macro}{\ensureascii}
 %
@@ -8956,10 +8935,12 @@ help from Bernd Raichle, for which I am grateful.
 %    \cs{textlatin} and friends}
 % \changes{babel~3.9j}{2014/03/17}{Moved misplaced code - it should be
 %    executed only with LaTeX}
+% \changes{babel~3.23}{2018/08/28}{Added TS1, T3, TS3}
 %
 %    \begin{macrocode}
 \bbl at trace{Encoding and fonts}
-\newcommand\BabelNonASCII{LGR,X2,OT2,OT3,OT6,LHE,LWN,LMA,LMC,LMS,LMU,}
+\newcommand\BabelNonASCII
+  {LGR,X2,OT2,OT3,OT6,LHE,LWN,LMA,LMC,LMS,LMU,TS1,T3,TS3}
 \let\org at TeX\TeX
 \let\org at LaTeX\LaTeX
 \let\ensureascii\@firstofone
diff --git a/required/babel/babel.ins b/required/babel/babel.ins
index e268f60..3601783 100644
--- a/required/babel/babel.ins
+++ b/required/babel/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{2018/08/27}
+\def\filedate{2018/09/02}
 \def\batchfile{babel.ins}
 \input docstrip.tex
 
diff --git a/required/babel/babel.pdf b/required/babel/babel.pdf
index b0f20d7..d473e91 100644
Binary files a/required/babel/babel.pdf and b/required/babel/babel.pdf differ
diff --git a/required/babel/bbcompat.dtx b/required/babel/bbcompat.dtx
index b68f3d4..ca8cc6c 100644
--- a/required/babel/bbcompat.dtx
+++ b/required/babel/bbcompat.dtx
@@ -30,7 +30,7 @@
 %
 % \iffalse
 %<*dtx>
-\ProvidesFile{bbcompat.dtx}[2018/08/27 v3.22.1381]
+\ProvidesFile{bbcompat.dtx}[2018/09/02 v3.23]
 %</dtx>
 %
 %% File 'bbcompat.dtx'





More information about the latex3-commits mailing list