summaryrefslogtreecommitdiff
path: root/language/greek/greek-fontenc/alphabeta.sty.html
diff options
context:
space:
mode:
Diffstat (limited to 'language/greek/greek-fontenc/alphabeta.sty.html')
-rw-r--r--language/greek/greek-fontenc/alphabeta.sty.html461
1 files changed, 397 insertions, 64 deletions
diff --git a/language/greek/greek-fontenc/alphabeta.sty.html b/language/greek/greek-fontenc/alphabeta.sty.html
index f6deffaf26..3ba83c0486 100644
--- a/language/greek/greek-fontenc/alphabeta.sty.html
+++ b/language/greek/greek-fontenc/alphabeta.sty.html
@@ -2,9 +2,9 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="utf-8" />
-<meta name="generator" content="Docutils 0.20b.dev: https://docutils.sourceforge.io/" />
+<meta name="generator" content="Docutils 0.21b.dev: https://docutils.sourceforge.io/" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
-<meta name="dcterms.rights" content="© 2010, 2020 Günter Milde" />
+<meta name="dcterms.rights" content="© 2010, 2020, 2023 Günter Milde" />
<title>alphabeta.sty</title>
<link rel="schema.dcterms" href="http://purl.org/dc/terms/"/>
<style type="text/css">
@@ -308,8 +308,8 @@ p img, p video, figure img, figure video {
/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */
/* .. _CSS3: https://www.w3.org/Style/CSS/ */
-/* Note: */
-/* This style sheet is provisional: */
+/* Note: */
+/* This style sheet is provisional: */
/* the API is not settled and may change with any minor Docutils version. */
@@ -648,7 +648,8 @@ math .boldsymbol {
font-weight: bold;
}
mstyle.mathscr, mi.mathscr {
- font-family: STIX;
+ font-family: STIX, XITSMathJax_Script, rsfs10,
+ "Asana Math", Garamond, cursive;
}
/* Adaptive page layout */
@@ -793,9 +794,9 @@ mstyle.mathscr, mi.mathscr {
<p class="subtitle" id="greek-symbols-in-text-and-math">Greek symbols in text and math</p>
<dl class="docinfo">
<dt class="version">Version<span class="colon">:</span></dt>
-<dd class="version">2.2.1 (<a class="reference internal" href="#changelog">changelog</a>)</dd>
+<dd class="version">2.5 (<a class="reference internal" href="#changelog">changelog</a>)</dd>
<dt class="copyright">Copyright<span class="colon">:</span></dt>
-<dd class="copyright">© 2010, 2020 Günter Milde</dd>
+<dd class="copyright">© 2010, 2020, 2023 Günter Milde</dd>
<dt class="licence">Licence<span class="colon">:</span></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
@@ -824,15 +825,26 @@ mode.</p>
<li><p><a class="reference internal" href="#save-math-macros" id="toc-entry-8">Save math macros</a></p></li>
<li><p><a class="reference internal" href="#commands-to-access-greek-letters-by-name" id="toc-entry-9">Commands to access Greek letters by name</a></p>
<ul>
-<li><p><a class="reference internal" href="#archaic-letters" id="toc-entry-10">Archaic letters</a></p></li>
-<li><p><a class="reference internal" href="#variant-shape-symbols" id="toc-entry-11">Variant shape symbols</a></p></li>
+<li><p><a class="reference internal" href="#greek-alphabet" id="toc-entry-10">Greek Alphabet</a></p></li>
+<li><p><a class="reference internal" href="#archaic-letters" id="toc-entry-11">Archaic letters</a></p></li>
+<li><p><a class="reference internal" href="#variant-shape-symbols" id="toc-entry-12">Variant shape symbols</a></p></li>
</ul>
</li>
-<li><p><a class="reference internal" href="#textcompositecommands-for-the-generic-macros" id="toc-entry-12">TextCompositeCommands for the generic macros</a></p></li>
-<li><p><a class="reference internal" href="#re-definition-for-greek-unicode-input-in-math-mode" id="toc-entry-13">Re-definition for Greek Unicode input in math mode</a></p></li>
+<li><p><a class="reference internal" href="#textcompositecommands-for-the-letter-name-macros" id="toc-entry-13">TextCompositeCommands for the letter-name macros</a></p>
+<ul>
+<li><p><a class="reference internal" href="#select-pre-composed-characters" id="toc-entry-14">Select pre-composed characters.</a></p></li>
+<li><p><a class="reference internal" href="#drop-capital-accents" id="toc-entry-15">Drop “capital” accents</a></p></li>
+<li><p><a class="reference internal" href="#hiatus-feature" id="toc-entry-16">Hiatus feature</a></p></li>
+<li><p><a class="reference internal" href="#composites-for-tu" id="toc-entry-17">Composites for TU</a></p></li>
+<li><p><a class="reference internal" href="#composites-for-lgr" id="toc-entry-18">Composites for LGR</a></p></li>
+<li><p><a class="reference internal" href="#composites-for-pu" id="toc-entry-19">Composites for PU</a></p></li>
+</ul>
+</li>
+<li><p><a class="reference internal" href="#case-changing" id="toc-entry-20">Case changing</a></p></li>
+<li><p><a class="reference internal" href="#re-definition-for-greek-unicode-input-in-math-mode" id="toc-entry-21">Re-definition for Greek Unicode input in math mode</a></p></li>
</ul>
</li>
-<li><p><a class="reference internal" href="#changelog" id="toc-entry-14">Changelog</a></p></li>
+<li><p><a class="reference internal" href="#changelog" id="toc-entry-22">Changelog</a></p></li>
</ul>
</nav>
<section id="motivation">
@@ -842,8 +854,9 @@ are only valid in mathematical mode.</p>
<p>With this package, the math macros are redefined to work in both, text and
math mode, so that Greek letters can be specified with the established
command names in text, too.</p>
-<p>If used together with the <span class="docutils literal">utf8</span> option of <a class="reference external" href="https://ctan.org/pkg/inputenc">inputenc</a>, literal Unicode
-characters can be used for Greek symbols in mathematical formulas.</p>
+<p>The package works with both, 8-bit TeX as well as Xe/LuaTeX.
+Under 8-bit TeX, literal Unicode characters can be used for Greek symbols
+in mathematical formulas.</p>
<aside class="admonition attention">
<p class="admonition-title">Attention!</p>
<p>The macros work well in any font encoding for single symbols.
@@ -853,16 +866,13 @@ accent+character with a pre-composed character.</p>
<p>Therefore, Greek text should be written with the help of <a class="reference external" href="https://ctan.org/pkg/babel">Babel</a> or
<a class="reference external" href="https://ctan.org/pkg/polyglossia">Polyglossia</a> (setting the language to <span class="docutils literal">greek</span>) or wrapped in the
provided <span class="docutils literal">ensuregreek</span> macro. Using <a class="reference external" href="https://ctan.org/pkg/babel">Babel</a> or <a class="reference external" href="https://ctan.org/pkg/polyglossia">Polyglossia</a> also helps
-to ensure proper hyphenation.</p>
+to ensure correct hyphenation and case changes.</p>
</aside>
</section>
<section id="usage">
<h2><a class="toc-backref" href="#toc-entry-2" role="doc-backlink">Usage</a></h2>
-<pre class="code latex literal-block"><code><span class="keyword">\usepackage</span><span class="name builtin">{</span>alphabeta<span class="name builtin">}</span></code></pre>
-<p>The <a class="reference external" href="https://ctan.org/pkg/greek-inputenc">greek-inputenc</a> package provides support for Unicode (utf-8) input
-of Greek characters with 8-bit TeX and the <a class="reference external" href="https://ctan.org/pkg/inputenc">inputenc</a> package:</p>
-<pre class="code latex literal-block"><code><span class="keyword">\usepackage</span><span class="name attribute">[utf-8]</span><span class="name builtin">{</span>inputenc<span class="name builtin">}</span>
-<span class="keyword">\usepackage</span><span class="name builtin">{</span>alphabeta<span class="name builtin">}</span></code></pre>
+<pre class="code latex literal-block"><code><span class="keyword">\usepackage</span><span class="name attribute">[&lt;options&gt;]</span><span class="name builtin">{</span>alphabeta<span class="name builtin">}</span></code></pre>
+<p>The package provides the same <a class="reference external" href="textalpha.sty.html#options">options</a> as <a class="reference external" href="textalpha.sty.html">textalpha</a>.</p>
<section id="conflicts">
<h3><a class="toc-backref" href="#toc-entry-3" role="doc-backlink">Conflicts</a></h3>
<p><cite>alphabeta</cite> does not work if the <span class="docutils literal">utf8x</span> input encoding is selected.
@@ -877,26 +887,28 @@ non-compatible definition of <span class="docutils literal">\DeclareUnicodeChara
<h3><a class="toc-backref" href="#toc-entry-5" role="doc-backlink">Identification</a></h3>
<pre class="literal-block">\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{alphabeta}
- [2023/03/08 2.2.1 macros for Greek letters in text and math]</pre>
+ [2023-09-12 2.5 macros for Greek letters in text and math]</pre>
</section>
<section id="requirements">
<h3><a class="toc-backref" href="#toc-entry-6" role="doc-backlink">Requirements</a></h3>
<p>This package extends the <a class="reference external" href="textalpha.sty.html">textalpha</a> package.
+(Just like <cite>alphabeta</cite>, <a class="reference external" href="textalpha.sty.html">textalpha</a> is part of <a class="reference external" href="https://ctan.org/pkg/greek-fontenc">greek-fontenc</a>.)
Package options are passed on to <cite>textalpha</cite>:</p>
<pre class="literal-block">\RequirePackageWithOptions{textalpha}</pre>
-<p>Just like <cite>alphabeta</cite>, <cite>textalpha</cite> is part of <a class="reference external" href="https://ctan.org/pkg/greek-fontenc">greek-fontenc</a>.</p>
<p>This package requires the <a class="reference external" href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=etex">e-TeX</a> extensions (i.e. a not too old TeX
distribution) for the <span class="docutils literal">\ifdefined</span> test.</p>
-<p>It uses the <span class="docutils literal">\TextOrMath</span> test from the <a class="reference external" href="https://ctan.org/pkg/fixltx2e">fixltx2e</a> standard LaTeX package.
-<span class="docutils literal">fixltx2e</span> is loaded by default since TeXLive 2015. In case of an
-<span class="docutils literal">\TextOrMath undefined</span> error, load it in the document preamble via</p>
-<pre class="code latex literal-block"><code><span class="keyword">\usepackage</span><span class="name builtin">{</span>fixltx2e<span class="name builtin">}</span></code></pre>
+<p>It uses the <span class="docutils literal">\TextOrMath</span> test (in the LaTeX kernel since 2015).
+In case of an <span class="docutils literal">\TextOrMath undefined</span> error, load the
+<span class="docutils literal">fixltx2e</span> package.</p>
</section>
<section id="postpone-the-re-definitions">
<h3><a class="toc-backref" href="#toc-entry-7" role="doc-backlink">Postpone the re-definitions</a></h3>
<p>To prevent other packages overwriting the re-defined commands we postpone
the next steps until the start of the document body:</p>
<pre class="literal-block">\AtBeginDocument{</pre>
+<p>save &#64;-catcode, allow &#64; in command names:</p>
+<pre class="literal-block">\edef\RestoreAtCatcode{\catcode`&#64;=\the\catcode`&#64;\relax}%
+\makeatletter</pre>
</section>
<section id="save-math-macros">
<h3><a class="toc-backref" href="#toc-entry-8" role="doc-backlink">Save math macros</a></h3>
@@ -935,7 +947,6 @@ the next steps until the start of the document body:</p>
\let\mathvarrho\varrho
\let\mathsigma\sigma
\let\mathvarsigma\varsigma
-\let\mathfinalsigma\varsigma
\let\mathtau\tau
\let\mathupsilon\upsilon
\let\mathphi\phi
@@ -947,7 +958,10 @@ the next steps until the start of the document body:</p>
\providecommand*{\digamma}{\textit{\textdigamma}}
\let\mathdigamma\digamma
-% \varkappa and \varbeta are defined by some math packages
+% \varTheta, \varkappa, and \varbeta are defined by math packages
+\ifdefined\varTheta
+ \let\mathvarTheta\varTheta
+\fi
\ifdefined\varbeta
\let\mathvarbeta\varbeta
\fi
@@ -967,13 +981,18 @@ rho, theta (small and capital), beta, and kappa (characters for the latter
three symbols are not included in TeX’s math fonts). These variations have
no syntactic meaning in Greek text and are not given code-points in the LGR
encoding while Unicode defines separate code points for the symbol variants.</p>
-<p>Greek Alphabet:</p>
+<section id="greek-alphabet">
+<h4><a class="toc-backref" href="#toc-entry-10" role="doc-backlink">Greek Alphabet</a></h4>
<p>Macros keep their meaning in mathematical mode (i.e. use the same shape as
without this package) and refer to GREEK LETTER … in text. For
<span class="docutils literal">\epsilon</span> and <span class="docutils literal">phi</span>, this means that the selected symbol variant
differs in text vs. math mode. Use <span class="docutils literal">\varepsilon</span> and <span class="docutils literal">\varphi</span> (see
-section <a class="reference internal" href="#variant-shape-symbols">variant shape symbols</a> below) to select the GREEK LETTER …”
+section <a class="reference internal" href="#variant-shape-symbols">variant shape symbols</a> below) to select the “GREEK LETTER …”
in both, text and math mode.</p>
+<p>Macros for letters that can take diacritical marks and are used in text
+and math mode are defined with <span class="docutils literal">\DeclareTextCommandDefault</span> to ensure
+the selection of pre-composed characters and correct case changes with
+<span class="docutils literal">\MakeUppercase</span> and <span class="docutils literal">\MakeLowercase</span>.</p>
<pre class="literal-block">\providecommand*{\Alpha}{\textAlpha}
\providecommand*{\Beta}{\textBeta}
\renewcommand*{\Gamma}{\TextOrMath{\textGamma}{\mathGamma}}
@@ -993,21 +1012,21 @@ in both, text and math mode.</p>
\providecommand*{\Rho}{\textRho}
\renewcommand*{\Sigma}{\TextOrMath{\textSigma}{\mathSigma}}
\providecommand*{\Tau}{\textTau}
-\renewcommand*{\Upsilon}{\TextOrMath{\textUpsilon}{\mathUpsilon}}
+\DeclareTextCommandDefault{\Upsilon}{\TextOrMath{\textUpsilon}{\mathUpsilon}}
\renewcommand*{\Phi}{\TextOrMath{\textPhi}{\mathPhi}}
\providecommand*{\Chi}{\textChi}
\renewcommand*{\Psi}{\TextOrMath{\textPsi}{\mathPsi}}
-\renewcommand*{\Omega}{\TextOrMath{\textOmega}{\mathOmega}}
+\DeclareTextCommandDefault{\Omega}{\TextOrMath{\textOmega}{\mathOmega}}
%
-\renewcommand*{\alpha}{\TextOrMath{\textalpha}{\mathalpha}}
+\DeclareTextCommandDefault{\alpha}{\TextOrMath{\textalpha}{\mathalpha}}
\renewcommand*{\beta}{\TextOrMath{\textbeta}{\mathbeta}}
\renewcommand*{\gamma}{\TextOrMath{\textgamma}{\mathgamma}}
\renewcommand*{\delta}{\TextOrMath{\textdelta}{\mathdelta}}
-\renewcommand*{\epsilon}{\TextOrMath{\textepsilon}{\mathepsilon}} % ε/ϵ
+\DeclareTextCommandDefault{\epsilon}{\TextOrMath{\textepsilon}{\mathepsilon}} % ε/ϵ
\renewcommand*{\zeta}{\TextOrMath{\textzeta}{\mathzeta}}
-\renewcommand*{\eta}{\TextOrMath{\texteta}{\matheta}}
+\DeclareTextCommandDefault{\eta}{\TextOrMath{\texteta}{\matheta}}
\renewcommand*{\theta}{\TextOrMath{\texttheta}{\maththeta}}
-\renewcommand*{\iota}{\TextOrMath{\textiota}{\mathiota}}
+\DeclareTextCommandDefault{\iota}{\TextOrMath{\textiota}{\mathiota}}
\renewcommand*{\kappa}{\TextOrMath{\textkappa}{\mathkappa}}
\renewcommand*{\lambda}{\TextOrMath{\textlambda}{\mathlambda}}
\renewcommand*{\mu}{\TextOrMath{\textmu}{\mathmu}}
@@ -1015,32 +1034,34 @@ in both, text and math mode.</p>
\renewcommand*{\xi}{\TextOrMath{\textxi}{\mathxi}}
\providecommand*{\omicron}{\textomicron}
\renewcommand*{\pi}{\TextOrMath{\textpi}{\mathpi}}
-\renewcommand*{\rho}{\TextOrMath{\textrho}{\mathrho}}
+\DeclareTextCommandDefault{\rho}{\TextOrMath{\textrho}{\mathrho}}
\renewcommand*{\sigma}{\TextOrMath{\textsigma}{\mathsigma}}
-\renewcommand*{\varsigma}{\TextOrMath{\textvarsigma}{\mathvarsigma}}
-\providecommand*{\finalsigma}{\varsigma}
+\providecommand*{\finalsigma}{\TextOrMath{\textfinalsigma}{\mathvarsigma}}
+\renewcommand*{\varsigma}{\finalsigma}
\renewcommand*{\tau}{\TextOrMath{\texttau}{\mathtau}}
-\renewcommand*{\upsilon}{\TextOrMath{\textupsilon}{\mathupsilon}}
+\DeclareTextCommandDefault{\upsilon}{\TextOrMath{\textupsilon}{\mathupsilon}}
\renewcommand*{\phi}{\TextOrMath{\textphi}{\mathphi}} % ϕ/φ
\renewcommand*{\chi}{\TextOrMath{\textchi}{\mathchi}}
\renewcommand*{\psi}{\TextOrMath{\textpsi}{\mathpsi}}
-\renewcommand*{\omega}{\TextOrMath{\textomega}{\mathomega}}</pre>
+\DeclareTextCommandDefault{\omega}{\TextOrMath{\textomega}{\mathomega}}</pre>
+</section>
<section id="archaic-letters">
-<h4><a class="toc-backref" href="#toc-entry-10" role="doc-backlink">Archaic letters</a></h4>
+<h4><a class="toc-backref" href="#toc-entry-11" role="doc-backlink">Archaic letters</a></h4>
<pre class="literal-block">\renewcommand*{\digamma}{\TextOrMath{\textdigamma}{\mathdigamma}} % ϝ
\providecommand*{\Digamma}{\textDigamma} % Ϝ
\providecommand*{\stigma}{\textstigma} % ϛ
\providecommand*{\varstigma}{\textvarstigma} % stigma variant (CB.enc, teubner)
\providecommand*{\koppa}{\textkoppa} % ϟ (greek small letter koppa)
\providecommand*{\Koppa}{\textKoppa} % Ϟ (greek letter koppa)
-\providecommand*{\qoppa}{\textqoppa} % ϙ (archaic koppa)
+% !! babel-greek defines \qoppa as alias for ϟ (\textkoppa)!
+\def\qoppa{\textqoppa} % ϙ (archaic koppa)
\providecommand*{\Qoppa}{\textQoppa} % Ϙ (archaic Koppa)
\providecommand*{\Stigma}{\textStigma} % Ϛ (in some fonts ϹΤ ligature)
\providecommand*{\Sampi}{\textSampi} % Ϡ
\providecommand*{\sampi}{\textsampi} % ϡ</pre>
</section>
<section id="variant-shape-symbols">
-<h4><a class="toc-backref" href="#toc-entry-11" role="doc-backlink">Variant shape symbols</a></h4>
+<h4><a class="toc-backref" href="#toc-entry-12" role="doc-backlink">Variant shape symbols</a></h4>
<p>TeX’s concept of “standard” vs. “variant” math symbols does not map to the
distinction between GREEK LETTER … vs. GREEK … SYMBOL in the Unicode
standard (see <a class="reference external" href="test-tuenc-greek.pdf">test-tuenc-greek.pdf</a>).</p>
@@ -1073,31 +1094,316 @@ math (or, if not supported, the SYMBOL shape):</p>
\providecommand*{\varkappa}{\textkappasymbol}
\fi
\providecommand*{\kappasymbol}{\varkappa}
-% \Theta/\varTheta are not a symbol variants but upright/italic shape of Theta
+% ..symbol != var.. (in &quot;amsmath&quot;, \varTheta is italic shape of \Theta)
+\ifdefined\mathvarTheta
+ \renewcommand*{\varTheta}{\TextOrMath{\textTheta}{\mathvarTheta}}
+\else
+ \providecommand*{\varTheta}{\textTheta} % Θ
+\fi
\providecommand*{\Thetasymbol}{\textThetasymbol} % ϴ</pre>
</section>
</section>
-<section id="textcompositecommands-for-the-generic-macros">
-<h3><a class="toc-backref" href="#toc-entry-12" role="doc-backlink">TextCompositeCommands for the generic macros</a></h3>
+<section id="textcompositecommands-for-the-letter-name-macros">
+<h3><a class="toc-backref" href="#toc-entry-13" role="doc-backlink">TextCompositeCommands for the letter-name macros</a></h3>
<p>The NFSS TextComposite mechanism looks for the next token without expanding
it. In order to let compositions like <span class="docutils literal"><span class="pre">\ensuregreek{\'\Alpha}</span></span> or
-<span class="docutils literal"><span class="pre">\ensuregreek{\&gt;&quot;\alpha}</span></span> work as expected we define TextComposites with the
-<cite>letter name commands</cite>. (Composition only works if the active font encoding
-is LGR).</p>
+<span class="docutils literal"><span class="pre">\ensuregreek{\&gt;&quot;\alpha}</span></span> work as expected we define TextComposites with
+the <cite>letter name commands</cite>.</p>
+<p>TextCompositeCommands are always specific for the font-encoding.
+Documents may use TU, LGR, and PU in parallel.
+We define auxiliary commands with definitions
+that are required by more than one font encoding.</p>
+<section id="select-pre-composed-characters">
+<h4><a class="toc-backref" href="#toc-entry-14" role="doc-backlink">Select pre-composed characters.</a></h4>
+<p>Required by LGR and PU.</p>
+<p>With TU, most pre-composed characters are selected by the the engine.
+(Actually by the <cite>Harfbuzz</cite> renderer which is default for XeTeX and can
+be selected with fontspec for LuaTeX).</p>
+<pre class="literal-block">\newcommand*{\alphabeta&#64;select&#64;precomposed}[1]{
+ \DeclareTextCompositeCommand{\accvaria}{#1}{\Alpha} {\accvaria\textalpha}
+ \DeclareTextCompositeCommand{\accdasia}{#1}{\alpha} {\accdasia\textalpha}
+ \DeclareTextCompositeCommand{\accpsili}{#1}{\alpha} {\accpsili\textalpha}
+ \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\alpha} {\accdasiavaria\textalpha}
+ \DeclareTextCompositeCommand{\acctonos}{#1}{\alpha} {\acctonos\textalpha}
+ \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\alpha} {\accdasiaoxia\textalpha}
+ \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\alpha} {\accpsilioxia\textalpha}
+ \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\alpha} {\accpsilivaria\textalpha}
+ \DeclareTextCompositeCommand{\accperispomeni}{#1}{\alpha} {\accperispomeni\textalpha}
+ \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\alpha} {\accdasiaperispomeni\textalpha}
+ \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\alpha} {\accpsiliperispomeni\textalpha}
+ \DeclareTextCompositeCommand{\accvaria}{#1}{\eta} {\accvaria\texteta}
+ \DeclareTextCompositeCommand{\accdasia}{#1}{\eta} {\accdasia\texteta}
+ \DeclareTextCompositeCommand{\accpsili}{#1}{\eta} {\accpsili\texteta}
+ \DeclareTextCompositeCommand{\acctonos}{#1}{\eta} {\acctonos\texteta}
+ \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\eta} {\accdasiaoxia\texteta}
+ \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\eta} {\accpsilioxia\texteta}
+ \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\eta} {\accdasiavaria\texteta}
+ \DeclareTextCompositeCommand{\accperispomeni}{#1}{\eta} {\accperispomeni\texteta}
+ \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\eta} {\accdasiaperispomeni\texteta}
+ \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\eta} {\accpsiliperispomeni\texteta}
+ \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\eta} {\accpsilivaria\texteta}
+ \DeclareTextCompositeCommand{\accvaria}{#1}{\omega} {\accvaria\textomega}
+ \DeclareTextCompositeCommand{\accdasia}{#1}{\omega} {\accdasia\textomega}
+ \DeclareTextCompositeCommand{\accpsili}{#1}{\omega} {\accpsili\textomega}
+ \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\omega} {\accdasiavaria\textomega}
+ \DeclareTextCompositeCommand{\acctonos}{#1}{\omega} {\acctonos\textomega}
+ \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\omega} {\accdasiaoxia\textomega}
+ \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\omega} {\accpsilioxia\textomega}
+ \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\omega} {\accpsilivaria\textomega}
+ \DeclareTextCompositeCommand{\accperispomeni}{#1}{\omega} {\accperispomeni\textomega}
+ \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\omega} {\accdasiaperispomeni\textomega}
+ \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\omega} {\accpsiliperispomeni\textomega}
+ \DeclareTextCompositeCommand{\accvaria}{#1}{\iota} {\accvaria\textiota}
+ \DeclareTextCompositeCommand{\accdasia}{#1}{\iota} {\accdasia\textiota}
+ \DeclareTextCompositeCommand{\accpsili}{#1}{\iota} {\accpsili\textiota}
+ \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\iota} {\accdasiavaria\textiota}
+ \DeclareTextCompositeCommand{\acctonos}{#1}{\iota} {\acctonos\textiota}
+ \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\iota} {\accdasiaoxia\textiota}
+ \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\iota} {\accpsilioxia\textiota}
+ \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\iota} {\accpsilivaria\textiota}
+ \DeclareTextCompositeCommand{\accperispomeni}{#1}{\iota} {\accperispomeni\textiota}
+ \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\iota} {\accdasiaperispomeni\textiota}
+ \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\iota} {\accpsiliperispomeni\textiota}
+ \DeclareTextCompositeCommand{\accdialytika}{#1}{\iota} {\accdialytika\textiota}
+ \DeclareTextCompositeCommand{\accdialytikavaria}{#1}{\iota} {\accdialytikavaria\textiota}
+ \DeclareTextCompositeCommand{\accdialytikatonos}{#1}{\iota} {\accdialytikatonos\textiota}
+ \DeclareTextCompositeCommand{\accdialytikaperispomeni}{#1}{\iota} {\accdialytikaperispomeni\textiota}
+ \DeclareTextCompositeCommand{\accvaria}{#1}{\upsilon} {\accvaria\textupsilon}
+ \DeclareTextCompositeCommand{\accdasia}{#1}{\upsilon} {\accdasia\textupsilon}
+ \DeclareTextCompositeCommand{\accpsili}{#1}{\upsilon} {\accpsili\textupsilon}
+ \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\upsilon} {\accdasiavaria\textupsilon}
+ \DeclareTextCompositeCommand{\acctonos}{#1}{\upsilon} {\acctonos\textupsilon}
+ \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\upsilon} {\accdasiaoxia\textupsilon}
+ \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\upsilon} {\accpsilioxia\textupsilon}
+ \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\upsilon} {\accpsilivaria\textupsilon}
+ \DeclareTextCompositeCommand{\accperispomeni}{#1}{\upsilon} {\accperispomeni\textupsilon}
+ \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\upsilon} {\accdasiaperispomeni\textupsilon}
+ \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\upsilon} {\accpsiliperispomeni\textupsilon}
+ \DeclareTextCompositeCommand{\accdialytika}{#1}{\upsilon} {\accdialytika\textupsilon}
+ \DeclareTextCompositeCommand{\accdialytikavaria}{#1}{\upsilon} {\accdialytikavaria\textupsilon}
+ \DeclareTextCompositeCommand{\accdialytikatonos}{#1}{\upsilon} {\accdialytikatonos\textupsilon}
+ \DeclareTextCompositeCommand{\accdialytikaperispomeni}{#1}{\upsilon} {\accdialytikaperispomeni\textupsilon}
+ \DeclareTextCompositeCommand{\accvaria}{#1}{\epsilon} {\accvaria\textepsilon}
+ \DeclareTextCompositeCommand{\accdasia}{#1}{\epsilon} {\accdasia\textepsilon}
+ \DeclareTextCompositeCommand{\accpsili}{#1}{\epsilon} {\accpsili\textepsilon}
+ \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\epsilon} {\accdasiavaria\textepsilon}
+ \DeclareTextCompositeCommand{\acctonos}{#1}{\epsilon} {\acctonos\textepsilon}
+ \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\epsilon} {\accdasiaoxia\textepsilon}
+ \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\epsilon} {\accpsilioxia\textepsilon}
+ \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\epsilon} {\accpsilivaria\textepsilon}
+ \DeclareTextCompositeCommand{\accvaria}{#1}{\omicron} {\accvaria\textomicron}
+ \DeclareTextCompositeCommand{\accdasia}{#1}{\omicron} {\accdasia\textomicron}
+ \DeclareTextCompositeCommand{\accpsili}{#1}{\omicron} {\accpsili\textomicron}
+ \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\omicron} {\accdasiavaria\textomicron}
+ \DeclareTextCompositeCommand{\acctonos}{#1}{\omicron} {\acctonos\textomicron}
+ \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\omicron} {\accdasiaoxia\textomicron}
+ \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\omicron} {\accpsilioxia\textomicron}
+ \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\omicron} {\accpsilivaria\textomicron}
+ \DeclareTextCompositeCommand{\accdialytika}{#1}{\Iota} {\accdialytika\textIota}
+ \DeclareTextCompositeCommand{\accdialytika}{#1}{\Upsilon} {\accdialytika\textUpsilon}
+ %
+ \DeclareTextCompositeCommand{\accdasia}{#1}{\Alpha}{\accdasia\textAlpha}
+ \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Alpha}{\accdasiavaria\textAlpha}
+ \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Alpha}{\accdasiaoxia\textAlpha}
+ \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\Alpha}{\accdasiaperispomeni\textAlpha}
+ \DeclareTextCompositeCommand{\accpsili}{#1}{\Alpha}{\accpsili\textAlpha}
+ \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Alpha}{\accpsilivaria\textAlpha}
+ \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Alpha}{\accpsilioxia\textAlpha}
+ \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\Alpha}{\accpsiliperispomeni\textAlpha}
+ \DeclareTextCompositeCommand{\acctonos}{#1}{\Alpha}{\acctonos\textAlpha}
+ \DeclareTextCompositeCommand{\accvaria}{#1}{\Alpha}{\accvaria\textAlpha}
+ \DeclareTextCompositeCommand{\accdasia}{#1}{\Epsilon}{\accdasia\textEpsilon}
+ \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Epsilon}{\accdasiaoxia\textEpsilon}
+ \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Epsilon}{\accdasiavaria\textEpsilon}
+ \DeclareTextCompositeCommand{\accpsili}{#1}{\Epsilon}{\accpsili\textEpsilon}
+ \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Epsilon}{\accpsilioxia\textEpsilon}
+ \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Epsilon}{\accpsilivaria\textEpsilon}
+ \DeclareTextCompositeCommand{\acctonos}{#1}{\Epsilon}{\acctonos\textEpsilon}
+ \DeclareTextCompositeCommand{\accvaria}{#1}{\Epsilon}{\accvaria\textEpsilon}
+ \DeclareTextCompositeCommand{\accdasia}{#1}{\Eta}{\accdasia\textEta}
+ \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Eta}{\accdasiavaria\textEta}
+ \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Eta}{\accdasiaoxia\textEta}
+ \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\Eta}{\accdasiaperispomeni\textEta}
+ \DeclareTextCompositeCommand{\accpsili}{#1}{\Eta}{\accpsili\textEta}
+ \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Eta}{\accpsilivaria\textEta}
+ \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Eta}{\accpsilioxia\textEta}
+ \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\Eta}{\accpsiliperispomeni\textEta}
+ \DeclareTextCompositeCommand{\acctonos}{#1}{\Eta}{\acctonos\textEta}
+ \DeclareTextCompositeCommand{\accvaria}{#1}{\Eta}{\accvaria\textEta}
+ \DeclareTextCompositeCommand{\accdasia}{#1}{\Iota}{\accdasia\textIota}
+ \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Iota}{\accdasiavaria\textIota}
+ \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Iota}{\accdasiaoxia\textIota}
+ \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\Iota}{\accdasiaperispomeni\textIota}
+ \DeclareTextCompositeCommand{\accpsili}{#1}{\Iota}{\accpsili\textIota}
+ \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Iota}{\accpsilivaria\textIota}
+ \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Iota}{\accpsilioxia\textIota}
+ \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\Iota}{\accpsiliperispomeni\textIota}
+ \DeclareTextCompositeCommand{\acctonos}{#1}{\Iota}{\acctonos\textIota}
+ \DeclareTextCompositeCommand{\accvaria}{#1}{\Iota}{\accvaria\textIota}
+ \DeclareTextCompositeCommand{\accdasia}{#1}{\Omicron}{\accdasia\textOmicron}
+ \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Omicron}{\accdasiavaria\textOmicron}
+ \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Omicron}{\accdasiaoxia\textOmicron}
+ \DeclareTextCompositeCommand{\accpsili}{#1}{\Omicron}{\accpsili\textOmicron}
+ \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Omicron}{\accpsilivaria\textOmicron}
+ \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Omicron}{\accpsilioxia\textOmicron}
+ \DeclareTextCompositeCommand{\acctonos}{#1}{\Omicron}{\acctonos\textOmicron}
+ \DeclareTextCompositeCommand{\accvaria}{#1}{\Omicron}{\accvaria\textOmicron}
+ \DeclareTextCompositeCommand{\accdasia}{#1}{\Upsilon}{\accdasia\textUpsilon}
+ \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Upsilon}{\accdasiavaria\textUpsilon}
+ \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Upsilon}{\accdasiaoxia\textUpsilon}
+ \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\Upsilon}{\accdasiaperispomeni\textUpsilon}
+ \DeclareTextCompositeCommand{\acctonos}{#1}{\Upsilon}{\acctonos\textUpsilon}
+ \DeclareTextCompositeCommand{\accvaria}{#1}{\Upsilon}{\accvaria\textUpsilon}
+ \DeclareTextCompositeCommand{\accdasia}{#1}{\Rho}{\accdasia\textRho}
+ \DeclareTextCompositeCommand{\accdasia}{#1}{\Omega}{\accdasia\textOmega}
+ \DeclareTextCompositeCommand{\accdasiavaria}{#1}{\Omega}{\accdasiavaria\textOmega}
+ \DeclareTextCompositeCommand{\accdasiaoxia}{#1}{\Omega}{\accdasiaoxia\textOmega}
+ \DeclareTextCompositeCommand{\accdasiaperispomeni}{#1}{\Omega}{\accdasiaperispomeni\textOmega}
+ \DeclareTextCompositeCommand{\accpsili}{#1}{\Omega}{\accpsili\textOmega}
+ \DeclareTextCompositeCommand{\accpsilivaria}{#1}{\Omega}{\accpsilivaria\textOmega}
+ \DeclareTextCompositeCommand{\accpsilioxia}{#1}{\Omega}{\accpsilioxia\textOmega}
+ \DeclareTextCompositeCommand{\accpsiliperispomeni}{#1}{\Omega}{\accpsiliperispomeni\textOmega}
+ \DeclareTextCompositeCommand{\acctonos}{#1}{\Omega}{\acctonos\textOmega}
+ \DeclareTextCompositeCommand{\accvaria}{#1}{\Omega}{\accvaria\textOmega}
+}</pre>
+</section>
+<section id="drop-capital-accents">
+<h4><a class="toc-backref" href="#toc-entry-15" role="doc-backlink">Drop “capital” accents</a></h4>
+<p>Definitions in <a class="reference external" href="https://ctan.org/pkg/babel-greek">babel-greek</a> let <span class="docutils literal">\MakeUppercase</span> convert standard accents
+<span class="docutils literal">\'</span>, <span class="docutils literal">\` ``, <span class="pre">``\~</span></span>, and <span class="docutils literal">\&quot;</span> to “capital” versions.</p>
+<p>In LGR, the “capital” accents are generally dropped. In PU and TU, they
+must be kept on Latin letters but dropped from Greek letters:</p>
+<pre class="literal-block">\newcommand*{\alphabeta&#64;drop&#64;capital&#64;accents}[1]{
+ \DeclareTextCompositeCommand{\accACUTE}{#1}{\Alpha }{\alphabeta&#64;alpha&#64;hiatus}
+ \DeclareTextCompositeCommand{\accACUTE}{#1}{\Epsilon}{\alphabeta&#64;epsilon&#64;hiatus}
+ \DeclareTextCompositeCommand{\accACUTE}{#1}{\Eta }{\textEta }
+ \DeclareTextCompositeCommand{\accACUTE}{#1}{\Iota }{\textIota }
+ \DeclareTextCompositeCommand{\accACUTE}{#1}{\Upsilon}{\textUpsilon}
+ \DeclareTextCompositeCommand{\accACUTE}{#1}{\Omega }{\textOmega }
+ %
+ \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Alpha }{\textAlpha }
+ \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Epsilon}{\textEpsilon}
+ \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Eta }{\textEta }
+ \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Iota }{\textIota }
+ \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Upsilon}{\textUpsilon}
+ \DeclareTextCompositeCommand{\accGRAVE}{#1}{\Omega }{\textOmega }
+ %
+ \DeclareTextCompositeCommand{\accTILDE}{#1}{\Alpha }{\textAlpha }
+ \DeclareTextCompositeCommand{\accTILDE}{#1}{\Eta }{\textEta }
+ \DeclareTextCompositeCommand{\accTILDE}{#1}{\Iota }{\textIota }
+ \DeclareTextCompositeCommand{\accTILDE}{#1}{\Upsilon}{\textUpsilon}
+ \DeclareTextCompositeCommand{\accTILDE}{#1}{\Omega }{\textOmega }
+}</pre>
+</section>
+<section id="hiatus-feature">
+<h4><a class="toc-backref" href="#toc-entry-16" role="doc-backlink">Hiatus feature</a></h4>
+<p>Look ahead and place a diaeresis on Ι or Υ.
+Leads to errors in PU.</p>
+<pre class="literal-block">\newcommand*{\alphabeta&#64;hiatus&#64;composites}[1]{
+ \DeclareTextCommand{\alphabeta&#64;alpha&#64;hiatus}{#1}{%
+ \csname LGR&#64;ifnextchar\endcsname {\Iota}{\Alpha\&quot;}{%
+ \csname LGR&#64;ifnextchar\endcsname {\Upsilon}{\Alpha\&quot;}{\Alpha}%
+ }%
+ }
+ \DeclareTextCommand{\alphabeta&#64;epsilon&#64;hiatus}{#1}{%
+ \csname LGR&#64;ifnextchar\endcsname {\Iota}{\Epsilon\&quot;}{%
+ \csname LGR&#64;ifnextchar\endcsname {\Upsilon}{\Epsilon\&quot;}{\Epsilon}%
+ }%
+ }
+ \DeclareTextCompositeCommand{\LGR&#64;hiatus}{#1}{\Alpha}{\alphabeta&#64;alpha&#64;hiatus}
+ \DeclareTextCompositeCommand{\LGR&#64;hiatus}{#1}{\Epsilon}{\alphabeta&#64;epsilon&#64;hiatus}
+}</pre>
+</section>
+<section id="composites-for-tu">
+<h4><a class="toc-backref" href="#toc-entry-17" role="doc-backlink">Composites for TU</a></h4>
+<p>With font encoding TU, pre-composed characters are selected by the
+the Harfbuzz renderer (default for XeTeX, select with fontspec for LuaTeX).
+Exception: the (standard) combining tilde.</p>
<pre class="literal-block">\&#64;ifl&#64;aded{def}{tuenc-greek}{
- \input{alphabeta-tuenc.def}
-}{}
-\&#64;ifl&#64;aded{def}{lgrenc}{
- \input{alphabeta-lgr.def}
+ \DeclareUnicodeComposite{\~}{\alpha }{&quot;1FB6} % ᾶ
+ \DeclareUnicodeComposite{\~}{\eta }{&quot;1FC6} % ῆ
+ \DeclareUnicodeComposite{\~}{\iota }{&quot;1FD6} % ῖ
+ \DeclareUnicodeComposite{\~}{\upsilon}{&quot;1FE6} % ῦ
+ \DeclareUnicodeComposite{\~}{\omega }{&quot;1FF6} % ῶ
+
+ \alphabeta&#64;drop&#64;capital&#64;accents{\UnicodeEncodingName}
+ \alphabeta&#64;hiatus&#64;composites{\UnicodeEncodingName}
+}{}</pre>
+</section>
+<section id="composites-for-lgr">
+<h4><a class="toc-backref" href="#toc-entry-18" role="doc-backlink">Composites for LGR</a></h4>
+<pre class="literal-block">\&#64;ifl&#64;aded{def}{lgrenc}{
+ \alphabeta&#64;select&#64;precomposed{LGR}
+ \alphabeta&#64;hiatus&#64;composites{LGR}
}{}</pre>
</section>
+<section id="composites-for-pu">
+<h4><a class="toc-backref" href="#toc-entry-19" role="doc-backlink">Composites for PU</a></h4>
+<p>Composite commands in PDF strings work only, if aliases set up with
+<span class="docutils literal">DeclareTextCommandDefault</span> are also defined for the PU font encoding:</p>
+<pre class="literal-block">\&#64;ifl&#64;aded{def}{puenc}{
+ \DeclareTextCommand{\Upsilon}{PU}{\textUpsilon}
+ \DeclareTextCommand{\Omega}{PU}{\textOmega}
+ \DeclareTextCommand{\alpha}{PU}{\textalpha}
+ \DeclareTextCommand{\epsilon}{PU}{\textepsilon}
+ \DeclareTextCommand{\eta}{PU}{\texteta}
+ \DeclareTextCommand{\iota}{PU}{\textiota}
+ \DeclareTextCommand{\rho}{PU}{\textrho}
+ \DeclareTextCommand{\upsilon}{PU}{\textupsilon}
+ \DeclareTextCommand{\omega}{PU}{\textomega}</pre>
+<p>Now load composite defs:</p>
+<pre class="literal-block">\alphabeta&#64;select&#64;precomposed{PU}
+\alphabeta&#64;drop&#64;capital&#64;accents{PU}</pre>
+<p>The hiatus feature leads to errors in PU:</p>
+<pre class="literal-block"> \DeclareTextCompositeCommand{\LGR&#64;hiatus}{PU}{\Alpha}{\textAlpha}
+ \DeclareTextCompositeCommand{\LGR&#64;hiatus}{PU}{\Epsilon}{\textEpsilon}
+ % fix ``\'\alpha`` and ``\'\epsilon`` (\'{\alpha} works):
+ \DeclareTextCompositeCommand{\accACUTE}{PU}{\Alpha }{\textAlpha}
+ \DeclareTextCompositeCommand{\accACUTE}{PU}{\Epsilon}{\textEpsilon}
+}{}</pre>
+<hr class="docutils" />
+<p>Drop auxiliary definitions to free memory:</p>
+<pre class="literal-block">\renewcommand*{\alphabeta&#64;select&#64;precomposed }{\relax}
+\renewcommand*{\alphabeta&#64;drop&#64;capital&#64;accents}{\relax}
+\renewcommand*{\alphabeta&#64;hiatus&#64;composites }{\relax}</pre>
+</section>
+</section>
+<section id="case-changing">
+<h3><a class="toc-backref" href="#toc-entry-20" role="doc-backlink">Case changing</a></h3>
+<p>We need to extend the case-mapping <span class="docutils literal">\&#64;uclclist</span> for characters that are
+defined with <span class="docutils literal">\DeclareTextCommandDefault</span>.</p>
+<p>The definition of an auxiliary, self-resetting macro makes this idempotent
+(only the first use of this function will expand the <span class="docutils literal">&#64;uclclist</span>).
+The second and third lines are TeX’s way of writing <span class="docutils literal">&#64;uclclist += …</span>.</p>
+<p>Since 2022, <span class="docutils literal">\MakeUppercase</span> expects the default for ambiguous mappings
+in first position, before, the default was in last position.</p>
+<pre class="literal-block">\providecommand*\alphabeta&#64;update&#64;uclclist{%
+ \expandafter\def\expandafter\&#64;uclclist\expandafter{%
+ \&#64;uclclist
+ \alpha \Alpha
+ \epsilon \Epsilon
+ \epsilonsymbol \Epsilon
+ \varepsilon \Epsilon
+ \eta \Eta
+ \iota \Iota
+ \omicron \Omicron
+ \rho \Rho
+ \varrho \Rho
+ \rhosymbol \Rho
+ \upsilon \Upsilon
+ \omega \Omega
+ % repeat default for pre-2022 \MakeUppercase
+ \epsilon \Epsilon
+ \rho \Rho
+ }%
+ \let\alphabeta&#64;update&#64;uclclist\relax
+}</pre>
+<p>Expand the &#64;uclclist using the just defined macro:</p>
+<pre class="literal-block">\alphabeta&#64;update&#64;uclclist</pre>
+</section>
<section id="re-definition-for-greek-unicode-input-in-math-mode">
-<h3><a class="toc-backref" href="#toc-entry-13" role="doc-backlink">Re-definition for Greek Unicode input in math mode</a></h3>
-<p>Check with <span class="docutils literal">\ifdefined</span> for the definition of
-<span class="docutils literal">\DeclareUnicodeCharacter</span>. In contrast to <span class="docutils literal">\&#64;ifdefined</span>, this works
-without side-effects. It makes the package dependent on the <a class="reference external" href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=etex">e-TeX</a>
-extensions but these are standard in all current TeX distributions anyway.</p>
-<p>Map Greek characters that are also defined in math mode to the generic
+<h3><a class="toc-backref" href="#toc-entry-21" role="doc-backlink">Re-definition for Greek Unicode input in math mode</a></h3>
+<p>Map Greek characters that are also defined in math mode to the letter-name
macros:</p>
<pre class="literal-block">\ifdefined\DeclareUnicodeCharacter
\DeclareUnicodeCharacter{0393}{\Gamma} % Γ
@@ -1128,7 +1434,7 @@ macros:</p>
\DeclareUnicodeCharacter{03BE}{\xi} % ξ
\DeclareUnicodeCharacter{03C0}{\pi} % π
\DeclareUnicodeCharacter{03C1}{\rho} % ρ
- \DeclareUnicodeCharacter{03C2}{\varsigma} % ς
+ \DeclareUnicodeCharacter{03C2}{\finalsigma} % ς
\DeclareUnicodeCharacter{03C3}{\sigma} % σ
\DeclareUnicodeCharacter{03C4}{\tau} % τ
\DeclareUnicodeCharacter{03C5}{\upsilon} % υ
@@ -1143,13 +1449,13 @@ macros:</p>
\DeclareUnicodeCharacter{03DD}{\digamma} % ϝ
\DeclareUnicodeCharacter{03F1}{\rhosymbol} % ϱ
\DeclareUnicodeCharacter{03F5}{\epsilonsymbol} % ϵ $\epsilon$
-
\fi</pre>
-<pre class="literal-block">} % close the \AtBeginDocument macro</pre>
+<pre class="literal-block">\RestoreAtCatcode
+} % close the \AtBeginDocument macro</pre>
</section>
</section>
<section id="changelog">
-<h2><a class="toc-backref" href="#toc-entry-14" role="doc-backlink">Changelog</a></h2>
+<h2><a class="toc-backref" href="#toc-entry-22" role="doc-backlink">Changelog</a></h2>
<table class="borderless">
<tbody>
<tr><td><p>0.1</p></td>
@@ -1199,6 +1505,33 @@ macros:</p>
<td><p>2023-03-08</p></td>
<td><p>Documentation update.</p></td>
</tr>
+<tr><td><p>2.5</p></td>
+<td><p>2023-09-12</p></td>
+<td><p>Fixes for <span class="docutils literal">\MakeUppercase</span> / <span class="docutils literal">\MakeLowercase</span>.</p></td>
+</tr>
+<tr><td><!-- -->
+</td>
+<td></td>
+<td><p>Text mode alias <span class="docutils literal">\varTheta</span> → <span class="docutils literal">\Theta</span>.</p></td>
+</tr>
+<tr><td><!-- -->
+</td>
+<td></td>
+<td><p>Overwrite legacy <cite>babel-greek</cite> alias <span class="docutils literal">\qoppa</span> (ϟ)
+with <span class="docutils literal">\textqoppa</span> (ϙ).</p></td>
+</tr>
+<tr><td><!-- -->
+</td>
+<td></td>
+<td><p>Inline <span class="docutils literal"><span class="pre">alphabeta-tuenc.def</span></span> and <span class="docutils literal"><span class="pre">alphabeta-lgr.def</span></span>
+(dropping redundant composite definitions).</p></td>
+</tr>
+<tr><td><!-- -->
+</td>
+<td></td>
+<td><p>Composite definitions to select pre-composed characters
+in PU (PDF strings).</p></td>
+</tr>
</tbody>
</table>
<!-- References