summaryrefslogtreecommitdiff
path: root/language/greek/greek-fontenc/greek-fontenc.def.html
diff options
context:
space:
mode:
Diffstat (limited to 'language/greek/greek-fontenc/greek-fontenc.def.html')
-rw-r--r--language/greek/greek-fontenc/greek-fontenc.def.html140
1 files changed, 110 insertions, 30 deletions
diff --git a/language/greek/greek-fontenc/greek-fontenc.def.html b/language/greek/greek-fontenc/greek-fontenc.def.html
index b2f5c424b7..b9a43fd656 100644
--- a/language/greek/greek-fontenc/greek-fontenc.def.html
+++ b/language/greek/greek-fontenc/greek-fontenc.def.html
@@ -2,7 +2,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="utf-8" />
-<meta name="generator" content="Docutils 0.20.2b.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="© 2013 – 2023 Günter Milde" />
<title>greek-fontenc.def</title>
@@ -794,7 +794,7 @@ mstyle.mathscr, mi.mathscr {
<p class="subtitle" id="common-greek-font-encoding-definitions">Common Greek font encoding definitions</p>
<dl class="docinfo">
<dt class="version">Version<span class="colon">:</span></dt>
-<dd class="version">2.3 (<a class="reference internal" href="#changelog">changelog</a>)</dd>
+<dd class="version">2.4 (<a class="reference internal" href="#changelog">changelog</a>)</dd>
<dt class="copyright">Copyright<span class="colon">:</span></dt>
<dd class="copyright">© 2013 – 2023 Günter Milde</dd>
<dt class="licence">Licence<span class="colon">:</span></dt>
@@ -822,13 +822,14 @@ font encodings providing Greek characters.</p>
<ul>
<li><p><a class="reference internal" href="#uclclist-extension" id="toc-entry-8">&#64;uclclist extension</a></p></li>
<li><p><a class="reference internal" href="#substitution-macros" id="toc-entry-9">Substitution macros</a></p></li>
-<li><p><a class="reference internal" href="#mark-hiatus" id="toc-entry-10">Mark hiatus</a></p></li>
+<li><p><a class="reference internal" href="#hiatus" id="toc-entry-10">Hiatus</a></p></li>
+<li><p><a class="reference internal" href="#test-next-character" id="toc-entry-11">Test next character</a></p></li>
</ul>
</li>
</ul>
</li>
-<li><p><a class="reference internal" href="#changelog" id="toc-entry-11">Changelog</a></p></li>
-<li><p><a class="reference internal" href="#references" id="toc-entry-12">References</a></p></li>
+<li><p><a class="reference internal" href="#changelog" id="toc-entry-12">Changelog</a></p></li>
+<li><p><a class="reference internal" href="#references" id="toc-entry-13">References</a></p></li>
</ul>
</nav>
<section id="usage">
@@ -841,7 +842,7 @@ font encodings providing Greek characters.</p>
<section id="identification">
<h3><a class="toc-backref" href="#toc-entry-3" role="doc-backlink">Identification</a></h3>
<pre class="literal-block">\ProvidesFile{greek-fontenc.def}
- [2023-06-01 2.3 Common Greek font encoding definitions]</pre>
+ [2023-08-15 2.4 Common Greek font encoding definitions]</pre>
</section>
<section id="ensuregreek-greekscript">
<h3><a class="toc-backref" href="#toc-entry-4" role="doc-backlink">ensuregreek, greekscript</a></h3>
@@ -863,7 +864,7 @@ the Greek script, if required. The following definition announces the
<section id="aliases">
<h3><a class="toc-backref" href="#toc-entry-5" role="doc-backlink">Aliases</a></h3>
<p>Aliases are defined via <cite>DeclareTextCommand</cite> so that up/downcasing works
-without the need for additional <a class="reference internal" href="#uclclist">uclclist</a> entries.</p>
+without the need for additional &#64;uclclist_ entries.</p>
<p>Names matching mathematical variant symbols:</p>
<pre class="literal-block">% \var... matching GREEK ... SYMBOL
\DeclareTextCommand{\textvarbeta}{\LastDeclaredEncoding}{\textbetasymbol} % ϐ
@@ -919,11 +920,11 @@ table, LCI encoding)?</p>
<p>Composite accents can be input as sequence of simple diacritics (in
arbitrary order) via named macro, symbol macro and “transliteration
characters”, e.g. one of</p>
-<pre class="code latex literal-block"><code><span class="keyword">\accdialyticavaria\textalpha</span>,
-<span class="keyword">\accdialytica\accvaria\textalpha</span>,
-<span class="keyword">\&quot;\'\textalpha</span>,
-<span class="keyword">\&quot;</span>'<span class="keyword">\textalpha</span>, or
-<span class="keyword">\'</span>&quot;<span class="keyword">\textalpha</span>.</code></pre>
+<pre class="code latex literal-block"><code><span class="keyword">\accdialytikatonos\textupsilon</span>,
+<span class="keyword">\accdialytika\acctonos\textupsilon</span>,
+<span class="keyword">\&quot;\'\textupsilon</span>,
+<span class="keyword">\&quot;</span>'<span class="keyword">\textupsilon</span>, or
+<span class="keyword">\'</span>&quot;<span class="keyword">\textupsilon</span>.</code></pre>
<p>Separate definitions for the supported variants of the second input token
are required as composition is based on the non-expanded input</p>
<p>The composition with simple “transliteration characters” must also be defined
@@ -1019,6 +1020,45 @@ composite definitions starting with standard macros are requried:</p>
\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{`}{\accdasiavaria}
\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\accperispomeni}{\accdasiaperispomeni}
\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\~}{\accdasiaperispomeni}</pre>
+<p>Also define the combinations with “capital” accent macros:</p>
+<pre class="literal-block">\providecommand\IfFormatAtLeastTF{\&#64;ifl&#64;t&#64;r\fmtversion} % new in 2020
+\IfFormatAtLeastTF{2022/06/01}{
+ \ProvideTextCommand{\accACUTE}{\LastDeclaredEncoding}{\&#64;tabacckludge '}
+ \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{&quot;}{\accdialytika}
+ \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{&lt;}{\LGR&#64;accdropped}
+ \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{&gt;}{\LGR&#64;hiatus}
+ \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika}
+ \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\LGR&#64;hiatus}{\LGR&#64;hiatus}
+ \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\LGR&#64;accdropped}{\LGR&#64;accdropped}
+
+ \ProvideTextCommand{\accGRAVE}{\LastDeclaredEncoding}{\&#64;tabacckludge`}
+ \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{&quot;}{\accdialytika}
+ \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{&lt;}{\LGR&#64;accdropped}
+ \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{&gt;}{\LGR&#64;accdropped}
+ \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika}
+ \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\LGR&#64;hiatus}{\LGR&#64;hiatus}
+ \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\LGR&#64;accdropped}{\LGR&#64;accdropped}
+
+ \ProvideTextCommand{\accTILDE}{\LastDeclaredEncoding}{\&#64;tabacckludge~}
+ \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{&quot;}{\accdialytika}
+ \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika}
+ \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{&gt;}{\LGR&#64;accdropped}
+ \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{&lt;}{\LGR&#64;accdropped}
+ \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\LGR&#64;hiatus}{\LGR&#64;accdropped}
+ \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\LGR&#64;accdropped}{\LGR&#64;accdropped}
+
+ \ProvideTextCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\&#64;tabacckludge&quot;}
+ \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{'}{\accdialytika}
+ \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{`}{\accdialytika}
+ \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{~}{\accdialytika}
+ \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\accACUTE}{\accdialytika}
+ \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\accGRAVE}{\accdialytika}
+ \DeclareTextCompositeCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\accTILDE}{\accdialytika}
+
+ \ProvideTextCommand{\LGR&#64;accdropped}{\LastDeclaredEncoding}{\&#64;firstofone}
+ \DeclareTextCompositeCommand{\LGR&#64;accdropped}{\LastDeclaredEncoding}{'}{\LGR&#64;accdropped}
+ \DeclareTextCompositeCommand{\LGR&#64;accdropped}{\LastDeclaredEncoding}{`}{\LGR&#64;accdropped}
+}{} % else do nothing</pre>
</section>
<section id="case-changing">
<span id="uclclist"></span><h3><a class="toc-backref" href="#toc-entry-7" role="doc-backlink">Case changing</a></h3>
@@ -1046,7 +1086,9 @@ get the expected behaviour:</p>
<p>Based on Werner Lemberg’s 2008 <a class="reference external" href="http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf">babel patch</a> and <span class="docutils literal">fontenc.sty</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’ way of writing <span class="docutils literal">uclclist += …</span></p>
+The second and third lines are TeX’ way of writing <span class="docutils literal">&#64;uclclist += …</span></p>
+<p>The new <span class="docutils literal">\MakeUppercase</span> expects the default for ambiguous mappings
+in first position, the old in last position.</p>
<p>The <span class="docutils literal">\LGR&#64;…</span> auxiliary macros are defined below.</p>
<pre class="literal-block">\providecommand*\update&#64;uclc&#64;with&#64;greek{%
\expandafter\def\expandafter\&#64;uclclist\expandafter{%
@@ -1098,9 +1140,10 @@ The second and third lines are TeX’ way of writing <span class="docutils liter
\textrho \textRho
\textvarrho \textRho
\textrhosymbol \textRho
+ \textautosigma \textSigma
\textfinalsigma \textSigma
+ \textvarsigma \textSigma
\textsigma \textSigma
- \textautosigma \textSigma
\texttau \textTau
\textupsilon \textUpsilon
\textphi \textPhi
@@ -1115,16 +1158,28 @@ The second and third lines are TeX’ way of writing <span class="docutils liter
\textstigma \textStigma
\textsampi \textSampi
\textdigamma \textDigamma
+ % Repeat default for ambiguous mappings for pre-2022 MakeUppercase:
+ \textbeta \textBeta
+ \texttheta \textTheta
+ \textkappa \textKappa
+ \textpi \textPi
+ \textrho \textRho
+ \textautosigma \textSigma
}%
\let\update&#64;uclc&#64;with&#64;greek\relax
}</pre>
-<p>Expand the uclc list using the just defined macro:</p>
+<p>Expand the &#64;uclclist using the just defined macro:</p>
<pre class="literal-block">\update&#64;uclc&#64;with&#64;greek</pre>
</section>
<section id="substitution-macros">
<h4><a class="toc-backref" href="#toc-entry-9" role="doc-backlink">Substitution macros</a></h4>
-<p>Drop diacritics (The argument passing ensures that kerning is preserved)</p>
-<pre class="literal-block">\DeclareTextCommand{\LGR&#64;accdropped}{\LastDeclaredEncoding}[1]{#1}</pre>
+<p>Drop diacritics.
+The argument passing ensures that kerning is preserved and allows
+definition of CompositeCommands (cf. <a class="citation-reference" href="#fntguide" id="citation-reference-4" role="doc-biblioref">[fntguide]</a>)
+Composite definitions with the tilde prevent errors in monotonic Greek
+where the character <span class="docutils literal">~</span> maps to a no-break space.</p>
+<pre class="literal-block">\DeclareTextCommand{\LGR&#64;accdropped}{\LastDeclaredEncoding}[1]{#1}
+\DeclareTextCompositeCommand{\LGR&#64;accdropped}{\LastDeclaredEncoding}{~}{\LGR&#64;accdropped}</pre>
<p>Keep dialytika: Define a dummy alias so that downcasing with
<span class="docutils literal">\MakeLowercase</span> does not convert a simple dialytika to a composite
accent:</p>
@@ -1140,19 +1195,30 @@ to <span class="docutils literal">\ypogegrammeni</span> (subscript iota) but no
<span class="docutils literal">\MakeLowercase</span>:</p>
<pre class="literal-block">\DeclareTextCommand{\LGR&#64;Stigma}{\LastDeclaredEncoding}{\textStigma}</pre>
</section>
-<section id="mark-hiatus">
-<h4><a class="toc-backref" href="#toc-entry-10" role="doc-backlink">Mark hiatus</a></h4>
-<p>Tonos and dasia mark a hiatus if placed on the
-first vowel of a diphthong (ΑΙ, ΑΥ, ΕΙ). A dialytika must be placed on the
-second vowel if they are dropped (άυλος → ΑΫΛΟΣ, μάινα → ΜΑΪΝΑ, κέικ → ΚΕΪΚ,
-ἀυπνία → ΑΫΠΝΙΑ):</p>
+<section id="hiatus">
+<h4><a class="toc-backref" href="#toc-entry-10" role="doc-backlink">Hiatus</a></h4>
+<p>Tonos and psili mark a hiatus if placed on the first vowel of a diphthong
+(ΑΙ, ΑΥ, ΕΙ). A dialytika must be placed on the second vowel if they are
+dropped (άυλος → ΑΫΛΟΣ, μάινα → ΜΑΪΝΑ, κέικ → ΚΕΪΚ, ἀυπνία → ΑΫΠΝΙΑ).</p>
+<p>The <a class="reference internal" href="#uclclist-extension">&#64;uclclist extension</a> converts tonos, psili, and psili-oxia accents to
+<span class="docutils literal">\LGR&#64;hiatus</span>. They should be dropped (as well as the second character of
+composite diacritics like <span class="docutils literal">\'&lt;</span> or <span class="docutils literal">\&gt;~</span>).</p>
+<p>If the next character is an Alpha or Epsilon, we call commands that place
+a dialytika on a subsequent Iota or Upsilon (defined in the font
+encoding files). The font encoding file must also handle the cases when
+<span class="docutils literal">\LGR&#64;hiatus</span> is followed by literal characters for Alpha or Epsilon
+(see <a class="reference external" href="lgrenc.def.html">lgrenc.def</a>) for an example).</p>
<pre class="literal-block">\DeclareTextCommand{\LGR&#64;hiatus}{\LastDeclaredEncoding}[1]{#1}
+\DeclareTextCompositeCommand{\LGR&#64;hiatus}{\LastDeclaredEncoding}{'}{\LGR&#64;hiatus}
+\DeclareTextCompositeCommand{\LGR&#64;hiatus}{\LastDeclaredEncoding}{`}{\LGR&#64;accdropped}
+\DeclareTextCompositeCommand{\LGR&#64;hiatus}{\LastDeclaredEncoding}{~}{\LGR&#64;hiatus}
\DeclareTextCompositeCommand{\LGR&#64;hiatus}{\LastDeclaredEncoding}{&gt;}{\LGR&#64;hiatus}
\DeclareTextCompositeCommand{\LGR&#64;hiatus}{\LastDeclaredEncoding}{&lt;}{\LGR&#64;accdropped}
\DeclareTextCompositeCommand{\LGR&#64;hiatus}{\LastDeclaredEncoding}{\textAlpha}{\LGR&#64;A&#64;hiatus}
\DeclareTextCompositeCommand{\LGR&#64;hiatus}{\LastDeclaredEncoding}{\textEpsilon}{\LGR&#64;E&#64;hiatus}</pre>
-<p>The font encoding file must define the <span class="docutils literal">\LGR&#64;hiatus</span> TextCommand. See
-<span class="docutils literal">lgrenc.def</span> for an example.</p>
+</section>
+<section id="test-next-character">
+<h4><a class="toc-backref" href="#toc-entry-11" role="doc-backlink">Test next character</a></h4>
<p>The following macro can be used to test if the next character is an Alpha or
Epsilon. As <span class="docutils literal">\&#64;ifnextchar</span> gobbles spaces the lookahead macro definition
from <span class="docutils literal">amsgen.sty</span> is used:</p>
@@ -1171,7 +1237,7 @@ that does not skip over spaces.</p>
</section>
</section>
<section id="changelog">
-<h2><a class="toc-backref" href="#toc-entry-11" role="doc-backlink">Changelog</a></h2>
+<h2><a class="toc-backref" href="#toc-entry-12" role="doc-backlink">Changelog</a></h2>
<table class="borderless">
<tbody>
<tr><td><p>0.9</p></td>
@@ -1196,7 +1262,7 @@ that does not skip over spaces.</p>
</tr>
<tr><td><p>0.13.4</p></td>
<td><p>2019-07-10</p></td>
-<td><p><span class="docutils literal">&#64;uclclist</span> entry for <span class="docutils literal">\prosgegrammeni</span>.</p></td>
+<td><p>&#64;uclclist entry for <span class="docutils literal">\prosgegrammeni</span>.</p></td>
</tr>
<tr><td><p>1.0</p></td>
<td><p>2020-09-25</p></td>
@@ -1212,19 +1278,33 @@ that does not skip over spaces.</p>
</tr>
<tr><td><p>2.2.1</p></td>
<td><p>2023-03-08</p></td>
-<td><p><span class="docutils literal">&#64;uclclist</span> entry for <span class="docutils literal">\accoxia</span>, prevent
+<td><p>&#64;uclclist entry for <span class="docutils literal">\accoxia</span>, prevent
downcasing <span class="docutils literal">\textStigma</span> to <span class="docutils literal">\textvarstigma</span>.</p></td>
</tr>
<tr><td><p>2.3</p></td>
<td><p>2023-06-01</p></td>
-<td><p><span class="docutils literal">&#64;uclclist</span> entries for symbol variants.</p></td>
+<td><p>&#64;uclclist entries for symbol variants.</p></td>
+</tr>
+<tr><td><p>2.4</p></td>
+<td><p>2023-08-15</p></td>
+<td><p>Fix &#64;uclclist_ for ambiguous mappings.</p></td>
+</tr>
+<tr><td><!-- -->
+</td>
+<td></td>
+<td><p>Composite commands for “captital” macros and <span class="docutils literal">~</span>.</p></td>
</tr>
</tbody>
</table>
</section>
<section id="references">
-<h2><a class="toc-backref" href="#toc-entry-12" role="doc-backlink">References</a></h2>
+<h2><a class="toc-backref" href="#toc-entry-13" role="doc-backlink">References</a></h2>
<div role="list" class="citation-list">
+<div class="citation" id="fntguide" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-4">fntguide</a><span class="fn-bracket">]</span></span>
+<p>LaTeX3 Project Team, <cite>LaTeX2ε font selection</cite>.
+<a class="reference external" href="https://mirrors.ctan.org/macros/latex/base/fntguide.pdf">https://mirrors.ctan.org/macros/latex/base/fntguide.pdf</a></p>
+</div>
<div class="citation" id="haralambous-98" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-3">Haralambous-98</a><span class="fn-bracket">]</span></span>
<p>Yannis Haralambous