summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/babel/README.md25
-rw-r--r--Master/texmf-dist/doc/latex/babel/babel.pdfbin847722 -> 854250 bytes
-rw-r--r--Master/texmf-dist/source/latex/babel/babel.dtx106
-rw-r--r--Master/texmf-dist/source/latex/babel/babel.ins2
-rw-r--r--Master/texmf-dist/source/latex/babel/bbcompat.dtx2
-rw-r--r--Master/texmf-dist/source/latex/babel/locale.zipbin789858 -> 793811 bytes
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel-transforms.lua4
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.def14
-rw-r--r--Master/texmf-dist/tex/generic/babel/babel.sty14
-rw-r--r--Master/texmf-dist/tex/generic/babel/hyphen.cfg6
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini54
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini54
-rw-r--r--Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini54
-rw-r--r--Master/texmf-dist/tex/generic/babel/luababel.def33
-rw-r--r--Master/texmf-dist/tex/generic/babel/nil.ldf2
15 files changed, 290 insertions, 80 deletions
diff --git a/Master/texmf-dist/doc/latex/babel/README.md b/Master/texmf-dist/doc/latex/babel/README.md
index 848148e3af9..078385c04ea 100644
--- a/Master/texmf-dist/doc/latex/babel/README.md
+++ b/Master/texmf-dist/doc/latex/babel/README.md
@@ -1,4 +1,4 @@
-## Babel 3.65
+## Babel 3.66
This package manages culturally-determined typographical (and other)
rules, and hyphenation patterns for a wide range of languages. Many
@@ -8,9 +8,9 @@ is a set of ini files for about 250 languages.
The latest stable version is available on <https://ctan.org/pkg/babel>.
-Changes in version 3.65 are described in:
+Changes in version 3.66 are described in:
-https://latex3.github.io/babel/news/whats-new-in-babel-3.65.html
+https://latex3.github.io/babel/news/whats-new-in-babel-3.66.html
Apart from the manual, you can find information on some aspects of babel at:
@@ -46,18 +46,13 @@ respective authors.
### Summary of Latest changes
```
-3.65 2021-10-19
- * Fixes a severe bug with 'spanish' introduced in 3.64 (#154).
-
-3.64 2021-10-13
- * Added a few counters to CJK.
- * Restored the previous behavior of \selectlanguage with
- relation to \write (see #114).
- * Fixes:
- - babel errors on document option 'chinese' (#141).
- - name.babel in ini files set inconsistently (#149).
- * Now babel.def and babel.sty are separate files (for
- Plain-based formats and LaTeX, respectively).
+3.66 2021-11-08
+ * Transforms for Greek:
+ - transliteration.omega
+ - sigma.final
+ * Fixes for bidi texts:
+ - For tcolorbox (#145, #146).
+ - Some improvements for tikz/pgf.
```
### Previous changes
diff --git a/Master/texmf-dist/doc/latex/babel/babel.pdf b/Master/texmf-dist/doc/latex/babel/babel.pdf
index 7345ad7b764..9d0a7963cfe 100644
--- a/Master/texmf-dist/doc/latex/babel/babel.pdf
+++ b/Master/texmf-dist/doc/latex/babel/babel.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/babel/babel.dtx b/Master/texmf-dist/source/latex/babel/babel.dtx
index 0444c526a7f..a8d8834ab3d 100644
--- a/Master/texmf-dist/source/latex/babel/babel.dtx
+++ b/Master/texmf-dist/source/latex/babel/babel.dtx
@@ -32,7 +32,7 @@
%
% \iffalse
%<*filedriver>
-\ProvidesFile{babel.dtx}[2021/10/19 v3.65 The Babel package]
+\ProvidesFile{babel.dtx}[2021/11/08 v3.66 The Babel package]
\documentclass{ltxdoc}
\GetFileInfo{babel.dtx}
\usepackage{fontspec}
@@ -455,7 +455,7 @@ layout (eg, |spanish| and |french|).
\end{example}
You can also set the main language explicitly, but it is discouraged
-except if there a real reason to do so:
+except if there is a real reason to do so:
\begin{verbatim}
\documentclass{article}
\usepackage[_main=english_,dutch]{babel}
@@ -698,11 +698,25 @@ This command can be used as environment, too.
\end{warning}
\begin{warning}
- |\selectlanguage| should not be used inside some boxed environments
- (like floats or |minipage|) to switch the language if you need the
- information written to the |aux| be correctly synchronized. This
- rarely happens, but if it were the case, you must use |otherlanguage|
- instead.
+ There are a couple of issues related to the way the language
+ information is written to the auxiliary files:
+\begin{itemize}
+ \item |\selectlanguage| should not be used inside some boxed environments
+ (like floats or |minipage|) to switch the language if you need the
+ information written to the |aux| be correctly synchronized. This
+ rarely happens, but if it were the case, you must use
+ |otherlanguage| instead.
+ \item In addition, this macro inserts a |\write| in vertical mode,
+ which may break the vertical spacing in some cases (for example,
+ between lists). \New{3.64} The behavior can be adjusted with
+ |\babeladjust{select.write=|\m{mode}|}|, where \m{mode} is |shift|
+ (which shifts the skips down and adds a |\penalty|); |keep| (the
+ default -- with it the |\write| and the skips are kept in the order
+ they are written), and |omit| (which may seem a too drastic solution,
+ because nothing is written, but more often than not this command is
+ applied to more or less shorts texts with no sectioning or similar
+ commands and therefore no language synchronization is necessary).
+\end{itemize}
\end{warning}
\Describe{\foreignlanguage}{\oarg{option-list}\marg{language}\marg{text}}
@@ -2309,6 +2323,16 @@ to select fonts in addition to the three basic families.
be aware that this may lead to some problems.
\end{troubleshooting}
+\begin{note}
+ |\babelfont| is a high level interface to \textsf{fontspec}, and
+ therefore in \xetex{} you can apply |Mapping|s. For example, there is
+ a set of
+ \href{https://github.com/davidmjones/brahmic-maps}{transliterations
+ for Brahmic scripts} by Davis M. Jones. After installing
+ them in you distribution, just set the map as you would do with
+ \textsf{fontspec}.
+\end{note}
+
\subsection{Modifying a language}
Modifying the behavior of a language (say, the chapter
@@ -2789,14 +2813,14 @@ 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
+\New{3.45} When the data is taken from an |ini| file, you may print the
date corresponding to the Gregorian calendar and other lunisolar systems
with the following command.
\Describe{\localedate}{\oarg{calendar=.., variant=..}%
{\marg{year}\m{month}\m{day}}}
-By default the calendar is the Gregorian, but a |ini| files may define
+By default the calendar is the Gregorian, but an |ini| file 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}
@@ -3062,7 +3086,8 @@ Transforms (only \luatex) provide a way to process the text on the
typesetting level in several language-dependent ways, like non-standard
hyphenation, special line breaking rules, script to script conversion,
spacing conventions and so on.\footnote{They are similar in concept,
-but not the same, as those in Unicode.}
+but not the same, as those in Unicode. The main inspiration for this
+feature is the Omega transformation processes.}
It currently embraces |\babelprehyphenation| and
|\babelposthyphenation|.
@@ -3112,6 +3137,18 @@ 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 three variants.}
+\trans{Greek}{transliteration.omega}{Although he provided combinations
+are not exactly the same, this transform follows the syntax of Omega:
+|=| for the circumflex, |v| for digamma, and so on. For better
+compatibility with Levy’s system, \texttt{\string~} (as ‘string’) is an
+alternative to |=|. |'| is tonos in Monotonic Greek, but oxia in
+Polytonic and Ancient Greek.}
+
+\trans{Greek}{sigma.final}{The transliteration system above does not
+convert the sigma at the end of a word (on purpose). This transforms
+does it. To prevent the conversion (an abbreviation, for example), write
+|"s|.}
+
\trans{Hindi, Sanskrit}{transliteration.hk}{The Harvard-Kyoto system to
romanize Devanagari.}
@@ -5026,8 +5063,8 @@ help from Bernd Raichle, for which I am grateful.
% \section{Tools}
%
% \begin{macrocode}
-%<<version=3.65>>
-%<<date=2021/10/19>>
+%<<version=3.66>>
+%<<date=2021/11/08>>
% \end{macrocode}
%
% \textbf{Do not use the following macros in \texttt{ldf} files. They
@@ -9694,9 +9731,11 @@ help from Bernd Raichle, for which I am grateful.
{\def\languagename{##1}%
\let\bbl@ifrestoring\@firstoftwo % To avoid font warning
\bbl@switchfont
- \directlua{
- Babel.locale_props[\the\csname bbl@id@@##1\endcsname]%
- ['/\bbl@prefontid'] = \fontid\font\space}}}%
+ \ifnum\fontid\font>\z@ % A hack, for the pgf nullfont hack
+ \directlua{
+ Babel.locale_props[\the\csname bbl@id@@##1\endcsname]%
+ ['/\bbl@prefontid'] = \fontid\font\space}%
+ \fi}}%
\fi
\bbl@exp{\\\bbl@add\\\bbl@mapselect{\\\bbl@mapdir{\languagename}}}%
\fi
@@ -14549,24 +14588,35 @@ end
\MakeRobust\put}%
\fi
\AtBeginDocument
- {\ifx\tikz@atbegin@node\@undefined\else
- \ifx\AddToHook\@undefined\else % TODO. Still tentative.
+ {\ifx\pgfpicture\@undefined\else % TODO. Allow deactivate?
+ \ifx\AddToHook\@undefined
+ \bbl@sreplace\pgfpicture{\pgfpicturetrue}%
+ {\bbl@pictsetdir\z@\pgfpicturetrue}%
+ \else
\AddToHook{env/pgfpicture/begin}{\bbl@pictsetdir\@ne}%
- % \AddToHook{env/tikzpicture/begin}{\bbl@pictsetdir\z@}%
- \bbl@add\pgfinterruptpicture{\bbl@pictresetdir}%
\fi
- \let\bbl@OL@pgfpicture\pgfpicture
- \bbl@sreplace\pgfpicture{\pgfpicturetrue}%
- {\bbl@pictsetdir\z@\pgfpicturetrue}%
+ \bbl@add\pgfinterruptpicture{\bbl@pictresetdir}%
\bbl@add\pgfsys@beginpicture{\bbl@pictsetdir\z@}%
+ \fi
+ \ifx\tikzpicture\@undefined\else
+ \ifx\AddToHook\@undefined\else
+ \AddToHook{env/tikzpicture/begin}{\bbl@pictsetdir\z@}%
+ \fi
\bbl@add\tikz@atbegin@node{\bbl@pictresetdir}%
- \bbl@sreplace\tikz{\begingroup}%
- {\begingroup\bbl@pictsetdir\tw@}%
+ \bbl@sreplace\tikz{\begingroup}{\begingroup\bbl@pictsetdir\tw@}%
\fi
\ifx\AddToHook\@undefined\else
- \AddToHook{env/tcolorbox/begin}{\bbl@pictsetdir\@ne}%
+ \ifx\tcolorbox\@undefined\else
+ \AddToHook{env/tcolorbox/begin}{\bbl@pictsetdir\@ne}%
+ \bbl@sreplace\tcb@savebox
+ {\ignorespaces}{\ignorespaces\bbl@pictresetdir}%
+ \ifx\tikzpicture@tcb@hooked\@undefined\else
+ \bbl@sreplace\tikzpicture@tcb@hooked{\noexpand\tikzpicture}%
+ {\textdir TLT\noexpand\tikzpicture}%
+ \fi
+ \fi
\fi
- }}
+ }}
{}
% \end{macrocode}
%
@@ -14854,9 +14904,9 @@ function Babel.hyphenate_replace(head, mode)
first = u.len(w:sub(1, first-1)) + 1
last = u.len(w:sub(1, last-1)) -- now last points to C
- -- This loop stores in n small table the nodes
+ -- This loop stores in a small table the nodes
-- corresponding to the pattern. Used by 'data' to provide a
- -- predictable behavior with 'insert' (now w_nodes is modified on
+ -- predictable behavior with 'insert' (w_nodes is modified on
-- the fly), and also access to 'remove'd nodes.
local sc = first-1 -- Used below, too
local data_nodes = {}
diff --git a/Master/texmf-dist/source/latex/babel/babel.ins b/Master/texmf-dist/source/latex/babel/babel.ins
index 473f06dfa76..387ab64241d 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{2021/10/19}
+\def\filedate{2021/11/08}
\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 c81d3ae4e73..5936dfafa14 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}[2021/10/19 v3.65]
+\ProvidesFile{bbcompat.dtx}[2021/11/08 v3.66]
%</dtx>
%
%% File 'bbcompat.dtx'
diff --git a/Master/texmf-dist/source/latex/babel/locale.zip b/Master/texmf-dist/source/latex/babel/locale.zip
index c10eaab34e3..385300f734b 100644
--- a/Master/texmf-dist/source/latex/babel/locale.zip
+++ b/Master/texmf-dist/source/latex/babel/locale.zip
Binary files differ
diff --git a/Master/texmf-dist/tex/generic/babel/babel-transforms.lua b/Master/texmf-dist/tex/generic/babel/babel-transforms.lua
index ab6e7bc9daf..a221903b153 100644
--- a/Master/texmf-dist/tex/generic/babel/babel-transforms.lua
+++ b/Master/texmf-dist/tex/generic/babel/babel-transforms.lua
@@ -246,9 +246,9 @@ function Babel.hyphenate_replace(head, mode)
first = u.len(w:sub(1, first-1)) + 1
last = u.len(w:sub(1, last-1)) -- now last points to C
- -- This loop stores in n small table the nodes
+ -- This loop stores in a small table the nodes
-- corresponding to the pattern. Used by 'data' to provide a
- -- predictable behavior with 'insert' (now w_nodes is modified on
+ -- predictable behavior with 'insert' (w_nodes is modified on
-- the fly), and also access to 'remove'd nodes.
local sc = first-1 -- Used below, too
local data_nodes = {}
diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def
index 3559fa4cbf0..9d9dce86a61 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.def
+++ b/Master/texmf-dist/tex/generic/babel/babel.def
@@ -40,7 +40,7 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{babel.def}[2021/10/19 3.65 Babel common definitions]
+\ProvidesFile{babel.def}[2021/11/08 3.66 Babel common definitions]
\ifx\AtBeginDocument\@undefined % TODO. change test.
\def\@empty{}
\def\loadlocalcfg#1{%
@@ -406,8 +406,8 @@
\expandafter\newif\csname ifbbl@single\endcsname
\chardef\bbl@bidimode\z@
\fi
-\def\bbl@version{3.65}
-\def\bbl@date{2021/10/19}
+\def\bbl@version{3.66}
+\def\bbl@date{2021/11/08}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
@@ -2554,9 +2554,11 @@
{\def\languagename{##1}%
\let\bbl@ifrestoring\@firstoftwo % To avoid font warning
\bbl@switchfont
- \directlua{
- Babel.locale_props[\the\csname bbl@id@@##1\endcsname]%
- ['/\bbl@prefontid'] = \fontid\font\space}}}%
+ \ifnum\fontid\font>\z@ % A hack, for the pgf nullfont hack
+ \directlua{
+ Babel.locale_props[\the\csname bbl@id@@##1\endcsname]%
+ ['/\bbl@prefontid'] = \fontid\font\space}%
+ \fi}}%
\fi
\bbl@exp{\\\bbl@add\\\bbl@mapselect{\\\bbl@mapdir{\languagename}}}%
\fi
diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty
index 82eba26afc1..b214975d903 100644
--- a/Master/texmf-dist/tex/generic/babel/babel.sty
+++ b/Master/texmf-dist/tex/generic/babel/babel.sty
@@ -34,7 +34,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
-\ProvidesPackage{babel}[2021/10/19 3.65 The Babel package]
+\ProvidesPackage{babel}[2021/11/08 3.66 The Babel package]
\@ifpackagewith{babel}{debug}
{\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}%
\let\bbl@debug\@firstofone
@@ -458,8 +458,8 @@
\expandafter\@secondoftwo
\fi}
\fi
-\def\bbl@version{3.65}
-\def\bbl@date{2021/10/19}
+\def\bbl@version{3.66}
+\def\bbl@date{2021/11/08}
\ifx\language\@undefined
\csname newcount\endcsname\language
\fi
@@ -2606,9 +2606,11 @@
{\def\languagename{##1}%
\let\bbl@ifrestoring\@firstoftwo % To avoid font warning
\bbl@switchfont
- \directlua{
- Babel.locale_props[\the\csname bbl@id@@##1\endcsname]%
- ['/\bbl@prefontid'] = \fontid\font\space}}}%
+ \ifnum\fontid\font>\z@ % A hack, for the pgf nullfont hack
+ \directlua{
+ Babel.locale_props[\the\csname bbl@id@@##1\endcsname]%
+ ['/\bbl@prefontid'] = \fontid\font\space}%
+ \fi}}%
\fi
\bbl@exp{\\\bbl@add\\\bbl@mapselect{\\\bbl@mapdir{\languagename}}}%
\fi
diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
index 511b5df08d5..2f600951541 100644
--- a/Master/texmf-dist/tex/generic/babel/hyphen.cfg
+++ b/Master/texmf-dist/tex/generic/babel/hyphen.cfg
@@ -38,10 +38,10 @@
\wlog{File: #1 #4 #3 <#2>}%
\let\ProvidesFile\@undefined}
\fi
-\ProvidesFile{hyphen.cfg}[2021/10/19 3.65 Babel hyphens]
+\ProvidesFile{hyphen.cfg}[2021/11/08 3.66 Babel hyphens]
\xdef\bbl@format{\jobname}
-\def\bbl@version{3.65}
-\def\bbl@date{2021/10/19}
+\def\bbl@version{3.66}
+\def\bbl@date{2021/11/08}
\ifx\AtBeginDocument\@undefined
\def\@empty{}
\fi
diff --git a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini
index dd1f9ad0069..b8c784d1564 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini
@@ -4,8 +4,8 @@
[identification]
charset = utf8
-version = 0.7
-date = 2021-04-05
+version = 0.8
+date = 2021-10-25
name.local = Ἐλληνικά
; Name from https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
name.english = Polytonic Greek
@@ -204,6 +204,56 @@ upper.ancient.3 = Ρ Σ Τ Υ Φ Χ Ψ Ω Ϡ
upper.ancient.4 = ͵Α ͵Β ͵Γ ͵Δ ͵Ε ͵Ϛ ͵Ζ ͵Η ͵Θ
upper.ancient.S.321 = ʹ
+[transforms.prehyphenation]
+; Oxia!
+transliteration.omega.1.0 = { '([aehiouwAEHIOUW]) }
+transliteration.omega.1.1 = { remove }
+transliteration.omega.1.2 = { string = {1|aehiouwAEHIOUW|άέήίόύώΆΈΉΊΌΎΏ} }
+transliteration.omega.2.0 = { [={007E}]([ahiuwpqsPQS]) }
+transliteration.omega.2.1 = { remove }
+transliteration.omega.2.2 = { string = {1|ahiuwpqsPQS|ᾶῆῖῦῶϡϟϛϠϞϚ} }
+transliteration.omega.3.0 = { `([aehiouwAEHIOUW]) }
+transliteration.omega.3.1 = { remove }
+transliteration.omega.3.2 = { string = {1|aehiouwAEHIOUW|ὰὲὴὶὸὺὼᾺῈῊῚῸῪῺ} }
+transliteration.omega.4.0 = { ([a-zA-Z{?};]) }
+transliteration.omega.4.1 = { string = {1|abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ?;_^|αβςδεφγηιθκλμνοπχρστυϝωξψζΑΒ῝ΔΕΦΓΗΙΘΚΛΜΝΟΠΧΡΣΤΥϜΩΞΨΖ;·} }
+transliteration.omega.5.0 = { "([ιυίύίύῖῦὶὺΙΥ]) }
+transliteration.omega.5.1 = { remove }
+transliteration.omega.5.2 = { string = {1|ιυίύίύῖῦὶὺΙΥ|ϊϋΐΰΐΰῗῧῒῢΪΫ} }
+transliteration.omega.6.0 = { "([ιυίύίύῖῦὶὺΙΥ]) }
+transliteration.omega.6.1 = { remove }
+transliteration.omega.6.2 = { string = {1|ιυίύίύῖῦὶὺΙΥ|ϊϋΐΰΐΰῗῧῒῢΪΫ} }
+transliteration.omega.7.0 = { <[={007E}]([ΑΗΙΥΩ]) }
+transliteration.omega.7.1 = { remove }
+transliteration.omega.7.2 = { remove }
+transliteration.omega.7.3 = { string = {1|ΑΗΙΥΩ|ἏἯἿὟὯ} }
+transliteration.omega.8.0 = { >[={007E}]([ΑΗΙΩ]) }
+transliteration.omega.8.1 = { remove }
+transliteration.omega.8.2 = { remove }
+transliteration.omega.8.3 = { string = {1|ΑΗΙΩ|ἎἮἾὮ} }
+transliteration.omega.9.0 = { ()<(['={007E}`])()[ΑΕΗΙΟΥΩ] }
+transliteration.omega.9.1 = { remove }
+transliteration.omega.9.2 = { string = {1|'={007E}`|῞῟῟῝} }
+transliteration.omega.10.0 = { ()>(['={007E}`])()[ΑΕΗΙΟΥΩ] }
+transliteration.omega.10.1 = { remove }
+transliteration.omega.10.2 = { string = {1|'={007E}`|῎῏῏῍} }
+transliteration.omega.11.0 = { >([αεηιορυωάέήίόύώάέήίόύώᾶῆῖῦῶὰὲὴὶὸὺὼΑΕΗΙΟΩΆΈΉΊΌΏΆΈΉΊΌΏᾺῈῊῚῸῺ]) }
+transliteration.omega.11.1 = { remove }
+transliteration.omega.11.2 = { string = {1|αεηιορυωάέήίόύώάέήίόύώᾶῆῖῦῶὰὲὴὶὸὺὼΑΕΗΙΟΩΆΈΉΊΌΏΆΈΉΊΌΏᾺῈῊῚῸῺ|ἀἐἠἰὀῤὐὠἄἔἤἴὄὔὤἄἔἤἴὄὔὤἆἦἶὖὦἂἒἢἲὂὒὢἈἘἨἸὈὨἌἜἬἼὌὬἌἜἬἼὌὬἊἚἪἺὊὪ} }
+transliteration.omega.12.0 = { <([αεηιορυωάέήίόύώάέήίόύώᾶῆῖῦῶὰὲὴὶὸὺὼΑΕΗΙΟΡΥΩΆΈΉΊΌΎΏΆΈΉΊΌΎΏᾺῈῊῚῸῪῺ]) }
+transliteration.omega.12.1 = { remove }
+transliteration.omega.12.2 = { string = {1|αεηιορυωάέήίόύώάέήίόύώᾶῆῖῦῶὰὲὴὶὸὺὼΑΕΗΙΟΡΥΩΆΈΉΊΌΎΏΆΈΉΊΌΎΏᾺῈῊῚῸῪῺ|ἁἑἡἱὁῥὑὡἅἕἥἵὅὕὥἅἕἥἵὅὕὥἇἧἷὗὧἃἓἣἳὃὓὣἉἙἩἹὉῬὙὩἍἝἭἽὍὝὭἍἝἭἽὍὝὭἋἛἫἻὋὛὫ} }
+transliteration.omega.13.0 = { ([αηωάήώάήώᾶῆῶὰὴὼἁἡὡἀἠὠἅἥὥἇἧὧἃἣὣἄἤὤἆἦὦἂἢὢΑΗΩἉἩὩἈἨὨἍἭὭἏἯὯἋἫὫἌἬὬἎἮὮἊἪὪ]){007C} }
+transliteration.omega.13.1 = { string = {1|αηωάήώάήώᾶῆῶὰὴὼἁἡὡἀἠὠἅἥὥἇἧὧἃἣὣἄἤὤἆἦὦἂἢὢΑΗΩἉἩὩἈἨὨἍἭὭἏἯὯἋἫὫἌἬὬἎἮὮἊἪὪ|ᾳῃῳᾴῄῴᾴῄῴᾷῇῷᾲῂῲᾁᾑᾡᾀᾐᾠᾅᾕᾥᾇᾗᾧᾃᾓᾣᾄᾔᾤᾆᾖᾦᾂᾒᾢᾼῌῼᾉᾙᾩᾈᾘᾨᾍᾝᾭᾏᾟᾯᾋᾛᾫᾌᾜᾬᾎᾞᾮᾊᾚᾪ} }
+transliteration.omega.13.2 = { remove }
+;
+sigma.final.1.0 = { [^"]()σ(){A} }
+sigma.final.1.1 = { string = ς }
+sigma.final.2.0 = { [^"]()σ()$ }
+sigma.final.2.1 = { string = ς }
+sigma.final.3.0 = { ()"()[σΣ] } }
+sigma.final.3.1 = { remove }
+
[transforms.posthyphenation]
diaeresis.hyphen.1.0 = { |([ϊΐῒῗϋΰῢῧ]) }
diaeresis.hyphen.1.1 = { remove }
diff --git a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini
index 39b93e92ac3..fa7e11b9c2f 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.6
-date = 2021-04-05
+version = 1.7
+date = 2021-10-25
name.local = Ελληνικά
name.english = Greek
name.babel = greek
@@ -210,6 +210,56 @@ upper.ancient.3 = Ρ Σ Τ Υ Φ Χ Ψ Ω Ϡ
upper.ancient.4 = ͵Α ͵Β ͵Γ ͵Δ ͵Ε ͵Ϛ ͵Ζ ͵Η ͵Θ
upper.ancient.S.321 = ʹ
+[transforms.prehyphenation]
+; Tonos!
+transliteration.omega.1.0 = { '([aehiouwAEHIOUW]) }
+transliteration.omega.1.1 = { remove }
+transliteration.omega.1.2 = { string = {1|aehiouwAEHIOUW|άέήίόύώΆΈΉΊΌΎΏ} }
+transliteration.omega.2.0 = { [={007E}]([ahiuwpqsPQS]) }
+transliteration.omega.2.1 = { remove }
+transliteration.omega.2.2 = { string = {1|ahiuwpqsPQS|ᾶῆῖῦῶϡϟϛϠϞϚ} }
+transliteration.omega.3.0 = { `([aehiouwAEHIOUW]) }
+transliteration.omega.3.1 = { remove }
+transliteration.omega.3.2 = { string = {1|aehiouwAEHIOUW|ὰὲὴὶὸὺὼᾺῈῊῚῸῪῺ} }
+transliteration.omega.4.0 = { ([a-zA-Z{?};]) }
+transliteration.omega.4.1 = { string = {1|abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ?;_^|αβςδεφγηιθκλμνοπχρστυϝωξψζΑΒ῝ΔΕΦΓΗΙΘΚΛΜΝΟΠΧΡΣΤΥϜΩΞΨΖ;·} }
+transliteration.omega.5.0 = { "([ιυίύίύῖῦὶὺΙΥ]) }
+transliteration.omega.5.1 = { remove }
+transliteration.omega.5.2 = { string = {1|ιυίύίύῖῦὶὺΙΥ|ϊϋΐΰΐΰῗῧῒῢΪΫ} }
+transliteration.omega.6.0 = { "([ιυίύίύῖῦὶὺΙΥ]) }
+transliteration.omega.6.1 = { remove }
+transliteration.omega.6.2 = { string = {1|ιυίύίύῖῦὶὺΙΥ|ϊϋΐΰΐΰῗῧῒῢΪΫ} }
+transliteration.omega.7.0 = { <[={007E}]([ΑΗΙΥΩ]) }
+transliteration.omega.7.1 = { remove }
+transliteration.omega.7.2 = { remove }
+transliteration.omega.7.3 = { string = {1|ΑΗΙΥΩ|ἏἯἿὟὯ} }
+transliteration.omega.8.0 = { >[={007E}]([ΑΗΙΩ]) }
+transliteration.omega.8.1 = { remove }
+transliteration.omega.8.2 = { remove }
+transliteration.omega.8.3 = { string = {1|ΑΗΙΩ|ἎἮἾὮ} }
+transliteration.omega.9.0 = { ()<(['={007E}`])()[ΑΕΗΙΟΥΩ] }
+transliteration.omega.9.1 = { remove }
+transliteration.omega.9.2 = { string = {1|'={007E}`|῞῟῟῝} }
+transliteration.omega.10.0 = { ()>(['={007E}`])()[ΑΕΗΙΟΥΩ] }
+transliteration.omega.10.1 = { remove }
+transliteration.omega.10.2 = { string = {1|'={007E}`|῎῏῏῍} }
+transliteration.omega.11.0 = { >([αεηιορυωάέήίόύώάέήίόύώᾶῆῖῦῶὰὲὴὶὸὺὼΑΕΗΙΟΩΆΈΉΊΌΏΆΈΉΊΌΏᾺῈῊῚῸῺ]) }
+transliteration.omega.11.1 = { remove }
+transliteration.omega.11.2 = { string = {1|αεηιορυωάέήίόύώάέήίόύώᾶῆῖῦῶὰὲὴὶὸὺὼΑΕΗΙΟΩΆΈΉΊΌΏΆΈΉΊΌΏᾺῈῊῚῸῺ|ἀἐἠἰὀῤὐὠἄἔἤἴὄὔὤἄἔἤἴὄὔὤἆἦἶὖὦἂἒἢἲὂὒὢἈἘἨἸὈὨἌἜἬἼὌὬἌἜἬἼὌὬἊἚἪἺὊὪ} }
+transliteration.omega.12.0 = { <([αεηιορυωάέήίόύώάέήίόύώᾶῆῖῦῶὰὲὴὶὸὺὼΑΕΗΙΟΡΥΩΆΈΉΊΌΎΏΆΈΉΊΌΎΏᾺῈῊῚῸῪῺ]) }
+transliteration.omega.12.1 = { remove }
+transliteration.omega.12.2 = { string = {1|αεηιορυωάέήίόύώάέήίόύώᾶῆῖῦῶὰὲὴὶὸὺὼΑΕΗΙΟΡΥΩΆΈΉΊΌΎΏΆΈΉΊΌΎΏᾺῈῊῚῸῪῺ|ἁἑἡἱὁῥὑὡἅἕἥἵὅὕὥἅἕἥἵὅὕὥἇἧἷὗὧἃἓἣἳὃὓὣἉἙἩἹὉῬὙὩἍἝἭἽὍὝὭἍἝἭἽὍὝὭἋἛἫἻὋὛὫ} }
+transliteration.omega.13.0 = { ([αηωάήώάήώᾶῆῶὰὴὼἁἡὡἀἠὠἅἥὥἇἧὧἃἣὣἄἤὤἆἦὦἂἢὢΑΗΩἉἩὩἈἨὨἍἭὭἏἯὯἋἫὫἌἬὬἎἮὮἊἪὪ]){007C} }
+transliteration.omega.13.1 = { string = {1|αηωάήώάήώᾶῆῶὰὴὼἁἡὡἀἠὠἅἥὥἇἧὧἃἣὣἄἤὤἆἦὦἂἢὢΑΗΩἉἩὩἈἨὨἍἭὭἏἯὯἋἫὫἌἬὬἎἮὮἊἪὪ|ᾳῃῳᾴῄῴᾴῄῴᾷῇῷᾲῂῲᾁᾑᾡᾀᾐᾠᾅᾕᾥᾇᾗᾧᾃᾓᾣᾄᾔᾤᾆᾖᾦᾂᾒᾢᾼῌῼᾉᾙᾩᾈᾘᾨᾍᾝᾭᾏᾟᾯᾋᾛᾫᾌᾜᾬᾎᾞᾮᾊᾚᾪ} }
+transliteration.omega.13.2 = { remove }
+;
+sigma.final.1.0 = { [^"]()σ(){A} }
+sigma.final.1.1 = { string = ς }
+sigma.final.2.0 = { [^"]()σ()$ }
+sigma.final.2.1 = { string = ς }
+sigma.final.3.0 = { ()"()[σΣ] } }
+sigma.final.3.1 = { remove }
+
[transforms.posthyphenation]
diaeresis.hyphen.1.0 = { |([ϊΐϋΰ]) }
diaeresis.hyphen.1.1 = { remove }
diff --git a/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini b/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini
index 818b1ca7a0f..eb1b4fd5a48 100644
--- a/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini
+++ b/Master/texmf-dist/tex/generic/babel/locale/grc/babel-grc.ini
@@ -11,8 +11,8 @@
[identification]
charset = utf8
-version = 1.6
-date = 2021-04-05
+version = 1.7
+date = 2021-10-25
name.local = Αρχαία ελληνικά
name.english = Ancient Greek
name.babel = greek
@@ -187,6 +187,56 @@ upper.ancient.3 = Ρ Σ Τ Υ Φ Χ Ψ Ω Ϡ
upper.ancient.4 = ͵Α ͵Β ͵Γ ͵Δ ͵Ε ͵Ϛ ͵Ζ ͵Η ͵Θ
upper.ancient.S.321 = ʹ
+[transforms.prehyphenation]
+; Oxia!
+transliteration.omega.1.0 = { '([aehiouwAEHIOUW]) }
+transliteration.omega.1.1 = { remove }
+transliteration.omega.1.2 = { string = {1|aehiouwAEHIOUW|άέήίόύώΆΈΉΊΌΎΏ} }
+transliteration.omega.2.0 = { [={007E}]([ahiuwpqsPQS]) }
+transliteration.omega.2.1 = { remove }
+transliteration.omega.2.2 = { string = {1|ahiuwpqsPQS|ᾶῆῖῦῶϡϟϛϠϞϚ} }
+transliteration.omega.3.0 = { `([aehiouwAEHIOUW]) }
+transliteration.omega.3.1 = { remove }
+transliteration.omega.3.2 = { string = {1|aehiouwAEHIOUW|ὰὲὴὶὸὺὼᾺῈῊῚῸῪῺ} }
+transliteration.omega.4.0 = { ([a-zA-Z{?};]) }
+transliteration.omega.4.1 = { string = {1|abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ?;_^|αβςδεφγηιθκλμνοπχρστυϝωξψζΑΒ῝ΔΕΦΓΗΙΘΚΛΜΝΟΠΧΡΣΤΥϜΩΞΨΖ;·} }
+transliteration.omega.5.0 = { "([ιυίύίύῖῦὶὺΙΥ]) }
+transliteration.omega.5.1 = { remove }
+transliteration.omega.5.2 = { string = {1|ιυίύίύῖῦὶὺΙΥ|ϊϋΐΰΐΰῗῧῒῢΪΫ} }
+transliteration.omega.6.0 = { "([ιυίύίύῖῦὶὺΙΥ]) }
+transliteration.omega.6.1 = { remove }
+transliteration.omega.6.2 = { string = {1|ιυίύίύῖῦὶὺΙΥ|ϊϋΐΰΐΰῗῧῒῢΪΫ} }
+transliteration.omega.7.0 = { <[={007E}]([ΑΗΙΥΩ]) }
+transliteration.omega.7.1 = { remove }
+transliteration.omega.7.2 = { remove }
+transliteration.omega.7.3 = { string = {1|ΑΗΙΥΩ|ἏἯἿὟὯ} }
+transliteration.omega.8.0 = { >[={007E}]([ΑΗΙΩ]) }
+transliteration.omega.8.1 = { remove }
+transliteration.omega.8.2 = { remove }
+transliteration.omega.8.3 = { string = {1|ΑΗΙΩ|ἎἮἾὮ} }
+transliteration.omega.9.0 = { ()<(['={007E}`])()[ΑΕΗΙΟΥΩ] }
+transliteration.omega.9.1 = { remove }
+transliteration.omega.9.2 = { string = {1|'={007E}`|῞῟῟῝} }
+transliteration.omega.10.0 = { ()>(['={007E}`])()[ΑΕΗΙΟΥΩ] }
+transliteration.omega.10.1 = { remove }
+transliteration.omega.10.2 = { string = {1|'={007E}`|῎῏῏῍} }
+transliteration.omega.11.0 = { >([αεηιορυωάέήίόύώάέήίόύώᾶῆῖῦῶὰὲὴὶὸὺὼΑΕΗΙΟΩΆΈΉΊΌΏΆΈΉΊΌΏᾺῈῊῚῸῺ]) }
+transliteration.omega.11.1 = { remove }
+transliteration.omega.11.2 = { string = {1|αεηιορυωάέήίόύώάέήίόύώᾶῆῖῦῶὰὲὴὶὸὺὼΑΕΗΙΟΩΆΈΉΊΌΏΆΈΉΊΌΏᾺῈῊῚῸῺ|ἀἐἠἰὀῤὐὠἄἔἤἴὄὔὤἄἔἤἴὄὔὤἆἦἶὖὦἂἒἢἲὂὒὢἈἘἨἸὈὨἌἜἬἼὌὬἌἜἬἼὌὬἊἚἪἺὊὪ} }
+transliteration.omega.12.0 = { <([αεηιορυωάέήίόύώάέήίόύώᾶῆῖῦῶὰὲὴὶὸὺὼΑΕΗΙΟΡΥΩΆΈΉΊΌΎΏΆΈΉΊΌΎΏᾺῈῊῚῸῪῺ]) }
+transliteration.omega.12.1 = { remove }
+transliteration.omega.12.2 = { string = {1|αεηιορυωάέήίόύώάέήίόύώᾶῆῖῦῶὰὲὴὶὸὺὼΑΕΗΙΟΡΥΩΆΈΉΊΌΎΏΆΈΉΊΌΎΏᾺῈῊῚῸῪῺ|ἁἑἡἱὁῥὑὡἅἕἥἵὅὕὥἅἕἥἵὅὕὥἇἧἷὗὧἃἓἣἳὃὓὣἉἙἩἹὉῬὙὩἍἝἭἽὍὝὭἍἝἭἽὍὝὭἋἛἫἻὋὛὫ} }
+transliteration.omega.13.0 = { ([αηωάήώάήώᾶῆῶὰὴὼἁἡὡἀἠὠἅἥὥἇἧὧἃἣὣἄἤὤἆἦὦἂἢὢΑΗΩἉἩὩἈἨὨἍἭὭἏἯὯἋἫὫἌἬὬἎἮὮἊἪὪ]){007C} }
+transliteration.omega.13.1 = { string = {1|αηωάήώάήώᾶῆῶὰὴὼἁἡὡἀἠὠἅἥὥἇἧὧἃἣὣἄἤὤἆἦὦἂἢὢΑΗΩἉἩὩἈἨὨἍἭὭἏἯὯἋἫὫἌἬὬἎἮὮἊἪὪ|ᾳῃῳᾴῄῴᾴῄῴᾷῇῷᾲῂῲᾁᾑᾡᾀᾐᾠᾅᾕᾥᾇᾗᾧᾃᾓᾣᾄᾔᾤᾆᾖᾦᾂᾒᾢᾼῌῼᾉᾙᾩᾈᾘᾨᾍᾝᾭᾏᾟᾯᾋᾛᾫᾌᾜᾬᾎᾞᾮᾊᾚᾪ} }
+transliteration.omega.13.2 = { remove }
+;
+sigma.final.1.0 = { [^"]()σ(){A} }
+sigma.final.1.1 = { string = ς }
+sigma.final.2.0 = { [^"]()σ()$ }
+sigma.final.2.1 = { string = ς }
+sigma.final.3.0 = { ()"()[σΣ] } }
+sigma.final.3.1 = { remove }
+
[transforms.posthyphenation]
diaeresis.hyphen.1.0 = { |([ϊΐῒῗϋΰῢῧ]) }
diaeresis.hyphen.1.1 = { remove }
diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def
index 37082ae4229..b99ff979189 100644
--- a/Master/texmf-dist/tex/generic/babel/luababel.def
+++ b/Master/texmf-dist/tex/generic/babel/luababel.def
@@ -1468,24 +1468,35 @@ end
\MakeRobust\put}%
\fi
\AtBeginDocument
- {\ifx\tikz@atbegin@node\@undefined\else
- \ifx\AddToHook\@undefined\else % TODO. Still tentative.
+ {\ifx\pgfpicture\@undefined\else % TODO. Allow deactivate?
+ \ifx\AddToHook\@undefined
+ \bbl@sreplace\pgfpicture{\pgfpicturetrue}%
+ {\bbl@pictsetdir\z@\pgfpicturetrue}%
+ \else
\AddToHook{env/pgfpicture/begin}{\bbl@pictsetdir\@ne}%
- % \AddToHook{env/tikzpicture/begin}{\bbl@pictsetdir\z@}%
- \bbl@add\pgfinterruptpicture{\bbl@pictresetdir}%
\fi
- \let\bbl@OL@pgfpicture\pgfpicture
- \bbl@sreplace\pgfpicture{\pgfpicturetrue}%
- {\bbl@pictsetdir\z@\pgfpicturetrue}%
+ \bbl@add\pgfinterruptpicture{\bbl@pictresetdir}%
\bbl@add\pgfsys@beginpicture{\bbl@pictsetdir\z@}%
+ \fi
+ \ifx\tikzpicture\@undefined\else
+ \ifx\AddToHook\@undefined\else
+ \AddToHook{env/tikzpicture/begin}{\bbl@pictsetdir\z@}%
+ \fi
\bbl@add\tikz@atbegin@node{\bbl@pictresetdir}%
- \bbl@sreplace\tikz{\begingroup}%
- {\begingroup\bbl@pictsetdir\tw@}%
+ \bbl@sreplace\tikz{\begingroup}{\begingroup\bbl@pictsetdir\tw@}%
\fi
\ifx\AddToHook\@undefined\else
- \AddToHook{env/tcolorbox/begin}{\bbl@pictsetdir\@ne}%
+ \ifx\tcolorbox\@undefined\else
+ \AddToHook{env/tcolorbox/begin}{\bbl@pictsetdir\@ne}%
+ \bbl@sreplace\tcb@savebox
+ {\ignorespaces}{\ignorespaces\bbl@pictresetdir}%
+ \ifx\tikzpicture@tcb@hooked\@undefined\else
+ \bbl@sreplace\tikzpicture@tcb@hooked{\noexpand\tikzpicture}%
+ {\textdir TLT\noexpand\tikzpicture}%
+ \fi
+ \fi
\fi
- }}
+ }}
{}
\IfBabelLayout{counters}%
{\let\bbl@OL@@textsuperscript\@textsuperscript
diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf
index 42fced5f3c7..94e2ec22721 100644
--- a/Master/texmf-dist/tex/generic/babel/nil.ldf
+++ b/Master/texmf-dist/tex/generic/babel/nil.ldf
@@ -33,7 +33,7 @@
%% extension |.ins|) which are part of the distribution.
%%
-\ProvidesLanguage{nil}[2021/10/19 3.65 Nil language]
+\ProvidesLanguage{nil}[2021/11/08 3.66 Nil language]
\LdfInit{nil}{datenil}
\ifx\l@nil\@undefined
\newlanguage\l@nil