diff options
Diffstat (limited to 'language/greek/greek-fontenc/greek-fontenc.def.html')
-rw-r--r-- | language/greek/greek-fontenc/greek-fontenc.def.html | 140 |
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">@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 @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">\"\'\textalpha</span>, -<span class="keyword">\"</span>'<span class="keyword">\textalpha</span>, or -<span class="keyword">\'</span>"<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">\"\'\textupsilon</span>, +<span class="keyword">\"</span>'<span class="keyword">\textupsilon</span>, or +<span class="keyword">\'</span>"<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{\@ifl@t@r\fmtversion} % new in 2020 +\IfFormatAtLeastTF{2022/06/01}{ + \ProvideTextCommand{\accACUTE}{\LastDeclaredEncoding}{\@tabacckludge '} + \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{"}{\accdialytika} + \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{<}{\LGR@accdropped} + \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{>}{\LGR@hiatus} + \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika} + \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\LGR@hiatus}{\LGR@hiatus} + \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\LGR@accdropped}{\LGR@accdropped} + + \ProvideTextCommand{\accGRAVE}{\LastDeclaredEncoding}{\@tabacckludge`} + \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{"}{\accdialytika} + \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{<}{\LGR@accdropped} + \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{>}{\LGR@accdropped} + \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika} + \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\LGR@hiatus}{\LGR@hiatus} + \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\LGR@accdropped}{\LGR@accdropped} + + \ProvideTextCommand{\accTILDE}{\LastDeclaredEncoding}{\@tabacckludge~} + \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{"}{\accdialytika} + \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika} + \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{>}{\LGR@accdropped} + \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{<}{\LGR@accdropped} + \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\LGR@hiatus}{\LGR@accdropped} + \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\LGR@accdropped}{\LGR@accdropped} + + \ProvideTextCommand{\accDIAERESIS}{\LastDeclaredEncoding}{\@tabacckludge"} + \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@accdropped}{\LastDeclaredEncoding}{\@firstofone} + \DeclareTextCompositeCommand{\LGR@accdropped}{\LastDeclaredEncoding}{'}{\LGR@accdropped} + \DeclareTextCompositeCommand{\LGR@accdropped}{\LastDeclaredEncoding}{`}{\LGR@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">@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">@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@…</span> auxiliary macros are defined below.</p> <pre class="literal-block">\providecommand*\update@uclc@with@greek{% \expandafter\def\expandafter\@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@uclc@with@greek\relax }</pre> -<p>Expand the uclc list using the just defined macro:</p> +<p>Expand the @uclclist using the just defined macro:</p> <pre class="literal-block">\update@uclc@with@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@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@accdropped}{\LastDeclaredEncoding}[1]{#1} +\DeclareTextCompositeCommand{\LGR@accdropped}{\LastDeclaredEncoding}{~}{\LGR@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@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">@uclclist extension</a> converts tonos, psili, and psili-oxia accents to +<span class="docutils literal">\LGR@hiatus</span>. They should be dropped (as well as the second character of +composite diacritics like <span class="docutils literal">\'<</span> or <span class="docutils literal">\>~</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@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@hiatus}{\LastDeclaredEncoding}[1]{#1} +\DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{'}{\LGR@hiatus} +\DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{`}{\LGR@accdropped} +\DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{~}{\LGR@hiatus} \DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{>}{\LGR@hiatus} \DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{<}{\LGR@accdropped} \DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{\textAlpha}{\LGR@A@hiatus} \DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{\textEpsilon}{\LGR@E@hiatus}</pre> -<p>The font encoding file must define the <span class="docutils literal">\LGR@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">\@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">@uclclist</span> entry for <span class="docutils literal">\prosgegrammeni</span>.</p></td> +<td><p>@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">@uclclist</span> entry for <span class="docutils literal">\accoxia</span>, prevent +<td><p>@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">@uclclist</span> entries for symbol variants.</p></td> +<td><p>@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 @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 |