summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-11-10 21:57:05 +0000
committerKarl Berry <karl@freefriends.org>2020-11-10 21:57:05 +0000
commit2a0bdc5ccb4cff6e0f2b515649ac6ad8f3029b56 (patch)
tree6471b0db81ecfd12d1da68e91b84dbddc3200ec0
parente284f012774b006f02cc4bdcbb63cb9aa0f0c4aa (diff)
babel-greek (10nov20)
git-svn-id: svn://tug.org/texlive/trunk@56904 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/README84
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/README.html205
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/babel-greek.pdfbin254869 -> 255669 bytes
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/test-8bit-greek.pdfbin0 -> 188008 bytes
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/test-8bit-greek.tex422
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/test-greek-lgr.pdfbin0 -> 153395 bytes
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/test-greek-tu.pdfbin0 -> 51599 bytes
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/test-greek.pdfbin233964 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/test-greek.tex393
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/test-greeknumeral.pdfbin0 -> 44372 bytes
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/test-greeknumeral.tex236
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/test-tu-lgr.pdfbin0 -> 43239 bytes
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/test-tu-lgr.tex (renamed from Master/texmf-dist/doc/generic/babel-greek/test-unicode-lgr.tex)24
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/test-unicode-greek.pdfbin42751 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/test-unicode-greek.tex259
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/test-unicode-lgr.pdfbin43607 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/usage.pdfbin175483 -> 176463 bytes
-rw-r--r--Master/texmf-dist/doc/generic/babel-greek/usage.tex29
-rw-r--r--Master/texmf-dist/source/generic/babel-greek/Makefile30
-rw-r--r--Master/texmf-dist/source/generic/babel-greek/babel-greek.dtx383
-rw-r--r--Master/texmf-dist/tex/generic/babel-greek/greek.ldf221
21 files changed, 1357 insertions, 929 deletions
diff --git a/Master/texmf-dist/doc/generic/babel-greek/README b/Master/texmf-dist/doc/generic/babel-greek/README
index d1f2f3eb1cc..45ecf8f1d11 100644
--- a/Master/texmf-dist/doc/generic/babel-greek/README
+++ b/Master/texmf-dist/doc/generic/babel-greek/README
@@ -3,8 +3,8 @@ babel-greek
Babel support for the Greek language and script
===============================================
-:Copyright: © 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms,
- © 2013 Günter Milde
+:Copyright: © 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms,
+ © 2013 -- 2020 Günter Milde.
:Licence: This work may be distributed and/or modified under the
conditions of the `LaTeX Project Public License`_, either
version 1.3 of this license or any later version.
@@ -54,17 +54,23 @@ News
1.9d 2015-09-04 Remove `grsymb` (macros for Greek symbols).
This package is outdated and obsoleted by greek-fontenc_
(reported by Claudio Beccari).
-.. Unicode uc/lc corrections now in greek-fontenc
- (polyglossia's ``xgreek-fixes.def`` has bugs).
+.. Unicode uc/lc corrections now in greek-fontenc.
1.9e 2015-11-27 Fix bug in lccode-setting loop (patch by Enrico Gregorio).
-1.9f 2016-02-04 Support for standard Unicode text font encoding "TU"
- (new in fontspec v2.5a).
+1.9f 2016-02-04 Support for new standard Unicode text font encoding "TU".
1.9g 2016-09-07 Babel 3.9i deprecated ``\textlatin``
and fixed ``\latinencoding``.
1.9h 2019-07-11 Move breathing composite commands to textalpha_.
1.9i 2020-02-28 Update test for Unicode fonts.
Fix accent in ``\seename`` and ``\alsoname``.
-1.9j 2020/03/17 Fix ampersand in math.
+1.9j 2020-03-17 Fix ampersand in math mode.
+1.10 2020-11-10 Use ``TU`` as ``\greekfontencoding`` for Xe/LuaTeX
+ (set by LaTeX as `default font encoding for Unicode
+ engines`_ since 2017/01/01).
+.. Use zig-zagy ``\textkoppa`` for ``\greeknumeral{90}``.
+.. PDF-string secure implementation of ``\greeknumeral``
+ from hyperref_.
+.. Load ``puenc-greek.def`` (from greek-fontenc_)
+ if used with hyperref (polytonic Greek in PDF-strings).
===== ============ ============================================================
@@ -75,24 +81,24 @@ News
Files
-----
-`<babel-greek.ins>`_; `<babel-greek.pdf>`_
+`<babel-greek.dtx>`_; `<babel-greek.pdf>`_
Source of the language definition file ``greek.ldf`` for use with Babel_.
`<athnum.dtx>`_; `<athnum.pdf>`_
Athenian Numerals.
`<grmath.dtx>`_; `<grmath.pdf>`_
Greek log-like Operators.
-`<test-greek.pdf>`_; `<test-greek.tex>`_
- Tests and Examples for 8-bit TeX.
-`<test-unicode-greek.pdf>`_; `<test-unicode-greek.tex>`_
- Tests and Examples for XeTeX/LuaTeX.
-`<test-unicode-lgr.pdf>`_; `<test-unicode-lgr.tex>`_
+`<babel-greek.ins>`_
+ DocStrip_ batch file.
+`<test-greek.tex>`_ `<test-greek-lgr.pdf>`_ `<test-greek-tu.pdf>`_
+ Test Babel-Greek features.
+`<test-8bit-greek.tex>`_ `<test-8bit-greek.pdf>`_
+ Additional tests and examples for 8-bit TeX.
+`<test-tu-lgr.tex>`_ `<test-tu-lgr.pdf>`_
Tests and Examples for XeTeX/LuaTeX with LGR 8-bit fonts.
-
-`<usage.pdf>`_; `<usage.tex>`_
+`<usage.tex>`_ `<usage.pdf>`_
Description of the `LGR Latin transliteration`_.
-
Requirements
------------
@@ -154,19 +160,6 @@ variant.
For details see `<babel-greek.pdf>`_ and the babel_ documentation.
-With XeTeX/LuaTeX, load fontspec_ before babel_, so that babel-greek can
-set up the Unicode font encoding for use with Greek, e.g. ::
-
- \usepackage{fontspec}
- \setmainfont{Linux Libertine O}
- \setsansfont{Linux Biolinum O}
- \usepackage[greek,english]{babel}
-
-Note, that the default font used with XeTeX/LuaTeX (Latin Modern) misses most
-Greek letters. Warnings about missing charcters are only written to the log
-file, not the console output!
-
-
Input of Greek characters is possible as literal characters (with the
greek-inputenc_ package or with XeTeX or LuaTeX) or the `LGR Latin
transliteration`_. See `<usage.pdf>`_ and the example files provided with
@@ -179,8 +172,11 @@ A list of Greek text fonts for use with LaTeX is available at the CTAN
http://www.ctan.org/topic/font-greek
With the XeTeX or LuaTeX engines, the user should ensure that the chosen
-font contains the required glyphs (the default Latin Modern fonts miss
-them). Examples for suitable fonts are the CM-unicode_ or the `Linux
+font contains the required glyphs: the default Latin Modern fonts miss
+them. Warnings about missing charcters are only written to the log
+file, not the console output! Select a suitable font with fontspec_.
+
+Examples for suitable fonts are the CM-unicode_ or the `Linux
Libertine`_ OpenType fonts as well as any system-wide installed OTF fonts
that support Greek (e.g. `Deja Vu`_).
@@ -203,21 +199,23 @@ The following ASCII characters are converted to Greek symbols:
= = = = = = = = = = = = = = = = = = = = = = = = =
A B G D E Z H J I K L M N X O P R S T U F Q Y W
Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω
+- - - - - - - - - - - - - - - - - - - - - - - - -
+- - - - - - - - - - - - - - - - - - - - - - - - -
a b g d e z h j i k l m n x o p r s c t u f q y w
α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ ς τ υ φ χ ψ ω
= = = = = = = = = = = = = = = = = = = = = = = = =
Accent symbols and punctuation:
-================= ===== == ====================== ======== ====
-tonos ``'`` ά semicolon ``;`` ·
-varia \` ὰ question mark ``?`` ;
-perispomeni ``~`` ᾶ left apostrophe \` \` ‘
-dasia ``<`` ἁ right apostrophe ``''`` ’
-psili ``>`` ἀ left quotation mark ``((`` «
-ypogegrammeni ``|`` ᾳ right quotation mark ``))`` »
-dialytika ``"`` ϊ zero width non-joiner v
-================= ===== == ====================== ======== ====
+================= ====== == ====================== ======== ====
+tonos ``'a`` ά semicolon ``;`` ·
+varia \`a ὰ question mark ``?`` ;
+perispomeni ``~a`` ᾶ left apostrophe \` \` ‘
+dasia ``<a`` ἁ right apostrophe ``''`` ’
+psili ``>a`` ἀ left quotation mark ``((`` «
+ypogegrammeni ``a|`` ᾳ right quotation mark ``))`` »
+dialytika ``"i`` ϊ zero width non-joiner v
+================= ====== == ====================== ======== ====
A major drawback of the LGR transliteration is that you cannot access Latin
letters and some symbols if LGR is the active font encoding (e.g. in
@@ -233,13 +231,15 @@ Unicode (with XeTeX or LuaTeX).
.. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt
.. _babel: http://www.ctan.org/pkg/babel
.. _docstrip: http://www.ctan.org/pkg/docstrip
-.. _font encoding: http://mirror.ctan.org/macros/latex/doc/encguide.pdf
+.. _font encoding: http://mirror.ctan.org/macros/latex/base/encguide.pdf
.. _fontspec: http://www.ctan.org/pkg/fontspec
+.. _fontenc: http://www.ctan.org/pkg/fontenc
.. _CB Fonts: http://www.ctan.org/pkg/cbgreek-complete
.. _CM-unicode: http://www.ctan.org/pkg/cm-unicode
.. _Deja Vu: http://dejavu-fonts.org
.. _e-TeX: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=etex
.. _grtimes: http://www.ctan.org/pkg/grtimes
+.. _hyperref: http://www.ctan.org/pkg/hyperref
.. _textalpha:
.. _greek-fontenc: http://www.ctan.org/pkg/greek-fontenc
.. _greek-inputenc: http://www.ctan.org/pkg/greek-inputenc
@@ -249,3 +249,5 @@ Unicode (with XeTeX or LuaTeX).
.. _polyglossia: http://www.ctan.org/pkg/polyglossia
.. _substitutefont: http://www.ctan.org/pkg/substitutefont
.. _texdoc: http://www.ctan.org/pkg/texdoc
+.. _default font encoding for Unicode engines:
+ https://www.latex-project.org/news/latex2e-news/ltnews26.pdf
diff --git a/Master/texmf-dist/doc/generic/babel-greek/README.html b/Master/texmf-dist/doc/generic/babel-greek/README.html
index bcc2df90d59..5b098647b31 100644
--- a/Master/texmf-dist/doc/generic/babel-greek/README.html
+++ b/Master/texmf-dist/doc/generic/babel-greek/README.html
@@ -4,8 +4,8 @@
<meta charset="utf-8"/>
<meta name="generator" content="Docutils 0.17b.dev: http://docutils.sourceforge.net/" />
<title>babel-greek</title>
-<meta name="dcterms.rights" content="© 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms, © 2013 Günter Milde" />
-<link rel="schema.dcterms" href="http://purl.org/dc/terms/">
+<meta name="dcterms.rights" content="© 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms, © 2013 – 2020 Günter Milde." />
+<link rel="schema.dcterms" href="http://purl.org/dc/terms/"/>
<style type="text/css">
/* Minimal style sheet for the HTML output of Docutils. */
@@ -50,33 +50,31 @@ p.system-message-title {
font-weight: bold;
}
h1 + p.subtitle,
-h1 + p.section-subtitle {
+h2 + p.section-subtitle {
font-size: 1.6em;
}
-h2 + p.section-subtitle { font-size: 1.28em; }
+h3 + p.section-subtitle {
+ font-size: 1.28em;
+}
p.subtitle,
p.section-subtitle,
p.sidebar-subtitle {
font-weight: bold;
margin-top: -0.5em;
}
-p.sidebar-title,
+p.sidebar-title {
+ font-size: larger;
+}
p.rubric {
font-size: larger;
+ color: maroon;
}
-p.rubric { color: maroon; }
a.toc-backref {
color: black;
text-decoration: none; }
/* Warnings, Errors */
-div.caution p.admonition-title,
-div.attention p.admonition-title,
-div.danger p.admonition-title,
-div.error p.admonition-title,
-div.warning p.admonition-title,
-div.system-messages h1,
-div.error,
+div.system-messages h2,
span.problematic,
p.system-message-title {
color: red;
@@ -213,8 +211,6 @@ object.align-right,
table.align-right {
margin-left: auto;
}
-.figure.align-center, .figure.align-right,
-figure.align-center, figure.align-right,
img.align-center, img.align-right,
object.align-center, object.align-right {
display: block;
@@ -226,18 +222,6 @@ table.align-left, table.align-center, table.align-right {
text-align: inherit;
}
-/* Admonitions and System Messages */
-div.admonition,
-div.system-message,
-aside.sidebar {
- margin: 1em 1.5em;
- border: medium outset;
- padding-top: 0.5em;
- padding-bottom: 0.5em;
- padding-right: 1em;
- padding-left: 1em;
-}
-
/* Sidebar */
aside.sidebar {
width: 30%;
@@ -249,6 +233,8 @@ aside.sidebar {
/* Text Blocks */
blockquote,
div.topic,
+div.admonition,
+div.system-message,
pre.literal-block,
pre.doctest-block,
pre.math,
@@ -322,11 +308,11 @@ body {
div.document,
main {
line-height:1.3;
- counter-reset: table;
- /* counter-reset: figure; */
+ counter-reset: table figure;
/* avoid long lines --> better reading */
+ /* optimum is 45…75 characters/line <http://webtypography.net/2.1.2> */
/* OTOH: lines should not be too short because of missing hyphenation, */
- max-width: 50em;
+ max-width: 50em;
padding: 1px 2%; /* 1px on top avoids grey bar above title (mozilla) */
margin: auto;
background-color: white;
@@ -514,7 +500,35 @@ object.align-right {
margin-left: 1em;
}
/* Stop floating sidebars, images and figures at section level 1,2,3 */
-h1, h2, h3 { clear: both; }
+h1, h2, h3, h4 { clear: both; }
+
+/* Numbered figures */
+figure.numbered > figcaption > p:before {
+ counter-increment: figure;
+ content: "Figure " counter(figure) ": ";
+ font-weight: bold;
+}
+
+
+/* Admonitions and System Messages */
+
+div.admonition,
+div.system-message,
+aside.sidebar {
+ border: medium outset;
+ margin: 1em 1.5em;
+ padding: 0.5em 1em;
+}
+
+div.caution p.admonition-title,
+div.attention p.admonition-title,
+div.danger p.admonition-title,
+div.error p.admonition-title,
+div.warning p.admonition-title,
+div.error {
+ color: red;
+}
+
/* Sidebar */
@@ -598,8 +612,8 @@ a { text-decoration: none; }
<p class="subtitle" id="babel-support-for-the-greek-language-and-script">Babel support for the Greek language and script</p>
<dl class="docinfo simple">
<dt class="copyright">Copyright</dt>
-<dd class="copyright">© 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms,
-© 2013 Günter Milde</dd>
+<dd class="copyright">© 1997 Apostolos Syropoulos, Claudio Beccari, Johannes Brahms,
+© 2013 – 2020 Günter Milde.</dd>
<dt class="licence">Licence</dt>
<dd class="licence"><p>This work may be distributed and/or modified under the
conditions of the <a class="reference external" href="http://www.latex-project.org/lppl.txt">LaTeX Project Public License</a>, either
@@ -617,7 +631,7 @@ orthography of the Greek language.</p>
engines (XeTeX/LuaTeX).</p>
</div>
<section id="news">
-<h1>News</h1>
+<h2>News</h2>
<table class="borderless">
<colgroup>
<col style="width: 6%" />
@@ -726,8 +740,7 @@ This package is outdated and obsoleted by <a class="reference external" href="ht
<tr><td><!-- -->
</td>
<td></td>
-<td><p>Unicode uc/lc corrections now in greek-fontenc
-(polyglossia’s <span class="docutils literal"><span class="pre">xgreek-fixes.def</span></span> has bugs).</p></td>
+<td><p>Unicode uc/lc corrections now in greek-fontenc.</p></td>
</tr>
<tr><td><p>1.9e</p></td>
<td><p>2015-11-27</p></td>
@@ -735,8 +748,7 @@ This package is outdated and obsoleted by <a class="reference external" href="ht
</tr>
<tr><td><p>1.9f</p></td>
<td><p>2016-02-04</p></td>
-<td><p>Support for standard Unicode text font encoding “TU”
-(new in fontspec v2.5a).</p></td>
+<td><p>Support for new standard Unicode text font encoding “TU”.</p></td>
</tr>
<tr><td><p>1.9g</p></td>
<td><p>2016-09-07</p></td>
@@ -753,16 +765,39 @@ and fixed <span class="docutils literal">\latinencoding</span>.</p></td>
Fix accent in <span class="docutils literal">\seename</span> and <span class="docutils literal">\alsoname</span>.</p></td>
</tr>
<tr><td><p>1.9j</p></td>
-<td><p>2020/03/17</p></td>
-<td><p>Fix ampersand in math.</p></td>
+<td><p>2020-03-17</p></td>
+<td><p>Fix ampersand in math mode.</p></td>
+</tr>
+<tr><td><p>1.10</p></td>
+<td><p>2020-11-10</p></td>
+<td><p>Use <span class="docutils literal">TU</span> as <span class="docutils literal">\greekfontencoding</span> for Xe/LuaTeX
+(set by LaTeX as <a class="reference external" href="https://www.latex-project.org/news/latex2e-news/ltnews26.pdf">default font encoding for Unicode
+engines</a> since 2017/01/01).</p></td>
+</tr>
+<tr><td><!-- -->
+</td>
+<td></td>
+<td><p>Use zig-zagy <span class="docutils literal">\textkoppa</span> for <span class="docutils literal">\greeknumeral{90}</span>.</p></td>
+</tr>
+<tr><td><!-- -->
+</td>
+<td></td>
+<td><p>PDF-string secure implementation of <span class="docutils literal">\greeknumeral</span>
+from <a class="reference external" href="http://www.ctan.org/pkg/hyperref">hyperref</a>.</p></td>
+</tr>
+<tr><td><!-- -->
+</td>
+<td></td>
+<td><p>Load <span class="docutils literal"><span class="pre">puenc-greek.def</span></span> (from <a class="reference external" href="http://www.ctan.org/pkg/greek-fontenc">greek-fontenc</a>)
+if used with hyperref (polytonic Greek in PDF-strings).</p></td>
</tr>
</tbody>
</table>
</section>
<section id="files">
-<h1>Files</h1>
+<h2>Files</h2>
<dl class="simple">
-<dt><a class="reference external" href="babel-greek.ins">babel-greek.ins</a>; <a class="reference external" href="babel-greek.pdf">babel-greek.pdf</a></dt>
+<dt><a class="reference external" href="babel-greek.dtx">babel-greek.dtx</a>; <a class="reference external" href="babel-greek.pdf">babel-greek.pdf</a></dt>
<dd><p>Source of the language definition file <span class="docutils literal">greek.ldf</span> for use with <a class="reference external" href="http://www.ctan.org/pkg/babel">Babel</a>.</p>
</dd>
<dt><a class="reference external" href="athnum.dtx">athnum.dtx</a>; <a class="reference external" href="athnum.pdf">athnum.pdf</a></dt>
@@ -771,22 +806,25 @@ Fix accent in <span class="docutils literal">\seename</span> and <span class="do
<dt><a class="reference external" href="grmath.dtx">grmath.dtx</a>; <a class="reference external" href="grmath.pdf">grmath.pdf</a></dt>
<dd><p>Greek log-like Operators.</p>
</dd>
-<dt><a class="reference external" href="test-greek.pdf">test-greek.pdf</a>; <a class="reference external" href="test-greek.tex">test-greek.tex</a></dt>
-<dd><p>Tests and Examples for 8-bit TeX.</p>
+<dt><a class="reference external" href="babel-greek.ins">babel-greek.ins</a></dt>
+<dd><p><a class="reference external" href="http://www.ctan.org/pkg/docstrip">DocStrip</a> batch file.</p>
+</dd>
+<dt><a class="reference external" href="test-greek.tex">test-greek.tex</a> <a class="reference external" href="test-greek-lgr.pdf">test-greek-lgr.pdf</a> <a class="reference external" href="test-greek-tu.pdf">test-greek-tu.pdf</a></dt>
+<dd><p>Test Babel-Greek features.</p>
</dd>
-<dt><a class="reference external" href="test-unicode-greek.pdf">test-unicode-greek.pdf</a>; <a class="reference external" href="test-unicode-greek.tex">test-unicode-greek.tex</a></dt>
-<dd><p>Tests and Examples for XeTeX/LuaTeX.</p>
+<dt><a class="reference external" href="test-8bit-greek.tex">test-8bit-greek.tex</a> <a class="reference external" href="test-8bit-greek.pdf">test-8bit-greek.pdf</a></dt>
+<dd><p>Additional tests and examples for 8-bit TeX.</p>
</dd>
-<dt><a class="reference external" href="test-unicode-lgr.pdf">test-unicode-lgr.pdf</a>; <a class="reference external" href="test-unicode-lgr.tex">test-unicode-lgr.tex</a></dt>
+<dt><a class="reference external" href="test-tu-lgr.tex">test-tu-lgr.tex</a> <a class="reference external" href="test-tu-lgr.pdf">test-tu-lgr.pdf</a></dt>
<dd><p>Tests and Examples for XeTeX/LuaTeX with LGR 8-bit fonts.</p>
</dd>
-<dt><a class="reference external" href="usage.pdf">usage.pdf</a>; <a class="reference external" href="usage.tex">usage.tex</a></dt>
+<dt><a class="reference external" href="usage.tex">usage.tex</a> <a class="reference external" href="usage.pdf">usage.pdf</a></dt>
<dd><p>Description of the <a class="reference internal" href="#lgr-latin-transliteration">LGR Latin transliteration</a>.</p>
</dd>
</dl>
</section>
<section id="requirements">
-<h1>Requirements</h1>
+<h2>Requirements</h2>
<p>The “babel-greek” package requires the <a class="reference external" href="http://www.ctan.org/pkg/babel">babel</a> base package and font
definition files from the <a class="reference external" href="http://www.ctan.org/pkg/greek-fontenc">greek-fontenc</a> package. The <a class="reference external" href="http://www.ctan.org/pkg/greek-inputenc">greek-inputenc</a>
package is recommended when using 8-bit TeX engines.</p>
@@ -794,7 +832,7 @@ package is recommended when using 8-bit TeX engines.</p>
<p>Plain TeX is currently not supported. Patches are welcome.</p>
</section>
<section id="installation">
-<h1>Installation</h1>
+<h2>Installation</h2>
<p>If possible, get this package from your distribution using its installation
manager.</p>
<p>Otherwise, make sure LaTeX can find the required files:</p>
@@ -820,7 +858,7 @@ of these files you want to keep.</p>
</dl>
</section>
<section id="usage">
-<h1>Usage</h1>
+<h2>Usage</h2>
<p>Use the “greek” document option or pass the “greek” option to babel:</p>
<pre class="literal-block">\usepackage[greek]{babel}</pre>
<p>For polytonic Greek, set the language attribute “polutoniko”:</p>
@@ -831,37 +869,30 @@ of these files you want to keep.</p>
<p>Similarly, the attribute “ancient” selects the ancient Greek language
variant.</p>
<p>For details see <a class="reference external" href="babel-greek.pdf">babel-greek.pdf</a> and the <a class="reference external" href="http://www.ctan.org/pkg/babel">babel</a> documentation.</p>
-<p>With XeTeX/LuaTeX, load <a class="reference external" href="http://www.ctan.org/pkg/fontspec">fontspec</a> before <a class="reference external" href="http://www.ctan.org/pkg/babel">babel</a>, so that babel-greek can
-set up the Unicode font encoding for use with Greek, e.g.</p>
-<pre class="literal-block">\usepackage{fontspec}
-\setmainfont{Linux Libertine O}
-\setsansfont{Linux Biolinum O}
-\usepackage[greek,english]{babel}</pre>
-<p>Note, that the default font used with XeTeX/LuaTeX (Latin Modern) misses most
-Greek letters. Warnings about missing charcters are only written to the log
-file, not the console output!</p>
<p>Input of Greek characters is possible as literal characters (with the
<a class="reference external" href="http://www.ctan.org/pkg/greek-inputenc">greek-inputenc</a> package or with XeTeX or LuaTeX) or the <a class="reference internal" href="#lgr-latin-transliteration">LGR Latin
transliteration</a>. See <a class="reference external" href="usage.pdf">usage.pdf</a> and the example files provided with
<a class="reference external" href="http://www.ctan.org/pkg/greek-fontenc">greek-fontenc</a>.</p>
</section>
<section id="greek-text-fonts">
-<h1>Greek text fonts</h1>
+<h2>Greek text fonts</h2>
<p>A list of Greek text fonts for use with LaTeX is available at the CTAN
<a class="reference external" href="http://www.ctan.org/topic/font-greek">http://www.ctan.org/topic/font-greek</a></p>
<p>With the XeTeX or LuaTeX engines, the user should ensure that the chosen
-font contains the required glyphs (the default Latin Modern fonts miss
-them). Examples for suitable fonts are the <a class="reference external" href="http://www.ctan.org/pkg/cm-unicode">CM-unicode</a> or the <a class="reference external" href="http://www.ctan.org/pkg/libertine">Linux
+font contains the required glyphs: the default Latin Modern fonts miss
+them. Warnings about missing charcters are only written to the log
+file, not the console output! Select a suitable font with <a class="reference external" href="http://www.ctan.org/pkg/fontspec">fontspec</a>.</p>
+<p>Examples for suitable fonts are the <a class="reference external" href="http://www.ctan.org/pkg/cm-unicode">CM-unicode</a> or the <a class="reference external" href="http://www.ctan.org/pkg/libertine">Linux
Libertine</a> OpenType fonts as well as any system-wide installed OTF fonts
that support Greek (e.g. <a class="reference external" href="http://dejavu-fonts.org">Deja Vu</a>).</p>
-<p>The LGR <a class="reference external" href="http://mirror.ctan.org/macros/latex/doc/encguide.pdf">font encoding</a> is the de-facto standard for typesetting Greek with
+<p>The LGR <a class="reference external" href="http://mirror.ctan.org/macros/latex/base/encguide.pdf">font encoding</a> is the de-facto standard for typesetting Greek with
8-bit LaTeX. Fonts in this encoding include the <a class="reference external" href="http://www.ctan.org/pkg/cbgreek-complete">CB fonts</a> (matching CM),
<a class="reference external" href="http://www.ctan.org/pkg/grtimes">grtimes</a> (Greek Times), <a class="reference external" href="http://www.ctan.org/pkg/kerkis">Kerkis</a> (matching URW Bookman), and the <a class="reference external" href="http://www.ctan.org/pkg/gfs">GFS font
collection</a>. Setup of these fonts as Greek variant to matching Latin fonts
is facilitated by the <a class="reference external" href="http://www.ctan.org/pkg/substitutefont">substitutefont</a> package.</p>
</section>
<section id="lgr-latin-transliteration">
-<h1>LGR Latin Transliteration</h1>
+<h2>LGR Latin Transliteration</h2>
<p>The LGR font encoding allows input of Greek characters via an ASCII
transliteration. This enables simple input with a Latin keyboard. Characters
with diacritics may be selected with accent macros (cf. <a class="reference external" href="http://www.ctan.org/pkg/greek-fontenc">greek-fontenc</a>) or
@@ -948,6 +979,32 @@ via the ligature definitions in the font (see <a class="reference external" href
<td><p>Ψ</p></td>
<td><p>Ω</p></td>
</tr>
+<tr><td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+</tr>
<tr><td><p>a</p></td>
<td><p>b</p></td>
<td><p>g</p></td>
@@ -1006,57 +1063,57 @@ via the ligature definitions in the font (see <a class="reference external" href
<table>
<colgroup>
<col style="width: 29%" />
-<col style="width: 9%" />
+<col style="width: 10%" />
<col style="width: 3%" />
-<col style="width: 38%" />
+<col style="width: 37%" />
<col style="width: 14%" />
<col style="width: 7%" />
</colgroup>
<tbody>
<tr><td><p>tonos</p></td>
-<td><p><span class="docutils literal">'</span></p></td>
+<td><p><span class="docutils literal">'a</span></p></td>
<td><p>ά</p></td>
<td><p>semicolon</p></td>
<td><p><span class="docutils literal">;</span></p></td>
<td><p>·</p></td>
</tr>
<tr><td><p>varia</p></td>
-<td><p>`</p></td>
+<td><p>`a</p></td>
<td><p>ὰ</p></td>
<td><p>question mark</p></td>
<td><p><span class="docutils literal">?</span></p></td>
<td><p>;</p></td>
</tr>
<tr><td><p>perispomeni</p></td>
-<td><p><span class="docutils literal">~</span></p></td>
+<td><p><span class="docutils literal">~a</span></p></td>
<td><p>ᾶ</p></td>
<td><p>left apostrophe</p></td>
<td><p>` `</p></td>
<td><p>‘</p></td>
</tr>
<tr><td><p>dasia</p></td>
-<td><p><span class="docutils literal">&lt;</span></p></td>
+<td><p><span class="docutils literal">&lt;a</span></p></td>
<td><p>ἁ</p></td>
<td><p>right apostrophe</p></td>
<td><p><span class="docutils literal">''</span></p></td>
<td><p>’</p></td>
</tr>
<tr><td><p>psili</p></td>
-<td><p><span class="docutils literal">&gt;</span></p></td>
+<td><p><span class="docutils literal">&gt;a</span></p></td>
<td><p>ἀ</p></td>
<td><p>left quotation mark</p></td>
<td><p><span class="docutils literal">((</span></p></td>
<td><p>«</p></td>
</tr>
<tr><td><p>ypogegrammeni</p></td>
-<td><p><span class="docutils literal">|</span></p></td>
+<td><p><span class="docutils literal">a|</span></p></td>
<td><p>ᾳ</p></td>
<td><p>right quotation mark</p></td>
<td><p><span class="docutils literal">))</span></p></td>
<td><p>»</p></td>
</tr>
<tr><td><p>dialytika</p></td>
-<td><p><span class="docutils literal">&quot;</span></p></td>
+<td><p><span class="docutils literal">&quot;i</span></p></td>
<td><p>ϊ</p></td>
<td><p>zero width non-joiner</p></td>
<td><p>v</p></td>
diff --git a/Master/texmf-dist/doc/generic/babel-greek/babel-greek.pdf b/Master/texmf-dist/doc/generic/babel-greek/babel-greek.pdf
index e0e0e741cd1..be0ffa02436 100644
--- a/Master/texmf-dist/doc/generic/babel-greek/babel-greek.pdf
+++ b/Master/texmf-dist/doc/generic/babel-greek/babel-greek.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/babel-greek/test-8bit-greek.pdf b/Master/texmf-dist/doc/generic/babel-greek/test-8bit-greek.pdf
new file mode 100644
index 00000000000..7fcbc9a0f5a
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/babel-greek/test-8bit-greek.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/babel-greek/test-8bit-greek.tex b/Master/texmf-dist/doc/generic/babel-greek/test-8bit-greek.tex
new file mode 100644
index 00000000000..ea8812b5b36
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/babel-greek/test-8bit-greek.tex
@@ -0,0 +1,422 @@
+\documentclass[a4paper]{article}
+
+\usepackage[LGR,T1]{fontenc}
+\usepackage[utf8]{luainputenc}
+% XeTeX in 8-bit compatibility mode fails :(
+% LuaTeX in 8-bit compatibility mode:
+% hyphenation in Greek text parts fails!
+% (would require the 8-bit, a loader fix for luatex).
+
+% \usepackage{textalpha}
+\usepackage{textcomp}
+\usepackage[unicode]{hyperref}
+% \usepackage{bookmark}
+\usepackage{parskip}
+\usepackage{booktabs}
+
+\usepackage{lmodern}
+% \usepackage{kerkis}
+% \usepackage{gfsdidot}
+% \usepackage{dejavu}
+
+% Load the Babel package with Greek and English language definitions:
+%
+% Uncomment the desired language variant
+
+% Default: modern monotonic Greek
+\usepackage[greek,english]{babel}
+% Obsolete: used instead of `greek', kept for backwards compatibility:
+% \usepackage[polutonikogreek,english]{babel}
+
+% For backwards compatibility, you can also use
+% \selectlanguage{polutonikogreek} instead of \selectlanguage{greek} etc.
+% if the (modern) polytonic Greek language variant is selected.
+
+% uncomment for modern polytonic Greek
+% \languageattribute{greek}{polutoniko}
+
+% uncomment for ancient Greek
+\languageattribute{greek}{ancient}
+
+% \message{Latin encoding is \latinencoding}
+
+\begin{document}
+
+\title{Test the Greek support for Babel}
+\author{Günter Milde}
+\date{2020/11/10}
+\maketitle
+
+The babel option ``greek'' activates the support for the Greek language
+defined in the file \texttt{greek.ldf} (source \texttt{greek.dtx}).
+
+\section{Language Switch}
+
+The declaration \verb|\selectlanguage| switches between languages.
+
+\begin{quote}
+ \selectlanguage{greek}
+ Τί φήις; Ἱδὼν ἐνθέδε παῖδ’ ἐλευθέραν
+ τὰς πλησίον Νύμφας στεφανοῦσαν, Σώστρατε,
+ ἐρῶν άπῆλθες εὐθύς;
+\end{quote}
+
+The macro \verb|\foreignlanguage| sets its second argument in the specified
+language. This is intended for short text parts or single words like
+\foreignlanguage{greek}{Βιβλιοθήκη}.
+
+There should be no inserted space before or after the language switch (may
+happen if there are unescaped linebreaks in the font or language definitions):
+
+\begin{quote}
+ Change script with \verb|ensuregreek|: |\ensuregreek{do\~ulos}|. Change
+ language with \verb|\foreignlanguage|: |\foreignlanguage{greek}{do\~ulos}|.
+\end{quote}
+
+\section{Font Encoding}
+
+In Greek text parts, the font encoding is automatically set to LGR if an
+8-bit TeX engine is used. (See \url{test-unicode-greek.tex} for usage of
+babel-greek with XeTeX or LuaTeX.)
+
+LGR has Greek characters in the slots reserved in a TeX \emph{standard text
+font encoding}. This means you need an explicit font encoding change for
+every Latin letter and some other symbols if the current font encoding is
+LGR.
+
+Babel defines the declaration \verb|\latintext| and the command
+\verb|\textlatin| to switch to the T1 or OT1 font encoding or typeset the
+argument using this encoding.
+
+Switching to a font encoding supporting the Greek script is possible without
+switching the Babel language using the declarations \verb|\greekscript| (no
+switch if the current encoding supports Greek script (e.g. the Unicode font
+encoding TU)) or \verb|\greektext| (always switch to LGR) and the
+corresponding macros \verb|\ensuregreek| or \verb|\textgreek|. These
+commands do not start a new paragraph:
+
+\greekscript Φίλων τοῦ \textlatin{TeX} (ΕΦΤ) --
+\latintext Friends (\ensuregreek{F\'ilwn}) of TeX.
+
+\texttt{greek.ldf} has some workarounds, so that macros relying on Latin
+characters in standard positions keep working. We test, that these
+definitions do not overwrite the selection of pre-composed characters for
+``copyright'' and ``registered trade mark'' by \emph{textcomp} (try copy and
+paste from the PDF output):
+
+Latin: A \& O, © ® ™ \\
+Greek (LGR): \ensuregreek{Α \& Ω, © ® ™}
+or input as macro \ensuregreek{\textAlpha{} \textampersand{} \textOmega{},
+\textcopyright{} \textregistered{} \texttrademark{}}.
+
+The ampersand should also work in mathematical mode: $ 1 \& 2 $
+
+To prevent Roman numerals being typeset in Greek letters we need to adopt
+the internal LaTeX commands. Note that this may cause errors when roman
+numerals are used in a situation where the macros need to be expanded:
+
+\makeatletter
+Latin:
+\@roman{1}, \@roman{2}, \@roman{3}, \@roman{4}, \ldots, \@roman{1975}
+\@Roman{1}, \@Roman{2}, \@Roman{3}, \@Roman{4}, \ldots, \@Roman{1975}
+
+Greek: \ensuregreek{
+\@roman{1}, \@roman{2}, \@roman{3}, \@roman{4}, \ldots, \@roman{1975}
+\@Roman{1}, \@Roman{2}, \@Roman{3}, \@Roman{4}, \ldots, \@Roman{1975}
+}
+\makeatother
+
+\section{MakeUppercase, MakeLowercase}
+
+Capital Greek letters have diacritics (except the dialytika and sub-iota) to
+the left (instead of above) and drop them in uppercase, e.g.
+\ensuregreek{μαΐστρος $\mapsto$ \MakeUppercase{μαΐστρος}}.
+
+Upcased letters with diacritics keep the dialytika. This is implemented for
+all input variants of diacritics with dialytika. (\texttt{greek.ldf} has
+\emph{composite command} definitions to ensure this also works for accent
+characters "upcased" to the charcter No 159.)
+
+\foreignlanguage{greek}{\"i \"'i \"`i \"~i \'"i \`"i \~"i
+ \"u \"\'u \"\`u \"\~u
+ ϊ ΐ ῒ ῗ ΐ ῒ ῗ ϋ ΰ ῢ ῧ
+ $\mapsto$ \MakeUppercase{\"i \"'i \"`i \"~i \'"i \`"i \~"i
+ \"u \"\'u \"\`u \"\~u
+ ϊ ΐ ῒ ῗ ΐ ῒ ῗ ϋ ΰ ῢ ῧ
+ }
+}
+
+
+Tonos and dasia mark a \emph{hiatus} (break-up of a diphthong) if
+placed on the first vowel of a diphthong
+(\ensuregreek{\'ai, \'au, \'ei, \'>ai, \'>au, \'>ei}).
+A dialytika must be placed on the second vowel if they are dropped:
+(\ensuregreek{\MakeUppercase{\'ai, \'au, \'ei, \'>ai, \'>au, \'>ei}}).
+
+\selectlanguage{greek}
+% from teubner: άυλος/ΑΫΛΟΣ
+\'aulos $\mapsto$ \MakeUppercase{\'aulos},
+\'>aulos $\mapsto$ \MakeUppercase{\'>aulos},
+% from http://diacritics.typo.cz/index.php?id=69 μάινα -> ΜΑΪΝΑ
+m\'aina $\mapsto$ \MakeUppercase{m\'aina},
+% from http://de.wikipedia.org/wiki/Neugriechische_Orthographie#Das_Trema
+% κέικ, ἀυπνία/αϋπνία
+k\'eik, $\mapsto$ \MakeUppercase{k\'eik}
+\accpsili{a}upn\'ia $\mapsto$ \MakeUppercase{\accpsili{a}upn\'ia}
+\selectlanguage{english}
+
+There are several alternative styles for the capitalized sub-iota.
+
+In order to let the Up/Downcasing work also with the Latin transcription
+defined by the LGR font encoding, ``babel-greek'' also defines lc/uccodes
+for non-standard assignments:
+
+\selectlanguage{greek}
+', ", `, >, <, | $\mapsto$ \MakeUppercase{', ", `, >, <, |}
+\selectlanguage{english}
+
+The uppercase of the zero-width space at the place of ``v'' is kept to point
+to the glyph at the position of ``V'', the Dasia-Oxia accent
+(\ensuregreek{\MakeUppercase{v}}):
+
+\begin{quotation}
+ greek-1.3i 2000/10/02: uc code of `v' is switched to V
+ so that mixed text appears correctly in headers.
+\end{quotation}
+
+Use \verb+\textcompwordmark+:
+not \foreignlanguage{greek}{avu $\mapsto$ \MakeUppercase{avu}} but
+\foreignlanguage{greek}{a\textcompwordmark u
+$\mapsto$ \MakeUppercase{a\textcompwordmark u}}
+
+The following subsections test MakeUppercase and MakeLowercase with all
+characters defined in lgrenc.dfu:
+
+\subsection{Greek and Coptic}
+
+\newcommand{\GreekAndCoptic}{\ensuregreek{
+ʹ͵ͺ; ΄ ΅Ά·ΈΉΊΌΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΪΫϘϚϜϠ}}
+\newcommand{\greekandcoptic}{\ensuregreek{
+άέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώϙϛϝϟϡ}}
+
+Characters of the Greek and Coptic Unicode Block:
+
+\begin{quote}
+ \GreekAndCoptic\\
+ \greekandcoptic
+\end{quote}
+
+MakeUppercase:
+
+\begin{quote}
+ \MakeUppercase{\GreekAndCoptic}\\
+ \MakeUppercase{\greekandcoptic}
+\end{quote}
+\end{document}
+
+Letters and sub-iota upcased, other diacritics except dialytika dropped.
+
+There is no capital Koppa in LGR, therefore \ensuregreek{ϟ} is left
+unchanged with MakeUppercase.
+
+
+MakeLowercase:
+
+\begin{quote}
+ \MakeLowercase{\GreekAndCoptic}\\
+ \MakeLowercase{\greekandcoptic}
+\end{quote}
+
+The lowercase of \ensuregreek{Σ} is the «auto-sigma» (\verb+\textautosigma+):
+\ensuregreek{ΣΣ $\mapsto$ \MakeLowercase{ΣΣ}}. Add a ZWNJ or use the
+\verb+\noboundary+ macro to prevent conversion to final sigma:
+\ensuregreek{\MakeLowercase{ΣΣ‌}}. The lowercase of GREEK LETTER STIGMA
+\ensuregreek{Ϛ} is \ensuregreek{\MakeLowercase{Ϛ}} not \verb|\textvarstigma|
+(\ensuregreek\textvarstigma).
+
+% \newpage
+
+\subsection{Greek extended}
+
+Characters of the Greek extended Unicode block:
+
+\selectlanguage{greek}
+ἀ ἁ ἂ ἃ ἄ ἅ ἆ ἇ Ἀ Ἁ Ἂ Ἃ Ἄ Ἅ Ἆ Ἇ \\
+ἐ ἑ ἒ ἓ ἔ ἕ Ἐ Ἑ Ἒ Ἓ Ἔ Ἕ \\
+ἠ ἡ ἢ ἣ ἤ ἥ ἦ ἧ Ἠ Ἡ Ἢ Ἣ Ἤ Ἥ Ἦ Ἧ \\
+ἰ ἱ ἲ ἳ ἴ ἵ ἶ ἷ Ἰ Ἱ Ἲ Ἳ Ἴ Ἵ Ἶ Ἷ \\
+ὀ ὁ ὂ ὃ ὄ ὅ Ὀ Ὁ Ὂ Ὃ Ὄ Ὅ \\
+ὐ ὑ ὒ ὓ ὔ ὕ ὖ ὗ Ὑ Ὓ Ὕ Ὗ \\
+ὠ ὡ ὢ ὣ ὤ ὥ ὦ ὧ Ὠ Ὡ Ὢ Ὣ Ὤ Ὥ Ὦ Ὧ \\
+ὰ ά ὲ έ ὴ ή ὶ ί ὸ ό ὺ ύ ὼ ώ \\
+ᾀ ᾁ ᾂ ᾃ ᾄ ᾅ ᾆ ᾇ ᾈ ᾉ ᾊ ᾋ ᾌ ᾍ ᾎ ᾏ \\
+ᾐ ᾑ ᾒ ᾓ ᾔ ᾕ ᾖ ᾗ ᾘ ᾙ ᾚ ᾛ ᾜ ᾝ ᾞ ᾟ \\
+ᾠ ᾡ ᾢ ᾣ ᾤ ᾥ ᾦ ᾧ ᾨ ᾩ ᾪ ᾫ ᾬ ᾭ ᾮ ᾯ \\
+ᾰ ᾱ ᾲ ᾳ ᾴ ᾶ ᾷ Ᾰ Ᾱ Ὰ Ά ᾼ ᾽ ι ᾿ \\
+῀ ῁ ῂ ῃ ῄ ῆ ῇ Ὲ Έ Ὴ Ή ῌ ῍ ῎ ῏ \\
+ῐ ῑ ῒ ΐ ῖ ῗ Ῐ Ῑ Ὶ Ί ῝ ῞ ῟ \\
+ῠ ῡ ῢ ΰ ῤ ῥ ῦ ῧ Ῠ Ῡ Ὺ Ύ Ῥ ῭ ΅ ` \\
+ ῲ ῳ ῴ ῶ ῷ Ὸ Ό Ὼ Ώ ῼ ´ ῾
+\selectlanguage{english}
+
+MakeUppercase:
+
+\selectlanguage{greek}
+
+\MakeUppercase{ ἀ ἁ ἂ ἃ ἄ ἅ ἆ ἇ Ἀ Ἁ Ἂ Ἃ Ἄ Ἅ Ἆ Ἇ }\\
+\MakeUppercase{ ἐ ἑ ἒ ἓ ἔ ἕ Ἐ Ἑ Ἒ Ἓ Ἔ Ἕ }\\
+\MakeUppercase{ ἠ ἡ ἢ ἣ ἤ ἥ ἦ ἧ Ἠ Ἡ Ἢ Ἣ Ἤ Ἥ Ἦ Ἧ }\\
+\MakeUppercase{ ἰ ἱ ἲ ἳ ἴ ἵ ἶ ἷ Ἰ Ἱ Ἲ Ἳ Ἴ Ἵ Ἶ Ἷ }\\
+\MakeUppercase{ ὀ ὁ ὂ ὃ ὄ ὅ Ὀ Ὁ Ὂ Ὃ Ὄ Ὅ }\\
+\MakeUppercase{ ὐ ὑ ὒ ὓ ὔ ὕ ὖ ὗ Ὑ Ὓ Ὕ Ὗ }\\
+\MakeUppercase{ ὠ ὡ ὢ ὣ ὤ ὥ ὦ ὧ Ὠ Ὡ Ὢ Ὣ Ὤ Ὥ Ὦ Ὧ }\\
+\MakeUppercase{ ὰ ά ὲ έ ὴ ή ὶ ί ὸ ό ὺ ύ ὼ ώ }\\
+\MakeUppercase{ ᾀ ᾁ ᾂ ᾃ ᾄ ᾅ ᾆ ᾇ ᾈ ᾉ ᾊ ᾋ ᾌ ᾍ ᾎ ᾏ }\\
+\MakeUppercase{ ᾐ ᾑ ᾒ ᾓ ᾔ ᾕ ᾖ ᾗ ᾘ ᾙ ᾚ ᾛ ᾜ ᾝ ᾞ ᾟ }\\
+\MakeUppercase{ ᾠ ᾡ ᾢ ᾣ ᾤ ᾥ ᾦ ᾧ ᾨ ᾩ ᾪ ᾫ ᾬ ᾭ ᾮ ᾯ }\\
+\MakeUppercase{ ᾰ ᾱ ᾲ ᾳ ᾴ ᾶ ᾷ Ᾰ Ᾱ Ὰ Ά ᾼ ᾽ ι ᾿ }\\
+\MakeUppercase{ ῀ ῁ ῂ ῃ ῄ ῆ ῇ Ὲ Έ Ὴ Ή ῌ ῍ ῎ ῏ }\\
+\MakeUppercase{ ῐ ῑ ῒ ΐ ῖ ῗ Ῐ Ῑ Ὶ Ί ῝ ῞ ῟ }\\
+\MakeUppercase{ ῠ ῡ ῢ ΰ ῤ ῥ ῦ ῧ Ῠ Ῡ Ὺ Ύ Ῥ ῭ ΅ ` }\\
+\MakeUppercase{ ῲ ῳ ῴ ῶ ῷ Ὸ Ό Ὼ Ώ ῼ ´ ῾ }
+\selectlanguage{english}
+
+MakeLowercase:
+
+\selectlanguage{greek}
+\MakeLowercase{ ἀ ἁ ἂ ἃ ἄ ἅ ἆ ἇ Ἀ Ἁ Ἂ Ἃ Ἄ Ἅ Ἆ Ἇ }\\
+\MakeLowercase{ ἐ ἑ ἒ ἓ ἔ ἕ Ἐ Ἑ Ἒ Ἓ Ἔ Ἕ }\\
+\MakeLowercase{ ἠ ἡ ἢ ἣ ἤ ἥ ἦ ἧ Ἠ Ἡ Ἢ Ἣ Ἤ Ἥ Ἦ Ἧ }\\
+\MakeLowercase{ ἰ ἱ ἲ ἳ ἴ ἵ ἶ ἷ Ἰ Ἱ Ἲ Ἳ Ἴ Ἵ Ἶ Ἷ }\\
+\MakeLowercase{ ὀ ὁ ὂ ὃ ὄ ὅ Ὀ Ὁ Ὂ Ὃ Ὄ Ὅ }\\
+\MakeLowercase{ ὐ ὑ ὒ ὓ ὔ ὕ ὖ ὗ Ὑ Ὓ Ὕ Ὗ }\\
+\MakeLowercase{ ὠ ὡ ὢ ὣ ὤ ὥ ὦ ὧ Ὠ Ὡ Ὢ Ὣ Ὤ Ὥ Ὦ Ὧ }\\
+\MakeLowercase{ ὰ ά ὲ έ ὴ ή ὶ ί ὸ ό ὺ ύ ὼ ώ }\\
+\MakeLowercase{ ᾀ ᾁ ᾂ ᾃ ᾄ ᾅ ᾆ ᾇ ᾈ ᾉ ᾊ ᾋ ᾌ ᾍ ᾎ ᾏ }\\
+\MakeLowercase{ ᾐ ᾑ ᾒ ᾓ ᾔ ᾕ ᾖ ᾗ ᾘ ᾙ ᾚ ᾛ ᾜ ᾝ ᾞ ᾟ }\\
+\MakeLowercase{ ᾠ ᾡ ᾢ ᾣ ᾤ ᾥ ᾦ ᾧ ᾨ ᾩ ᾪ ᾫ ᾬ ᾭ ᾮ ᾯ }\\
+\MakeLowercase{ ᾰ ᾱ ᾲ ᾳ ᾴ ᾶ ᾷ Ᾰ Ᾱ Ὰ Ά ᾼ ᾽ ι ᾿ }\\
+\MakeLowercase{ ῀ ῁ ῂ ῃ ῄ ῆ ῇ Ὲ Έ Ὴ Ή ῌ ῍ ῎ ῏ }\\
+\MakeLowercase{ ῐ ῑ ῒ ΐ ῖ ῗ Ῐ Ῑ Ὶ Ί ῝ ῞ ῟ }\\
+\MakeLowercase{ ῠ ῡ ῢ ΰ ῤ ῥ ῦ ῧ Ῠ Ῡ Ὺ Ύ Ῥ ῭ ΅ ` }\\
+\MakeLowercase{ ῲ ῳ ῴ ῶ ῷ Ὸ Ό Ὼ Ώ ῼ ´ ῾ }
+\selectlanguage{english}
+
+\section{Babel Strings}
+
+Babel defines macros for several autogenerated strings so that they may
+appear in the choosen language. babel-greek uses LICRs in order to let the
+string macros work independent of the font encoding, in both 8-bit and
+Unicode-aware TeX.
+
+\subsection{Captions}
+
+\selectlanguage{greek}
+\prefacename,
+\refname,
+\abstractname,
+\bibname,
+\chaptername,
+\appendixname,
+\contentsname,
+\listfigurename ,
+\listtablename,
+\indexname,
+\figurename,
+\tablename,
+\partname,
+\enclname,
+\ccname,
+\headtoname,
+\pagename,
+\seename,
+\alsoname,
+\proofname,
+\glossaryname,
+\selectlanguage{english}
+
+
+\subsection{Months}
+
+\selectlanguage{greek}
+\newcounter{foo}
+\stepcounter{foo} \month=\value{foo} \today \\
+\stepcounter{foo} \month=\value{foo} \today \\
+\stepcounter{foo} \month=\value{foo} \today \\
+\stepcounter{foo} \month=\value{foo} \today \\
+\stepcounter{foo} \month=\value{foo} \today \\
+\stepcounter{foo} \month=\value{foo} \today \\
+\stepcounter{foo} \month=\value{foo} \today \\
+\stepcounter{foo} \month=\value{foo} \today \\
+\stepcounter{foo} \month=\value{foo} \today \\
+\stepcounter{foo} \month=\value{foo} \today \\
+\stepcounter{foo} \month=\value{foo} \today \\
+\stepcounter{foo} \month=\value{foo} \today \\
+\selectlanguage{english}
+
+\section{Greek Numerals}
+
+See greek.pdf for the formation rules of Greek numerals.
+Some examples:
+
+\selectlanguage{greek}
+
+\greeknumeral{1},
+\greeknumeral{2},
+\greeknumeral{3},
+\greeknumeral{4},
+\greeknumeral{5},
+\greeknumeral{6},
+\greeknumeral{7},
+\greeknumeral{8},
+\greeknumeral{9},
+\greeknumeral{10},
+\greeknumeral{11},
+\greeknumeral{12},
+\greeknumeral{20},
+\greeknumeral{345},
+\greeknumeral{500},
+\greeknumeral{1997},
+\greeknumeral{2013},
+
+\Greeknumeral{1},
+\Greeknumeral{2},
+\Greeknumeral{3},
+\Greeknumeral{4},
+\Greeknumeral{5},
+\Greeknumeral{6},
+\Greeknumeral{7},
+\Greeknumeral{8},
+\Greeknumeral{9},
+\Greeknumeral{10},
+\Greeknumeral{11},
+\Greeknumeral{12},
+\Greeknumeral{20},
+\Greeknumeral{345},
+\Greeknumeral{500},
+\Greeknumeral{1997},
+\Greeknumeral{2013},
+
+\selectlanguage{english}
+
+Enumerated lists use Greek numerals in the second and fourth level:
+
+\selectlanguage{greek}
+\begin{enumerate}
+ \item \textlatin{Item} 1
+ \begin{enumerate}
+ \item \textlatin{Item} 1.1
+ \begin{enumerate}
+ \item \textlatin{Item} 1.1.1
+ \begin{enumerate}
+ \item \textlatin{Item} 1.1.1.1
+ \item \textlatin{Item} 1.1.1.2
+ \end{enumerate}
+ \item \textlatin{Item} 1.1.2
+ \end{enumerate}
+ \end{enumerate}
+\end{enumerate}
+\selectlanguage{english}
+
+
+\end{document}
diff --git a/Master/texmf-dist/doc/generic/babel-greek/test-greek-lgr.pdf b/Master/texmf-dist/doc/generic/babel-greek/test-greek-lgr.pdf
new file mode 100644
index 00000000000..c1e973315c9
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/babel-greek/test-greek-lgr.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/babel-greek/test-greek-tu.pdf b/Master/texmf-dist/doc/generic/babel-greek/test-greek-tu.pdf
new file mode 100644
index 00000000000..c022976fbe1
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/babel-greek/test-greek-tu.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/babel-greek/test-greek.pdf b/Master/texmf-dist/doc/generic/babel-greek/test-greek.pdf
deleted file mode 100644
index c4526611d89..00000000000
--- a/Master/texmf-dist/doc/generic/babel-greek/test-greek.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/babel-greek/test-greek.tex b/Master/texmf-dist/doc/generic/babel-greek/test-greek.tex
index 4e5618cf87b..03dd9db4e33 100644
--- a/Master/texmf-dist/doc/generic/babel-greek/test-greek.tex
+++ b/Master/texmf-dist/doc/generic/babel-greek/test-greek.tex
@@ -1,64 +1,30 @@
\documentclass[a4paper]{article}
-\usepackage[LGR,T1]{fontenc}
-
-% Xe/LuaTeX in 8-bit compatibility mode:
-% hyphenation in Greek text parts fails!
-% (would require the 8-bit, LGR-encoded patterns in the XeTeX ini and a
-% loader fix for luatex).
-
-% TODO: why does XeTeXinputencoding "bytes" no longer work with inputenc's
-% utf8 option?
-\ifdefined \XeTeXrevision
- \XeTeXinputencoding "bytes"
-\fi
-
-\ifdefined\luatexversion
- \usepackage[utf8]{luainputenc}
-\else
- \usepackage[utf8]{inputenc}
-\fi
-% \usepackage{textalpha}
-\usepackage{textcomp}
-\usepackage{hyperref,bookmark}
+\usepackage[colorlinks=true,linkcolor=blue]{hyperref}
\usepackage{parskip}
-\usepackage{booktabs}
-
-\usepackage{lmodern}
-% \usepackage{kerkis}
-% \usepackage{gfsdidot}
-% Load the Babel package with Greek and English language definitions:
-%
-% Uncomment the desired language variant
-
-% Default: modern monotonic Greek
\usepackage[greek,english]{babel}
-% Obsolete: used instead of `greek', kept for backwards compatibility:
-% \usepackage[polutonikogreek,english]{babel}
-
-% For backwards compatibility, you can also use
-% \selectlanguage{polutonikogreek} instead of \selectlanguage{greek} etc.
-% if the (modern) polytonic Greek language variant is selected.
-
-% uncomment for modern polytonic Greek
% \languageattribute{greek}{polutoniko}
+% \languageattribute{greek}{ancient}
-% uncomment for ancient Greek
-\languageattribute{greek}{ancient}
-
-% \message{Latin encoding is \latinencoding}
-
-\DeclareTextCommandDefault{\ensuregreek}{\textgreek}
+\ifdefined \UnicodeEncodingName
+ \usepackage{fontspec}
+ \setmainfont{DejaVu Serif}
+\fi
\begin{document}
-\title{Test the Greek support for Babel}
+\title{Greek support for Babel}
\author{Günter Milde}
-\date{2014/09/02}
+\date{2020/11/10}
\maketitle
-The babel option ``greek'' activates the support for the Greek language
-defined in the file \texttt{greek.ldf} (source \texttt{greek.dtx}).
+The babel option «greek» activates the support for the Greek language
+defined in the file «greek.ldf» (source «greek.dtx»).
+
+Typesetting Greek texts requires a font containing Greek letters. With the
+XeTeX or LuaTeX engines, the user must ensure that the selected font
+contains the required glyphs (the default Latin Modern fonts miss most of
+them).
\section{Language Switch}
@@ -71,255 +37,84 @@ The declaration \verb|\selectlanguage| switches between languages.
ἐρῶν άπῆλθες εὐθύς;
\end{quote}
-The macro \verb|\foreignlanguage| sets its second argument in the specified
-language. This is intended for short text parts or single words like
+The command \verb|\foreignlanguage| sets its second argument in the language
+specified as first argument. This is intended for short text parts like
\foreignlanguage{greek}{Βιβλιοθήκη}.
-There should be no inserted space before or after the language switch (may
-happen if there are unescaped linebreaks in the font or language definitions):
-
-\begin{quote}
- Change script with \verb|ensuregreek|: |\ensuregreek{do\~ulos}|. Change
- language with \verb|\foreignlanguage|: |\foreignlanguage{greek}{do\~ulos}|.
-\end{quote}
-
\section{Font Encoding}
-In Greek text parts, the font encoding is automatically set to LGR if an
-8-bit TeX engine is used. (See \url{test-unicode-greek.tex} for usage of
-babel-greek with XeTeX or LuaTeX.)
-
-LGR has Greek characters in the slots reserved in a TeX \emph{standard text
-font encoding}. This means you need an explicit font encoding change for
-every Latin letter and some other symbols if the current font encoding is
-LGR.
-
-The Babel core defines the declaration \verb|\latintext| and the command
-\verb|\textlatin| to switch to the T1 or OT1 font encoding or typeset the
-argument using this encoding.
-
-Switching to a font encoding supporting the Greek script is possible without
-switching the Babel language using the declarations \verb|\greekscript| (no
-switch if the current encoding supports Greek script (e.g. the Unicode font
-encoding TU)) or \verb|\greektext| (always switch to LGR) and the
-corresponding macros \verb|\ensuregreek| or \verb|\textgreek|. These
-commands do not start a new paragraph:
-
-\greekscript Φίλων τοῦ \textlatin{TeX} (ΕΦΤ) --
-\latintext Friends (\ensuregreek{F\'ilwn}) of TeX.
-
-\texttt{greek.ldf} has some workarounds, so that macros relying on Latin
-characters in standard positions keep working. We test, that these
-definitions do not overwrite the selection of pre-composed characters for
-``copyright'' and ``registered trade mark'' by \emph{textcomp} (try copy and
-paste from the PDF output):
-
-Latin: A \& O, © ® ™ \\
-Greek (LGR): \ensuregreek{Α \textampersand{} Ω,
-\textcopyright{} \textregistered{} \texttrademark{}, \& © ® ™ }.
-
-The ampersand should also work in mathematical mode: $ 1 \& 2 $
-
-To prevent Roman numerals being typeset in Greek letters we need to adopt
-the internal LaTeX commands. Note that this may cause errors when roman
-numerals are used in a situation where the macros need to be expanded:
-
-\makeatletter
-Latin:
-\@roman{1}, \@roman{2}, \@roman{3}, \@roman{4}, \ldots, \@roman{1975}
-\@Roman{1}, \@Roman{2}, \@Roman{3}, \@Roman{4}, \ldots, \@Roman{1975}
-
-Greek: \ensuregreek{
-\@roman{1}, \@roman{2}, \@roman{3}, \@roman{4}, \ldots, \@roman{1975}
-\@Roman{1}, \@Roman{2}, \@Roman{3}, \@Roman{4}, \ldots, \@Roman{1975}
-}
-\makeatother
-
-\section{MakeUppercase, MakeLowercase}
-
-Capital Greek letters have diacritics (except the dialytika and sub-iota) to
-the left (instead of above) and drop them in uppercase, e.g.
-\ensuregreek{μαΐστρος $\mapsto$ \MakeUppercase{μαΐστρος}}.
-
-Upcased letters with diacritics keep the dialytika. This is implemented for
-all input variants of diacritics with dialytika. (\texttt{greek.ldf} has
-\emph{composite command} definitions to ensure this also works for accent
-characters "upcased" to the charcter No 159.)
-
-\foreignlanguage{greek}{\"i \"'i \"`i \"~i \'"i \`"i \~"i
- \"u \"\'u \"\`u \"\~u
- ϊ ΐ ῒ ῗ ΐ ῒ ῗ ϋ ΰ ῢ ῧ
- $\mapsto$ \MakeUppercase{\"i \"'i \"`i \"~i \'"i \`"i \~"i
- \"u \"\'u \"\`u \"\~u
- ϊ ΐ ῒ ῗ ΐ ῒ ῗ ϋ ΰ ῢ ῧ
- }
-}
-
-
-Tonos and dasia mark a \emph{hiatus} (break-up of a diphtong) if
-placed on the first vowel of a diphtong
-(\ensuregreek{\'ai, \'au, \'ei, \'>ai, \'>au, \'>ei}).
-A dialytika must be placed on the second vowel if they are dropped:
-(\ensuregreek{\MakeUppercase{\'ai, \'au, \'ei, \'>ai, \'>au, \'>ei}}).
-
-\selectlanguage{greek}
-% from teubner: άυλος/ΑΫΛΟΣ
-\'aulos $\mapsto$ \MakeUppercase{\'aulos},
-\'>aulos $\mapsto$ \MakeUppercase{\'>aulos},
-% from http://diacritics.typo.cz/index.php?id=69 μάινα -> ΜΑΪΝΑ
-m\'aina $\mapsto$ \MakeUppercase{m\'aina},
-% from http://de.wikipedia.org/wiki/Neugriechische_Orthographie#Das_Trema
-% κέικ, ἀυπνία/αϋπνία
-k\'eik, $\mapsto$ \MakeUppercase{k\'eik}
-\accpsili{a}upn\'ia $\mapsto$ \MakeUppercase{\accpsili{a}upn\'ia}
-\selectlanguage{english}
-
-There are several alternative styles for the capitalized sub-iota.
-
-In order to let the Up/Downcasing work also with the Latin transcription
-defined by the LGR font encoding, ``babel-greek'' also defines lc/uccodes
-for non-standard assignments:
-
-\selectlanguage{greek}
-', ", `, >, <, | $\mapsto$ \MakeUppercase{', ", `, >, <, |}
-\selectlanguage{english}
-
-The uppercase of the zero-width space at the place of ``v'' is kept to point
-to the glyph at the position of ``V'', the Dasia-Oxia accent
-(\ensuregreek{\MakeUppercase{v}}):
-
-\begin{quotation}
- greek-1.3i 2000/10/02: uc code of `v' is switched to V
- so that mixed text appears correctly in headers.
-\end{quotation}
-
-Use \verb+\textcompwordmark+:
-not \foreignlanguage{greek}{avu $\mapsto$ \MakeUppercase{avu}} but
-\foreignlanguage{greek}{a\textcompwordmark u
-$\mapsto$ \MakeUppercase{a\textcompwordmark u}}
-
-The following subsections test MakeUppercase and MakeLowercase with all
-characters defined in lgrenc.dfu:
-
-\subsection{Greek and Coptic}
-
-\newcommand{\GreekAndCoptic}{\ensuregreek{
-ʹ͵ͺ; ΄ ΅Ά·ΈΉΊΌΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΪΫϘϚϜϠ}}
-\newcommand{\greekandcoptic}{\ensuregreek{
-άέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώϙϛϝϟϡ}}
-
-Characters of the Greek and Coptic Unicode Block:
-
-\begin{quote}
- \GreekAndCoptic\\
- \greekandcoptic
-\end{quote}
-
-MakeUppercase:
-
-\begin{quote}
- \MakeUppercase{\GreekAndCoptic}\\
- \MakeUppercase{\greekandcoptic}
-\end{quote}
+Every language switch to \texttt{greek} calls the \verb|\extrasgreek|
+command which in turn calls \verb|\greekscript| to ensure a Greek-supporting
+font encoding (LGR or TU). At this point, the «greekfontencoding»
+is \texttt{\greekfontencoding}.
-Letters and sub-iota upcased, other diacritics except dialytika dropped.
-There is no capital Koppa in LGR, therefore \ensuregreek{ϟ} is left
-unchanged with MakeUppercase.
+LGR has Greek characters in the slots reserved in a TeX \emph{standard text
+font encoding}. Therefore, the Babel core defines the declaration
+\verb|\latintext| and the command \verb|\textlatin| to switch to the TU, T1
+or OT1 font encoding or typeset the argument using this encoding. At this
+point, the «latinencoding» is \texttt{\latinencoding}.
+With the Unicode font encoding \texttt{TU},
+Latin characters can be used in Greek text parts and
+input via the «LGR Latin transcription» is not possible.
-MakeLowercase:
+The following quote mixes Latin transcription and Greek literal characters:
\begin{quote}
- \MakeLowercase{\GreekAndCoptic}\\
- \MakeLowercase{\greekandcoptic}
+ \greekscript Φίλων τοῦ \textlatin{TeX} (ΕΦΤ) --
+ \latintext Friends (\ensuregreek{F\'ilwn}) of TeX.%
\end{quote}
-The lowercase of \ensuregreek{Σ} is the «auto-sigma» (\verb+\textautosigma+):
-\ensuregreek{ΣΣ $\mapsto$ \MakeLowercase{ΣΣ}}. Add a ZWNJ or use the
-\verb+\noboundary+ macro to prevent conversion to final sigma:
-\ensuregreek{\MakeLowercase{ΣΣ‌}}. The lowercase of GREEK LETTER STIGMA
-\ensuregreek{Ϛ} is \ensuregreek{\MakeLowercase{Ϛ}} not \verb|\textvarstigma|
-(\ensuregreek\textvarstigma).
-
-% \newpage
-
-\subsection{Greek extended}
-
-Characters of the Greek extended Unicode block:
-
-\selectlanguage{greek}
-ἀ ἁ ἂ ἃ ἄ ἅ ἆ ἇ Ἀ Ἁ Ἂ Ἃ Ἄ Ἅ Ἆ Ἇ \\
-ἐ ἑ ἒ ἓ ἔ ἕ Ἐ Ἑ Ἒ Ἓ Ἔ Ἕ \\
-ἠ ἡ ἢ ἣ ἤ ἥ ἦ ἧ Ἠ Ἡ Ἢ Ἣ Ἤ Ἥ Ἦ Ἧ \\
-ἰ ἱ ἲ ἳ ἴ ἵ ἶ ἷ Ἰ Ἱ Ἲ Ἳ Ἴ Ἵ Ἶ Ἷ \\
-ὀ ὁ ὂ ὃ ὄ ὅ Ὀ Ὁ Ὂ Ὃ Ὄ Ὅ \\
-ὐ ὑ ὒ ὓ ὔ ὕ ὖ ὗ Ὑ Ὓ Ὕ Ὗ \\
-ὠ ὡ ὢ ὣ ὤ ὥ ὦ ὧ Ὠ Ὡ Ὢ Ὣ Ὤ Ὥ Ὦ Ὧ \\
-ὰ ά ὲ έ ὴ ή ὶ ί ὸ ό ὺ ύ ὼ ώ \\
-ᾀ ᾁ ᾂ ᾃ ᾄ ᾅ ᾆ ᾇ ᾈ ᾉ ᾊ ᾋ ᾌ ᾍ ᾎ ᾏ \\
-ᾐ ᾑ ᾒ ᾓ ᾔ ᾕ ᾖ ᾗ ᾘ ᾙ ᾚ ᾛ ᾜ ᾝ ᾞ ᾟ \\
-ᾠ ᾡ ᾢ ᾣ ᾤ ᾥ ᾦ ᾧ ᾨ ᾩ ᾪ ᾫ ᾬ ᾭ ᾮ ᾯ \\
-ᾰ ᾱ ᾲ ᾳ ᾴ ᾶ ᾷ Ᾰ Ᾱ Ὰ Ά ᾼ ᾽ ι ᾿ \\
-῀ ῁ ῂ ῃ ῄ ῆ ῇ Ὲ Έ Ὴ Ή ῌ ῍ ῎ ῏ \\
-ῐ ῑ ῒ ΐ ῖ ῗ Ῐ Ῑ Ὶ Ί ῝ ῞ ῟ \\
-ῠ ῡ ῢ ΰ ῤ ῥ ῦ ῧ Ῠ Ῡ Ὺ Ύ Ῥ ῭ ΅ ` \\
- ῲ ῳ ῴ ῶ ῷ Ὸ Ό Ὼ Ώ ῼ ´ ῾
-\selectlanguage{english}
-
-MakeUppercase:
-
-\selectlanguage{greek}
+\section{LICR Macros}
-\MakeUppercase{ ἀ ἁ ἂ ἃ ἄ ἅ ἆ ἇ Ἀ Ἁ Ἂ Ἃ Ἄ Ἅ Ἆ Ἇ }\\
-\MakeUppercase{ ἐ ἑ ἒ ἓ ἔ ἕ Ἐ Ἑ Ἒ Ἓ Ἔ Ἕ }\\
-\MakeUppercase{ ἠ ἡ ἢ ἣ ἤ ἥ ἦ ἧ Ἠ Ἡ Ἢ Ἣ Ἤ Ἥ Ἦ Ἧ }\\
-\MakeUppercase{ ἰ ἱ ἲ ἳ ἴ ἵ ἶ ἷ Ἰ Ἱ Ἲ Ἳ Ἴ Ἵ Ἶ Ἷ }\\
-\MakeUppercase{ ὀ ὁ ὂ ὃ ὄ ὅ Ὀ Ὁ Ὂ Ὃ Ὄ Ὅ }\\
-\MakeUppercase{ ὐ ὑ ὒ ὓ ὔ ὕ ὖ ὗ Ὑ Ὓ Ὕ Ὗ }\\
-\MakeUppercase{ ὠ ὡ ὢ ὣ ὤ ὥ ὦ ὧ Ὠ Ὡ Ὢ Ὣ Ὤ Ὥ Ὦ Ὧ }\\
-\MakeUppercase{ ὰ ά ὲ έ ὴ ή ὶ ί ὸ ό ὺ ύ ὼ ώ }\\
-\MakeUppercase{ ᾀ ᾁ ᾂ ᾃ ᾄ ᾅ ᾆ ᾇ ᾈ ᾉ ᾊ ᾋ ᾌ ᾍ ᾎ ᾏ }\\
-\MakeUppercase{ ᾐ ᾑ ᾒ ᾓ ᾔ ᾕ ᾖ ᾗ ᾘ ᾙ ᾚ ᾛ ᾜ ᾝ ᾞ ᾟ }\\
-\MakeUppercase{ ᾠ ᾡ ᾢ ᾣ ᾤ ᾥ ᾦ ᾧ ᾨ ᾩ ᾪ ᾫ ᾬ ᾭ ᾮ ᾯ }\\
-\MakeUppercase{ ᾰ ᾱ ᾲ ᾳ ᾴ ᾶ ᾷ Ᾰ Ᾱ Ὰ Ά ᾼ ᾽ ι ᾿ }\\
-\MakeUppercase{ ῀ ῁ ῂ ῃ ῄ ῆ ῇ Ὲ Έ Ὴ Ή ῌ ῍ ῎ ῏ }\\
-\MakeUppercase{ ῐ ῑ ῒ ΐ ῖ ῗ Ῐ Ῑ Ὶ Ί ῝ ῞ ῟ }\\
-\MakeUppercase{ ῠ ῡ ῢ ΰ ῤ ῥ ῦ ῧ Ῠ Ῡ Ὺ Ύ Ῥ ῭ ΅ ` }\\
-\MakeUppercase{ ῲ ῳ ῴ ῶ ῷ Ὸ Ό Ὼ Ώ ῼ ´ ῾ }
-\selectlanguage{english}
+Babel defines macros for several autogenerated strings so that they may
+appear in the choosen language. \emph{babel-greek} uses LICR%
+\footnote{LaTeX internal character representation} macros in
+order to let the string macros work independent of the font encoding.
+
+If \verb|\greekfontencoding| is TU, \emph{babel-greek} loads Greek LICR
+definitions from the file \texttt{tuenc-greek.def} provided by
+\href{http://www.ctan.org/pkg/greek-fontenc}{greek-fontenc}
+since version~0.14 (2020-02-28).
+
+With this setup, it is also possible to use accent macros instead of
+pre-composed Unicode characters for letters with diacritics%
+\ifdefined \UnicodeEncodingName
+ : Τ\'ι φ\'ηις;, \`<ορα = \accdasiavaria{ο}ρα
+\fi
+.
-MakeLowercase:
+\subsection{Captions}
\selectlanguage{greek}
-\MakeLowercase{ ἀ ἁ ἂ ἃ ἄ ἅ ἆ ἇ Ἀ Ἁ Ἂ Ἃ Ἄ Ἅ Ἆ Ἇ }\\
-\MakeLowercase{ ἐ ἑ ἒ ἓ ἔ ἕ Ἐ Ἑ Ἒ Ἓ Ἔ Ἕ }\\
-\MakeLowercase{ ἠ ἡ ἢ ἣ ἤ ἥ ἦ ἧ Ἠ Ἡ Ἢ Ἣ Ἤ Ἥ Ἦ Ἧ }\\
-\MakeLowercase{ ἰ ἱ ἲ ἳ ἴ ἵ ἶ ἷ Ἰ Ἱ Ἲ Ἳ Ἴ Ἵ Ἶ Ἷ }\\
-\MakeLowercase{ ὀ ὁ ὂ ὃ ὄ ὅ Ὀ Ὁ Ὂ Ὃ Ὄ Ὅ }\\
-\MakeLowercase{ ὐ ὑ ὒ ὓ ὔ ὕ ὖ ὗ Ὑ Ὓ Ὕ Ὗ }\\
-\MakeLowercase{ ὠ ὡ ὢ ὣ ὤ ὥ ὦ ὧ Ὠ Ὡ Ὢ Ὣ Ὤ Ὥ Ὦ Ὧ }\\
-\MakeLowercase{ ὰ ά ὲ έ ὴ ή ὶ ί ὸ ό ὺ ύ ὼ ώ }\\
-\MakeLowercase{ ᾀ ᾁ ᾂ ᾃ ᾄ ᾅ ᾆ ᾇ ᾈ ᾉ ᾊ ᾋ ᾌ ᾍ ᾎ ᾏ }\\
-\MakeLowercase{ ᾐ ᾑ ᾒ ᾓ ᾔ ᾕ ᾖ ᾗ ᾘ ᾙ ᾚ ᾛ ᾜ ᾝ ᾞ ᾟ }\\
-\MakeLowercase{ ᾠ ᾡ ᾢ ᾣ ᾤ ᾥ ᾦ ᾧ ᾨ ᾩ ᾪ ᾫ ᾬ ᾭ ᾮ ᾯ }\\
-\MakeLowercase{ ᾰ ᾱ ᾲ ᾳ ᾴ ᾶ ᾷ Ᾰ Ᾱ Ὰ Ά ᾼ ᾽ ι ᾿ }\\
-\MakeLowercase{ ῀ ῁ ῂ ῃ ῄ ῆ ῇ Ὲ Έ Ὴ Ή ῌ ῍ ῎ ῏ }\\
-\MakeLowercase{ ῐ ῑ ῒ ΐ ῖ ῗ Ῐ Ῑ Ὶ Ί ῝ ῞ ῟ }\\
-\MakeLowercase{ ῠ ῡ ῢ ΰ ῤ ῥ ῦ ῧ Ῠ Ῡ Ὺ Ύ Ῥ ῭ ΅ ` }\\
-\MakeLowercase{ ῲ ῳ ῴ ῶ ῷ Ὸ Ό Ὼ Ώ ῼ ´ ῾ }
+\prefacename,
+\refname,
+\abstractname,
+\bibname,
+\chaptername,
+\appendixname,
+\contentsname,
+\listfigurename ,
+\listtablename,
+\indexname,
+\figurename,
+\tablename,
+\partname,
+\enclname,
+\ccname,
+\headtoname,
+\pagename,
+\seename,
+\alsoname,
+\proofname,
+\glossaryname
\selectlanguage{english}
-\section{Babel Strings}
-
-Babel defines macros for several autogenerated strings so that they may
-appear in the choosen language. babel-greek uses LICRs in order to let the
-string macros work independent of the font encoding, in both 8-bit and
-Unicode-aware TeX.
-
-\subsection{Captions}
+Test correct upcasing (dropping of accents):
\selectlanguage{greek}
+\MakeUppercase{
\prefacename,
\refname,
\abstractname,
@@ -327,7 +122,7 @@ Unicode-aware TeX.
\chaptername,
\appendixname,
\contentsname,
-\listfigurename ,
+\listfigurename,
\listtablename,
\indexname,
\figurename,
@@ -340,7 +135,8 @@ Unicode-aware TeX.
\seename,
\alsoname,
\proofname,
-\glossaryname,
+\glossaryname
+}
\selectlanguage{english}
@@ -362,7 +158,7 @@ Unicode-aware TeX.
\stepcounter{foo} \month=\value{foo} \today \\
\selectlanguage{english}
-\section{Greek Numerals}
+\section{Greek Numerals (\greeknumeral{1} to \Greeknumeral{999999})}
See greek.pdf for the formation rules of Greek numerals.
Some examples:
@@ -385,7 +181,7 @@ Some examples:
\greeknumeral{345},
\greeknumeral{500},
\greeknumeral{1997},
-\greeknumeral{2013},
+\greeknumeral{2013}
\Greeknumeral{1},
\Greeknumeral{2},
@@ -403,28 +199,43 @@ Some examples:
\Greeknumeral{345},
\Greeknumeral{500},
\Greeknumeral{1997},
-\Greeknumeral{2013},
-
+\Greeknumeral{2013}
\selectlanguage{english}
-Enumerated lists use Greek numerals in the second and fourth level:
+
+Enumerated lists use Greek characters/numerals in the second and fourth level:
\selectlanguage{greek}
\begin{enumerate}
- \item \textlatin{Item} 1
+ \item item 1
\begin{enumerate}
- \item \textlatin{Item} 1.1
+ \item item 1.1
\begin{enumerate}
- \item \textlatin{Item} 1.1.1
+ \item item 1.1.1
\begin{enumerate}
- \item \textlatin{Item} 1.1.1.1
- \item \textlatin{Item} 1.1.1.2
+ \item item 1.1.1.1
+ \item item 1.1.1.2
\end{enumerate}
- \item \textlatin{Item} 1.1.2
+ \item item 1.1.2
\end{enumerate}
\end{enumerate}
\end{enumerate}
\selectlanguage{english}
+This may be problematic with fonts that only partially support Greek and
+miss the numeral signs (dexiakeraia and aristerikeraia).
+
+You may redefine the commands \verb+\textdexiakeraia+ and
+\verb+\textaristerikeraia+ to some substitute characters.
+Or, if you prefer the ``normal'' enumeration, write in the preamble after
+loading babel:
+
+\begin{verbatim}
+ \makeatletter
+ \addto\extrasgreek{\let\@alph\latin@alph
+ \let\@Alph\latin@Alph}
+ \makeatother
+\end{verbatim}
+
\end{document}
diff --git a/Master/texmf-dist/doc/generic/babel-greek/test-greeknumeral.pdf b/Master/texmf-dist/doc/generic/babel-greek/test-greeknumeral.pdf
new file mode 100644
index 00000000000..fafe3a1a08f
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/babel-greek/test-greeknumeral.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/babel-greek/test-greeknumeral.tex b/Master/texmf-dist/doc/generic/babel-greek/test-greeknumeral.tex
new file mode 100644
index 00000000000..f60bcaff75f
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/babel-greek/test-greeknumeral.tex
@@ -0,0 +1,236 @@
+\documentclass[a4paper]{scrartcl}
+
+% Load font packages depending on engine:
+\ifdefined\luatexversion
+ \usepackage{fontspec}
+\fi
+\ifdefined\XeTeXrevision
+ \usepackage{fontspec}
+\fi
+\ifdefined \UTFencname % set by "fontspec.sty"
+ % Latin Modern misses most Greek characters.
+ \setmainfont{DejaVu Serif}
+ \setsansfont{DejaVu Sans}
+\else
+ \usepackage[LGR,T1]{fontenc}
+ \usepackage[utf8]{inputenc}
+ \usepackage{lmodern}
+ % \usepackage{kerkis} % missing glyphs (Qoppa, in sans serif also koppa, Koppa)
+ % \usepackage{dejavu} missing glyphs (qoppa, Qoppa, Sampi)
+ % \usepackage{epigrafica} # many missing glyphs
+ % \usepackage{gentium} % missing glyphs (Qoppa, Sampi)
+ % \usepackage{gfsdidot} % sampi in place of qoppa, missing sampi Sampi
+ % \usepackage{gfsartemisia} % sampi in place of qoppa, missing sampi Sampi
+ % \usepackage{libertinegc}
+ % \usepackage{noto}
+ % \usepackage{OldStandard}
+ % \usepackage{roboto}
+\fi
+
+
+% Greek script support with textalpha (greek-fontec) or babel-greek:
+
+% \usepackage{textalpha}
+\usepackage[greek,english]{babel}
+
+% Save the unpatched version
+\let\origgreeknumeral\greeknumeral
+\let\origGreeknumeral\Greeknumeral
+
+% uncomment, if you prefer Qoppa for Koppa
+% \let\textKoppa\textQoppa
+% \let\textkoppa\textqoppa
+
+
+% Hyperref
+% default PDFstring encoding is PD1 without Greek support:
+% \usepackage[unicode]{hyperref}
+% With option unicode, there is partial Greek support (no polytonic)
+\usepackage[unicode]{hyperref}
+
+
+\DeclareTextCommand{\greekscript}{PU}{}
+\DeclareTextCommand{\ensuregreek}{PU}[1]{#1}
+% Greek LICR names from "greek-fontenc"
+\DeclareTextCommand{\textdexiakeraia}{PU}{\83\164}% U+0374
+\DeclareTextCommand{\textaristerikeraia}{PU}{\83\165}% U+0375
+\DeclareTextCommand{\textQoppa}{PU}{\83\330}% U+03D8
+\DeclareTextCommand{\textqoppa}{PU}{\83\331}% U+03D9
+\DeclareTextCommand{\textStigma}{PU}{\83\332}% U+03DA
+\DeclareTextCommand{\textstigma}{PU}{\83\333}% U+03DB
+\DeclareTextCommand{\textDigamma}{PU}{\83\334}% U+03DC
+\DeclareTextCommand{\textdigamma}{PU}{\83\335}% U+03DD
+\DeclareTextCommand{\textKoppa}{PU}{\83\336}% U+03DE
+\DeclareTextCommand{\textkoppa}{PU}{\83\337}% U+03DF
+\DeclareTextCommand{\textSampi}{PU}{\83\340}% U+03E0
+\DeclareTextCommand{\textsampi}{PU}{\83\341}% U+03E1
+% TODO: support polytonic Greek (Greek Extended Unicode block)
+
+
+
+\begin{document}
+
+% \textuppercase{Grüße}
+
+% \selectlanguage{greek}
+% \selectlanguage{english}
+
+
+\section{Test Hyperref-safe implementation of Greek numerals}
+
+Every number is set in 4 versions:
+
+1: lowercase Babel,
+2: lowercase Hyperref-patched,
+
+3: uppercase Babel,
+4: uppercase Hyperref-patched,
+
+
+\DeclareRobustCommand{\numeraltest}[1]{
+ \origgreeknumeral{#1}
+ \ensuregreek{\greeknumeral{#1}}\
+ \origGreeknumeral{#1}
+ \ensuregreek{\Greeknumeral{#1}}
+}
+
+
+\noindent single numerals
+
+1-5
+\numeraltest{1}
+\numeraltest{2}
+\numeraltest{3}
+\numeraltest{4}
+\numeraltest{5}
+
+6-9
+\numeraltest{6}
+\numeraltest{7}
+\numeraltest{8}
+\numeraltest{9}
+
+10-50
+\numeraltest{10}
+\numeraltest{20}
+\numeraltest{30}
+\numeraltest{40}
+\numeraltest{50}
+
+60-90
+\numeraltest{60}
+\numeraltest{70}
+\numeraltest{80}
+\numeraltest{90}
+
+100-500
+\numeraltest{100}
+\numeraltest{200}
+\numeraltest{300}
+\numeraltest{400}
+\numeraltest{500}
+
+600-900
+\numeraltest{600}
+\numeraltest{700}
+\numeraltest{800}
+\numeraltest{900}
+
+1000-5000
+\numeraltest{1000}
+\numeraltest{2000}
+\numeraltest{3000}
+\numeraltest{4000}
+\numeraltest{5000}
+
+6000-9000
+\numeraltest{6000}
+\numeraltest{7000}
+\numeraltest{8000}
+\numeraltest{9000}
+
+10 000 - 900 000
+\numeraltest{10000}
+\numeraltest{20000}
+\numeraltest{800000}
+\numeraltest{900000}
+
+\noindent compound numbers
+
+123-323
+\numeraltest{123}
+\numeraltest{223}
+\numeraltest{323}
+
+445-645
+\numeraltest{445}
+\numeraltest{545}
+\numeraltest{645}
+
+767-967
+\numeraltest{767}
+\numeraltest{867}
+\numeraltest{967}
+
+967021 \numeraltest{967021}
+
+\noindent outside of bounds
+
+Negative and zero
+\greeknumeral{-1}
+% \Greeknumeral{-1}
+\greeknumeral{0}
+%\Greeknumeral{0}
+
+Too large:
+\greeknumeral{1000000}
+% \Greeknumeral{1000000}
+
+\paragraph{Discussion}
+
+The new implementation gives identical results.
+
+\section{Greek numerals in PDF bookmarks}
+
+\section{
+ \numeraltest{1}
+ \numeraltest{90}
+ \numeraltest{200}
+}
+
+\section{
+ \numeraltest{1000}
+ \numeraltest{90000}
+ \numeraltest{200000}
+}
+\section{
+ \numeraltest{24}
+ \numeraltest{96}
+}
+
+\section{
+ \numeraltest{96}
+ \numeraltest{263}
+}
+
+\section{
+ \numeraltest{4695}
+}
+
+\section{Original numeral:
+ \greekscript{\origgreeknumeral{1293}}
+ % \greekscript{\origGreeknumeral{1293}}
+}
+
+Babels original lower case version works fine in text. However, use in a
+section heading results in spurious numeral marks (dexia keraia) in the
+PDF bookmark. and the warning
+\begin{verbatim}
+ Package hyperref Warning: Token not allowed in a PDF string (Unicode):
+ (hyperref) removing `\@ifnextchar' on input line 353.
+\end{verbatim}
+
+The upper case version fails because MakeUpercase is not defined for
+PDFstrings.
+
+\end{document},
diff --git a/Master/texmf-dist/doc/generic/babel-greek/test-tu-lgr.pdf b/Master/texmf-dist/doc/generic/babel-greek/test-tu-lgr.pdf
new file mode 100644
index 00000000000..c1ddae2a473
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/babel-greek/test-tu-lgr.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/babel-greek/test-unicode-lgr.tex b/Master/texmf-dist/doc/generic/babel-greek/test-tu-lgr.tex
index af3502c071c..e1994f31364 100644
--- a/Master/texmf-dist/doc/generic/babel-greek/test-unicode-lgr.tex
+++ b/Master/texmf-dist/doc/generic/babel-greek/test-tu-lgr.tex
@@ -1,32 +1,33 @@
\documentclass[a4paper]{article}
% \usepackage{textcomp}
-\usepackage{hyperref,bookmark}
+\usepackage{hyperref}
+% \usepackage{bookmark}
\usepackage{parskip}
% Declare the font encoding and Greek LICR definitions:
\usepackage[LGR]{fontenc}
% Set up Latin Modern OpenType unicode font
-\usepackage[tuenc]{fontspec}
+\usepackage{fontspec}
\usepackage[greek,english]{babel}
% \languageattribute{greek}{polutoniko}
% \languageattribute{greek}{ancient}
% use LGR (8-bit CB-fonts) instead of Unicode fonts for Greek:
-% Alternatives:
-% \renewcommand*{\greekscript}{\fontencoding{LGR}\selectfont}
\addto{\extrasgreek}{\greektext}
+% Alternative:
+% \renewcommand*{\greekscript}{\fontencoding{LGR}\selectfont}
\begin{document}
\title{XeTeX/LuaTeX with LGR fonts}
\author{Günter Milde}
-\date{2014/09/02}
+\date{2020/11/10}
\maketitle
The babel option «greek» activates the support for the Greek language
-defined in the file «greek.ldf» (source «greek.dtx»).
+defined in «greek.ldf» (source «greek.dtx»).
Typesetting Greek texts requires a font containing Greek letters. With the
XeTeX or LuaTeX engines, the user must ensure that the selected font
@@ -41,8 +42,8 @@ for short Greek quotes or as a last ressort.
\section{Language Switch}
The declaration \verb|\selectlanguage| switches between languages. With
-XeTeX or LuaTeX and LGR, Unicode input is not possible. Instead, use the
-Latin transliteration or LICR macros:
+XeTeX or LuaTeX and LGR as \verb|\greekfontencoding|, Unicode input is not
+possible. Instead, use the Latin transliteration or LICR macros:
\begin{quote}
\selectlanguage{greek}
@@ -87,7 +88,7 @@ Capital Greek letters have diacritics (except the dialytika and sub-iota) to
the left (instead of above) and drop them in uppercase.
Tonos and dasia mark a \emph{hiatus} (break-up of a diphthong) if placed on
-the first vowel of a diphtong (\textgreek{\'ai, \'au, \'ei, \'>ai, \'>au,
+the first vowel of a diphthong (\textgreek{\'ai, \'au, \'ei, \'>ai, \'>au,
\'>ei}). A dialytika must be placed on the second vowel if they are dropped.
(\foreignlanguage{greek}{\MakeUppercase{\'ai, \'au, \'ei, \'>ai, \'>au,
\'>ei}}).
@@ -99,8 +100,8 @@ appear in the choosen language. \emph{babel-greek} uses LICR macros in
order to let the string macros work independent of the font encoding.
If \texttt{fontspec} is loaded before babel, babel-greek loads Greek LICR
-for EU1 or EU2 from the file \texttt{greek-euenc.def}
-provided with \emph{greek-fontenc} since version~0.10.
+for TU from the file \texttt{tuenc-greek.def} provided with
+\emph{greek-fontenc} since version~0.14 (2020-02-28).
\subsection{Hiatus}
@@ -178,7 +179,6 @@ Test correct upcasing (dropping of accents):
}
\selectlanguage{english}
-
\subsection{Months}
\selectlanguage{greek}
diff --git a/Master/texmf-dist/doc/generic/babel-greek/test-unicode-greek.pdf b/Master/texmf-dist/doc/generic/babel-greek/test-unicode-greek.pdf
deleted file mode 100644
index 7033176e1af..00000000000
--- a/Master/texmf-dist/doc/generic/babel-greek/test-unicode-greek.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/babel-greek/test-unicode-greek.tex b/Master/texmf-dist/doc/generic/babel-greek/test-unicode-greek.tex
deleted file mode 100644
index 77afdcb8725..00000000000
--- a/Master/texmf-dist/doc/generic/babel-greek/test-unicode-greek.tex
+++ /dev/null
@@ -1,259 +0,0 @@
-\documentclass[a4paper]{article}
-% \usepackage{textcomp}
-\usepackage[colorlinks=true,linkcolor=blue]{hyperref}
-\usepackage{bookmark}
-\usepackage{parskip}
-
-\usepackage[tuenc]{fontspec}
-\setmainfont{Linux Libertine O}
-\setsansfont{Linux Biolinum O}
-% \setmainfont{DejaVu Serif}
-% \setmainfont{Droid Serif} % only monotonic Greek (subset of Greek and Coptic)
-
-\usepackage[greek,english]{babel}
-% \languageattribute{greek}{polutoniko}
-\languageattribute{greek}{ancient}
-
-\message{greek-euenc ist}
-\makeatletter
-\@ifl@aded{def}{greek-fontenc}{\message{geladen}}{\message{nicht geladen}}
-\makeatother
-
-
-\begin{document}
-
-\title{Greek support for Babel with XeTeX/LuaTeX}
-\author{Günter Milde}
-\date{2016/09/07}
-\maketitle
-
-The babel option «greek» activates the support for the Greek language
-defined in the file «greek.ldf» (source «greek.dtx»).
-
-Typesetting Greek texts requires a font containing Greek letters. With the
-XeTeX or LuaTeX engines, the user must ensure that the selected font
-contains the required glyphs (the default Latin Modern fonts miss most of
-them). Examples for suitable fonts are the «Deja Vu», «Linux Libertine»,
-or «Free Serif» OpenType fonts.
-
-\section{Language Switch}
-
-The declaration \verb|\selectlanguage| switches between languages.
-
-\begin{quote}
- \selectlanguage{greek}
- Τί φήις; Ἱδὼν ἐνθέδε παῖδ’ ἐλευθέραν
- τὰς πλησίον Νύμφας στεφανοῦσαν, Σώστρατε,
- ἐρῶν άπῆλθες εὐθύς;
-\end{quote}
-
-The command \verb|\foreignlanguage| sets its second argument in the language
-specified as first argument. This is intended for short text parts like
-\foreignlanguage{greek}{Βιβλιοθήκη}.
-
-\section{Font Encoding}
-
-Every language switch to \texttt{greek} calls the \verb|\extrasgreek|
-command which in turn calls \verb|\greekscript| to ensure a Greek-supporting
-font encoding (LGR, TU, EU1, or EU2). Under Xe/LuaTeX the font encoding
-normally just remains Unicode (TU). For customization, you can add to or
-redefine the \verb|\extrasgreek| command.
-
-The LGR font encoding does not support Latin characters. Therefore, the
-Babel core defines the declaration \verb|\latintext| and the command
-\verb|\textlatin| to switch to the TU, EU1, EU2, T1 or OT1 font encoding or
-typeset the argument using this encoding. At this point, the «latinencoding»
-is \latinencoding.
-
-Every language switch from \texttt{greek} calls the \verb|\noextrasgreek|
-command which in turn calls \verb|\latintext|.\\
-For customization, you can
-add to or redefine the \verb|\noextrasgreek| command.
-
-With the Unicode font encoding TU, EU1, or EU2,
-Latin characters can be used in Greek text parts and
-input via the «LGR Latin transcription» is not possible.%
-\footnote{%
- The \emph{xunicode} package provides with the \texttt{tipa} emulation an
- example how this could be achieved also for Unicode fonts. Alternatively,
- LGR encoded fonts can be used (see test-unicode-lgr.tex).
-}
-
-\begin{quote}
- \greekscript Φίλων τοῦ \textlatin{TeX} (ΕΦΤ) --
- \latintext Friends (\ensuregreek{F\'ilwn}) of TeX.%
- \footnote{Compare the printout to the similar example in test-greek.pdf.}
-\end{quote}
-
-\section{LICR Macros}
-
-Babel defines macros for several autogenerated strings so that they may
-appear in the choosen language. \emph{babel-greek} uses LICR%
-\footnote{LaTeX internal character representation} macros in
-order to let the string macros work independent of the font encoding.
-
-If \emph{fontspec} is loaded, \emph{babel-greek} loads Greek LICR
-definitions for the Unicode font encoding (TU, EU1 or EU2) from the file
-\texttt{greek-euenc.def} provided with
-\href{http://www.ctan.org/pkg/greek-fontenc}{greek-fontenc} since
-version~0.10.
-
-With this setup, it is also possible to use accent macros instead of
-pre-composed Unicode characters for letters with diacritics:
-«Τ\'ι φ\'ηις;», «\`<ορα = \accdasiavaria{ο}ρα».
-
-
-\subsection{Captions}
-
-\selectlanguage{greek}
-\prefacename,
-\refname,
-\abstractname,
-\bibname,
-\chaptername,
-\appendixname,
-\contentsname,
-\listfigurename ,
-\listtablename,
-\indexname,
-\figurename,
-\tablename,
-\partname,
-\enclname,
-\ccname,
-\headtoname,
-\pagename,
-\seename,
-\alsoname,
-\proofname,
-\glossaryname
-\selectlanguage{english}
-
-Test correct upcasing (dropping of accents):
-
-\selectlanguage{greek}
-\MakeUppercase{
-\prefacename,
-\refname,
-\abstractname,
-\bibname,
-\chaptername,
-\appendixname,
-\contentsname,
-\listfigurename,
-\listtablename,
-\indexname,
-\figurename,
-\tablename,
-\partname,
-\enclname,
-\ccname,
-\headtoname,
-\pagename,
-\seename,
-\alsoname,
-\proofname,
-\glossaryname
-}
-\selectlanguage{english}
-
-
-\subsection{Months}
-
-\selectlanguage{greek}
-\newcounter{foo}
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\stepcounter{foo} \month=\value{foo} \today \\
-\selectlanguage{english}
-
-\section{Greek Numerals}
-
-See greek.pdf for the formation rules of Greek numerals.
-Some examples:
-
-\selectlanguage{greek}
-
-\greeknumeral{1},
-\greeknumeral{2},
-\greeknumeral{3},
-\greeknumeral{4},
-\greeknumeral{5},
-\greeknumeral{6},
-\greeknumeral{7},
-\greeknumeral{8},
-\greeknumeral{9},
-\greeknumeral{10},
-\greeknumeral{11},
-\greeknumeral{12},
-\greeknumeral{20},
-\greeknumeral{345},
-\greeknumeral{500},
-\greeknumeral{1997},
-\greeknumeral{2013},
-
-\Greeknumeral{1},
-\Greeknumeral{2},
-\Greeknumeral{3},
-\Greeknumeral{4},
-\Greeknumeral{5},
-\Greeknumeral{6},
-\Greeknumeral{7},
-\Greeknumeral{8},
-\Greeknumeral{9},
-\Greeknumeral{10},
-\Greeknumeral{11},
-\Greeknumeral{12},
-\Greeknumeral{20},
-\Greeknumeral{345},
-\Greeknumeral{500},
-\Greeknumeral{1997},
-\Greeknumeral{2013},
-
-
-Enumerated lists use Greek characters/numerals in the second and fourth level:
-
-\selectlanguage{greek}
-\begin{enumerate}
- \item item 1
- \begin{enumerate}
- \item item 1.1
- \begin{enumerate}
- \item item 1.1.1
- \begin{enumerate}
- \item item 1.1.1.1
- \item item 1.1.1.2
- \end{enumerate}
- \item item 1.1.2
- \end{enumerate}
- \end{enumerate}
-\end{enumerate}
-\selectlanguage{english}
-
-
-This may be problematic with fonts that only partially support Greek and
-miss the numeral signs (dexiakeraia and aristerikeraia).
-
-You may redefine the commands \verb+\textdexiakeraia+ and
-\verb+\textaristerikeraia+ to some substitute characters.
-Or, if you prefer the ``normal'' enumeration, write in the preamble after
-loading babel:
-
-\begin{verbatim}
- \makeatletter
- \addto\extrasgreek{\let\@alph\latin@alph
- \let\@Alph\latin@Alph}
- \makeatother
-\end{verbatim}
-
-
-\end{document}
diff --git a/Master/texmf-dist/doc/generic/babel-greek/test-unicode-lgr.pdf b/Master/texmf-dist/doc/generic/babel-greek/test-unicode-lgr.pdf
deleted file mode 100644
index 532e132c786..00000000000
--- a/Master/texmf-dist/doc/generic/babel-greek/test-unicode-lgr.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/babel-greek/usage.pdf b/Master/texmf-dist/doc/generic/babel-greek/usage.pdf
index 67c6fa3699d..43a51a2053f 100644
--- a/Master/texmf-dist/doc/generic/babel-greek/usage.pdf
+++ b/Master/texmf-dist/doc/generic/babel-greek/usage.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/babel-greek/usage.tex b/Master/texmf-dist/doc/generic/babel-greek/usage.tex
index 50d76aae02f..519b721e5fe 100644
--- a/Master/texmf-dist/doc/generic/babel-greek/usage.tex
+++ b/Master/texmf-dist/doc/generic/babel-greek/usage.tex
@@ -206,9 +206,12 @@ provides the following commands:
\begin{center}
\begin{tabular}{cc}\hline
Command & Output\\ \hline
-\verb+\qoppa+ & \textgreek{\qoppa}\\
-\verb+\sampi+ & \textgreek{\sampi}\\
-\verb+\stigma+ & \textgreek{\stigma}\\
+\verb+\textkoppa+ & \textgreek{\textkoppa}\\
+\verb+\textsampi+ & \textgreek{\textsampi}\\
+\verb+\textstigma+ & \textgreek{\textstigma}\\
+\verb+\textKoppa+ & \textgreek{\textKoppa}\\
+\verb+\textSampi+ & \textgreek{\textSampi}\\
+\verb+\textStigma+ & \textgreek{\textStigma}\\
\hline
\end{tabular}
\end{center}
@@ -217,20 +220,16 @@ In traditional Greek typography the first paragraph after a header is
always indented, contrary to the habit of, say, American typography. This
effect can be achieved by using the package \verb+indentfirst+.
-Additional greek symbols are available:
+Additional symbols are available:
\begin{center}
\begin{tabular}{cc}\hline
Command & Output\\ \hline
-\verb+\Digamma+ & \sg\textgreek{\Digamma}\\
-\verb+\ddigamma+ & \sg\textgreek{\ddigamma}\\
-%\verb+\tao+ & \sg\textgreek{\tao}\\
-%\verb+\Qoppa+ & \sg\textgreek{\Qoppa}\\
-%\verb|\VarQoppa| & \sg\textgreek{\VarQoppa}\\
-%\verb+\varqoppa+ & \sg\textgreek{\varqoppa}\\
-%\verb+\Sampi+ & \sg\textgreek{\Sampi}\\
-%\verb|\Stigma| & \sg\textgreek{\Stigma}\\
-\verb|\euro| & \sg\textgreek{\euro}\\
-\verb|\permill| & \sg\textgreek{\permill}\\
+\verb+\textDigamma+ & \textgreek{\textDigamma}\\
+\verb+\textdigamma+ & \textgreek{\textdigamma}\\
+\verb+\VarQoppa+ & \textgreek{\textQoppa}\\
+\verb+\textqoppa+ & \textgreek{\textqoppa}\\
+\verb+\texteuro+ & \textgreek{\euro}\\
+\verb+\textperthousand+ & \textgreek{\permill}\\
\hline
\end{tabular}
\end{center}
@@ -240,7 +239,7 @@ one can produce the so called \textit{Athenian numerals}:
\begin{center}
\begin{tabular}{cc}\hline
Command & Output\\ \hline
-\verb|\athnum{1997}| & \sg\textgreek{\athnum{1997}}\\
+\verb|\athnum{1997}| & \textgreek{\athnum{1997}}\\
\hline
\end{tabular}
\end{center}
diff --git a/Master/texmf-dist/source/generic/babel-greek/Makefile b/Master/texmf-dist/source/generic/babel-greek/Makefile
index af860da050d..5cfd53df74f 100644
--- a/Master/texmf-dist/source/generic/babel-greek/Makefile
+++ b/Master/texmf-dist/source/generic/babel-greek/Makefile
@@ -22,7 +22,7 @@ SH = sh
# programs
PYLIT = pylit # text <-> source converter for literal programming
RST2HTML = rst2html5 # text -> HTML converter, see docutils.sf.net
-RUBBER = rubber -f # wrapper around `latex`, run until references resolved
+RUBBER = rubber -f --pdf # wrapper around `latex`, run until references resolved
LATEX = pdflatex -interaction batchmode # suppress logging to terminal
# LaTeX source files
@@ -55,28 +55,32 @@ README.html: README
pdf: babel-greek.pdf athnum.pdf grmath.pdf usage.pdf\
- test-greek.pdf test-unicode-greek.pdf test-unicode-lgr.pdf
+ test-greek-lgr.pdf test-greek-tu.pdf test-8bit-greek.pdf \
+ test-tu-lgr.pdf
babel-greek.pdf: babel-greek.dtx
- $(RUBBER) --pdf babel-greek.dtx
+ $(RUBBER) -m hyperref babel-greek.dtx
athnum.pdf: athnum.dtx
- $(RUBBER) --pdf athnum.dtx
+ $(RUBBER) athnum.dtx
grmath.pdf: grmath.dtx
- $(RUBBER) --pdf grmath.dtx
+ $(RUBBER) grmath.dtx
usage.pdf: usage.tex greek.ldf
- $(RUBBER) --pdf usage.tex
+ $(RUBBER) usage.tex
-test-greek.pdf: test-greek.tex greek.ldf
- $(RUBBER) --pdf test-greek.tex
+test-greek-lgr.pdf: test-greek.tex greek.ldf
+ $(RUBBER) --jobname=test-greek-lgr test-greek.tex
-test-unicode-greek.pdf: test-unicode-greek.tex greek.ldf
- $(RUBBER) -m xelatex test-unicode-greek.tex
+test-greek-tu.pdf: test-greek.tex greek.ldf
+ $(RUBBER) -m xelatex --jobname=test-greek-tu test-greek.tex
-test-unicode-lgr.pdf: test-unicode-lgr.tex greek.ldf
- $(RUBBER) -m xelatex test-unicode-lgr.tex
+test-8bit-greek.pdf: test-8bit-greek.tex greek.ldf
+ $(RUBBER) -m hyperref test-8bit-greek.tex
+
+test-tu-lgr.pdf: test-tu-lgr.tex greek.ldf
+ $(RUBBER) -m hyperref -m xelatex test-tu-lgr.tex
# Installation
@@ -101,4 +105,4 @@ install-doc: doc
.PHONY: clean
clean:
- rm -f *.aux *.log *.toc *~
+ rm -f *.aux *.log *.toc *.out *~
diff --git a/Master/texmf-dist/source/generic/babel-greek/babel-greek.dtx b/Master/texmf-dist/source/generic/babel-greek/babel-greek.dtx
index 09490979613..9224df9769f 100644
--- a/Master/texmf-dist/source/generic/babel-greek/babel-greek.dtx
+++ b/Master/texmf-dist/source/generic/babel-greek/babel-greek.dtx
@@ -26,7 +26,7 @@
% and covered by LPPL is defined by the unpacking script (babel-greek.ins)
% which is part of the package.
% \fi
-% \CheckSum{1550}
+% \CheckSum{1547}
%
% \iffalse
% Tell the \LaTeX\ system who we are and write an entry on the
@@ -37,7 +37,7 @@
%<code>\ProvidesLanguage{greek}
%\fi
%\ProvidesFile{babel-greek.dtx}
- [2020/03/17 v1.9j Greek support for the babel system]
+ [2020/11/10 v1.10 Greek support for the babel system]
%\iffalse
%% File `babel-greek.dtx'
%% Greek language Definition File
@@ -56,7 +56,7 @@
\documentclass{ltxdoc}
% \usepackage{lmodern}
\usepackage[utf8]{inputenc}
-\usepackage{hyperref,bookmark}
+\usepackage{hyperref}
\hypersetup{colorlinks=true,linkcolor=blue,urlcolor=blue,citecolor=black}
\newcommand*{\babel}{\textsf{babel}}
\newcommand*{\note}[1]{}
@@ -127,7 +127,15 @@
% to textalpha.}
% \changes{babel-greek-1.9i}{2020/02/28}{Update test for Unicode fonts.
% Fix accent in seename and alsoname.}
-% \changes{babel-greek-1.9j}{2020/03/17}{Fix ampersand in math.}
+% \changes{babel-greek-1.9j}{2020/03/17}{Fix ampersand in math mode.}
+% \changes{babel-greek-1.10}{2020/11/10}{Use TU as \cs{greekfontencoding}
+% for Xe/LuaTeX. TU is the default font encoding there since 2017/01/01.
+% PDF-string secure implementation of \cs{greeknumeral}
+% (taken from ``hyperref'').
+% Use zig-zagy \cs{textkoppa} for \cs{greeknumeral{90}}.
+% This is what it looked originally and what it looks
+% in current (not classical or medieval) Greek typography.
+% Load ``puenc-greek.def`` (from greek-fontenc_) if used with hyperref.}
%
% \title{Babel support for the Greek language}
% \author{Apostolos Syropoulos, Günter Milde}
@@ -170,8 +178,8 @@
%
% The \href{http://ctan.org/pkg/lm}{Latin Modern} OpenType font that is the
% default font for XeTeX/LuaTeX does not support the Greek script. The user
-% needs to set up an alternative font like Linux Libertine or DejaVu with
-% \pkg{\href{http://www.ctan.org/pkg/fontspec}{fontspec}}.
+% needs to set up an alternative font like CM Unicode, Linux Libertine or
+% DejaVu with \pkg{\href{http://www.ctan.org/pkg/fontspec}{fontspec}}.
%
% \section{Usage}
%
@@ -204,11 +212,11 @@
% \usepackage[greek.ancient,english]{babel}
% \end{verbatim}
%
-% Version 1.9 fixes the activation of hyphenation patterns: By default,
+% By default,
% \pkg{babel-greek} activates the modern Greek monotonic hyphenation;
% the attribute/modifier |polutoniko| activates the modern Greek
% polytonic hyphenation and the attribute/modifier |ancient| activates
-% the ancient Greek hyphenation. 8-bit TeX and XeTeX requires the
+% the ancient Greek hyphenation. 8-bit TeX and XeTeX require the
% hyphenation patterns to be pre-loaded in the format file.
% This is a limitation by TeX, common to all languages.
% The LuaTeX engine loads hyphenation patterns on demand.
@@ -217,9 +225,10 @@
% \DescribeMacro\foreignlanguage
% The Babel core provides two commands to switch the active language:
% The declaration |\selectlanguage{greek}| switches to the Greek language.
-% The macro \verb|\foreignlanguage{greek}{<some text>}| sets its second argument
-% in the Greek language. This is intended for short text parts.
-% For details see the \href{http://www.ctan.org/pkg/babel}{Babel} documentation.
+% The macro \verb|\foreignlanguage{greek}{<some text>}| sets its second
+% argument in the Greek language. This is intended for short text parts.
+% For details see the \href{http://www.ctan.org/pkg/babel}{Babel}
+% documentation.
%
% For backwards compatibility, ``polytonic'' spelling can also be
% selected via the dummy language \Lopt{polutonikogreek}. In this
@@ -467,16 +476,19 @@
% instead of engine}
% \changes{babel-greek-1.9f}{2016/02/04}{Check also for TU font encoding.}
% \changes{babel-greek-1.9i}{2020/02/27}{Update check for Unicode fonts.}
+% \changes{babel-greek-1.10}{2020/11/10}{Use TU with Xe/LuaTeX.}
%
% \DescribeMacro\greekfontencoding
% We test for available font encodings and set |\greekfontencoding|
% and the internal macro |\bbl@greek@fontencdef| with the name of the
-% font definition file with Greek LICR macros. The fallback is LGR.
+% font definition file with Greek LICR macros.
+% The default is LGR for 8-bit TeX engines and TU for Xe/LuaTeX.
+% (TODO: The font encoding definition file was renamed to tuenc-greek.def
+% in \emph{greek-fontenc} 0.14 (2020-02-28).)
% \begin{macrocode}
-\ifdefined \UTFencname % set by "fontspec.sty"
- \providecommand*{\greekfontencoding}{\UTFencname} % TU, EU1, or EU2
- \providecommand*{\bbl@greek@fontencdef}{greek-euenc}
- \renewcommand*{\LastDeclaredEncoding}{\UTFencname}
+\ifdefined \UnicodeEncodingName % set by LaTeX for Unicode-aware engines
+ \providecommand*{\greekfontencoding}{\UnicodeEncodingName}
+ \providecommand*{\bbl@greek@fontencdef}{tuenc-greek}
\else
\providecommand*{\greekfontencoding}{LGR}
\providecommand*{\bbl@greek@fontencdef}{lgrenc}
@@ -484,15 +496,16 @@
% \end{macrocode}
% Ensure that the Greek LICR macros are available:
% \begin{macrocode}
-\@ifl@aded{def}{\bbl@greek@fontencdef}{}{
- \InputIfFileExists{\bbl@greek@fontencdef .def}{}{
- \errhelp{I can't find the \bbl@greek@fontencdef .def file
- for the Greek fonts}%
- \errmessage{Font support for the Greek script missing.^^J
- babel-greek can't typeset Greek.^^J
- Install the "greek-fontenc" package^^J
- or use XeTeX/LuaTeX with polyglossia.}%
- \@@end
+\@ifl@aded{def}{\bbl@greek@fontencdef}{}
+{% else
+ \InputIfFileExists{\bbl@greek@fontencdef .def}{}{% else
+ \bbl@error{Font support for the Greek script missing.\\
+ babel-greek can't typeset Greek.\\
+ Install the "greek-fontenc" package\\
+ or use XeTeX/LuaTeX with polyglossia.}
+ {I can't find the \bbl@greek@fontencdef .def file
+ for the Greek fonts (encoding \greekfontencoding)}
+ \@@end
}
}
% \end{macrocode}
@@ -501,8 +514,7 @@
% encoding to |\greekfontencoding| if the current font encoding does not
% provide a (typically empty) local variant.
% \changes{greek-1.8.1}{2013/12/03}{Set `encodingdefault' in `greekscript'
-% to fix Greek in footnotes etc. with document language Greek.
-% TODO: This is from `greektext' but are there side effects?}
+% to fix Greek in titles, footnotes, etc. with document language Greek.}
% \begin{macrocode}
\ProvideTextCommandDefault{\greekscript}{%
\fontencoding{\greekfontencoding}\selectfont
@@ -519,6 +531,21 @@
% \end{macrocode}
% \end{macro}
%
+% The package hyperref defines the PU font encoding which supports
+% monotonic Greek. Load support for polytonic greek, archaic symbols,
+% and the |\greekscript| and |\ensuregreek| TextCommands:
+% \begin{macrocode}
+\AtBeginDocument{
+ \@ifl@aded{def}{puenc}{
+ \makeatletter % required inside \AtBeginDocument
+ \InputIfFileExists{puenc-greek.def}{}{% else
+ \bbl@warning{I can't find the file puenc-greek.def from "greek-fontenc".}
+ }
+ \makeatother
+ }{}
+}
+% \end{macrocode}
+%
% \subsection{Fixes for the LGR font encoding}
%
% \begin{macrocode}
@@ -886,100 +913,185 @@
% \begin{macrocode}
\addto\extrasgreek{\greekscript}
\addto\noextrasgreek{\latintext}
-% \addto\noextrasgreek{\RestoreFontEncoding} % TODO define \RestoreFontEncoding
% \end{macrocode}
+% TODO restore previous font encoding.
%
-% \begin{macro}{\gr@ill@value}
-% When the argument of |\greeknumeral| has a value outside of the
-% acceptable bounds ($0 < x < 999999$) a warning will be issued
-% (and nothing will be printed).
+% \begin{macro}{\greeknumeral}
+% The command |\greeknumeral| needs to be \emph{fully} expandable
+% in order to get the right information in auxiliary
+% files. It should also be usable in PDF-strings.
+% Therefore we use the implementation from the \cs{HyPsd@GreekPatch}
+% in \href{https://ctan.org/pkg/hyperref}{hyperref}
+% (version 7.00e 2020-05-15).
+% \changes{babel-greek-1.10}{2020/11/10}{PDF-string secure implementation
+% taken from ``hyperref'' (collaboration with Ulrike Fischer).}
% \begin{macrocode}
-\def\gr@ill@value#1{%
- \PackageWarningNoLine{babel}{Illegal value (#1) for greeknumeral}}
+\def\greeknumeral#1{%
+ {\greekscript
+ \bbl@greek@GreekNum\@firstoftwo{#1}}%
+}
% \end{macrocode}
% \end{macro}
-%
-% \begin{macro}{\anw@true}
-% \begin{macro}{\anw@false}
-% \begin{macro}{\anw@print}
-% When a a large number with three \emph{trailing} zero's is to be
-% printed those zeros \emph{and} the numeric mark need to be
-% discarded. As each `digit' is processed by a separate macro
-% \emph{and} because the processing needs to be expandable we need
-% some helper macros that help remember to \emph{not} print the
-% numeric mark (|\anwtonos|).
-%
-% The command |\anw@false| switches the printing of the numeric
-% mark off by making |\anw@print| expand to nothing. The command
-% |\anw@true| (re)enables the printing of the numeric marc. These
-% macro's need to be robust in order to prevent improper expansion
-% during writing to files or during |\uppercase|.
+% \begin{macro}{\Greeknumeral}
+% The command |\Greeknumeral| prints uppercase greek numerals.
% \begin{macrocode}
-\DeclareRobustCommand\anw@false{%
- \DeclareRobustCommand\anw@print{}}
-\DeclareRobustCommand\anw@true{%
- \DeclareRobustCommand\anw@print{\textdexiakeraia}} % \anwtonos
-\anw@true
+\def\Greeknumeral#1{%
+ {\greekscript
+ \bbl@greek@GreekNum\@secondoftwo{#1}}%
+}
% \end{macrocode}
% \end{macro}
-% \end{macro}
-% \end{macro}
%
-% \begin{macro}{\greeknumeral}
-% The command |\greeknumeral| needs to be \emph{fully} expandable
-% in order to get the right information in auxiliary
-% files. Therefore we use a big |\if|-construction to check the
-% value of the argument and start the parsing at the right level.
+% \begin{macro}{\bbl@greek@ill@value}
+% When the argument of |\greeknumeral| has a value outside of the
+% acceptable bounds ($0 < x < 999999$) a warning will be issued
+% (and the argument be printed).
% \begin{macrocode}
-\def\greeknumeral#1{%
+\def\bbl@greek@ill@value#1{%
+ \PackageWarningNoLine{babel}{Illegal value (#1) for greeknumeral}%
+ \@arabic{#1}%
+}
% \end{macrocode}
-% If the value is negative or zero nothing is printed and a warning
-% is issued.
-% \changes{greek-1.3b}{1999/04/03}{Added \cs{expandafter} and
-% \cs{number} (PR3000) in order to make a counter an acceptable
-% argument}
+% \end{macro}
+% \begin{macro}{\bbl@greek@GreekNum}
+% \begin{macro}{\bbl@greek@@GreekNum}
+% \begin{macro}{\bbl@greek@GreekNumI}
+% \begin{macro}{\bbl@greek@GreekNumII}
+% \begin{macro}{\bbl@greek@GreekNumIII}
+% \begin{macro}{\bbl@greek@GreekNumIV}
+% \begin{macro}{\bbl@greek@GreekNumV}
+% \begin{macro}{\bbl@greek@GreekNumVI}
+% The auxiliary macros provide the actual conversion.
+% They are taken from hyperref as well.
% \begin{macrocode}
- \ifnum#1<\@ne\space\gr@ill@value{#1}%
+\def\bbl@greek@GreekNum#1#2{%
+ \ifnum#2<\@ne
+ \bbl@greek@ill@value{#2}%
+ \else
+ \ifnum#2<1000000 %
+ \bbl@greek@@GreekNum#1{#2}%
+ \else
+ \bbl@greek@ill@value{#2}%
+ \fi
+ \fi
+}
+\def\bbl@greek@@GreekNum#1#2{%
+ \ifnum#2<\@m
+ \ifnum#2<10 %
+ \expandafter\bbl@greek@GreekNumI
+ \expandafter\@gobble\expandafter#1\number#2%
+ \else
+ \ifnum#2<100 %
+ \expandafter\bbl@greek@GreekNumII
+ \expandafter\@gobble\expandafter#1\number#2%
+ \else
+ \expandafter\bbl@greek@GreekNumIII
+ \expandafter\@gobble\expandafter#1\number#2%
+ \fi
+ \fi
+ \ifnum#2>\z@
+ \textnumeralsigngreek
+ \fi
\else
- \ifnum#1<10\expandafter\gr@num@i\number#1%
+ \ifnum#2<\@M
+ \expandafter\bbl@greek@GreekNumIV\expandafter#1\number#2%
\else
- \ifnum#1<100\expandafter\gr@num@ii\number#1%
+ \ifnum#2<100000 %
+ \expandafter\bbl@greek@GreekNumV\expandafter#1\number#2%
\else
-% \end{macrocode}
-% We use the available shorthands for 1.000 (|\@m|) and 10.000
-% (|\@M|) to save a few tokens.
-% \begin{macrocode}
- \ifnum#1<\@m\expandafter\gr@num@iii\number#1%
- \else
- \ifnum#1<\@M\expandafter\gr@num@iv\number#1%
- \else
- \ifnum#1<100000\expandafter\gr@num@v\number#1%
- \else
- \ifnum#1<1000000\expandafter\gr@num@vi\number#1%
- \else
-% \end{macrocode}
-% If the value is too large, nothing is printed and a warning
-% is issued.
-% \begin{macrocode}
- \space\gr@ill@value{#1}%
- \fi
- \fi
- \fi
- \fi
+ \expandafter\bbl@greek@GreekNumVI\expandafter#1\number#2%
\fi
\fi
\fi
}
+\def\bbl@greek@GreekNumI#1#2#3{%
+ #1{%
+ \ifnum#3>\z@
+ \textnumeralsignlowergreek
+ \fi
+ }%
+ \expandafter#2%
+ \ifcase#3 %
+ {}{}%
+ \or\textalpha\textAlpha
+ \or\textbeta\textBeta
+ \or\textgamma\textGamma
+ \or\textdelta\textDelta
+ \or\textepsilon\textEpsilon
+ \or\textstigmagreek\textStigmagreek
+ \or\textzeta\textZeta
+ \or\texteta\textEta
+ \or\texttheta\textTheta
+ \else
+ {}{}%
+ \fi
+}
+\def\bbl@greek@GreekNumII#1#2#3#4{%
+ #1{%
+ \ifnum#3>\z@
+ \textnumeralsignlowergreek
+ \fi
+ }%
+ \expandafter#2%
+ \ifcase#3 %
+ {}{}%
+ \or\textiota\textIota
+ \or\textkappa\textKappa
+ \or\textlambda\textLambda
+ \or\textmugreek\textMu
+ \or\textnu\textNu
+ \or\textxi\textXi
+ \or\textomicron\textOmicron
+ \or\textpi\textPi
+ \or\textkoppa\textKoppa
+ \else
+ {}{}%
+ \fi
+ \bbl@greek@GreekNumI#1#2#4%
+}
+\def\bbl@greek@GreekNumIII#1#2#3#4#5{%
+ #1{%
+ \ifnum#3>\z@
+ \textnumeralsignlowergreek
+ \fi
+ }%
+ \expandafter#2%
+ \ifcase#3 %
+ {}{}%
+ \or\textrho\textRho
+ \or\textsigma\textSigma
+ \or\texttau\textTau
+ \or\textupsilon\textUpsilon
+ \or\textphi\textPhi
+ \or\textchi\textChi
+ \or\textpsi\textPsi
+ \or\textomega\textOmega
+ \or\textsampigreek\textSampigreek
+ \else
+ {}{}%
+ \fi
+ \bbl@greek@GreekNumII#1#2#4#5%
+}
+\def\bbl@greek@GreekNumIV#1#2#3#4#5{%
+ \bbl@greek@GreekNumI\@firstofone#1#2%
+ \bbl@greek@@GreekNum#1{#3#4#5}%
+}
+\def\bbl@greek@GreekNumV#1#2#3#4#5#6{%
+ \bbl@greek@GreekNumII\@firstofone#1#2#3%
+ \bbl@greek@@GreekNum#1{#4#5#6}%
+}
+\def\bbl@greek@GreekNumVI#1#2#3#4#5#6#7{%
+ \bbl@greek@GreekNumIII\@firstofone#1#2#3#4%
+ \bbl@greek@@GreekNum#1{#5#6#7}%
+}
% \end{macrocode}
% \end{macro}
-%
-% \begin{macro}{\Greeknumeral}
-% The command |\Greeknumeral| prints uppercase greek numerals.
-% The parsing is performed by the macro |\greeknumeral|.
-% \begin{macrocode}
-\def\Greeknumeral#1{%
- \expandafter\MakeUppercase\expandafter{\greeknumeral{#1}}}
-% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
% \end{macro}
%
% \begin{macro}{\greek@alph}
@@ -1018,62 +1130,6 @@
% \end{macro}
% \end{macro}
%
-% What is left now is the definition of a set of macros to produce
-% the various digits.
-% \begin{macro}{\gr@num@i}
-% \begin{macro}{\gr@num@ii}
-% \begin{macro}{\gr@num@iii}
-% \changes{greek-1.2b}{1997/11/13}{No longer use \cs{\let} in the
-% expansion of the \cs{gr@num@x} macros as they ned to be
-% expandable}
-% As there is no representation for $0$ in this system the zeros
-% are simply discarded. When we have a large number with three
-% \emph{trailing} zero's also the numeric mark is discarded.
-% Therefore these macros need to pass the information to each other
-% about the (non-)translation of a zero.
-% \begin{macrocode}
-\def\gr@num@i#1{%
- \ifcase#1\or \textalpha\or \textbeta\or \textgamma\or \textdelta\or
- \textepsilon\or \textstigma\or \textzeta\or \texteta\or \texttheta\fi
- \ifnum#1=\z@\else\anw@true\fi\anw@print}
-\def\gr@num@ii#1{%
- \ifcase#1\or \textiota\or \textkappa\or \textlambda\or \textmu\or
- \textnu\or \textxi\or \textomicron\or \textpi\or \textqoppa\fi
- \ifnum#1=\z@\else\anw@true\fi\gr@num@i}
-\def\gr@num@iii#1{%
- \ifcase#1\or \textrho\or \textsigma\or \texttau\or \textupsilon\or
- \textphi\or \textchi\or \textpsi\or \textomega\or \textsampi\fi
- \ifnum#1=\z@\anw@false\else\anw@true\fi\gr@num@ii}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\gr@num@iv}
-% \begin{macro}{\gr@num@v}
-% \begin{macro}{\gr@num@vi}
-% The first three `digits' always have the numeric mark, except
-% when one is discarded because it's value is zero.
-% \begin{macrocode}
-\def\gr@num@iv#1{%
- \ifnum#1=\z@\else\textaristerikeraia\fi
- \ifcase#1\or \textalpha\or \textbeta\or \textgamma\or \textdelta\or
- \textepsilon\or \stigma\or \textzeta\or \texteta\or \texttheta\fi
- \gr@num@iii}
-\def\gr@num@v#1{%
- \ifnum#1=\z@\else\textaristerikeraia\fi
- \ifcase#1\or \textiota\or \textkappa\or \textlambda\or \textmu\or
- \textnu\or \textxi\or \textomicron\or \textpi\or \textqoppa\fi
- \gr@num@iv}
-\def\gr@num@vi#1{%
- \textaristerikeraia
- \ifcase#1\or \textrho\or \textsigma\or \texttau\or \textupsilon\or
- \textphi\or \textchi\or \textpsi\or \textomega\or \textsampi\fi
- \gr@num@v}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
%
% \section{Character codes}
%
@@ -1278,10 +1334,15 @@
% because the CB fonts v2.0 do not inlcude certain symbols and so
% the remaining symbol definitions have been moved here}
% \changes{greek-1.5}{2013/06/11}{change symbol macros to aliases}
+% \changes{greek-1.10}{2020/11/10}{Fix: \cs{qoppa} is the legacy name of
+% \cs{textkoppa} not \cs{textqoppa}!
+% Provide fallbacks for makros required for greek numerals
+% (added in greek-fontenc 1.0 2020-09-25).}
% \begin{macrocode}
\providecommand*{\anwtonos}{\textdexiakeraia}
\providecommand*{\katwtonos}{\textaristerikeraia}
-\providecommand*{\qoppa}{\textqoppa}
+\providecommand*{\qoppa}{\textkoppa}
+\providecommand*{\varqoppa}{\textqoppa}
\providecommand*{\stigma}{\textstigma}
\providecommand*{\sampi}{\textsampi}
\providecommand*{\Digamma}{\textDigamma}
@@ -1290,6 +1351,14 @@
\providecommand*{\euro}{\texteuro}
\providecommand*{\permill}{\textperthousand}
% \end{macrocode}
+% TODO remove the following lines once greek-fontenc 1.0 is in common use.
+% \begin{macrocode}
+\@ifl@aded{def}{lgrenc}{%
+ \ProvideTextCommand{\textKoppa}{LGR}{\textkoppa}
+ \ProvideTextCommand{\textmugreek}{LGR}{\textmu}
+}{}
+\ProvideTextCommand{\textmugreek}{\greekfontencoding}{\textmu}
+% \end{macrocode}
%
% \changes{greek-1.3l}{2004/02/19}{Commented these lines out as this
% change has made it into \LaTeX{} itself.}
diff --git a/Master/texmf-dist/tex/generic/babel-greek/greek.ldf b/Master/texmf-dist/tex/generic/babel-greek/greek.ldf
index eac039c0b4b..6c920e715eb 100644
--- a/Master/texmf-dist/tex/generic/babel-greek/greek.ldf
+++ b/Master/texmf-dist/tex/generic/babel-greek/greek.ldf
@@ -32,7 +32,7 @@
%% and covered by LPPL is defined by the unpacking script (babel-greek.ins)
%% which is part of the package.
\ProvidesLanguage{greek}
- [2020/03/17 v1.9j Greek support for the babel system]
+ [2020/11/10 v1.10 Greek support for the babel system]
%% File `babel-greek.dtx'
%% Greek language Definition File
%% Copyright © 1997, 2005 Apostolos Syropoulos, Johannes Braams
@@ -71,23 +71,23 @@
\let\captionsgreek\captionsancientgreek
\let\gr@month\gr@c@month % (modern) polytonic month names
}
-\ifdefined \UTFencname % set by "fontspec.sty"
- \providecommand*{\greekfontencoding}{\UTFencname} % TU, EU1, or EU2
- \providecommand*{\bbl@greek@fontencdef}{greek-euenc}
- \renewcommand*{\LastDeclaredEncoding}{\UTFencname}
+\ifdefined \UnicodeEncodingName % set by LaTeX for Unicode-aware engines
+ \providecommand*{\greekfontencoding}{\UnicodeEncodingName}
+ \providecommand*{\bbl@greek@fontencdef}{tuenc-greek}
\else
\providecommand*{\greekfontencoding}{LGR}
\providecommand*{\bbl@greek@fontencdef}{lgrenc}
\fi
-\@ifl@aded{def}{\bbl@greek@fontencdef}{}{
- \InputIfFileExists{\bbl@greek@fontencdef .def}{}{
- \errhelp{I can't find the \bbl@greek@fontencdef .def file
- for the Greek fonts}%
- \errmessage{Font support for the Greek script missing.^^J
- babel-greek can't typeset Greek.^^J
- Install the "greek-fontenc" package^^J
- or use XeTeX/LuaTeX with polyglossia.}%
- \@@end
+\@ifl@aded{def}{\bbl@greek@fontencdef}{}
+{% else
+ \InputIfFileExists{\bbl@greek@fontencdef .def}{}{% else
+ \bbl@error{Font support for the Greek script missing.\\
+ babel-greek can't typeset Greek.\\
+ Install the "greek-fontenc" package\\
+ or use XeTeX/LuaTeX with polyglossia.}
+ {I can't find the \bbl@greek@fontencdef .def file
+ for the Greek fonts (encoding \greekfontencoding)}
+ \@@end
}
}
\ProvideTextCommandDefault{\greekscript}{%
@@ -95,6 +95,15 @@
\def\encodingdefault{\greekfontencoding}}
\ProvideTextCommandDefault{\ensuregreek}[1]{%
\leavevmode{\greekscript #1}}
+\AtBeginDocument{
+ \@ifl@aded{def}{puenc}{
+ \makeatletter % required inside \AtBeginDocument
+ \InputIfFileExists{puenc-greek.def}{}{% else
+ \bbl@warning{I can't find the file puenc-greek.def from "greek-fontenc".}
+ }
+ \makeatother
+ }{}
+}
\@ifl@aded{def}{lgrenc}{%
\ProvideTextCommand{\textcopyright}{LGR}{\ensureascii{\textcopyright}}
\ProvideTextCommand{\textregistered}{LGR}{\ensureascii{\textregistered}}
@@ -275,39 +284,138 @@
\expandafter\Greeknumeral\expandafter{\the\year}}
\addto\extrasgreek{\greekscript}
\addto\noextrasgreek{\latintext}
-\def\gr@ill@value#1{%
- \PackageWarningNoLine{babel}{Illegal value (#1) for greeknumeral}}
-\DeclareRobustCommand\anw@false{%
- \DeclareRobustCommand\anw@print{}}
-\DeclareRobustCommand\anw@true{%
- \DeclareRobustCommand\anw@print{\textdexiakeraia}} % \anwtonos
-\anw@true
\def\greeknumeral#1{%
- \ifnum#1<\@ne\space\gr@ill@value{#1}%
+ {\greekscript
+ \bbl@greek@GreekNum\@firstoftwo{#1}}%
+}
+\def\Greeknumeral#1{%
+ {\greekscript
+ \bbl@greek@GreekNum\@secondoftwo{#1}}%
+}
+\def\bbl@greek@ill@value#1{%
+ \PackageWarningNoLine{babel}{Illegal value (#1) for greeknumeral}%
+ \@arabic{#1}%
+}
+\def\bbl@greek@GreekNum#1#2{%
+ \ifnum#2<\@ne
+ \bbl@greek@ill@value{#2}%
+ \else
+ \ifnum#2<1000000 %
+ \bbl@greek@@GreekNum#1{#2}%
+ \else
+ \bbl@greek@ill@value{#2}%
+ \fi
+ \fi
+}
+\def\bbl@greek@@GreekNum#1#2{%
+ \ifnum#2<\@m
+ \ifnum#2<10 %
+ \expandafter\bbl@greek@GreekNumI
+ \expandafter\@gobble\expandafter#1\number#2%
+ \else
+ \ifnum#2<100 %
+ \expandafter\bbl@greek@GreekNumII
+ \expandafter\@gobble\expandafter#1\number#2%
+ \else
+ \expandafter\bbl@greek@GreekNumIII
+ \expandafter\@gobble\expandafter#1\number#2%
+ \fi
+ \fi
+ \ifnum#2>\z@
+ \textnumeralsigngreek
+ \fi
\else
- \ifnum#1<10\expandafter\gr@num@i\number#1%
+ \ifnum#2<\@M
+ \expandafter\bbl@greek@GreekNumIV\expandafter#1\number#2%
\else
- \ifnum#1<100\expandafter\gr@num@ii\number#1%
+ \ifnum#2<100000 %
+ \expandafter\bbl@greek@GreekNumV\expandafter#1\number#2%
\else
- \ifnum#1<\@m\expandafter\gr@num@iii\number#1%
- \else
- \ifnum#1<\@M\expandafter\gr@num@iv\number#1%
- \else
- \ifnum#1<100000\expandafter\gr@num@v\number#1%
- \else
- \ifnum#1<1000000\expandafter\gr@num@vi\number#1%
- \else
- \space\gr@ill@value{#1}%
- \fi
- \fi
- \fi
- \fi
+ \expandafter\bbl@greek@GreekNumVI\expandafter#1\number#2%
\fi
\fi
\fi
}
-\def\Greeknumeral#1{%
- \expandafter\MakeUppercase\expandafter{\greeknumeral{#1}}}
+\def\bbl@greek@GreekNumI#1#2#3{%
+ #1{%
+ \ifnum#3>\z@
+ \textnumeralsignlowergreek
+ \fi
+ }%
+ \expandafter#2%
+ \ifcase#3 %
+ {}{}%
+ \or\textalpha\textAlpha
+ \or\textbeta\textBeta
+ \or\textgamma\textGamma
+ \or\textdelta\textDelta
+ \or\textepsilon\textEpsilon
+ \or\textstigmagreek\textStigmagreek
+ \or\textzeta\textZeta
+ \or\texteta\textEta
+ \or\texttheta\textTheta
+ \else
+ {}{}%
+ \fi
+}
+\def\bbl@greek@GreekNumII#1#2#3#4{%
+ #1{%
+ \ifnum#3>\z@
+ \textnumeralsignlowergreek
+ \fi
+ }%
+ \expandafter#2%
+ \ifcase#3 %
+ {}{}%
+ \or\textiota\textIota
+ \or\textkappa\textKappa
+ \or\textlambda\textLambda
+ \or\textmugreek\textMu
+ \or\textnu\textNu
+ \or\textxi\textXi
+ \or\textomicron\textOmicron
+ \or\textpi\textPi
+ \or\textkoppa\textKoppa
+ \else
+ {}{}%
+ \fi
+ \bbl@greek@GreekNumI#1#2#4%
+}
+\def\bbl@greek@GreekNumIII#1#2#3#4#5{%
+ #1{%
+ \ifnum#3>\z@
+ \textnumeralsignlowergreek
+ \fi
+ }%
+ \expandafter#2%
+ \ifcase#3 %
+ {}{}%
+ \or\textrho\textRho
+ \or\textsigma\textSigma
+ \or\texttau\textTau
+ \or\textupsilon\textUpsilon
+ \or\textphi\textPhi
+ \or\textchi\textChi
+ \or\textpsi\textPsi
+ \or\textomega\textOmega
+ \or\textsampigreek\textSampigreek
+ \else
+ {}{}%
+ \fi
+ \bbl@greek@GreekNumII#1#2#4#5%
+}
+\def\bbl@greek@GreekNumIV#1#2#3#4#5{%
+ \bbl@greek@GreekNumI\@firstofone#1#2%
+ \bbl@greek@@GreekNum#1{#3#4#5}%
+}
+\def\bbl@greek@GreekNumV#1#2#3#4#5#6{%
+ \bbl@greek@GreekNumII\@firstofone#1#2#3%
+ \bbl@greek@@GreekNum#1{#4#5#6}%
+}
+\def\bbl@greek@GreekNumVI#1#2#3#4#5#6#7{%
+ \bbl@greek@GreekNumIII\@firstofone#1#2#3#4%
+ \bbl@greek@@GreekNum#1{#5#6#7}%
+}
\let\latin@alph\@alph
\let\latin@Alph\@Alph
\def\greek@alph#1{\expandafter\greeknumeral\expandafter{\the#1}}
@@ -318,33 +426,6 @@
\addto\noextrasgreek{%
\let\@alph\latin@alph
\let\@Alph\latin@Alph}
-\def\gr@num@i#1{%
- \ifcase#1\or \textalpha\or \textbeta\or \textgamma\or \textdelta\or
- \textepsilon\or \textstigma\or \textzeta\or \texteta\or \texttheta\fi
- \ifnum#1=\z@\else\anw@true\fi\anw@print}
-\def\gr@num@ii#1{%
- \ifcase#1\or \textiota\or \textkappa\or \textlambda\or \textmu\or
- \textnu\or \textxi\or \textomicron\or \textpi\or \textqoppa\fi
- \ifnum#1=\z@\else\anw@true\fi\gr@num@i}
-\def\gr@num@iii#1{%
- \ifcase#1\or \textrho\or \textsigma\or \texttau\or \textupsilon\or
- \textphi\or \textchi\or \textpsi\or \textomega\or \textsampi\fi
- \ifnum#1=\z@\anw@false\else\anw@true\fi\gr@num@ii}
-\def\gr@num@iv#1{%
- \ifnum#1=\z@\else\textaristerikeraia\fi
- \ifcase#1\or \textalpha\or \textbeta\or \textgamma\or \textdelta\or
- \textepsilon\or \stigma\or \textzeta\or \texteta\or \texttheta\fi
- \gr@num@iii}
-\def\gr@num@v#1{%
- \ifnum#1=\z@\else\textaristerikeraia\fi
- \ifcase#1\or \textiota\or \textkappa\or \textlambda\or \textmu\or
- \textnu\or \textxi\or \textomicron\or \textpi\or \textqoppa\fi
- \gr@num@iv}
-\def\gr@num@vi#1{%
- \textaristerikeraia
- \ifcase#1\or \textrho\or \textsigma\or \texttau\or \textupsilon\or
- \textphi\or \textchi\or \textpsi\or \textomega\or \textsampi\fi
- \gr@num@v}
\@ifl@aded{def}{lgrenc}{%
\begingroup
\@ifundefined{active@char\string!}{}{\catcode`!=12\relax}
@@ -408,7 +489,8 @@
}{} % End of LGR-specific code.
\providecommand*{\anwtonos}{\textdexiakeraia}
\providecommand*{\katwtonos}{\textaristerikeraia}
-\providecommand*{\qoppa}{\textqoppa}
+\providecommand*{\qoppa}{\textkoppa}
+\providecommand*{\varqoppa}{\textqoppa}
\providecommand*{\stigma}{\textstigma}
\providecommand*{\sampi}{\textsampi}
\providecommand*{\Digamma}{\textDigamma}
@@ -416,6 +498,11 @@
\providecommand*{\vardigamma}{\textvardigamma}
\providecommand*{\euro}{\texteuro}
\providecommand*{\permill}{\textperthousand}
+\@ifl@aded{def}{lgrenc}{%
+ \ProvideTextCommand{\textKoppa}{LGR}{\textkoppa}
+ \ProvideTextCommand{\textmugreek}{LGR}{\textmu}
+}{}
+\ProvideTextCommand{\textmugreek}{\greekfontencoding}{\textmu}
\ldf@finish{\CurrentOption}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z