diff options
author | Karl Berry <karl@freefriends.org> | 2020-06-10 20:48:38 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-06-10 20:48:38 +0000 |
commit | 85878cf11e12b9a4ac55697441a25486f33b246a (patch) | |
tree | 56ceda8ea23a67af9e1a2071ae14e7d6ab1e3708 /Master/texmf-dist/source/latex/babel | |
parent | ab2350d84cd86ce4be11206a765c6625e5cc2e5f (diff) |
babel (10jun20)
git-svn-id: svn://tug.org/texlive/trunk@55508 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/babel')
-rw-r--r-- | Master/texmf-dist/source/latex/babel/babel.dtx | 335 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/babel/babel.ins | 2 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/babel/bbcompat.dtx | 2 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/babel/locale.zip | bin | 755936 -> 768821 bytes |
4 files changed, 217 insertions, 122 deletions
diff --git a/Master/texmf-dist/source/latex/babel/babel.dtx b/Master/texmf-dist/source/latex/babel/babel.dtx index 8da203640ca..8ffa9a13601 100644 --- a/Master/texmf-dist/source/latex/babel/babel.dtx +++ b/Master/texmf-dist/source/latex/babel/babel.dtx @@ -31,7 +31,7 @@ % % \iffalse %<*filedriver> -\ProvidesFile{babel.dtx}[2020/05/13 v3.44 The Babel package] +\ProvidesFile{babel.dtx}[2020/06/10 v3.45 The Babel package] \documentclass{ltxdoc} \GetFileInfo{babel.dtx} \usepackage{fontspec} @@ -1275,7 +1275,8 @@ LICR). They will be evolving with the time to add more features following section shows how to make use of them currently (by means of |\babelprovide|), but a higher interface, based on package options, in under study. In other words, |\babelprovide| is mainly meant -for auxiliary tasks. +for auxiliary tasks, and as alternative when the |ldf|, for some +reason, does work as expected. \begin{example} Although Georgian has its own \texttt{ldf} file, here is how to @@ -1306,8 +1307,17 @@ _\babelprovide[import, main]{georgian}_ \begin{note} The \texttt{ini} files just define and set some parameters, but the - corresponding behavior is not always implemented. Also, there are - some limitations in the engines. A few remarks follows: + corresponding behavior is not always implemented. Also, there are + some limitations in the engines. A few remarks follow (which could no + longer be valid when you read this manual, if the packages involved + han been updated). The Harfbuzz renderer has still some issues, so as + a rule of thumb prefer the default renderer, and resort to Harfbuzz + only if the former does work for you. Fortunately, fonts can be + loaded twice with different renderers; for example: +\begin{verbatim} +\babelfont[spanish]{rm}{FreeSerif} +\babelfont[hindi]{rm}[Renderer=Harfbuzz]{FreeSerif} +\end{verbatim} \begin{description} \itemsep=-\parskip \item[Arabic] Monolingual documents mostly work in \luatex, but it must @@ -1318,16 +1328,15 @@ _\babelprovide[import, main]{georgian}_ cantillation marks are misplaced (\xetex{} or \luatex{} with Harfbuzz seems better, but still problematic). \item[Devanagari] In \luatex{} and the the default renderer many fonts -work, but some others do not, the main issue being the ‘ra’. It is -advisable to set explicitly the script to either |deva| or |dev2|, eg: +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} \newfontscript{Devanagari}{deva} \end{verbatim} Other Indic scripts are still under development in the default - \luatex{} renderer, but should work with the option - |Renderer=Harfbuzz| in \textsc{fontspec}. They also work with - \xetex{}, although fine tuning the font behaviour is not always - possible. + \luatex{} renderer, but should work with |Renderer=Harfbuzz|. They + also work with \xetex{}, although fine tuning the font behavior is + not always possible. \item[Southeast scripts] Thai works in both \luatex{} and \xetex{}, but line breaking differs (rules can be modified in \luatex; they are hard-coded in \xetex). Lao seems to work, too, but there are no @@ -1343,17 +1352,24 @@ advisable to set explicitly the script to either |deva| or |dev2|, eg: \end{verbatim} \endgroup \item[East Asia scripts] Settings for either Simplified of Traditional -should work out of the box, with basic line breaking. Although -for a few words and shorts texts the |ini| files should be fine, CJK -texts are best set with a dedicated framework (\textsf{CJK}, -\textsf{luatexja}, \textsf{kotex}, \textsf{CTeX}, etc.). This is what -the class |ltjbook| does with \luatex, which can be used in conjunction -with the |ldf| for |japanese|, because the following piece of code -loads \textsf{luatexja}: + should work out of the box, with basic line breaking with any + renderer. Although for a few words and shorts texts the |ini| files + should be fine, CJK texts are best set with a dedicated framework + (\textsf{CJK}, \textsf{luatexja}, \textsf{kotex}, \textsf{CTeX}, + etc.). This is what the class |ltjbook| does with \luatex, which can + be used in conjunction with the |ldf| for |japanese|, because the + following piece of code loads \textsf{luatexja}: \begin{verbatim} \documentclass{ltjbook} \usepackage[japanese]{babel} \end{verbatim} +\item[Latin, Greek, Cyrillic] Combining chars with the default + \luatex{} font renderer might be wrong; on then other hand, with the + Harfbuzz renderer diacritics are stacked correctly, but many + hyphenations points are discarded (this bug seems related to kerning, + so it depends on the font). With \xetex{} both combining characters + and hyphenation work as expected (not quite, but in most cases it + works; the problem here are font clusters). \end{description} \end{note} @@ -2025,14 +2041,18 @@ also the package \textsf{combofont} for a complementary approach.} \Describe\babelfont{\oarg{language-list}\marg{font-family}% \oarg{font-options}\marg{font-name}} + +\begin{note} + See the note in the previous section about some issues in + specific languages. +\end{note} -The main purpose of |\babelfont| is to define at once in a -multilingual document the fonts required by the different languages, -with their corresponding language systems (script and language). So, if -you load, say, 4 languages, |\babelfont{rm}{FreeSerif}| defines 4 fonts -(with their variants, of course), which are switched with the language -by \babel. It is a tool to make things easier and transparent to the -user. +The main purpose of |\babelfont| is to define at once in a multilingual +document the fonts required by the different languages, with their +corresponding language systems (script and language). So, if you load, +say, 4 languages, |\babelfont{rm}{FreeSerif}| defines 4 fonts (with +their variants, of course), which are switched with the language by +\babel. It is a tool to make things easier and transparent to the user. Here \textit{font-family} is |rm|, |sf| or |tt| (or newly defined ones, as explained below), and \textit{font-name} is the same as in @@ -2380,8 +2400,21 @@ for example: In other engines it just suppresses hyphenation (because the pattern list is empty). -\Describe{main}{} This valueless option makes the language the main -one. Only in newly defined languages. +\Describe{main}{} This valueless option makes the language the main one +(thus overriding that set when \babel\ is loaded). Only in newly defined +languages. +\begin{example} + Let's assume your document is mainly in Polytonic Greek, but with some + sections in Italian. Then, the first attempt should be: +\begin{verbatim} +\usepackage[italian, greek.polutonic]{babel} +\end{verbatim} + But if, say, accents in Greek are not shown correctly, you could try: +\begin{verbatim} +\usepackage[italian]{babel} +\babelprovide[import, main]{polytonicgreek} +\end{verbatim} +\end{example} \Describe{script=}{\meta{script-name}} \New{3.15} Sets the script name to be used by \textsf{fontspec} (eg, @@ -2397,6 +2430,11 @@ Overrides the value in the |ini| file. If \textsf{fontspec} does not define it, then \babel{} sets its tag to that provided by the |ini| file. Not so important, but sometimes still relevant. +\Describe{alph=}{\meta{counter-name}} Assigns to |\alph| that counter. +See the next section. + +\Describe{Alph=}{\meta{counter-name}} Same for |\Alph|. + \bigskip A few options (only \luatex) set some properties of the writing system @@ -2512,10 +2550,11 @@ bidi and fonts are processed (ie, to the node list as generated by the bidirectional behavior (unlike |Numbers=Arabic| in \textsf{fontspec}, which is not recommended). -\New{4.41} Many `ini` locale files has been extended with information about -non-positional numerical systems, based on those predefined in CSS. -They only work with \xetex{} and \luatex{} and are fully expendable (even -inside an |\edef|). Currently, they are limited to numbers below 10000. +\New{4.41} Many `ini` locale files has been extended with information +about non-positional numerical systems, based on those predefined in +CSS. They only work with \xetex{} and \luatex{} and are fully +expendable (even inside an unprotected |\edef|). Currently, they are +limited to numbers below 10000. There are several ways to use them (for the availabe styles in each language, see the list below): @@ -2537,10 +2576,18 @@ The styles are: \itemsep=-\parskip \item[Ancient Greek] |lower.ancient|, |upper.ancient| -\item[Arabic] |abjad|, |maghrebi.abjad| +\item[Amharic] |afar|, |agaw|, |ari|, |blin|, |dizi|, |gedeo|, |gumuz|, +|hadiyya|, |harari|, |kaffa|, |kebena|, |kembata|, |konso|, |kunama|, +|meen|, |oromo|, |saho|, |sidama|, |silti|, |tigre|, |wolaita|, |yemsa| + +\item[Arabic] |abjad|, |maghrebi.abjad| \item[Belarusan, Bulgarian, Macedonian, Serbian] |lower|, |upper| +\item[Bengali] |alphabetic| + +\item[Coptic] |epact|,|lower.letters| + \item[Hebrew] |letters| (neither geresh nor gershayim yet) \item[Hindi] |alphabetic| @@ -2563,10 +2610,14 @@ The styles are: |hanja.formal|, |hangul.formal|, |cjk-earthly-branch|, |cjk-heavenly-stem|, |fullwidth.lower.alpha|, |fullwidth.upper.alpha| +\item[Marathi] |alphabetic| + \item[Persian] |abjad|, |alphabetic| \item[Russian] |lower|, |lower.full|, |upper|, |upper.full| +\item[Syriac] |letters| + \item[Tamil] |ancient| \item[Thai] |alphabetic| @@ -2577,6 +2628,29 @@ The styles are: |fullwidth.lower.alpha|, |fullwidth.upper.alpha| \end{description} +\New{3.45} In addition, native digits (in languages defining them) may +be printed with the numeral style |digits|. + +\subsection{Dates} + +\New{3.45} When the data is taken from an |ìni| file, you may print the +date corresponding to the Gregorian calendar and other lunisolar systems +with the following command. + +\Describe{\localedate}{\o{calendar=.., variant=..}% + {\m{year}\m{month}\m{day}}} + +By default the calendar is the Gregorian, but a |ini| files may define +strings for other calendars (currently |ar|, |ar-|*, |he|, |fa|, |hi|.) +In the latter case, the three arguments are the year, the month, and +the day in those in the corresponding calendar. They are \textit{not} +the Gregorian data to be converted (which means, say, 13 is a valid +month number with |calendar=hebrew|). + +Even with a certain calendar there may be variants. In Kurmanji the +default variant prints something like \textit{30. Çileya Pêşîn 2019}, +but with |variant=izafa| it prints \textit{31’ê Çileya Pêşînê 2019}. + \subsection{Accessing language info} \Describe{\languagename}{} @@ -3856,10 +3930,9 @@ known. The first two are related to hyphenation patterns. \DescribeMacro{\addlanguage} The macro |\addlanguage| is a non-outer version of the macro -|\newlanguage|, defined in \file{plain.tex} version~3.x. For older -versions of \file{plain.tex} and \file{lplain.tex} a substitute -definition is used. Here ``language'' is used in the \TeX{} sense of -set of hyphenation patterns. +|\newlanguage|, defined in \file{plain.tex} version~3.x. Here +``language'' is used in the \TeX{} sense of set of hyphenation +patterns. \DescribeMacro{\adddialect} The macro |\adddialect| can be used when two languages can (or @@ -4576,13 +4649,15 @@ help from Bernd Raichle, for which I am grateful. % |date.long.Nominative|, |date.long.Formal|, but no language is % currently using the latter). \textit{Multi-letter} qualifiers are % forward compatible in the sense they won’t conflict with new -% ``global'' keys (which start always with a lowercase case). +% ``global'' keys (which start always with a lowercase case). There is +% an exception, however: the section |counters| has been devised to +% have arbitrary keys, so you can add lowercased keys if you want. % % \section{Tools} % % \begin{macrocode} -%<<version=3.44>> -%<<date=2020/05/13>> +%<<version=3.45>> +%<<date=2020/06/10>> % \end{macrocode} % % \textbf{Do not use the following macros in \texttt{ldf} files. They @@ -4909,37 +4984,14 @@ help from Bernd Raichle, for which I am grateful. % % \begin{macro}{\addlanguage} % -% To add languages to \TeX's memory plain \TeX\ version~3.0 -% supplies |\newlanguage|, in a pre-3.0 environment a similar macro -% has to be provided. For both cases a new macro is defined here, -% because the original |\newlanguage| was defined to be |\outer|. -% -% For a format based on plain version~2.x, the definition of -% |\newlanguage| can not be copied because |\count 19| is used for -% other purposes in these formats. Therefore |\addlanguage| is -% defined using a definition based on the macros used to define -% |\newlanguage| in plain \TeX\ version~3.0. -% -% For formats based on plain version~3.0 the definition of -% |\newlanguage| can be simply copied, removing |\outer|. -% Plain \TeX\ version 3.0 uses |\count 19| for this purpose. +% This macro was introduced for \TeX{} $<$ 2. Preserved for +% compatibility. % % \begin{macrocode} %<<*Define core switching macros>> -\ifx\newlanguage\@undefined - \csname newcount\endcsname\last@language - \def\addlanguage#1{% - \global\advance\last@language\@ne - \ifnum\last@language<\@cclvi - \else - \errmessage{No room for a new \string\language!}% - \fi - \global\chardef#1\last@language - \wlog{\string#1 = \string\language\the\last@language}} -\else - \countdef\last@language=19 - \def\addlanguage{\alloc@9\language\chardef\@cclvi} -\fi +%<<*Define core switching macros>> +\countdef\last@language=19 % TODO. why? remove? +\def\addlanguage{\csname newlanguage\endcsname} %<</Define core switching macros>> % \end{macrocode} % @@ -7290,7 +7342,7 @@ help from Bernd Raichle, for which I am grateful. \expandafter\noexpand\csname foreignlanguage \endcsname} \expandafter\def\csname foreignlanguage \endcsname{% \@ifstar\bbl@foreign@s\bbl@foreign@x} -\newcommand\bbl@foreign@x[3][]{% +\providecommand\bbl@foreign@x[3][]{% \begingroup \def\bbl@select@opts{#1}% \let\BabelText\@firstofone @@ -8008,6 +8060,9 @@ help from Bernd Raichle, for which I am grateful. \AtBeginDocument{% \@nameuse{bbl@beforestart}% \if@filesw + \providecommand\babel@aux[2]{}% + \immediate\write\@mainaux{% + \string\providecommand\string\babel@aux[2]{}}% \immediate\write\@mainaux{\string\@nameuse{bbl@beforestart}}% \fi \expandafter\selectlanguage\expandafter{\bbl@main@language}% @@ -10517,6 +10572,7 @@ help from Bernd Raichle, for which I am grateful. \bbl@exp{% \def\<\languagename digits>####1{% ie, \langdigits \<bbl@digits@\languagename>####1\\\@nil}% + \let\<bbl@cntr@digits@\languagename>\<\languagename digits>% \def\<\languagename counter>####1{% ie, \langcounter \\\expandafter\<bbl@counter@\languagename>% \\\csname c@####1\endcsname}% @@ -10754,7 +10810,28 @@ help from Bernd Raichle, for which I am grateful. \global\bbl@csarg\let{renew@\bbl@section}\relax \bbl@cs{secpost@\bbl@section}% % The previous code belongs to the previous section. + % -------------------------- % Now start the current one. + \in@{=date.}{=#1}% + \ifin@ + \lowercase{\def\bbl@tempa{=#1=}}% + \bbl@replace\bbl@tempa{=date.gregorian}{}% + \bbl@replace\bbl@tempa{=date.}{}% + \in@{.licr=}{#1=}% + \ifin@ + \ifcase\bbl@engine + \bbl@replace\bbl@tempa{.licr=}{}% + \else + \let\bbl@tempa\relax + \fi + \fi + \ifx\bbl@tempa\relax\else + \bbl@replace\bbl@tempa{=}{}% + \bbl@exp{% + \def\<bbl@inikv@#1>####1=####2\\\@@{% + \\\bbl@inidate####1...\relax{####2}{\bbl@tempa}}}% + \fi + \fi \def\bbl@section{#1}% \def\bbl@elt##1##2{% \@namedef{bbl@KVP@#1/##1}{}}% @@ -10900,54 +10977,75 @@ help from Bernd Raichle, for which I am grateful. \\\SetString\<\bbl@tempa name>{\the\toks@}}}} % \end{macrocode} % -% But dates are more complex. The full date format is stores in -% |date.gregorian|, so we must read it in non-Unicode engines, too -% (saved months are just discarded when the LICR section is reached). -% -% TODO. Remove copypaste pattern. +% TODO. Document % % \begin{macrocode} -\bbl@csarg\def{inikv@date.gregorian}#1=#2\@@{% for defaults - \bbl@inidate#1...\relax{#2}{}} -\bbl@csarg\def{inikv@date.islamic}#1=#2\@@{% - \bbl@inidate#1...\relax{#2}{islamic}} -\bbl@csarg\def{inikv@date.hebrew}#1=#2\@@{% - \bbl@inidate#1...\relax{#2}{hebrew}} -\bbl@csarg\def{inikv@date.persian}#1=#2\@@{% - \bbl@inidate#1...\relax{#2}{persian}} -\bbl@csarg\def{inikv@date.indian}#1=#2\@@{% - \bbl@inidate#1...\relax{#2}{indian}} -\ifcase\bbl@engine - \bbl@csarg\def{inikv@date.gregorian.licr}#1=#2\@@{% override - \bbl@inidate#1...\relax{#2}{}} - \bbl@csarg\def{secpre@date.gregorian.licr}{% discard uni - \ifcase\bbl@engine\let\bbl@savedate\@empty\fi} -\fi -% TODO. With the following there is no need to ensure if \select... -\newcommand\localedate{\@nameuse{bbl@date@\languagename}} -% eg: 1=months, 2=wide, 3=1, 4=dummy +% Arguments are _not_ protected. +\let\bbl@calendar\@empty +\DeclareRobustCommand\localedate[1][]{\bbl@localedate{#1}} +\def\bbl@cased{% TODO. Move + \ifx\oe\OE + \expandafter\in@\expandafter + {\expandafter\OE\expandafter}\expandafter{\oe}% + \ifin@ + \bbl@afterelse\expandafter\MakeUppercase + \else + \bbl@afterfi\expandafter\MakeLowercase + \fi + \else + \expandafter\@firstofone + \fi} +\def\bbl@localedate#1#2#3#4{% + \begingroup + \ifx\@empty#1\@empty\else + \let\bbl@ld@calendar\@empty + \let\bbl@ld@variant\@empty + \edef\bbl@tempa{\zap@space#1 \@empty}% + \def\bbl@tempb##1=##2\@@{\@namedef{bbl@ld@##1}{##2}}% + \bbl@foreach\bbl@tempa{\bbl@tempb##1\@@}% + \edef\bbl@calendar{% + \bbl@ld@calendar + \ifx\bbl@ld@variant\@empty\else + .\bbl@ld@variant + \fi}% + \bbl@replace\bbl@calendar{gregorian}{}% + \fi + \bbl@cased + {\@nameuse{bbl@date@\languagename @\bbl@calendar}{#2}{#3}{#4}}% + \endgroup} +% eg: 1=months, 2=wide, 3=1, 4=dummy, 5=value, 6=calendar \def\bbl@inidate#1.#2.#3.#4\relax#5#6{% TODO - ignore with 'captions' \bbl@trim@def\bbl@tempa{#1.#2}% \bbl@ifsamestring{\bbl@tempa}{months.wide}% to savedate {\bbl@trim@def\bbl@tempa{#3}% \bbl@trim\toks@{#5}% - \bbl@exp{% - \\\bbl@add\\\bbl@savedate{% - \\\SetString\<month\romannumeral\bbl@tempa#6name>{\the\toks@}}}}% + \@temptokena\expandafter{\bbl@savedate}% + \bbl@exp{% Reverse order - in ini last wins + \def\\\bbl@savedate{% + \\\SetString\<month\romannumeral\bbl@tempa#6name>{\the\toks@}% + \the\@temptokena}}}% {\bbl@ifsamestring{\bbl@tempa}{date.long}% defined now - {\bbl@trim@def\bbl@toreplace{#5}% + {\lowercase{\def\bbl@tempb{#6}}% + \bbl@trim@def\bbl@toreplace{#5}% \bbl@TG@@date - \global\bbl@csarg\let{date@\languagename}\bbl@toreplace - \bbl@exp{% - \gdef\<\languagename date>{\\\protect\<\languagename date >}% - \gdef\<\languagename date >####1####2####3{% - \\\bbl@usedategrouptrue - \<bbl@ensure@\languagename>{% - \<bbl@date@\languagename>{####1}{####2}{####3}}}% - \\\bbl@add\\\bbl@savetoday{% - \\\SetString\\\today{% - \<\languagename date>{\\\the\year}{\\\the\month}{\\\the\day}}}}}}% - {}} + \bbl@ifunset{bbl@date@\languagename @}% + {\global\bbl@csarg\let{date@\languagename @}\bbl@toreplace + % TODO. Move to a better place. + \bbl@exp{% + \gdef\<\languagename date>{\\\protect\<\languagename date >}% + \gdef\<\languagename date >####1####2####3{% + \\\bbl@usedategrouptrue + \<bbl@ensure@\languagename>{% + \\\localedate{####1}{####2}{####3}}}% + \\\bbl@add\\\bbl@savetoday{% + \\\SetString\\\today{% + \<\languagename date>% + {\\\the\year}{\\\the\month}{\\\the\day}}}}}% + {}% + \ifx\bbl@tempb\@empty\else + \global\bbl@csarg\let{date@\languagename @\bbl@tempb}\bbl@toreplace + \fi}% + {}}} % \end{macrocode} % % Dates will require some macros for the basic formatting. They may be @@ -11070,10 +11168,9 @@ help from Bernd Raichle, for which I am grateful. % \begin{macrocode} \newcommand\localenumeral[2]{\bbl@cs{cntr@#1@\languagename}{#2}} \def\bbl@localecntr#1#2{\localenumeral{#2}{#1}} -% TODO. \localecounter{digits}{..} What a mistake on my part!! -% But the solution seems even logical ;-) \newcommand\localecounter[2]{% - \expandafter\bbl@localecntr\csname c@#2\endcsname{#1}} + \expandafter\bbl@localecntr + \expandafter{\number\csname c@#2\endcsname}{#1}} \def\bbl@alphnumeral#1#2{% \expandafter\bbl@alphnumeral@i\number#2 76543210\@@{#1}} \def\bbl@alphnumeral@i#1#2#3#4#5#6#7#8\@@#9{% @@ -11470,7 +11567,7 @@ help from Bernd Raichle, for which I am grateful. \def\bbl@hook@loadpatterns#1{\input #1\relax} \let\bbl@hook@loadexceptions\bbl@hook@loadpatterns \def\bbl@hook@loadkernel#1{% - \def\addlanguage{\alloc@9\language\chardef\@cclvi}% + \def\addlanguage{\csname newlanguage\endcsname}% \def\adddialect##1##2{% \global\chardef##1##2\relax \wlog{\string##1 = a dialect from \string\language##2}}% @@ -12997,9 +13094,9 @@ end elseif item.id == 7 and item.subtype == 3 and not inmath then word_string = word_string .. '|' word_nodes[#word_nodes+1] = item - - elseif item.id == node.id'math' then - inmath = (item.subtype == 0) + + elseif item.id == 11 and item.subtype == 0 then + inmath = true elseif word_string == '' then &% pass @@ -13119,7 +13216,7 @@ end end &% for words return head end - + &%%% &% Preliminary code for \babelprehyphenation &% TODO. Copypaste pattern. Merge with fetch_word @@ -13156,9 +13253,9 @@ end item = nil return word_string, word_nodes, item, lang end - - elseif item.id == node.id'math' then - inmath = (item.subtype == 0) + + elseif item.id == 11 and item.subtype == 0 then + inmath = true elseif word_string == '' then &% pass @@ -13170,7 +13267,7 @@ end item = item.next end end - + &% TODO. Copypaste pattern. Merge with pre_hyphenate_replace function Babel.pre_hyphenate_replace(head) local u = unicode.utf8 @@ -20367,8 +20464,6 @@ end %<*cjkdata> Babel = Babel or {} - - Babel.cjk_characters = { [0x0021]={c='ex'}, [0x0024]={c='pr'}, diff --git a/Master/texmf-dist/source/latex/babel/babel.ins b/Master/texmf-dist/source/latex/babel/babel.ins index 6efb6276f6e..a188dd14b3e 100644 --- a/Master/texmf-dist/source/latex/babel/babel.ins +++ b/Master/texmf-dist/source/latex/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{2020/05/13} +\def\filedate{2020/06/10} \def\batchfile{babel.ins} \input docstrip.tex diff --git a/Master/texmf-dist/source/latex/babel/bbcompat.dtx b/Master/texmf-dist/source/latex/babel/bbcompat.dtx index ac16fcab7cc..dbfa43a2a1f 100644 --- a/Master/texmf-dist/source/latex/babel/bbcompat.dtx +++ b/Master/texmf-dist/source/latex/babel/bbcompat.dtx @@ -30,7 +30,7 @@ % % \iffalse %<*dtx> -\ProvidesFile{bbcompat.dtx}[2020/05/13 v3.44] +\ProvidesFile{bbcompat.dtx}[2020/06/10 v3.45] %</dtx> % %% File 'bbcompat.dtx' diff --git a/Master/texmf-dist/source/latex/babel/locale.zip b/Master/texmf-dist/source/latex/babel/locale.zip Binary files differindex db3e8cc23a4..8c0d213cca7 100644 --- a/Master/texmf-dist/source/latex/babel/locale.zip +++ b/Master/texmf-dist/source/latex/babel/locale.zip |