texlive[68249] Master/texmf-dist: greek-fontenc (12sep23)
commits+karl at tug.org
commits+karl at tug.org
Tue Sep 12 22:09:53 CEST 2023
Revision: 68249
http://tug.org/svn/texlive?view=revision&revision=68249
Author: karl
Date: 2023-09-12 22:09:52 +0200 (Tue, 12 Sep 2023)
Log Message:
-----------
greek-fontenc (12sep23)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/greek-fontenc/README.md
trunk/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-doc-tu.pdf
trunk/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-doc.pdf
trunk/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-doc.tex
trunk/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta.sty.html
trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list.tex
trunk/Master/texmf-dist/doc/latex/greek-fontenc/greek-fontenc-doc.html
trunk/Master/texmf-dist/doc/latex/greek-fontenc/greek-fontenc-doc.rst
trunk/Master/texmf-dist/doc/latex/greek-fontenc/greek-fontenc.def.html
trunk/Master/texmf-dist/doc/latex/greek-fontenc/hyperref-with-greek.pdf
trunk/Master/texmf-dist/doc/latex/greek-fontenc/hyperref-with-greek.tex
trunk/Master/texmf-dist/doc/latex/greek-fontenc/lgr2licr.lua.html
trunk/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc.def.html
trunk/Master/texmf-dist/doc/latex/greek-fontenc/puenc-greek.def.html
trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-lgrenc.pdf
trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-lgrenc.tex
trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-tuenc-greek.pdf
trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-tuenc-greek.tex
trunk/Master/texmf-dist/doc/latex/greek-fontenc/textalpha-doc-tu.pdf
trunk/Master/texmf-dist/doc/latex/greek-fontenc/textalpha-doc.pdf
trunk/Master/texmf-dist/doc/latex/greek-fontenc/textalpha-doc.tex
trunk/Master/texmf-dist/doc/latex/greek-fontenc/textalpha.sty.html
trunk/Master/texmf-dist/doc/latex/greek-fontenc/tuenc-greek.def.html
trunk/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta.sty
trunk/Master/texmf-dist/tex/latex/greek-fontenc/greek-fontenc.def
trunk/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def
trunk/Master/texmf-dist/tex/latex/greek-fontenc/puenc-greek.def
trunk/Master/texmf-dist/tex/latex/greek-fontenc/textalpha.sty
trunk/Master/texmf-dist/tex/latex/greek-fontenc/tuenc-greek.def
Added Paths:
-----------
trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-alphabeta-tu.pdf
trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-alphabeta.pdf
trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-tu.pdf
trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list.pdf
trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-luainputenc.pdf
trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-luainputenc.tex
Removed Paths:
-------------
trunk/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-lgr.def.html
trunk/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-tuenc.def.html
trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-luatex.pdf
trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-pdftex.pdf
trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-xetex.pdf
trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-licr-input.pdf
trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-licr-input.tex
trunk/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta-lgr.def
trunk/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta-tuenc.def
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/README.md 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/README.md 2023-09-12 20:09:52 UTC (rev 68249)
@@ -8,7 +8,7 @@
The included LaTeX packages [textalpha][textalpha.sty] and
[alphabeta][alphabeta.sty] facilitate the use of Greek symbols in text.
-**Version**: 2.4
+**Version**: 2.5
**Copyright**: © 2010 – 2023 Günter Milde
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-doc-tu.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-doc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-doc.tex 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-doc.tex 2023-09-12 20:09:52 UTC (rev 68249)
@@ -11,12 +11,9 @@
% As it contains tests for the different limitations, there will be warnings
% in the log, which can be safely ignored.
-\documentclass{scrartcl}
+\documentclass[a4paper]{scrartcl}
+\addtokomafont{disposition}{\rmfamily}
-\usepackage[unicode,colorlinks=true,linkcolor=blue]{hyperref}
-% \usepackage{bookmark}
-\hypersetup{colorlinks=true,linkcolor=blue,urlcolor=blue,pdfencoding=auto}
-% \usepackage{parskip}
\usepackage{amssymb, amsmath}
\frenchspacing
@@ -28,15 +25,17 @@
\newcommand{\engine}{LuaTeX}
\fi
% Setup for Unicode fonts (Xe-/LuaTeX)
- \usepackage[no-math,tuenc]{fontspec}
- \setmainfont{Linux Libertine O}
- \setsansfont{Linux Biolinum O}
- \setmonofont{Liberation Mono}[Scale=MatchLowercase]
+ \usepackage[no-math]{fontspec}
+ % The Harfbuzz renderer provides selection of pre-composed characters
+ % (NFC normalization) with LuaTeX
+ \setmainfont[Renderer=Harfbuzz]{Linux Libertine O}
+ \setsansfont[Renderer=Harfbuzz]{Linux Biolinum O}
+ \setmonofont[Renderer=Harfbuzz,Scale=MatchLowercase]{Liberation Mono}
\usepackage[libertine,slantedGreek]{newtxmath}
% \usepackage{unicode-math} % package conflict
\newcommand{\fontset}{fontspec with Unicode fonts}
\else
- \newcommand{\engine}{8-bit TeX}
+ \newcommand{\engine}{pdfTeX}
\usepackage[utf8]{inputenc}
\DeclareUnicodeCharacter{03DE}{\textKoppa} % in LGR mapped to \textkoppa
\usepackage[LGR,T1]{fontenc}
@@ -46,16 +45,27 @@
% \usepackage{gfsdidot}
% \usepackage{kerkis}
% \usepackage{newtxtext,newtxmath}
- % \usepackage{substitutefont}
- % \substitutefont{LGR}{\rmdefault}{artemisia}
\usepackage{isomath}
\newcommand{\fontset}{fontenc with TeX fonts}
\fi
% load alphabeta after math setup and encoding setup!
-% \usepackage{alphabeta}[2015/08/08]
-\usepackage[normalize-symbols]{alphabeta}[2015/08/08]
+\usepackage[normalize-symbols]{alphabeta}
+% Check, if loading hyperref after/before alphabeta works:
+\usepackage[unicode,colorlinks=true,linkcolor=blue]{hyperref}
+\usepackage{bookmark}
+\hypersetup{colorlinks=true,linkcolor=blue,urlcolor=blue,pdfencoding=auto}
+
+\DeclareTextCommandDefault{\,}{\thinspace}
+\DeclareTextCommand{\,}{PU}{\9040\011}% U+2009 THIN SPACE
+
+
+% correct upcasing requires Babel,
+% the remainder should work without requiring Babel
+\usepackage[greek.polutoniko,english]{babel}
+
+
% Fallback macros:
\newcommand*{\missing}{\ensuremath{\oslash}}
@@ -63,7 +73,7 @@
\ProvideTextCommandDefault{\textvarstigma}{\missing}
% varkappa, only defined with newtxmath
\providecommand*{\varkappa}{\missing}
-% varbeta and varTheta only defined with unicode-math
+% varbeta only defined with additional packages
\providecommand*{\varbeta}{\missing}
% Semantic styling:
@@ -88,12 +98,12 @@
\begin{abstract}\noindent
The \emph{alphabeta} package makes the standard macros for Greek letters in
-mathematical mode also available in text mode. This way, you can input Greek
+mathematical mode also available in text mode. This way, you can input Greek
letters ``by name'' everywhere in the document. The mode determines whether
the characters are taken from the text or math font.
With 8-bit TeX and \pkgref{greek-inputenc},
-literal Unicode charactes can also be used in mathematical mode.
+literal Unicode charactes can also be used in mathematical mode.%
\footnote{\label{compiler}%
This document was compiled with \engine{} using the
\href{https://ctan.org/pkg/encguide}{font encoding} \encodingdefault{}
@@ -109,7 +119,7 @@
}
\end{abstract}
-% \tableofcontents
+\tableofcontents
\section{Requirements and Conflicts}
@@ -124,7 +134,7 @@
The package conflicts with \pkgref{unicode-math}.
It also fails, if the \texttt{utf8x} input encoding is selected.
-(The interface to the \pkgref{ucs} package uses a non-compatible
+(The interface to the \pkgref{ucs} package uses an incompatible
definition of \cs{DeclareUnicodeCharacter}.)
@@ -138,16 +148,21 @@
%
Now you can write a single Greek symbol (like \Psi{} or \mu{}) or
a \lambda\omicron\gamma\omicron\varsigma{} in non-Greek text as well as
-ISO-conforming formulas with upright symbols for constants
-like $A = \text{\pi} r^2$ (instead of $A = \pi r^2$).%
-\footnote{The \pkgref{isomath} documentation describes more alternatives
- for upright Greek symbols in math mode.}
-
+ISO-conforming formulas with upright symbols\footnote{
+ The \pkgref{isomath} documentation describes more alternatives
+ for upright Greek symbols in math mode.}
+for constants like
+\[
+ A = \text{\pi} r^2
+\]
+(instead of $A = \pi r^2$).
Just like Latin letters, the Greek counterparts are by default italic in
math mode%
\footnote{Capital Greek letters are upright in TeX unless a package selects
- the ``ISO'' math-style. See the \pkgref{isomath} documentation
- for a detailled discussion of math-styles.}
+ the ``ISO'' math-style. This document uses \pkgref{isomath} with
+ 8-bit Tex and \pkgref{newtxmath} with the \texttt{slantedgreek}
+ option with Xe/LuaTeX. See the \emph{isomath} documentation for a
+ detailled discussion of math-styles.}
and upright in text:
\begin{quote}
@@ -155,7 +170,7 @@
mathematics: $ L \ \Gamma \ l \ \gamma $
\end{quote}
%
-See the source of this document \url{alphabeta-doc.tex} for a setup and
+See the source of this document \texttt{alphabeta-doc.tex} for a setup and
usage example.
@@ -168,23 +183,29 @@
\usepackage[normalize-symbols,keep-semicolon]{alphabeta}
\end{verbatim}
-\texttt{normalize-symbols} merges ``letter'' and ``symbol`` variants of some
-Greek letters (cf. next section) to the ``letter'' character: Without this
-option, the symbol variant characters cannot be used in text, because they
-are not supported by 8-bit Greek fonts (LGR encoding).
-\textbf{Attention}: Be careful in cases where the distinction between the
-symbol variants may be important (e.g. in a mathematical or scientific
-context). Use XeTeX/LuaTeX with Unicode fonts or the respective characters
-in mathematical mode (e.g. $\pi$ vs. $\varpi$).
+\begin{description}
+\item[\texttt{normalize-symbols}] \label{item:normalize-symbols}
+ merges ``letter'' and ``symbol`` variants of some Greek letters
+ (cf. Table\,\ref{tab:symbol-variant-macros} and
+ section~\ref{sec:symbol-variants} below) to the ``letter'' character:
+ Without this option, the symbol variant characters cannot be used in text
+ under 8-bit LaTeX, because they are not supported by the Greek 8-bit font
+ encoding LGR.
-The option \texttt{keep-semicolon} prevents conversion of the
-semicolon to an \emph{ano teleia} in 8-bit TeX
-(see \emph{\href{textalpha-doc.pdf}{textalpha-doc}}).
+ \textbf{Attention}: Be careful in cases where the distinction between the
+ symbol variants may be important (e.g. in a mathematical or scientific
+ context). Use XeTeX/LuaTeX with Unicode fonts or the respective characters
+ in mathematical mode (e.g. $\pi$ vs. $\varpi$).
+\item[\texttt{keep-semicolon}]
+ prevents conversion of the semicolon to an \emph{ano teleia} in 8-bit TeX
+ (see \emph{\href{textalpha-doc.pdf}{textalpha-doc}}).
+\end{description}
+%
Both options are ignored in text set using Unicode fonts.
-\subsection{symbol variants}
+\subsection{symbol variants \label{sec:symbol-variants}}
Mathematical notation uses variant shapes of some Greek letters as
additional symbols. The variations have no syntactic meaning in Greek text
@@ -206,19 +227,24 @@
GREEK ... SYMBOL variant,
\verb|\var<name>| selects the variant
- shape according to TeX' mathematical mode
+ shape according to TeX's mathematical mode
\end{quote}
-See Table \ref{tab:symbol-variant-macros} for the full list.
+See Table\,\ref{tab:symbol-variant-macros} at the end of this document for
+the full list.
\section{Limitations \label{sec:limitations}}
With 8-bit TeX, the limitations described in the
-\href{textalpha-doc.pdf}{textalpha documentation} apply. See also the tests
-in section \hyperref[sec:8-bit-limitations]{8 bit limitations}.
+\href{textalpha-doc.pdf}{textalpha documentation} apply
+(see also section~\ref{sec:diacritics}).
These limitations do not apply, if the text language is switched to ``greek''
-with Babel, the text part is wrapped in \verb+\ensuregreek+, or set using
-Unicode fonts (with XeTeX/LuaTeX).
+with Babel\footnote{\label{footnote:babel-greek}
+ Setting the correct language for Greek text parts with the
+ \pkgref{babel} package additionally ensures correct hyphenation and
+ upcasing.},
+the text part is wrapped in \verb+\ensuregreek+,
+or set using Unicode fonts with XeTeX/LuaTeX.
With XeTeX/LuaTeX and Unicode fonts, literal Unicode characters cannot be
used in formulas (the log file reports missing characters) This is a generic
@@ -238,94 +264,129 @@
\Alpha{} \Beta{} \Gamma{} \Delta{} \Epsilon{} \Zeta{} \Eta{} \Theta{}
\Iota{} \Kappa{} \Lambda{} \Mu{} \Nu{} \Xi{} \Omicron{} \Pi{} \Rho{}
\Sigma{} \Tau{} \Upsilon{} \Phi{} \Chi{} \Psi{} \Omega{}
+ \quad
+ \Digamma{} \Stigma{} \Koppa
+ \footnote{In LGR, there is no separate glyph for uppercase Koppa.}
+ \Qoppa{} \Sampi{}
\\
\alpha{} \beta{} \gamma{} \delta{} \epsilon{} \zeta{} \eta{} \theta{}
\iota{} \kappa{} \lambda{} \mu{} \nu{} \xi{} \omicron{} \pi{} \rho{}
- \sigma{} \varsigma{} \tau{} \upsilon{} \phi{} \chi{} \psi{} \omega{}
- \\
- \digamma{} \Digamma{} \stigma{} \varstigma{}%
+ \sigma{} \finalsigma{} \tau{} \upsilon{} \phi{} \chi{} \psi{} \omega{}
+ \quad
+ \digamma{} \stigma{} \varstigma
\footnote{There is no separate Unicode code point for a stigma variant
- symbol, \cs{varstigma} is not defined with
- Xe/LuaTeX and similar to \cs{stigma} in some fonts.}
- \koppa{} \Koppa{}%
- \footnote{In LGR, there is no separate glyph for uppercase Koppa.}
- \qoppa{} \Qoppa{} \Stigma{} \Sampi{} \sampi{}
+ symbol, \cs{varstigma} is not defined with
+ Xe/LuaTeX and similar to \cs{stigma} in some fonts.}
+ \koppa{} \qoppa{} \sampi{}
+
\end{quote}
%
-Greek letters via Unicode (active font encoding \encodingdefault):
+Greek letters via Unicode literals (active font encoding \encodingdefault):
\begin{quote}
- Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω\\
- α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ ς τ υ φ χ ψ ω\\
- ϝ Ϝ ϛ ϟ Ϟ ϙ Ϙ Ϛ Ϡ ϡ
+ Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω \quad Ϝ Ϛ Ϟ Ϙ Ϡ
+ \\
+ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ ς τ υ φ χ ψ ω \quad ϝ ϛ ϟ ϙ ϡ
\end{quote}
-\subsection{Diacritics}
+\subsection{Diacritics \label{sec:diacritics}}
-Accent macros are set up for use with the generic macros by definition of
-``TextComposite'' commands.
+According to Greek typographical conventions, diacritics (except the
+dialytika and sub iota) are placed before capital letters and
+dropped in UPPERCASE.
+Since 2022, \cs{MakeUppercase} only drops diacritics from Greek literals
+when the text language is set to \texttt{greek} with Babel or Polyglossia.
+Diacritics input as standard accent macros are only dropped if the Greek
+language is defined with Babel (i.e. not in this document).
+For an example using \pkgref{babel-greek} see
+\href{char-list-alphabeta.pdf}{char-list-alphabeta.pdf}).
+%
+\begin{quote}
+ \greekscript
+ \newcommand{\sample}{\<{\alpha} \>{\epsilon} \"'{\iota} \>`{\eta}
+ \'<{\omicron} \~<{\upsilon} \~>{\omega}}
+ \sample{} → \MakeUppercase{\sample}
-Diacritics (except the dialytika) should placed
-before capital letters.
-According to Greek typographical conventions, diacritics are dropped in
-UPPERCASE. Since 2022, \cs{MakeUppercase} only drops diacritics when the
-text language is set to \texttt{greek} with Babel or Polyglossia.
-
-\begin{quote}
-\ensuregreek{
-\<{\alpha} \>{\epsilon} \"'{\iota} \>`{\eta}
-\'<{\omicron} \~<{\upsilon} \~>{\omega}
-\\
-\<{\Alpha} \>{\Epsilon} \'{\Iota} \>`{\Eta}
-\'<{\Omicron} \~<{\Upsilon} \~>{\Omega}
-\\
-\MakeUppercase{%
- \<{\alpha} \>{\epsilon} \"'{\iota} \>`\eta{}
- \'<{\omicron} \~<{\upsilon} \~>{\omega}
-}}
+ \renewcommand{\sample}{\<{\Alpha} \>{\Epsilon} \"{\Iota} \>`{\Eta}
+ \'<{\Omicron} \~<{\Upsilon} \~>{\Omega}}
+ \sample{} → \MakeUppercase{\sample}
\end{quote}
+%
+Certain \textbf{limitations} apply \textbf{if} Greek LICRs are
+\textbf{used in a non-Greek font encoding} (e.g. T1).%
+\ifdefined \UnicodeEncodingName
+ \footnote{This document is typeset using Unicode fonts,
+ for details see the version using 8-bit fonts
+ \href{alphabeta-doc.pdf}{alphabeta-doc.pdf}.}
+\else
+ \footnote{This document is typeset using 8-bit fonts.}
+ \begin{itemize}
+ \item Composition of diacritics (like \verb|\>\'| or \verb|\accpsili\accoxia|)
+ fails: \\
+ \"'{\iota} \>`\eta{}
+ \'<{\omicron} \~<{\upsilon} \~>{\omega} (\currentEncoding) vs.
+ \ensuregreek{\"'{\iota} \>`\eta{}
+ \'<{\omicron} \~<{\upsilon} \~>{\omega} (\currentEncoding)}
+
+ Simple diacritics and long names (like \verb+\accdasiaoxia+) work in
+ any font encoding.
+
+ \item Accent macros do not select precomposed characters
+ (the subtle difference becomes obvious if you drag-and-drop text from
+ the PDF version of this document):
+ \\
+ \accdasiaoxia\alpha{} (\currentEncoding) vs.
+ \ensuregreek{\accdasiaoxia\alpha{} (\currentEncoding)}
+
+ \item Wrong placement of diacritics on capital letters:
+ \'\Alpha{} \accdasiaoxia\Omega{} (\currentEncoding) vs.
+ \ensuregreek{\'\Alpha{} \accdasiaoxia\Omega{} (\currentEncoding)}
+
+ \item Uppercasing characters with diacritics leads to compilation errors
+ unless the base letter is put in braces,
+ e.g., \verb|\MakeUppercase{\'\alpha}| fails,\\
+ \verb|\MakeUppercase{\'{\alpha}}| works.
+ \end{itemize}
+ The \cs{ensuregreek} macro can be used to avoid these problems.
+ It sets its argument with a font encoding supporting Greek.%
+ \footref{footnote:babel-greek}
+\fi
+
+
\subsection{normalize-symbols}
The \texttt{normalize-symbols} option merges ``letters'' and ``symbol``
variants of some Greek letters to the ``letter'' character. It is ignored,
-if the document uses Unicode fonts and is compiled with XeTeX or LuaTeX.
-(This document is compiled using \engine.)
+if the document uses Unicode fonts and is compiled with XeTeX or LuaTeX
+(this document is compiled using \engine).
\begin{quote}
The source of this quote uses both variants for beta (β|ϐ),
epsilon (ε|ϵ), phi (φ|ϕ), kappa (κ|ϰ), pi (π|ϖ), rho (ρ|ϱ), theta (θ|ϑ),
- and Theta (Θ|ϴ) in the LaTeX source.%
+ and Theta (Θ|ϴ).
\end{quote}
\subsection{\ensuregreek{%
- Ἑλληνικά (\<\Epsilon\lambda\lambda\eta\nu\iota\kappa\'\alpha{})}
- in PDF strings}
+ \<\Epsilon\lambda\lambda\eta\nu\iota\kappa\'\alpha} in PDF strings}
With the alphabeta package, you get Greek letters in both, the document body
-and PDF metadata generated by hyperref if the input uses Unicode literals or
-macros. Wrapping in \verb+\ensuregreek+ ensures the right placement of the
-accents and breathings (before, not above capital letters). With LICR input
-(accent macros as well as symbol macros), non-standard diacritics are
-missing in the PDF data, as hyperref's PU encoding currently does not
-support polytonic Greek. (Here, the dasia is dropped at the start of the
-word in parentheses in the PDF toc. The warning ``\texttt{Glyph not defined
-in PU encoding, removing `\textbackslash<' on input line 145.}'' is written
-to the log.)
+and PDF metadata generated by \pkgref{hyperref} if the input uses Unicode
+literals or macros. Wrapping in \verb+\ensuregreek+ ensures the right
+placement of the accents and breathings (before, not above capital letters).
\subsection{Greek in maths $\Gamma = \sin\alpha / \cos{\beta}$}
-In the main document, Greek in math mode should work as usual:
+In the main document, Greek in ``math'' mode should work as usual:
\[\Gamma = \frac{\sin\alpha}{\cos{\beta}}.
\]
-Greek letters and symbols in math mode,\footnote{%
- There are no math macros for Greek letters wich exist with similar
- shape in the Latin alphabet}
-input as macro:
+Greek letters and symbols in math mode, input as macro:\footnote{
+ There are no math macros for Greek letters wich exist
+ with similar shape in the Latin alphabet.}
\begin{align*}
&
% \Alpha{} \Beta{}
@@ -386,101 +447,964 @@
This corresponds to the behaviour of \pkgref{unicode-math}.
-\subsection{8-bit limitations \label{sec:8-bit-limitations}}
+\section{Character Tables}
-Certain limitations apply if Greek LICRs are used in non-Greek context with
-8-bit TeX fonts (this document is typeset using
-\ifdefined \UnicodeEncodingName
- Unicode fonts%
-\else
- 8-bit fonts%
-\fi
-).
+\subsection{Greek and Coptic}
-\begin{itemize}
+\newcommand*{\GreekAndCopticI}{%
+ \ensuregreek{%
+ \'{} % ΄
+ \"'{} % ΅
+ \'\Alpha{} % Ά
+ \textanoteleia{} % ·
+ \'\Epsilon{} % Έ
+ \'\Eta{} % Ή
+ \'\Iota{} % Ί
+ \'\Omicron{} % Ό
+ \'\Upsilon{} % Ύ
+ \'\Omega{} % Ώ
+}}
+\newcommand*{\GreekAndCopticII}{%
+ \ensuregreek{%
+ \'"\iota{} % ΐ
+ \Alpha{} % Α
+ \Beta{} % Β
+ \Gamma{} % Γ
+ \Delta{} % Δ
+ \Epsilon{} % Ε
+ \Zeta{} % Ζ
+ \Eta{} % Η
+ \Theta{} % Θ
+ \Iota{} % Ι
+ \Kappa{} % Κ
+ \Lambda{} % Λ
+ \Mu{} % Μ
+ \Nu{} % Ν
+ \Xi{} % Ξ
+ \Omicron{} % Ο
+}}
+\newcommand*{\GreekAndCopticIII}{%
+ \ensuregreek{%
+ \Pi{} % Π
+ \Rho{} % Ρ
+ \Sigma{} % Σ
+ \Tau{} % Τ
+ \Upsilon{} % Υ
+ \Phi{} % Φ
+ \Chi{} % Χ
+ \Psi{} % Ψ
+ \Omega{} % Ω
+ \"\Iota{} % Ϊ
+ \"\Upsilon{} % Ϋ
+ \'\alpha{} % ά
+ \'\epsilon{} % έ
+ \'\eta{} % ή
+ \'\iota{} % ί
+}}
+\newcommand*{\GreekAndCopticIV}{%
+ \ensuregreek{%
+ \"'\upsilon{} % ΰ
+ \alpha{} % α
+ \beta{} % β
+ \gamma{} % γ
+ \delta{} % δ
+ \epsilon{} % ε
+ \zeta{} % ζ
+ \eta{} % η
+ \theta{} % θ
+ \iota{} % ι
+ \kappa{} % κ
+ \lambda{} % λ
+ \mu{} % μ
+ \nu{} % ν
+ \xi{} % ξ
+ \omicron{} % ο
+}}
+\newcommand*{\GreekAndCopticV}{%
+ \ensuregreek{%
+ \pi{} % π
+ \rho{} % ρ
+ \finalsigma{} % ς
+ \sigma{} % σ
+ \tau{} % τ
+ \upsilon{} % υ
+ \phi{} % φ
+ \chi{} % χ
+ \psi{} % ψ
+ \omega{} % ω
+ \"\iota{} % ϊ
+ \"\upsilon{} % ϋ
+ \'\omicron{} % ό
+ \'\upsilon{} % ύ
+ \'\omega{} % ώ
+}}
+\newcommand*{\GreekAndCopticVI}{%
+ \ensuregreek{%
+ % x03D0
+ \betasymbol{} % ϐ
+ \thetasymbol{} % ϑ
+ \phisymbol{} % ϕ
+ \pisymbol{} % ϖ
+ \Qoppa{} % Ϙ
+ \qoppa{} % ϙ
+ \Stigma{} % Ϛ
+ \stigma{} % ϛ
+ \Digamma{} % Ϝ
+ \digamma{} % ϝ
+ \Koppa{} % Ϟ
+ \koppa{} % ϟ
+}}
+\newcommand*{\GreekAndCopticVII}{%
+ \ensuregreek{%
+ % x03E0
+ \Sampi{} % Ϡ
+ \sampi{} % ϡ
+ % x03F0
+ \kappasymbol{} % ϰ
+ \rhosymbol{} % ϱ
+ \Thetasymbol{} % ϴ
+ \epsilonsymbol{} % ϵ
+}}
-\item Composition of diacritics (like \verb+\>\'+) fails:
- \<{\alpha} \>{\epsilon} \"'{\iota} \>`\eta{}
- \'<{\omicron} \~<{\upsilon} \~>{\omega}
+\begin{minipage}{0.48\linewidth}
+ symbol accent macros
- Simple diacritics and long names (like \verb+\accdasiaoxia+) work in
- any font encoding, however they do not select precomposed characters
- (the difference becomes obvious if you drag-and-drop text from the PDF
- version of this document):
- %
- \ensuregreek{\<'\alpha{} \accdasia\acctonos\alpha{} \accdasiaoxia\alpha{}
- (\currentEncoding)} vs. \accdasiaoxia\alpha{} (\currentEncoding)
+ \GreekAndCopticI
-\item MakeUppercase fails with composite diacritics in other font encodings.%
- \footnote{Since the re-implementation 2022/06, MakeUppercase follows
- the Greek typesetting rules only for text parts given the
- \pkgref{babel} language \texttt{greek}.}
- % \MakeUppercase{%
- % \<\alpha{} \>\epsilon{} \'\iota{} \`\eta{} \~\upsilon{}
- % }
+ \GreekAndCopticII
-\item There is no kerning between Greek letters, if the font encoding does not
- support Greek: compare \ensuregreek{\Alpha\Upsilon\Alpha{}
- (\currentEncoding)} to \Alpha\Upsilon\Alpha{} (\currentEncoding).
-\end{itemize}
-%
-The \verb+\ensuregreek+ macro ensures that the argument is typeset with a
-font encoding supporting Greek. This keeps kerning (if the kerning pair is
-inside the argument, \ensuregreek{\Alpha\"\Upsilon\Alpha}), and allows
-combining of accent macros where pre-composed characters are selected
-(\ensuregreek{\<'\alpha}).
-Setting the corrct language for Greek text parts with the \pkgref{babel}
-package additionally ensures correct hyphenation and upcasing.
+ \GreekAndCopticIII
+ \GreekAndCopticIV
+ \GreekAndCopticV
+
+ \GreekAndCopticVI
+
+ \GreekAndCopticVII
+\end{minipage}
+\hfill
+\begin{minipage}{0.5\linewidth}
+\noindent
+named accent macros
+
+\ensuregreek{%
+% x0384
+\acctonos{} % ΄
+\accdialytikatonos{} % ΅
+\acctonos\Alpha{} % Ά
+\textanoteleia{} % ·
+\acctonos\Epsilon{} % Έ
+\acctonos\Eta{} % Ή
+\acctonos\Iota{} % Ί
+\acctonos\Omicron{} % Ό
+\acctonos\Upsilon{} % Ύ
+\acctonos\Omega{} % Ώ
+
+% x0390
+\accdialytikatonos\iota{} % ΐ
+\Alpha{} % Α
+\Beta{} % Β
+\Gamma{} % Γ
+\Delta{} % Δ
+\Epsilon{} % Ε
+\Zeta{} % Ζ
+\Eta{} % Η
+\Theta{} % Θ
+\Iota{} % Ι
+\Kappa{} % Κ
+\Lambda{} % Λ
+\Mu{} % Μ
+\Nu{} % Ν
+\Xi{} % Ξ
+\Omicron{} % Ο
+
+% 0x3A0
+\Pi{} % Π
+\Rho{} % Ρ
+\Sigma{} % Σ
+\Tau{} % Τ
+\Upsilon{} % Υ
+\Phi{} % Φ
+\Chi{} % Χ
+\Psi{} % Ψ
+\Omega{} % Ω
+\accdialytika\Iota{} % Ϊ
+\accdialytika\Upsilon{} % Ϋ
+\acctonos\alpha{} % ά
+\acctonos\epsilon{} % έ
+\acctonos\eta{} % ή
+\acctonos\iota{} % ί
+
+% x03B0
+\accdialytikatonos\upsilon{} % ΰ
+\alpha{} % α
+\beta{} % β
+\gamma{} % γ
+\delta{} % δ
+\epsilon{} % ε
+\zeta{} % ζ
+\eta{} % η
+\theta{} % θ
+\iota{} % ι
+\kappa{} % κ
+\lambda{} % λ
+\mu{} % μ
+\nu{} % ν
+\xi{} % ξ
+\omicron{} % ο
+
+% x03C0
+\pi{} % π
+\rho{} % ρ
+\finalsigma{} % ς
+\sigma{} % σ
+\tau{} % τ
+\upsilon{} % υ
+\phi{} % φ
+\chi{} % χ
+\psi{} % ψ
+\omega{} % ω
+\accdialytika\iota{} % ϊ
+\accdialytika\upsilon{} % ϋ
+\acctonos\omicron{} % ό
+\acctonos\upsilon{} % ύ
+\acctonos\omega{} % ώ
+
+% x03D0
+\betasymbol{} % ϐ
+\thetasymbol{} % ϑ
+\phisymbol{} % ϕ
+\pisymbol{} % ϖ
+\Qoppa{} % Ϙ
+\qoppa{} % ϙ
+\Stigma{} % Ϛ
+\stigma{} % ϛ
+\Digamma{} % Ϝ
+\digamma{} % ϝ
+\Koppa{} % Ϟ
+\koppa{} % ϟ
+
+% x03E0
+\Sampi{} % Ϡ
+\sampi{} % ϡ
+% x03F0
+\kappasymbol{} % ϰ
+\rhosymbol{} % ϱ
+\Thetasymbol{} % ϴ
+\epsilonsymbol{} % ϵ
+} % end \ensuregreek
+\end{minipage}
+
+
+\subsection{Greek Extended}
+
+\newcommand*{\GreekExtendedI}{%
+ \ensuregreek{%
+ \>\alpha{}
+ \<\alpha{}
+ \>`\alpha{}
+ \<`\alpha{}
+ \>'\alpha{}
+ \<'\alpha{}
+ \~>\alpha{}
+ \~<\alpha{}
+ \>\Alpha{}
+ \<\Alpha{}
+ \>`\Alpha{}
+ \<`\Alpha{}
+ \>'\Alpha{}
+ \<'\Alpha{}
+ \~>\Alpha{}
+ \~<\Alpha{}
+}}
+\newcommand*{\GreekExtendedII}{%
+ \ensuregreek{%
+ \>\epsilon{}
+ \<\epsilon{}
+ \>`\epsilon{}
+ \<`\epsilon{}
+ \>'\epsilon{}
+ \<'\epsilon{}
+ \>\Epsilon{}
+ \<\Epsilon{}
+ \>`\Epsilon{}
+ \<`\Epsilon{}
+ \>'\Epsilon{}
+ \<'\Epsilon{}
+}}
+\newcommand*{\GreekExtendedIII}{%
+ \ensuregreek{%
+ \>\eta{}
+ \<\eta{}
+ \>`\eta{}
+ \<`\eta{}
+ \>'\eta{}
+ \<'\eta{}
+ \~>\eta{}
+ \~<\eta{}
+ \>\Eta{}
+ \<\Eta{}
+ \>`\Eta{}
+ \<`\Eta{}
+ \>'\Eta{}
+ \<'\Eta{}
+ \~>\Eta{}
+ \~<\Eta{}
+}}
+\newcommand*{\GreekExtendedIV}{%
+ \ensuregreek{%
+ \>\iota{}
+ \<\iota{}
+ \>`\iota{}
+ \<`\iota{}
+ \>'\iota{}
+ \<'\iota{}
+ \~>\iota{}
+ \~<\iota{}
+ \>\Iota{}
+ \<\Iota{}
+ \>`\Iota{}
+ \<`\Iota{}
+ \>'\Iota{}
+ \<'\Iota{}
+ \~>\Iota{}
+ \~<\Iota{}
+}}
+\newcommand*{\GreekExtendedV}{%
+ \ensuregreek{%
+ \>\omicron{}
+ \<\omicron{}
+ \>`\omicron{}
+ \<`\omicron{}
+ \>'\omicron{}
+ \<'\omicron{}
+ \>\Omicron{}
+ \<\Omicron{}
+ \>`\Omicron{}
+ \<`\Omicron{}
+ \>'\Omicron{}
+ \<'\Omicron{}
+}}
+\newcommand*{\GreekExtendedVI}{%
+ \ensuregreek{%
+ \>\upsilon{}
+ \<\upsilon{}
+ \>`\upsilon{}
+ \<`\upsilon{}
+ \>'\upsilon{}
+ \<'\upsilon{}
+ \~>\upsilon{}
+ \~<\upsilon{}
+ \<\Upsilon{}
+ \<`\Upsilon{}
+ \<'\Upsilon{}
+ \~<\Upsilon{}
+}}
+\newcommand*{\GreekExtendedVII}{%
+ \ensuregreek{%
+ \>\omega{}
+ \<\omega{}
+ \>`\omega{}
+ \<`\omega{}
+ \>'\omega{}
+ \<'\omega{}
+ \~>\omega{}
+ \~<\omega{}
+ \>\Omega{}
+ \<\Omega{}
+ \>`\Omega{}
+ \<`\Omega{}
+ \>'\Omega{}
+ \<'\Omega{}
+ \~>\Omega{}
+ \~<\Omega{}
+}}
+\newcommand*{\GreekExtendedVIII}{%
+ \ensuregreek{%
+ \`\alpha{}
+ \'\alpha{}
+ \`\epsilon{}
+ \'\epsilon{}
+ \`\eta{}
+ \'\eta{}
+ \`\iota{}
+ \'\iota{}
+ \`\omicron{}
+ \'\omicron{}
+ \`\upsilon{}
+ \'\upsilon{}
+ \`\omega{}
+ \'\omega{}
+}}
+\newcommand*{\GreekExtendedIX}{%
+ \ensuregreek{%
+ \>\alpha\ypogegrammeni{}
+ \<\alpha\ypogegrammeni{}
+ \>`\alpha\ypogegrammeni{}
+ \<`\alpha\ypogegrammeni{}
+ \>'\alpha\ypogegrammeni{}
+ \<'\alpha\ypogegrammeni{}
+ \~>\alpha\ypogegrammeni{}
+ \~<\alpha\ypogegrammeni{}
+ \>\Alpha\ypogegrammeni{}
+ \<\Alpha\ypogegrammeni{}
+ \>`\Alpha\ypogegrammeni{}
+ \<`\Alpha\ypogegrammeni{}
+ \>'\Alpha\ypogegrammeni{}
+ \<'\Alpha\ypogegrammeni{}
+ \~>\Alpha\ypogegrammeni{}
+ \~<\Alpha\ypogegrammeni{}
+}}
+\newcommand*{\GreekExtendedX}{%
+ \ensuregreek{%
+ \>\eta\ypogegrammeni{}
+ \<\eta\ypogegrammeni{}
+ \>`\eta\ypogegrammeni{}
+ \<`\eta\ypogegrammeni{}
+ \>'\eta\ypogegrammeni{}
+ \<'\eta\ypogegrammeni{}
+ \~>\eta\ypogegrammeni{}
+ \~<\eta\ypogegrammeni{}
+ \>\Eta\ypogegrammeni{}
+ \<\Eta\ypogegrammeni{}
+ \>`\Eta\ypogegrammeni{}
+ \<`\Eta\ypogegrammeni{}
+ \>'\Eta\ypogegrammeni{}
+ \<'\Eta\ypogegrammeni{}
+ \~>\Eta\ypogegrammeni{}
+ \~<\Eta\ypogegrammeni{}
+}}
+\newcommand*{\GreekExtendedXI}{%
+ \ensuregreek{%
+ \>\omega\ypogegrammeni{}
+ \<\omega\ypogegrammeni{}
+ \>`\omega\ypogegrammeni{}
+ \<`\omega\ypogegrammeni{}
+ \>'\omega\ypogegrammeni{}
+ \<'\omega\ypogegrammeni{}
+ \~>\omega\ypogegrammeni{}
+ \~<\omega\ypogegrammeni{}
+ \>\Omega\ypogegrammeni{}\,%
+ \<\Omega\ypogegrammeni{}\,%
+ \>`\Omega\ypogegrammeni{}\,%
+ \<`\Omega\ypogegrammeni{}\,%
+ \>'\Omega\ypogegrammeni{}\,%
+ \<'\Omega\ypogegrammeni{}\,%
+ \~>\Omega\ypogegrammeni{}\,%
+ \~<\Omega\ypogegrammeni{}
+}}
+\newcommand*{\GreekExtendedXII}{%
+ \ensuregreek{%
+ \u\alpha{}
+ \=\alpha{}
+ \`\alpha\ypogegrammeni{}
+ \alpha\ypogegrammeni{}
+ \'\alpha\ypogegrammeni{}
+ \~\alpha{}
+ \~\alpha\ypogegrammeni{}
+ \u\Alpha{}
+ \=\Alpha{}
+ \`\Alpha{}
+ \'\Alpha{}
+ \Alpha\ypogegrammeni{}
+ \>{}
+ \prosgegrammeni{}
+ \>{}
+}}
+\newcommand*{\GreekExtendedXIII}{%
+ \ensuregreek{%
+ \~{}
+ \"\~{}
+ \`\eta\ypogegrammeni{}
+ \eta\ypogegrammeni{}
+ \'\eta\ypogegrammeni{}
+ \~\eta{}
+ \~\eta\ypogegrammeni{}
+ \`\Epsilon{}
+ \'\Epsilon{}
+ \`\Eta{}
+ \'\Eta{}
+ \Eta\ypogegrammeni{}
+ \>`{}
+ \>'{}
+ \~>{}
+}}
+\newcommand*{\GreekExtendedXIV}{%
+ \ensuregreek{%
+ \u\iota{}
+ \=\iota{}
+ \`"\iota{}
+ \'"\iota{}
+ \~\iota{}
+ \~"\iota{}
+ \u\Iota{}
+ \=\Iota{}
+ \`\Iota{}
+ \'\Iota{}
+ \<`{}
+ \<'{}
+ \~<{}
+}}
+\newcommand*{\GreekExtendedXV}{%
+ \ensuregreek{%
+ \u\upsilon{}
+ \=\upsilon{}
+ \`"\upsilon{}
+ \'"\upsilon{}
+ \>\rho{}
+ \<\rho{}
+ \~\upsilon{}
+ \~"\upsilon{}
+ \u\Upsilon{}
+ \=\Upsilon{}
+ \`\Upsilon{}
+ \'\Upsilon{}
+ \<\Rho{}
+ \`"{}
+ \'"{}
+ \`{}
+}}
+\newcommand*{\GreekExtendedXVI}{%
+ \ensuregreek{%
+ \`\omega\ypogegrammeni{}
+ \omega\ypogegrammeni{}
+ \'\omega\ypogegrammeni{}
+ \~\omega{}
+ \~\omega\ypogegrammeni{}
+ \`\Omicron{}
+ \'\Omicron{}
+ \`\Omega{}
+ \'\Omega{}
+ \Omega\ypogegrammeni{}
+ \'{}
+ \<{}
+}}
+
+
+\begin{minipage}{0.5\linewidth}
+ symbol accent macros
+
+ \GreekExtendedI
+
+ \GreekExtendedII
+
+ \GreekExtendedIII
+
+ \GreekExtendedIV
+
+ \GreekExtendedV
+
+ \GreekExtendedVI
+
+ \GreekExtendedVII
+
+ \GreekExtendedVIII
+
+ \GreekExtendedIX
+
+ \GreekExtendedX
+
+ \GreekExtendedXI
+
+ \GreekExtendedXII
+
+ \GreekExtendedXIII
+
+ \GreekExtendedXIV
+
+ \GreekExtendedXV
+
+ \GreekExtendedXVI
+\end{minipage}
+\hfill
+\begin{minipage}{0.48\linewidth}
+\noindent
+named accent macros
+
+\ensuregreek{%
+\accpsili\alpha{}
+\accdasia\alpha{}
+\accpsilivaria\alpha{}
+\accdasiavaria\alpha{}
+\accpsilioxia\alpha{}
+\accdasiaoxia\alpha{}
+\accpsiliperispomeni\alpha{}
+\accdasiaperispomeni\alpha{}
+\accpsili\Alpha{}
+\accdasia\Alpha{}
+\accpsilivaria\Alpha{}
+\accdasiavaria\Alpha{}
+\accpsilioxia\Alpha{}
+\accdasiaoxia\Alpha{}
+\accpsiliperispomeni\Alpha{}
+\accdasiaperispomeni\Alpha{}
+
+\accpsili\epsilon{}
+\accdasia\epsilon{}
+\accpsilivaria\epsilon{}
+\accdasiavaria\epsilon{}
+\accpsilioxia\epsilon{}
+\accdasiaoxia\epsilon{}
+\accpsili\Epsilon{}
+\accdasia\Epsilon{}
+\accpsilivaria\Epsilon{}
+\accdasiavaria\Epsilon{}
+\accpsilioxia\Epsilon{}
+\accdasiaoxia\Epsilon{}
+
+\accpsili\eta{}
+\accdasia\eta{}
+\accpsilivaria\eta{}
+\accdasiavaria\eta{}
+\accpsilioxia\eta{}
+\accdasiaoxia\eta{}
+\accpsiliperispomeni\eta{}
+\accdasiaperispomeni\eta{}
+\accpsili\Eta{}
+\accdasia\Eta{}
+\accpsilivaria\Eta{}
+\accdasiavaria\Eta{}
+\accpsilioxia\Eta{}
+\accdasiaoxia\Eta{}
+\accpsiliperispomeni\Eta{}
+\accdasiaperispomeni\Eta{}
+
+\accpsili\iota{}
+\accdasia\iota{}
+\accpsilivaria\iota{}
+\accdasiavaria\iota{}
+\accpsilioxia\iota{}
+\accdasiaoxia\iota{}
+\accpsiliperispomeni\iota{}
+\accdasiaperispomeni\iota{}
+\accpsili\Iota{}
+\accdasia\Iota{}
+\accpsilivaria\Iota{}
+\accdasiavaria\Iota{}
+\accpsilioxia\Iota{}
+\accdasiaoxia\Iota{}
+\accpsiliperispomeni\Iota{}
+\accdasiaperispomeni\Iota{}
+
+\accpsili\omicron{}
+\accdasia\omicron{}
+\accpsilivaria\omicron{}
+\accdasiavaria\omicron{}
+\accpsilioxia\omicron{}
+\accdasiaoxia\omicron{}
+\accpsili\Omicron{}
+\accdasia\Omicron{}
+\accpsilivaria\Omicron{}
+\accdasiavaria\Omicron{}
+\accpsilioxia\Omicron{}
+\accdasiaoxia\Omicron{}
+
+\accpsili\upsilon{}
+\accdasia\upsilon{}
+\accpsilivaria\upsilon{}
+\accdasiavaria\upsilon{}
+\accpsilioxia\upsilon{}
+\accdasiaoxia\upsilon{}
+\accpsiliperispomeni\upsilon{}
+\accdasiaperispomeni\upsilon{}
+\accdasia\Upsilon{}
+\accdasiavaria\Upsilon{}
+\accdasiaoxia\Upsilon{}
+\accdasiaperispomeni\Upsilon{}
+
+\accpsili\omega{}
+\accdasia\omega{}
+\accpsilivaria\omega{}
+\accdasiavaria\omega{}
+\accpsilioxia\omega{}
+\accdasiaoxia\omega{}
+\accpsiliperispomeni\omega{}
+\accdasiaperispomeni\omega{}
+\accpsili\Omega{}
+\accdasia\Omega{}
+\accpsilivaria\Omega{}
+\accdasiavaria\Omega{}
+\accpsilioxia\Omega{}
+\accdasiaoxia\Omega{}
+\accpsiliperispomeni\Omega{}
+\accdasiaperispomeni\Omega{}
+
+\accvaria\alpha{}
+\accoxia\alpha{}
+\accvaria\epsilon{}
+\accoxia\epsilon{}
+\accvaria\eta{}
+\accoxia\eta{}
+\accvaria\iota{}
+\accoxia\iota{}
+\accvaria\omicron{}
+\accoxia\omicron{}
+\accvaria\upsilon{}
+\accoxia\upsilon{}
+\accvaria\omega{}
+\accoxia\omega{}
+
+\accpsili\alpha\ypogegrammeni{}
+\accdasia\alpha\ypogegrammeni{}
+\accpsilivaria\alpha\ypogegrammeni{}
+\accdasiavaria\alpha\ypogegrammeni{}
+\accpsilioxia\alpha\ypogegrammeni{}
+\accdasiaoxia\alpha\ypogegrammeni{}
+\accpsiliperispomeni\alpha\ypogegrammeni{}
+\accdasiaperispomeni\alpha\ypogegrammeni{}
+\accpsili\Alpha\ypogegrammeni{}
+\accdasia\Alpha\ypogegrammeni{}
+\accpsilivaria\Alpha\ypogegrammeni{}
+\accdasiavaria\Alpha\ypogegrammeni{}
+\accpsilioxia\Alpha\ypogegrammeni{}
+\accdasiaoxia\Alpha\ypogegrammeni{}
+\accpsiliperispomeni\Alpha\ypogegrammeni{}
+\accdasiaperispomeni\Alpha\ypogegrammeni{}
+
+\accpsili\eta\ypogegrammeni{}
+\accdasia\eta\ypogegrammeni{}
+\accpsilivaria\eta\ypogegrammeni{}
+\accdasiavaria\eta\ypogegrammeni{}
+\accpsilioxia\eta\ypogegrammeni{}
+\accdasiaoxia\eta\ypogegrammeni{}
+\accpsiliperispomeni\eta\ypogegrammeni{}
+\accdasiaperispomeni\eta\ypogegrammeni{}
+\accpsili\Eta\ypogegrammeni{}
+\accdasia\Eta\ypogegrammeni{}
+\accpsilivaria\Eta\ypogegrammeni{}
+\accdasiavaria\Eta\ypogegrammeni{}
+\accpsilioxia\Eta\ypogegrammeni{}
+\accdasiaoxia\Eta\ypogegrammeni{}
+\accpsiliperispomeni\Eta\ypogegrammeni{}
+\accdasiaperispomeni\Eta\ypogegrammeni{}
+
+\accpsili\omega\ypogegrammeni{}
+\accdasia\omega\ypogegrammeni{}
+\accpsilivaria\omega\ypogegrammeni{}
+\accdasiavaria\omega\ypogegrammeni{}
+\accpsilioxia\omega\ypogegrammeni{}
+\accdasiaoxia\omega\ypogegrammeni{}
+\accpsiliperispomeni\omega\ypogegrammeni{}
+\accdasiaperispomeni\omega\ypogegrammeni{}
+\accpsili\Omega\ypogegrammeni{}\,%
+\accdasia\Omega\ypogegrammeni{}\,%
+\accpsilivaria\Omega\ypogegrammeni{}\,%
+\accdasiavaria\Omega\ypogegrammeni{}\,%
+\accpsilioxia\Omega\ypogegrammeni{}\,%
+\accdasiaoxia\Omega\ypogegrammeni{}\,%
+\accpsiliperispomeni\Omega\ypogegrammeni{}\,%
+\accdasiaperispomeni\Omega\ypogegrammeni{}
+
+\u\alpha{}
+\=\alpha{}
+\accvaria\alpha\ypogegrammeni{}
+\alpha\ypogegrammeni{}
+\accoxia\alpha\ypogegrammeni{}
+\accperispomeni\alpha{}
+\accperispomeni\alpha\ypogegrammeni{}
+\u\Alpha{}
+\=\Alpha{}
+\accvaria\Alpha{}
+\accoxia\Alpha{}
+\Alpha\ypogegrammeni{}
+\accpsili{}
+\prosgegrammeni{}
+\accpsili{}
+
+\accperispomeni{}
+\accdialytikaperispomeni{}
+\accvaria\eta\ypogegrammeni{}
+\eta\ypogegrammeni{}
+\accoxia\eta\ypogegrammeni{}
+\accperispomeni\eta{}
+\accperispomeni\eta\ypogegrammeni{}
+\accvaria\Epsilon{}
+\accoxia\Epsilon{}
+\accvaria\Eta{}
+\accoxia\Eta{}
+\Eta\ypogegrammeni{}
+\accpsilivaria{}
+\accpsilioxia{}
+\accpsiliperispomeni{}
+
+\u\iota{}
+\=\iota{}
+\accdialytikavaria\iota{}
+\accdialytikatonos\iota{}
+\accperispomeni\iota{}
+\accdialytikaperispomeni\iota{}
+\u\Iota{}
+\=\Iota{}
+\accvaria\Iota{}
+\accoxia\Iota{}
+\accdasiavaria{}
+\accdasiaoxia{}
+\accdasiaperispomeni{}
+
+\u\upsilon{}
+\=\upsilon{}
+\accdialytikavaria\upsilon{}
+\accdialytikatonos\upsilon{}
+\accpsili\rho{}
+\accdasia\rho{}
+\accperispomeni\upsilon{}
+\accdialytikaperispomeni\upsilon{}
+\u\Upsilon{}
+\=\Upsilon{}
+\accvaria\Upsilon{}
+\accoxia\Upsilon{}
+\accdasia\Rho{}
+\accdialytikavaria{}
+\accdialytikatonos{}
+\accvaria{}
+
+\accvaria\omega\ypogegrammeni{}
+\omega\ypogegrammeni{}
+\accoxia\omega\ypogegrammeni{}
+\accperispomeni\omega{}
+\accperispomeni\omega\ypogegrammeni{}
+\accvaria\Omicron{}
+\accoxia\Omicron{}
+\accvaria\Omega{}
+\accoxia\Omega{}
+\Omega\ypogegrammeni{}
+\accoxia{}
+\accdasia{}
+} % end \ensuregreek
+\end{minipage}
+
+\section{PDF Strings}
+
+Generic LICRs and symbol accent macros.
+(Check the ToC in the PDF sidebar to see how PDF strings are handled.)
+
+\subsection{Greek and Coptic}
+
+\subsubsection{\GreekAndCopticI}
+\subsubsection{\GreekAndCopticII}
+\subsubsection{\GreekAndCopticIII}
+\subsubsection{\GreekAndCopticIV}
+\subsubsection{\GreekAndCopticV}
+\subsubsection{\GreekAndCopticVI}
+\subsubsection{\GreekAndCopticVII}
+
+\subsection{Greek Extended}
+
+\subsubsection{\GreekExtendedI}
+\subsubsection{\GreekExtendedII}
+\subsubsection{\GreekExtendedIII}
+\subsubsection{\GreekExtendedIV}
+\subsubsection{\GreekExtendedV}
+\subsubsection{\GreekExtendedVI}
+\subsubsection{\GreekExtendedVII}
+\subsubsection{\GreekExtendedVIII}
+\subsubsection{\GreekExtendedIX}
+\subsubsection{\GreekExtendedX}
+\subsubsection{\GreekExtendedXI}
+\subsubsection{\GreekExtendedXII}
+\subsubsection{\GreekExtendedXIII}
+\subsubsection{\GreekExtendedXIV}
+\subsubsection{\GreekExtendedXV}
+\subsubsection{\GreekExtendedXVI}
+
+If this document is compiled with a post 2022 LaTeX and \emph{Babel},
+a test for \cs{MakeUppercase} follows.
+
+\ifdefined \AddToNoCaseChangeList
+ % skip \MakeUppercase tests for LaTeX older than 2022/6
+
+ \subsection{MakeUppercase}
+
+ \ifdefined \extrasgreek
+ \selectlanguage{greek} % must be done before the \section command
+ \fi
+
+ \subsubsection{\MakeUppercase{\GreekAndCopticI}}
+ \subsubsection{\MakeUppercase{\GreekAndCopticII}}
+ \subsubsection{\MakeUppercase{\GreekAndCopticIII}}
+ \subsubsection{\MakeUppercase{\GreekAndCopticIV}}
+ \subsubsection{\MakeUppercase{\GreekAndCopticV}}
+ \subsubsection{\MakeUppercase{\GreekAndCopticVI}}
+ \subsubsection{\MakeUppercase{\GreekAndCopticVII}}
+
+ \subsubsection{\MakeUppercase{\GreekExtendedI}}
+ \subsubsection{\MakeUppercase{\GreekExtendedII}}
+ \subsubsection{\MakeUppercase{\GreekExtendedIII}}
+ \subsubsection{\MakeUppercase{\GreekExtendedIV}}
+ \subsubsection{\MakeUppercase{\GreekExtendedV}}
+ \subsubsection{\MakeUppercase{\GreekExtendedVI}}
+ \subsubsection{\MakeUppercase{\GreekExtendedVII}}
+ \subsubsection{\MakeUppercase{\GreekExtendedVIII}}
+ \subsubsection{\MakeUppercase{\GreekExtendedIX}}
+ \subsubsection{\MakeUppercase{\GreekExtendedX}}
+ \subsubsection{\MakeUppercase{\GreekExtendedXI}}
+ \subsubsection{\MakeUppercase{\GreekExtendedXII}}
+ \subsubsection{\MakeUppercase{\GreekExtendedXIII}}
+ \subsubsection{\MakeUppercase{\GreekExtendedXIV}}
+ \subsubsection{\MakeUppercase{\GreekExtendedXV}}
+ \subsubsection{\MakeUppercase{\GreekExtendedXVI}}
+
+ \ifdefined \extrasgreek
+ \selectlanguage{english}
+ \fi
+\fi
+
\begin{table}[bp]
\centering
- \begin{tabular}{lcc}
- \hline
- macro & text & math \\
- \hline
- \verb$\beta$ & \beta & $\beta$ \\
- \verb$\varbeta$ & \varbeta & $\varbeta$ \\
- \verb$\betasymbol$ & \betasymbol & $\betasymbol$ \\
- \hline
- \verb$\epsilon$ & \epsilon & $\epsilon$ \\
- \verb$\varepsilon$ & \varepsilon & $\varepsilon$ \\
- \verb$\epsilonsymbol$ & \epsilonsymbol & $\epsilonsymbol$ \\
- \hline
- \verb$\phi$ & \phi & $\phi$ \\
- \verb$\varphi$ & \varphi & $\varphi$ \\
- \verb$\phisymbol$ & \phisymbol & $\phisymbol$ \\
- \hline
- \verb$\kappa$ & \kappa & $\kappa$ \\
- \verb$\varkappa$ & \varkappa & $\varkappa$ \\
- \verb$\kappasymbol$ & \kappasymbol & $\kappasymbol$ \\
- \hline
- \verb$\pi$ & \pi & $\pi$ \\
- \verb$\varpi$ & \varpi & $\varpi$ \\
- \verb$\pisymbol$ & \pisymbol & $\pisymbol$ \\
- \hline
- \verb$\rho$ & \rho & $\rho$ \\
- \verb$\varrho$ & \varrho & $\varrho$ \\
- \verb$\rhosymbol$ & \rhosymbol & $\rhosymbol$ \\
- \hline
- \verb$\sigma$ & \sigma & $\sigma$ \\
- \verb$\varsigma$ & \varsigma & $\varsigma$ \\
- \verb$\finalsigma$ & \finalsigma & $\finalsigma$ \\
- \hline
- \verb$\theta$ & \theta & $\theta$ \\
- \verb$\vartheta$ & \vartheta & $\vartheta$ \\
- \verb$\thetasymbol$ & \thetasymbol & $\thetasymbol$ \\
- \hline
- \verb$\Theta$ & \Theta & $\Theta$ \\
- \verb$\varTheta$ & \missing & $\varTheta$ \\
- \verb$\Thetasymbol$ & \Thetasymbol & \missing \\
- \hline
+ \begin{tabular}[t]{lcc}
+ \hline
+ macro & text & math \\
+ \hline \\
+ \verb$\beta$ & \beta & $\beta$ \\
+ \verb$\varbeta$ & \varbeta & $\varbeta$ \\
+ \verb$\betasymbol$ & \betasymbol & $\betasymbol$ \\
+ \hline \\
+ \verb$\epsilon$ & \epsilon & $\epsilon$ \\
+ \verb$\varepsilon$ & \varepsilon & $\varepsilon$ \\
+ \verb$\epsilonsymbol$ & \epsilonsymbol & $\epsilonsymbol$\\
+ \hline \\
+ \verb$\phi$ & \phi & $\phi$ \\
+ \verb$\varphi$ & \varphi & $\varphi$ \\
+ \verb$\phisymbol$ & \phisymbol & $\phisymbol$ \\
+ \hline \\
+ \verb$\kappa$ & \kappa & $\kappa$ \\
+ \verb$\varkappa$ & \varkappa & $\varkappa$ \\
+ \verb$\kappasymbol$ & \kappasymbol & $\kappasymbol$ \\
+ \hline \\
+ \verb$\pi$ & \pi & $\pi$ \\
+ \verb$\varpi$ & \varpi & $\varpi$ \\
+ \verb$\pisymbol$ & \pisymbol & $\pisymbol$ \\
+ \hline \\
+ % \end{tabular}
+ % \begin{tabular}[t]{lcc}
+ % \hline
+ % macro & text & math \\
+ % \hline \\
+ \verb$\rho$ & \rho & $\rho$ \\
+ \verb$\varrho$ & \varrho & $\varrho$ \\
+ \verb$\rhosymbol$ & \rhosymbol & $\rhosymbol$ \\
+ \hline \\
+ \verb$\sigma$ & \sigma & $\sigma$ \\
+ \verb$\varsigma$ & \varsigma & $\varsigma$ \\
+ \verb$\finalsigma$ & \finalsigma & $\finalsigma$ \\
+ \hline \\
+ \verb$\theta$ & \theta & $\theta$ \\
+ \verb$\vartheta$ & \vartheta & $\vartheta$ \\
+ \verb$\thetasymbol$ & \thetasymbol & $\thetasymbol$ \\
+ \hline \\
+ \verb$\Theta$ & \Theta & $\Theta$ \\
+ \verb$\varTheta$ & \varTheta & $\varTheta$ \\
+ \verb$\Thetasymbol$ & \Thetasymbol & \missing \\
+ \hline \\
\end{tabular}
- \caption{Macros for Greek symbol variants (\missing = symbol only
- available with additional packages).
- With 8-bit TeX and the \texttt{normalize-symbols} option, the output for
- both variants in text mode is the same (8-bit Greek text fonts contain
- only one symbol variant). \label{tab:symbol-variant-macros}}
+ \caption{Macros for Greek \hyperref[sec:symbol-variants]{symbol variants}
+ (\missing = symbol only available with additional packages).
+ With 8-bit TeX and the
+ \hyperref[item:normalize-symbols]{\texttt{normalize-symbols}} option,
+ the output for both variants in text mode is the same (8-bit Greek text
+ fonts contain only one symbol variant). \label{tab:symbol-variant-macros}}
\end{table}
+
\end{document}
Deleted: trunk/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-lgr.def.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-lgr.def.html 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-lgr.def.html 2023-09-12 20:09:52 UTC (rev 68249)
@@ -1,978 +0,0 @@
-<!DOCTYPE html>
-<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="viewport" content="width=device-width, initial-scale=1" />
-<meta name="dcterms.rights" content="© 2014, 2020 Günter Milde" />
-<title>alphabeta-lgr.def</title>
-<link rel="schema.dcterms" href="http://purl.org/dc/terms/"/>
-<style type="text/css">
-
-/* Minimal style sheet for the HTML output of Docutils. */
-/* */
-/* :Author: Günter Milde, based on html4css1.css by David Goodger */
-/* :Id: $Id$ */
-/* :Copyright: © 2015, 2021 Günter Milde. */
-/* :License: Released under the terms of the `2-Clause BSD license`_, */
-/* in short: */
-/* */
-/* Copying and distribution of this file, with or without modification, */
-/* are permitted in any medium without royalty provided the copyright */
-/* notice and this notice are preserved. */
-/* */
-/* This file is offered as-is, without any warranty. */
-/* */
-/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */
-
-/* This CSS3 stylesheet defines rules for Docutils elements without */
-/* HTML equivalent. It is required to make the document semantics visible. */
-/* */
-/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */
-
-/* titles */
-p.topic-title,
-p.admonition-title,
-p.system-message-title {
- font-weight: bold;
-}
-p.sidebar-title,
-p.rubric {
- font-weight: bold;
- font-size: larger;
-}
-p.rubric {
- color: maroon;
-}
-p.subtitle,
-p.section-subtitle,
-p.sidebar-subtitle {
- font-weight: bold;
- margin-top: -0.5em;
-}
-h1 + p.subtitle {
- font-size: 1.6em;
-}
-a.toc-backref {
- color: inherit;
- text-decoration: none;
-}
-
-/* Warnings, Errors */
-.system-messages h2,
-.system-message-title,
-span.problematic {
- color: red;
-}
-
-/* Inline Literals */
-.docutils.literal {
- font-family: monospace;
- white-space: pre-wrap;
-}
-/* do not wrap at hyphens and similar: */
-.literal > span.pre { white-space: nowrap; }
-
-/* Lists */
-
-/* compact and simple lists: no margin between items */
-.simple li, .simple ul, .simple ol,
-.compact li, .compact ul, .compact ol,
-.simple > li p, dl.simple > dd,
-.compact > li p, dl.compact > dd {
- margin-top: 0;
- margin-bottom: 0;
-}
-/* Nested Paragraphs */
-p:first-child { margin-top: 0; }
-p:last-child { margin-bottom: 0; }
-details > p:last-child { margin-bottom: 1em; }
-
-/* Table of Contents */
-.contents ul.auto-toc { /* section numbers present */
- list-style-type: none;
-}
-
-/* Enumerated Lists */
-ol.arabic { list-style: decimal }
-ol.loweralpha { list-style: lower-alpha }
-ol.upperalpha { list-style: upper-alpha }
-ol.lowerroman { list-style: lower-roman }
-ol.upperroman { list-style: upper-roman }
-
-/* Definition Lists and Derivatives */
-dt .classifier { font-style: italic }
-dt .classifier:before {
- font-style: normal;
- margin: 0.5em;
- content: ":";
-}
-/* Field Lists and similar */
-/* bold field name, content starts on the same line */
-dl.field-list,
-dl.option-list,
-dl.docinfo {
- display: flow-root;
-}
-dl.field-list > dt,
-dl.option-list > dt,
-dl.docinfo > dt {
- font-weight: bold;
- clear: left;
- float: left;
- margin: 0;
- padding: 0;
- padding-right: 0.2em;
-}
-/* Offset for field content (corresponds to the --field-name-limit option) */
-dl.field-list > dd,
-dl.option-list > dd,
-dl.docinfo > dd {
- margin-left: 9em; /* ca. 14 chars in the test examples, fit all Docinfo fields */
-}
-/* start nested lists on new line */
-dd > dl:first-child,
-dd > ul:first-child,
-dd > ol:first-child {
- clear: left;
-}
-/* start field-body on a new line after long field names */
-dl.field-list > dd > *:first-child,
-dl.option-list > dd > *:first-child
-{
- display: inline-block;
- width: 100%;
- margin: 0;
-}
-
-/* Bibliographic Fields (docinfo) */
-dl.docinfo pre.address {
- font: inherit;
- margin: 0.5em 0;
-}
-dl.docinfo > dd.authors > p { margin: 0; }
-
-/* Option Lists */
-dl.option-list > dt { font-weight: normal; }
-span.option { white-space: nowrap; }
-
-/* Footnotes and Citations */
-
-.footnote, .citation { margin: 1em 0; } /* default paragraph skip (Firefox) */
-/* hanging indent */
-.citation { padding-left: 2em; }
-.footnote { padding-left: 1.7em; }
-.footnote.superscript { padding-left: 1.0em; }
-.citation > .label { margin-left: -2em; }
-.footnote > .label { margin-left: -1.7em; }
-.footnote.superscript > .label { margin-left: -1.0em; }
-
-.footnote > .label + *,
-.citation > .label + * {
- display: inline-block;
- margin-top: 0;
- vertical-align: top;
-}
-.footnote > .backrefs + *,
-.citation > .backrefs + * {
- margin-top: 0;
-}
-.footnote > .label + p, .footnote > .backrefs + p,
-.citation > .label + p, .citation > .backrefs + p {
- display: inline;
- vertical-align: inherit;
-}
-
-.backrefs { user-select: none; }
-.backrefs > a { font-style: italic; }
-
-/* superscript footnotes */
-a[role="doc-noteref"].superscript,
-.footnote.superscript > .label,
-.footnote.superscript > .backrefs {
- vertical-align: super;
- font-size: smaller;
- line-height: 1;
-}
-a[role="doc-noteref"].superscript > .fn-bracket,
-.footnote.superscript > .label > .fn-bracket {
- /* hide brackets in display but leave for copy/paste */
- display: inline-block;
- width: 0;
- overflow: hidden;
-}
-[role="doc-noteref"].superscript + [role="doc-noteref"].superscript {
- padding-left: 0.15em; /* separate consecutive footnote references */
- /* TODO: unfortunately, "+" also selects with text between the references. */
-}
-
-/* Alignment */
-.align-left {
- text-align: left;
- margin-right: auto;
-}
-.align-center {
- text-align: center;
- margin-left: auto;
- margin-right: auto;
-}
-.align-right {
- text-align: right;
- margin-left: auto;
-}
-.align-top { vertical-align: top; }
-.align-middle { vertical-align: middle; }
-.align-bottom { vertical-align: bottom; }
-
-/* reset inner alignment in figures and tables */
-figure.align-left, figure.align-right,
-table.align-left, table.align-center, table.align-right {
- text-align: inherit;
-}
-
-/* Text Blocks */
-.topic { margin: 1em 2em; }
-.sidebar,
-.admonition,
-.system-message {
- margin: 1em 2em;
- border: thin solid;
- padding: 0.5em 1em;
-}
-div.line-block { display: block; }
-div.line-block div.line-block, pre { margin-left: 2em; }
-
-/* Code line numbers: dropped when copying text from the page */
-pre.code .ln { display: none; }
-pre.code code:before {
- content: attr(data-lineno); /* …, none) fallback not supported by any browser */
- color: gray;
-}
-
-/* Tables */
-table {
- border-collapse: collapse;
-}
-td, th {
- border: thin solid silver;
- padding: 0 1ex;
-}
-.borderless td, .borderless th {
- border: 0;
- padding: 0;
- padding-right: 0.5em /* separate table cells */
-}
-
-table > caption {
- text-align: left;
- margin-top: 0.2em;
- margin-bottom: 0.2em;
-}
-table.captionbelow {
- caption-side: bottom;
-}
-
-/* Document Header and Footer */
-header { border-bottom: 1px solid black; }
-footer { border-top: 1px solid black; }
-
-/* Images are block-level by default in Docutils */
-/* New HTML5 block elements: set display for older browsers */
-img, header, footer, main, aside, nav, section, figure, video, details {
- display: block;
-}
-/* inline images */
-p img, p video, figure img, figure video {
- display: inline;
-}
-
-</style>
-<style type="text/css">
-
-/* CSS3_ style sheet for the output of Docutils HTML5 writer. */
-/* Generic responsive design for all screen sizes. */
-/* */
-/* :Author: Günter Milde */
-/* */
-/* :Id: $Id$ */
-/* :Copyright: © 2021 Günter Milde. */
-/* :License: Released under the terms of the `2-Clause BSD license`_, */
-/* in short: */
-/* */
-/* Copying and distribution of this file, with or without modification, */
-/* are permitted in any medium without royalty provided the copyright */
-/* notice and this notice are preserved. */
-/* */
-/* This file is offered as-is, without any warranty. */
-/* */
-/* .. _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: */
-/* the API is not settled and may change with any minor Docutils version. */
-
-
-
-/* General Settings */
-/* ================ */
-
-
-* { box-sizing: border-box; }
-
-body {
- background-color: #fafaf6;
- margin: auto;
- --field-indent: 6.6em; /* indent of fields in field lists */
- --sidebar-margin-right: 0; /* adapted in media queries below */
-}
-main {
- counter-reset: figure table;
-}
-body > * {
- background-color: white;
- line-height: 1.6;
- padding: 0.5rem calc(29% - 7.2rem); /* go from 5% to 15% (8.15em/54em) */
- margin: auto;
- max-width: 100rem;
-}
-sup, sub { /* avoid additional inter-line space for lines with sup/sub */
- line-height: 1;
-}
-
-/* Vertical Space (Parskip) */
-p, ol, ul, dl, li,
-div.line-block,
-.topic,
-.footnote, .citation,
-div > math,
-table {
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-h1, h2, h3, h4, h5, h6,
-dl > dd, details > p:last-child {
- margin-bottom: 0.5em;
-}
-
-/* Indented Blocks */
-blockquote, figure, .topic {
- margin: 1em 2%;
- padding-left: 1em;
-}
-div.line-block div.line-block,
-pre, dd, dl.option-list {
- margin-left: calc(2% + 1em);
-}
-
-/* Object styling */
-/* ============== */
-
-footer, header {
- font-size: small;
-}
-
-/* Frontmatter */
-div.dedication {
- padding: 0;
- margin: 1.4em 0;
- font-style: italic;
- font-size: large;
-}
-.dedication p.topic-title {
- display: none;
-}
-
-blockquote p.attribution,
-.topic p.attribution {
- text-align: right;
-}
-
-/* Table of Contents */
-nav.contents ul {
- padding-left: 1em;
-}
-ul.auto-toc > li > p { /* hanging indent */
- padding-left: 1em;
- text-indent: -1em;
-}
-main > nav.contents ul:not(.auto-toc) {
- list-style-type: square;
-}
-main > nav.contents ul ul:not(.auto-toc) {
- list-style-type: disc;
-}
-main > nav.contents ul ul ul:not(.auto-toc) {
- list-style-type: '\2B29\ ';
-}
-main > nav.contents ul ul ul ul:not(.auto-toc) {
- list-style-type: '\2B1D\ ';
-}
-main > nav.contents ul ul ul ul ul:not(.auto-toc) {
- list-style-type: '\2B2A\ ';
-}
-nav.contents ul > li::marker {
- color: grey;
-}
-
-/* Transitions */
-hr {
- margin: 1em 10%;
-}
-
-/* Lists */
-
-ul, ol {
- padding-left: 1.1em; /* indent by bullet width (Firefox, DejaVu fonts) */
-}
-dl.field-list > dd,
-dl.docinfo > dd {
- margin-left: var(--field-indent); /* adapted in media queries or HTML */
-}
-dl.option-list > dd {
- margin-left: 20%;
-}
-/* run-in: start field-body on same line after long field names */
-dl.field-list.run-in > dd p {
- display: block;
-}
-/* "description style" like in most dictionaries, encyclopedias etc. */
-dl.description {
- display: flow-root;
-}
-dl.description > dt {
- clear: left;
- float: left;
- margin: 0;
- padding: 0;
- padding-right: 0.3em;
- font-weight: bold;
-}
-dl.description > dd:after {
- display: table;
- content: "";
- clear: left; /* clearfix for empty descriptions */
-}
-/* start lists nested in description/field lists on new line */
-dd > dl:first-child,
-dd > ul:first-child,
-dd > ol:first-child {
- clear: left;
-}
-
-/* disclosures */
-details { padding-left: 1em; }
-summary { margin-left: -1em; }
-
-/* Footnotes and Citations */
-.footnote {
- font-size: small;
-}
-
-/* Images, Figures, and Tables */
-img {
- display: block;
-}
-p > img, p > a > img,
-figure > img, figure > a > img {
- display: inline;
-}
-
-figcaption,
-table > caption {
- /* font-size: small; */
- font-style: italic;
-}
-figcaption > .legend {
- font-size: small;
- font-style: initial;
-}
-figure.numbered > figcaption > p:before {
- counter-increment: figure;
- content: "Figure " counter(figure) ": ";
- font-weight: bold;
- font-style: initial;
-}
-
-table tr {
- text-align: left;
- vertical-align: baseline;
-}
-table.booktabs { /* "booktabs" style (no vertical lines) */
- border-top: 2px solid;
- border-bottom: 2px solid;
-}
-table.booktabs * {
- border: 0;
-}
-table.booktabs th {
- border-bottom: thin solid;
-}
-table.numbered > caption:before {
- counter-increment: table;
- content: "Table " counter(table) ": ";
- font-weight: bold;
- font-style: initial;
-}
-
-/* Admonitions and System Messages */
-.admonition,
-div.system-message {
- border: thin solid silver;
- margin: 1em 2%;
- padding: 0.5em 1em;
-}
-.caution p.admonition-title,
-.attention p.admonition-title,
-.danger p.admonition-title,
-.warning p.admonition-title,
-div.error {
- color: maroon;
-}
-div.system-message > p > span.literal {
- overflow-wrap: break-word;
-}
-
-/* Literal and Code */
-pre.literal-block, pre.doctest{
- padding: 0.2em;
- overflow-x: auto;
-}
-.literal-block, .doctest, span.literal {
- background-color: #f6f9f8;
-}
-.system-message span.literal {
- background-color: inherit;
-}
-
-/* basic highlighting: for a complete scheme, see */
-/* https://docutils.sourceforge.io/sandbox/stylesheets/ */
-pre.code .comment, code .comment { color: #5C6576 }
-pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
-pre.code .literal.string, code .literal.string { color: #0C5404 }
-pre.code .name.builtin, code .name.builtin { color: #352B84 }
-pre.code .deleted, code .deleted { background-color: #DEB0A1}
-pre.code .inserted, code .inserted { background-color: #A3D289}
-
-/* Hyperlink References */
-a {
- text-decoration: none; /* for chromium */
- /* Wrap links at any place, if this is the only way to prevent overflow */
- overflow-wrap: break-word;
-}
-.contents a, a.toc-backref, a.citation-reference {
- overflow-wrap: inherit;
-}
-/* Undecorated Links (see also minimal.css) */
-/* a.citation-reference, */
-.citation a.fn-backref {
- color: inherit;
-}
-a:hover {
- text-decoration: underline;
-}
-*:hover > a.toc-backref:after {
- content: " \2191"; /* ↑ UPWARDS ARROW */
- color: grey;
-}
-*:hover > a.self-link:after {
- content: "\1F517"; /* LINK SYMBOL */
- color: grey;
- font-size: smaller;
- margin-left: 0.2em;
-}
-/* highlight the target of the current URL */
-section:target > h2, section:target > h3, section:target > h4,
-section:target > h5, section:target > h6,
-.contents :target,
-.contents:target > .topic-title,
-[role="doc-biblioentry"]:target > .label,
-[role="doc-biblioref"]:target,
-[role="note"]:target, /* Docutils 0.18 ... 0.19 */
-[role="doc-footnote"]:target, /* Docutils >= 0.20 */
-[role="doc-noteref"]:target {
- background-color: #d2e6ec;
-}
-
-/* Block Alignment */
-/* Let content flow to the side of aligned images and figures */
-
-/* no floats around this elements */
-footer, header, hr,
-h1, h2, h3 {
- clear: both;
-}
-
-img.align-left,
-video.align-left,
-figure.align-left,
-table.align-left {
- margin-left: 0;
- padding-left: 0;
- margin-right: 0.5em;
- clear: left;
- float: left;
-}
-img.align-right,
-video.align-right,
-figure.align-right,
-table.align-right {
- margin-left: 0.5em;
- margin-right: 0;
- clear: right;
- float: right;
-}
-
-/* Margin Elements */
-/* see below for screen size dependent rules */
-.sidebar,
-.marginal,
-.admonition.marginal {
- max-width: 40%;
- border: none;
- background-color: #efefea;
- margin: 0.5em var(--sidebar-margin-right) 0.5em 1em;
- padding: 0.5em;
- padding-left: 0.7em;
- clear: right;
- float: right;
- font-size: small;
-}
-.sidebar {
- width: 40%;
-}
-
-/* Math */
-/* for math-output=MathML (for math-output=HTML, see math.css) */
-math .boldsymbol {
- font-weight: bold;
-}
-mstyle.mathscr, mi.mathscr {
- font-family: STIX;
-}
-
-/* Adaptive page layout */
-/* ==================== */
-
- at media (max-width: 30em) {
- /* Smaller margins and no floating elements for small screens */
- /* (main text less than 40 characters/line) */
- body > * {
- padding: 0.5rem 5%;
- line-height: 1.4
- }
- .sidebar,
- .marginal,
- .admonition.marginal {
- width: auto;
- max-width: 100%;
- float: none;
- }
- dl.option-list,
- pre {
- margin-left: 0;
- }
- body {
- --field-indent: 4em;
- }
- dl.field-list.narrow, dl.docinfo, dl.option-list {
- --field-indent: 2.4em;
- }
- pre, pre * {
- font-size: 0.9em;
- /* overflow: auto; */
- }
-}
-
- at media (min-width: 54em) {
- /* Move ToC to the left */
- /* Main text width before: 70% ≙ 35em ≙ 75…95 chrs (Dejavu/Times) */
- /* after: ≳ 30em ≙ 54…70 chrs (Dejavu/Times) */
- body.with-toc {
- padding-left: 8%;
- }
- body.with-toc > * {
- margin-left: 0;
- padding-left: 22rem; /* fallback for webkit */
- padding-left: min(22%, 22rem);
- padding-right: 7%;
- }
- main > nav.contents { /* global ToC */
- position: fixed;
- top: 0;
- left: 0;
- width: min(25%, 25em);
- height: 100vh;
- margin: 0;
- background-color: #fafaf6;
- padding: 1em 2% 0 2%;
- overflow: auto;
- }
- main > nav.contents > * {
- padding-left: 0;
- line-height: 1.4;
- }
- main > nav.contents a {
- color: inherit;
- }
-}
-
- at media (min-width: 70em) {
- body {
- --field-indent: 9em;
- }
-}
-
- at media (min-width: 77em) {
- /* Move marginalia to 6rem from right border */
- /* .sidebar, */
- /* .marginal, */
- /* .admonition.marginal { */
- /* margin-right: calc(6rem - 15%); */
- /* } */
- /* BUG: margin is calculated for break point width */
- /* workaround: variable + many breakpoints */
- body > * {
- padding-left: 18%;
- padding-right: 28%; /* fallback for webkit */
- padding-right: min(28%, 28rem);
- --sidebar-margin-right: -20rem;
- }
- /* limit main text to ~ 50em ≙ 85…100 characters DejaVu rsp. …120 Times */
- body.with-toc > * {
- padding-left: min(22%, 22rem);
- padding-right: calc(78% - 50rem); /* fallback for webkit */
- padding-right: min(78% - 50rem, 28rem);
- --sidebar-margin-right: 0;
- }
-}
-
- at media (min-width: 85em) {
- body.with-toc > * {
- --sidebar-margin-right: -9rem;
- }
-}
-
- at media (min-width: 90em) {
- /* move marginalia into the margin */
- body > * {
- padding-left: min(22%, 22rem);
- --sidebar-margin-right: -23rem;
- }
- body.with-toc > * {
- --sidebar-margin-right: -14rem;
- }
-}
-
- at media (min-width: 99em) {
- /* move marginalia out of main text area */
- body.with-toc > * {
- --sidebar-margin-right: -20rem;
- }
- body > *, body.with-toc > * { /* for webkit */
- padding-left: 22rem;
- padding-right: 28rem;
- }
- .admonition.marginal,
- .marginal {
- width: 40%; /* make marginal figures, ... "full width" */
- }
-}
-
- at media (min-width: 104em) {
- body.with-toc > * {
- --sidebar-margin-right: -23rem;
- }
-}
-
-</style>
-</head>
-<body>
-<main id="alphabeta-lgr-def">
-<h1 class="title">alphabeta-lgr.def</h1>
-<p class="subtitle" id="composite-definitions-for-8-bit-tex">Composite definitions for 8-bit TeX</p>
-<dl class="docinfo">
-<dt class="copyright">Copyright<span class="colon">:</span></dt>
-<dd class="copyright">© 2014, 2020 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
-version 1.3 of this license or any later version.</p>
-</dd>
-<dt class="identification">Identification<span class="colon">:</span></dt>
-<dd class="identification"><pre class="literal-block">\ProvidesFile{alphabeta-lgr}
-[2020/09/25 1.0 Composite definitions for 8-bit TeX]</pre>
-</dd>
-<dt class="changelog">Changelog<span class="colon">:</span></dt>
-<dd class="changelog"><table class="borderless">
-<tbody>
-<tr><td><p>0.11.2</p></td>
-<td><p>2014-09-04</p></td>
-<td><p>outsourced from <span class="docutils literal">alphabeta.sty</span>.</p></td>
-</tr>
-<tr><td><p>1.0</p></td>
-<td><p>2020-09-25</p></td>
-<td><p>New package version. No changes in this file.</p></td>
-</tr>
-</tbody>
-</table>
-</dd>
-</dl>
-<p>The <a class="reference external" href="alphabeta.sty.html">alphabeta</a> package re-defines the math macros for Greek letters 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>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">\>"\alpha</span></span> work as expected we
-define TextComposites with the <cite>letter name commands</cite>.</p>
-<p>This file expands the font encoding definitions in <a class="reference external" href="lgrenc.def.html">lgrenc.def</a> with
-composite commands for use with 8-bit TeX fonts. It is sourced by
-<a class="reference external" href="alphabeta.sty.html">alphabeta</a> under 8-bit TeX (pdfTeX, eTeX, TeX).</p>
-<pre class="literal-block">\DeclareTextComposite{\accvaria}{LGR}{\alpha}{128}
-\DeclareTextComposite{\accdasia}{LGR}{\alpha}{129}
-\DeclareTextComposite{\accpsili}{LGR}{\alpha}{130}
-\DeclareTextComposite{\accdasiavaria}{LGR}{\alpha}{131}
-\DeclareTextComposite{\acctonos}{LGR}{\alpha}{136}
-\DeclareTextComposite{\accdasiaoxia}{LGR}{\alpha}{137}
-\DeclareTextComposite{\accpsilioxia}{LGR}{\alpha}{138}
-\DeclareTextComposite{\accpsilivaria}{LGR}{\alpha}{139}
-\DeclareTextComposite{\accperispomeni}{LGR}{\alpha}{144}
-\DeclareTextComposite{\accdasiaperispomeni}{LGR}{\alpha}{145}
-\DeclareTextComposite{\accpsiliperispomeni}{LGR}{\alpha}{146}
-\DeclareTextComposite{\accvaria}{LGR}{\eta}{152}
-\DeclareTextComposite{\accdasia}{LGR}{\eta}{153}
-\DeclareTextComposite{\accpsili}{LGR}{\eta}{154}
-\DeclareTextComposite{\acctonos}{LGR}{\eta}{160}
-\DeclareTextComposite{\accdasiaoxia}{LGR}{\eta}{161}
-\DeclareTextComposite{\accpsilioxia}{LGR}{\eta}{162}
-\DeclareTextComposite{\accdasiavaria}{LGR}{\eta}{163}
-\DeclareTextComposite{\accperispomeni}{LGR}{\eta}{168}
-\DeclareTextComposite{\accdasiaperispomeni}{LGR}{\eta}{169}
-\DeclareTextComposite{\accpsiliperispomeni}{LGR}{\eta}{170}
-\DeclareTextComposite{\accpsilivaria}{LGR}{\eta}{171}
-\DeclareTextComposite{\accvaria}{LGR}{\omega}{176}
-\DeclareTextComposite{\accdasia}{LGR}{\omega}{177}
-\DeclareTextComposite{\accpsili}{LGR}{\omega}{178}
-\DeclareTextComposite{\accdasiavaria}{LGR}{\omega}{179}
-\DeclareTextComposite{\acctonos}{LGR}{\omega}{184}
-\DeclareTextComposite{\accdasiaoxia}{LGR}{\omega}{185}
-\DeclareTextComposite{\accpsilioxia}{LGR}{\omega}{186}
-\DeclareTextComposite{\accpsilivaria}{LGR}{\omega}{187}
-\DeclareTextComposite{\accperispomeni}{LGR}{\omega}{192}
-\DeclareTextComposite{\accdasiaperispomeni}{LGR}{\omega}{193}
-\DeclareTextComposite{\accpsiliperispomeni}{LGR}{\omega}{194}
-\DeclareTextComposite{\accvaria}{LGR}{\iota}{200}
-\DeclareTextComposite{\accdasia}{LGR}{\iota}{201}
-\DeclareTextComposite{\accpsili}{LGR}{\iota}{202}
-\DeclareTextComposite{\accdasiavaria}{LGR}{\iota}{203}
-\DeclareTextComposite{\acctonos}{LGR}{\iota}{208}
-\DeclareTextComposite{\accdasiaoxia}{LGR}{\iota}{209}
-\DeclareTextComposite{\accpsilioxia}{LGR}{\iota}{210}
-\DeclareTextComposite{\accpsilivaria}{LGR}{\iota}{211}
-\DeclareTextComposite{\accperispomeni}{LGR}{\iota}{216}
-\DeclareTextComposite{\accdasiaperispomeni}{LGR}{\iota}{217}
-\DeclareTextComposite{\accpsiliperispomeni}{LGR}{\iota}{218}
-\DeclareTextComposite{\accdialytika}{LGR}{\iota}{240}
-\DeclareTextComposite{\accdialytikavaria}{LGR}{\iota}{241}
-\DeclareTextComposite{\accdialytikatonos}{LGR}{\iota}{242}
-\DeclareTextComposite{\accdialytikaperispomeni}{LGR}{\iota}{243}
-\DeclareTextComposite{\accvaria}{LGR}{\upsilon}{204}
-\DeclareTextComposite{\accdasia}{LGR}{\upsilon}{205}
-\DeclareTextComposite{\accpsili}{LGR}{\upsilon}{206}
-\DeclareTextComposite{\accdasiavaria}{LGR}{\upsilon}{207}
-\DeclareTextComposite{\acctonos}{LGR}{\upsilon}{212}
-\DeclareTextComposite{\accdasiaoxia}{LGR}{\upsilon}{213}
-\DeclareTextComposite{\accpsilioxia}{LGR}{\upsilon}{214}
-\DeclareTextComposite{\accpsilivaria}{LGR}{\upsilon}{215}
-\DeclareTextComposite{\accperispomeni}{LGR}{\upsilon}{220}
-\DeclareTextComposite{\accdasiaperispomeni}{LGR}{\upsilon}{221}
-\DeclareTextComposite{\accpsiliperispomeni}{LGR}{\upsilon}{222}
-\DeclareTextComposite{\accdialytika}{LGR}{\upsilon}{244}
-\DeclareTextComposite{\accdialytikavaria}{LGR}{\upsilon}{245}
-\DeclareTextComposite{\accdialytikatonos}{LGR}{\upsilon}{246}
-\DeclareTextComposite{\accdialytikaperispomeni}{LGR}{\upsilon}{247}
-\DeclareTextComposite{\accvaria}{LGR}{\epsilon}{224}
-\DeclareTextComposite{\accdasia}{LGR}{\epsilon}{225}
-\DeclareTextComposite{\accpsili}{LGR}{\epsilon}{226}
-\DeclareTextComposite{\accdasiavaria}{LGR}{\epsilon}{227}
-\DeclareTextComposite{\acctonos}{LGR}{\epsilon}{232}
-\DeclareTextComposite{\accdasiaoxia}{LGR}{\epsilon}{233}
-\DeclareTextComposite{\accpsilioxia}{LGR}{\epsilon}{234}
-\DeclareTextComposite{\accpsilivaria}{LGR}{\epsilon}{235}
-\DeclareTextComposite{\accvaria}{LGR}{\omicron}{228}
-\DeclareTextComposite{\accdasia}{LGR}{\omicron}{229}
-\DeclareTextComposite{\accpsili}{LGR}{\omicron}{230}
-\DeclareTextComposite{\accdasiavaria}{LGR}{\omicron}{231}
-\DeclareTextComposite{\acctonos}{LGR}{\omicron}{236}
-\DeclareTextComposite{\accdasiaoxia}{LGR}{\omicron}{237}
-\DeclareTextComposite{\accpsilioxia}{LGR}{\omicron}{238}
-\DeclareTextComposite{\accpsilivaria}{LGR}{\omicron}{239}
-\DeclareTextCompositeCommand{\accdasia}{LGR}{\Alpha}{<A}
-\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Alpha}{<`A}
-\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Alpha}{<'A}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Alpha}{<\char126A}
-\DeclareTextCompositeCommand{\accpsili}{LGR}{\Alpha}{>A}
-\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Alpha}{>`A}
-\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Alpha}{>'A}
-\DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Alpha}{>\char126A}
-\DeclareTextCompositeCommand{\acctonos}{LGR}{\Alpha}{'A}
-\DeclareTextCompositeCommand{\accvaria}{LGR}{\Alpha}{`A}
-\DeclareTextCompositeCommand{\accdasia}{LGR}{\Epsilon}{<E}
-\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Epsilon}{<'E}
-\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Epsilon}{<`E}
-\DeclareTextCompositeCommand{\accpsili}{LGR}{\Epsilon}{>E}
-\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Epsilon}{>'E}
-\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Epsilon}{>`E}
-\DeclareTextCompositeCommand{\acctonos}{LGR}{\Epsilon}{'E}
-\DeclareTextCompositeCommand{\accvaria}{LGR}{\Epsilon}{`E}
-\DeclareTextCompositeCommand{\accdasia}{LGR}{\Eta}{<H}
-\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Eta}{<`H}
-\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Eta}{<'H}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Eta}{<\char126H}
-\DeclareTextCompositeCommand{\accpsili}{LGR}{\Eta}{>H}
-\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Eta}{>`H}
-\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Eta}{>'H}
-\DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Eta}{>\char126H}
-\DeclareTextCompositeCommand{\acctonos}{LGR}{\Eta}{'H}
-\DeclareTextCompositeCommand{\accvaria}{LGR}{\Eta}{`H}
-\DeclareTextCompositeCommand{\accdasia}{LGR}{\Iota}{<I}
-\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Iota}{<`I}
-\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Iota}{<'I}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Iota}{<\char126I}
-\DeclareTextCompositeCommand{\accpsili}{LGR}{\Iota}{>I}
-\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Iota}{>`I}
-\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Iota}{>'I}
-\DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Iota}{>\char126I}
-\DeclareTextCompositeCommand{\acctonos}{LGR}{\Iota}{'I}
-\DeclareTextCompositeCommand{\accvaria}{LGR}{\Iota}{`I}
-\DeclareTextCompositeCommand{\accdasia}{LGR}{\Omicron}{<O}
-\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Omicron}{<`O}
-\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Omicron}{<'O}
-\DeclareTextCompositeCommand{\accpsili}{LGR}{\Omicron}{>O}
-\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Omicron}{>`O}
-\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Omicron}{>'O}
-\DeclareTextCompositeCommand{\acctonos}{LGR}{\Omicron}{'O}
-\DeclareTextCompositeCommand{\accvaria}{LGR}{\Omicron}{`O}
-\DeclareTextCompositeCommand{\accdasia}{LGR}{\Upsilon}{<U}
-\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Upsilon}{<`U}
-\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Upsilon}{<'U}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Upsilon}{<\char126U}
-\DeclareTextCompositeCommand{\acctonos}{LGR}{\Upsilon}{'U}
-\DeclareTextCompositeCommand{\accvaria}{LGR}{\Upsilon}{`U}
-\DeclareTextCompositeCommand{\accdasia}{LGR}{\Omega}{<W}
-\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Omega}{<`W}
-\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Omega}{<'W}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Omega}{<\char126W}
-\DeclareTextCompositeCommand{\accpsili}{LGR}{\Omega}{>W}
-\DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Omega}{>`W}
-\DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Omega}{>'W}
-\DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Omega}{>\char126W}
-\DeclareTextCompositeCommand{\acctonos}{LGR}{\Omega}{'W}
-\DeclareTextCompositeCommand{\accvaria}{LGR}{\Omega}{`W}
-\DeclareTextComposite{\accdialytika}{LGR}{\Iota}{219}
-\DeclareTextComposite{\accdialytika}{LGR}{\Upsilon}{223}
-\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\Alpha}{\LGR@A@hiatus}
-\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\Epsilon}{\LGR@E@hiatus}</pre>
-<!-- References -->
-</main>
-</body>
-</html>
Deleted: trunk/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-tuenc.def.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-tuenc.def.html 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-tuenc.def.html 2023-09-12 20:09:52 UTC (rev 68249)
@@ -1,1049 +0,0 @@
-<!DOCTYPE html>
-<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="viewport" content="width=device-width, initial-scale=1" />
-<meta content="width=device-width, initial-scale=1" name="viewport" />
-<meta name="dcterms.rights" content="© 2013, 2020 Günter Milde" />
-<title>alphabeta-tuenc.def</title>
-<link rel="schema.dcterms" href="http://purl.org/dc/terms/"/>
-<style type="text/css">
-
-/* Minimal style sheet for the HTML output of Docutils. */
-/* */
-/* :Author: Günter Milde, based on html4css1.css by David Goodger */
-/* :Id: $Id$ */
-/* :Copyright: © 2015, 2021 Günter Milde. */
-/* :License: Released under the terms of the `2-Clause BSD license`_, */
-/* in short: */
-/* */
-/* Copying and distribution of this file, with or without modification, */
-/* are permitted in any medium without royalty provided the copyright */
-/* notice and this notice are preserved. */
-/* */
-/* This file is offered as-is, without any warranty. */
-/* */
-/* .. _2-Clause BSD license: http://www.spdx.org/licenses/BSD-2-Clause */
-
-/* This CSS3 stylesheet defines rules for Docutils elements without */
-/* HTML equivalent. It is required to make the document semantics visible. */
-/* */
-/* .. _validates: http://jigsaw.w3.org/css-validator/validator$link */
-
-/* titles */
-p.topic-title,
-p.admonition-title,
-p.system-message-title {
- font-weight: bold;
-}
-p.sidebar-title,
-p.rubric {
- font-weight: bold;
- font-size: larger;
-}
-p.rubric {
- color: maroon;
-}
-p.subtitle,
-p.section-subtitle,
-p.sidebar-subtitle {
- font-weight: bold;
- margin-top: -0.5em;
-}
-h1 + p.subtitle {
- font-size: 1.6em;
-}
-a.toc-backref {
- color: inherit;
- text-decoration: none;
-}
-
-/* Warnings, Errors */
-.system-messages h2,
-.system-message-title,
-span.problematic {
- color: red;
-}
-
-/* Inline Literals */
-.docutils.literal {
- font-family: monospace;
- white-space: pre-wrap;
-}
-/* do not wrap at hyphens and similar: */
-.literal > span.pre { white-space: nowrap; }
-
-/* Lists */
-
-/* compact and simple lists: no margin between items */
-.simple li, .simple ul, .simple ol,
-.compact li, .compact ul, .compact ol,
-.simple > li p, dl.simple > dd,
-.compact > li p, dl.compact > dd {
- margin-top: 0;
- margin-bottom: 0;
-}
-/* Nested Paragraphs */
-p:first-child { margin-top: 0; }
-p:last-child { margin-bottom: 0; }
-details > p:last-child { margin-bottom: 1em; }
-
-/* Table of Contents */
-.contents ul.auto-toc { /* section numbers present */
- list-style-type: none;
-}
-
-/* Enumerated Lists */
-ol.arabic { list-style: decimal }
-ol.loweralpha { list-style: lower-alpha }
-ol.upperalpha { list-style: upper-alpha }
-ol.lowerroman { list-style: lower-roman }
-ol.upperroman { list-style: upper-roman }
-
-/* Definition Lists and Derivatives */
-dt .classifier { font-style: italic }
-dt .classifier:before {
- font-style: normal;
- margin: 0.5em;
- content: ":";
-}
-/* Field Lists and similar */
-/* bold field name, content starts on the same line */
-dl.field-list,
-dl.option-list,
-dl.docinfo {
- display: flow-root;
-}
-dl.field-list > dt,
-dl.option-list > dt,
-dl.docinfo > dt {
- font-weight: bold;
- clear: left;
- float: left;
- margin: 0;
- padding: 0;
- padding-right: 0.2em;
-}
-/* Offset for field content (corresponds to the --field-name-limit option) */
-dl.field-list > dd,
-dl.option-list > dd,
-dl.docinfo > dd {
- margin-left: 9em; /* ca. 14 chars in the test examples, fit all Docinfo fields */
-}
-/* start nested lists on new line */
-dd > dl:first-child,
-dd > ul:first-child,
-dd > ol:first-child {
- clear: left;
-}
-/* start field-body on a new line after long field names */
-dl.field-list > dd > *:first-child,
-dl.option-list > dd > *:first-child
-{
- display: inline-block;
- width: 100%;
- margin: 0;
-}
-
-/* Bibliographic Fields (docinfo) */
-dl.docinfo pre.address {
- font: inherit;
- margin: 0.5em 0;
-}
-dl.docinfo > dd.authors > p { margin: 0; }
-
-/* Option Lists */
-dl.option-list > dt { font-weight: normal; }
-span.option { white-space: nowrap; }
-
-/* Footnotes and Citations */
-
-.footnote, .citation { margin: 1em 0; } /* default paragraph skip (Firefox) */
-/* hanging indent */
-.citation { padding-left: 2em; }
-.footnote { padding-left: 1.7em; }
-.footnote.superscript { padding-left: 1.0em; }
-.citation > .label { margin-left: -2em; }
-.footnote > .label { margin-left: -1.7em; }
-.footnote.superscript > .label { margin-left: -1.0em; }
-
-.footnote > .label + *,
-.citation > .label + * {
- display: inline-block;
- margin-top: 0;
- vertical-align: top;
-}
-.footnote > .backrefs + *,
-.citation > .backrefs + * {
- margin-top: 0;
-}
-.footnote > .label + p, .footnote > .backrefs + p,
-.citation > .label + p, .citation > .backrefs + p {
- display: inline;
- vertical-align: inherit;
-}
-
-.backrefs { user-select: none; }
-.backrefs > a { font-style: italic; }
-
-/* superscript footnotes */
-a[role="doc-noteref"].superscript,
-.footnote.superscript > .label,
-.footnote.superscript > .backrefs {
- vertical-align: super;
- font-size: smaller;
- line-height: 1;
-}
-a[role="doc-noteref"].superscript > .fn-bracket,
-.footnote.superscript > .label > .fn-bracket {
- /* hide brackets in display but leave for copy/paste */
- display: inline-block;
- width: 0;
- overflow: hidden;
-}
-[role="doc-noteref"].superscript + [role="doc-noteref"].superscript {
- padding-left: 0.15em; /* separate consecutive footnote references */
- /* TODO: unfortunately, "+" also selects with text between the references. */
-}
-
-/* Alignment */
-.align-left {
- text-align: left;
- margin-right: auto;
-}
-.align-center {
- text-align: center;
- margin-left: auto;
- margin-right: auto;
-}
-.align-right {
- text-align: right;
- margin-left: auto;
-}
-.align-top { vertical-align: top; }
-.align-middle { vertical-align: middle; }
-.align-bottom { vertical-align: bottom; }
-
-/* reset inner alignment in figures and tables */
-figure.align-left, figure.align-right,
-table.align-left, table.align-center, table.align-right {
- text-align: inherit;
-}
-
-/* Text Blocks */
-.topic { margin: 1em 2em; }
-.sidebar,
-.admonition,
-.system-message {
- margin: 1em 2em;
- border: thin solid;
- padding: 0.5em 1em;
-}
-div.line-block { display: block; }
-div.line-block div.line-block, pre { margin-left: 2em; }
-
-/* Code line numbers: dropped when copying text from the page */
-pre.code .ln { display: none; }
-pre.code code:before {
- content: attr(data-lineno); /* …, none) fallback not supported by any browser */
- color: gray;
-}
-
-/* Tables */
-table {
- border-collapse: collapse;
-}
-td, th {
- border: thin solid silver;
- padding: 0 1ex;
-}
-.borderless td, .borderless th {
- border: 0;
- padding: 0;
- padding-right: 0.5em /* separate table cells */
-}
-
-table > caption {
- text-align: left;
- margin-top: 0.2em;
- margin-bottom: 0.2em;
-}
-table.captionbelow {
- caption-side: bottom;
-}
-
-/* Document Header and Footer */
-header { border-bottom: 1px solid black; }
-footer { border-top: 1px solid black; }
-
-/* Images are block-level by default in Docutils */
-/* New HTML5 block elements: set display for older browsers */
-img, header, footer, main, aside, nav, section, figure, video, details {
- display: block;
-}
-/* inline images */
-p img, p video, figure img, figure video {
- display: inline;
-}
-
-</style>
-<style type="text/css">
-
-/* CSS3_ style sheet for the output of Docutils HTML5 writer. */
-/* Generic responsive design for all screen sizes. */
-/* */
-/* :Author: Günter Milde */
-/* */
-/* :Id: $Id$ */
-/* :Copyright: © 2021 Günter Milde. */
-/* :License: Released under the terms of the `2-Clause BSD license`_, */
-/* in short: */
-/* */
-/* Copying and distribution of this file, with or without modification, */
-/* are permitted in any medium without royalty provided the copyright */
-/* notice and this notice are preserved. */
-/* */
-/* This file is offered as-is, without any warranty. */
-/* */
-/* .. _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: */
-/* the API is not settled and may change with any minor Docutils version. */
-
-
-
-/* General Settings */
-/* ================ */
-
-
-* { box-sizing: border-box; }
-
-body {
- background-color: #fafaf6;
- margin: auto;
- --field-indent: 6.6em; /* indent of fields in field lists */
- --sidebar-margin-right: 0; /* adapted in media queries below */
-}
-main {
- counter-reset: figure table;
-}
-body > * {
- background-color: white;
- line-height: 1.6;
- padding: 0.5rem calc(29% - 7.2rem); /* go from 5% to 15% (8.15em/54em) */
- margin: auto;
- max-width: 100rem;
-}
-sup, sub { /* avoid additional inter-line space for lines with sup/sub */
- line-height: 1;
-}
-
-/* Vertical Space (Parskip) */
-p, ol, ul, dl, li,
-div.line-block,
-.topic,
-.footnote, .citation,
-div > math,
-table {
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-h1, h2, h3, h4, h5, h6,
-dl > dd, details > p:last-child {
- margin-bottom: 0.5em;
-}
-
-/* Indented Blocks */
-blockquote, figure, .topic {
- margin: 1em 2%;
- padding-left: 1em;
-}
-div.line-block div.line-block,
-pre, dd, dl.option-list {
- margin-left: calc(2% + 1em);
-}
-
-/* Object styling */
-/* ============== */
-
-footer, header {
- font-size: small;
-}
-
-/* Frontmatter */
-div.dedication {
- padding: 0;
- margin: 1.4em 0;
- font-style: italic;
- font-size: large;
-}
-.dedication p.topic-title {
- display: none;
-}
-
-blockquote p.attribution,
-.topic p.attribution {
- text-align: right;
-}
-
-/* Table of Contents */
-nav.contents ul {
- padding-left: 1em;
-}
-ul.auto-toc > li > p { /* hanging indent */
- padding-left: 1em;
- text-indent: -1em;
-}
-main > nav.contents ul:not(.auto-toc) {
- list-style-type: square;
-}
-main > nav.contents ul ul:not(.auto-toc) {
- list-style-type: disc;
-}
-main > nav.contents ul ul ul:not(.auto-toc) {
- list-style-type: '\2B29\ ';
-}
-main > nav.contents ul ul ul ul:not(.auto-toc) {
- list-style-type: '\2B1D\ ';
-}
-main > nav.contents ul ul ul ul ul:not(.auto-toc) {
- list-style-type: '\2B2A\ ';
-}
-nav.contents ul > li::marker {
- color: grey;
-}
-
-/* Transitions */
-hr {
- margin: 1em 10%;
-}
-
-/* Lists */
-
-ul, ol {
- padding-left: 1.1em; /* indent by bullet width (Firefox, DejaVu fonts) */
-}
-dl.field-list > dd,
-dl.docinfo > dd {
- margin-left: var(--field-indent); /* adapted in media queries or HTML */
-}
-dl.option-list > dd {
- margin-left: 20%;
-}
-/* run-in: start field-body on same line after long field names */
-dl.field-list.run-in > dd p {
- display: block;
-}
-/* "description style" like in most dictionaries, encyclopedias etc. */
-dl.description {
- display: flow-root;
-}
-dl.description > dt {
- clear: left;
- float: left;
- margin: 0;
- padding: 0;
- padding-right: 0.3em;
- font-weight: bold;
-}
-dl.description > dd:after {
- display: table;
- content: "";
- clear: left; /* clearfix for empty descriptions */
-}
-/* start lists nested in description/field lists on new line */
-dd > dl:first-child,
-dd > ul:first-child,
-dd > ol:first-child {
- clear: left;
-}
-
-/* disclosures */
-details { padding-left: 1em; }
-summary { margin-left: -1em; }
-
-/* Footnotes and Citations */
-.footnote {
- font-size: small;
-}
-
-/* Images, Figures, and Tables */
-img {
- display: block;
-}
-p > img, p > a > img,
-figure > img, figure > a > img {
- display: inline;
-}
-
-figcaption,
-table > caption {
- /* font-size: small; */
- font-style: italic;
-}
-figcaption > .legend {
- font-size: small;
- font-style: initial;
-}
-figure.numbered > figcaption > p:before {
- counter-increment: figure;
- content: "Figure " counter(figure) ": ";
- font-weight: bold;
- font-style: initial;
-}
-
-table tr {
- text-align: left;
- vertical-align: baseline;
-}
-table.booktabs { /* "booktabs" style (no vertical lines) */
- border-top: 2px solid;
- border-bottom: 2px solid;
-}
-table.booktabs * {
- border: 0;
-}
-table.booktabs th {
- border-bottom: thin solid;
-}
-table.numbered > caption:before {
- counter-increment: table;
- content: "Table " counter(table) ": ";
- font-weight: bold;
- font-style: initial;
-}
-
-/* Admonitions and System Messages */
-.admonition,
-div.system-message {
- border: thin solid silver;
- margin: 1em 2%;
- padding: 0.5em 1em;
-}
-.caution p.admonition-title,
-.attention p.admonition-title,
-.danger p.admonition-title,
-.warning p.admonition-title,
-div.error {
- color: maroon;
-}
-div.system-message > p > span.literal {
- overflow-wrap: break-word;
-}
-
-/* Literal and Code */
-pre.literal-block, pre.doctest{
- padding: 0.2em;
- overflow-x: auto;
-}
-.literal-block, .doctest, span.literal {
- background-color: #f6f9f8;
-}
-.system-message span.literal {
- background-color: inherit;
-}
-
-/* basic highlighting: for a complete scheme, see */
-/* https://docutils.sourceforge.io/sandbox/stylesheets/ */
-pre.code .comment, code .comment { color: #5C6576 }
-pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
-pre.code .literal.string, code .literal.string { color: #0C5404 }
-pre.code .name.builtin, code .name.builtin { color: #352B84 }
-pre.code .deleted, code .deleted { background-color: #DEB0A1}
-pre.code .inserted, code .inserted { background-color: #A3D289}
-
-/* Hyperlink References */
-a {
- text-decoration: none; /* for chromium */
- /* Wrap links at any place, if this is the only way to prevent overflow */
- overflow-wrap: break-word;
-}
-.contents a, a.toc-backref, a.citation-reference {
- overflow-wrap: inherit;
-}
-/* Undecorated Links (see also minimal.css) */
-/* a.citation-reference, */
-.citation a.fn-backref {
- color: inherit;
-}
-a:hover {
- text-decoration: underline;
-}
-*:hover > a.toc-backref:after {
- content: " \2191"; /* ↑ UPWARDS ARROW */
- color: grey;
-}
-*:hover > a.self-link:after {
- content: "\1F517"; /* LINK SYMBOL */
- color: grey;
- font-size: smaller;
- margin-left: 0.2em;
-}
-/* highlight the target of the current URL */
-section:target > h2, section:target > h3, section:target > h4,
-section:target > h5, section:target > h6,
-.contents :target,
-.contents:target > .topic-title,
-[role="doc-biblioentry"]:target > .label,
-[role="doc-biblioref"]:target,
-[role="note"]:target, /* Docutils 0.18 ... 0.19 */
-[role="doc-footnote"]:target, /* Docutils >= 0.20 */
-[role="doc-noteref"]:target {
- background-color: #d2e6ec;
-}
-
-/* Block Alignment */
-/* Let content flow to the side of aligned images and figures */
-
-/* no floats around this elements */
-footer, header, hr,
-h1, h2, h3 {
- clear: both;
-}
-
-img.align-left,
-video.align-left,
-figure.align-left,
-table.align-left {
- margin-left: 0;
- padding-left: 0;
- margin-right: 0.5em;
- clear: left;
- float: left;
-}
-img.align-right,
-video.align-right,
-figure.align-right,
-table.align-right {
- margin-left: 0.5em;
- margin-right: 0;
- clear: right;
- float: right;
-}
-
-/* Margin Elements */
-/* see below for screen size dependent rules */
-.sidebar,
-.marginal,
-.admonition.marginal {
- max-width: 40%;
- border: none;
- background-color: #efefea;
- margin: 0.5em var(--sidebar-margin-right) 0.5em 1em;
- padding: 0.5em;
- padding-left: 0.7em;
- clear: right;
- float: right;
- font-size: small;
-}
-.sidebar {
- width: 40%;
-}
-
-/* Math */
-/* for math-output=MathML (for math-output=HTML, see math.css) */
-math .boldsymbol {
- font-weight: bold;
-}
-mstyle.mathscr, mi.mathscr {
- font-family: STIX;
-}
-
-/* Adaptive page layout */
-/* ==================== */
-
- at media (max-width: 30em) {
- /* Smaller margins and no floating elements for small screens */
- /* (main text less than 40 characters/line) */
- body > * {
- padding: 0.5rem 5%;
- line-height: 1.4
- }
- .sidebar,
- .marginal,
- .admonition.marginal {
- width: auto;
- max-width: 100%;
- float: none;
- }
- dl.option-list,
- pre {
- margin-left: 0;
- }
- body {
- --field-indent: 4em;
- }
- dl.field-list.narrow, dl.docinfo, dl.option-list {
- --field-indent: 2.4em;
- }
- pre, pre * {
- font-size: 0.9em;
- /* overflow: auto; */
- }
-}
-
- at media (min-width: 54em) {
- /* Move ToC to the left */
- /* Main text width before: 70% ≙ 35em ≙ 75…95 chrs (Dejavu/Times) */
- /* after: ≳ 30em ≙ 54…70 chrs (Dejavu/Times) */
- body.with-toc {
- padding-left: 8%;
- }
- body.with-toc > * {
- margin-left: 0;
- padding-left: 22rem; /* fallback for webkit */
- padding-left: min(22%, 22rem);
- padding-right: 7%;
- }
- main > nav.contents { /* global ToC */
- position: fixed;
- top: 0;
- left: 0;
- width: min(25%, 25em);
- height: 100vh;
- margin: 0;
- background-color: #fafaf6;
- padding: 1em 2% 0 2%;
- overflow: auto;
- }
- main > nav.contents > * {
- padding-left: 0;
- line-height: 1.4;
- }
- main > nav.contents a {
- color: inherit;
- }
-}
-
- at media (min-width: 70em) {
- body {
- --field-indent: 9em;
- }
-}
-
- at media (min-width: 77em) {
- /* Move marginalia to 6rem from right border */
- /* .sidebar, */
- /* .marginal, */
- /* .admonition.marginal { */
- /* margin-right: calc(6rem - 15%); */
- /* } */
- /* BUG: margin is calculated for break point width */
- /* workaround: variable + many breakpoints */
- body > * {
- padding-left: 18%;
- padding-right: 28%; /* fallback for webkit */
- padding-right: min(28%, 28rem);
- --sidebar-margin-right: -20rem;
- }
- /* limit main text to ~ 50em ≙ 85…100 characters DejaVu rsp. …120 Times */
- body.with-toc > * {
- padding-left: min(22%, 22rem);
- padding-right: calc(78% - 50rem); /* fallback for webkit */
- padding-right: min(78% - 50rem, 28rem);
- --sidebar-margin-right: 0;
- }
-}
-
- at media (min-width: 85em) {
- body.with-toc > * {
- --sidebar-margin-right: -9rem;
- }
-}
-
- at media (min-width: 90em) {
- /* move marginalia into the margin */
- body > * {
- padding-left: min(22%, 22rem);
- --sidebar-margin-right: -23rem;
- }
- body.with-toc > * {
- --sidebar-margin-right: -14rem;
- }
-}
-
- at media (min-width: 99em) {
- /* move marginalia out of main text area */
- body.with-toc > * {
- --sidebar-margin-right: -20rem;
- }
- body > *, body.with-toc > * { /* for webkit */
- padding-left: 22rem;
- padding-right: 28rem;
- }
- .admonition.marginal,
- .marginal {
- width: 40%; /* make marginal figures, ... "full width" */
- }
-}
-
- at media (min-width: 104em) {
- body.with-toc > * {
- --sidebar-margin-right: -23rem;
- }
-}
-
-</style>
-</head>
-<body>
-<main id="alphabeta-tuenc-def">
-<h1 class="title">alphabeta-tuenc.def</h1>
-<p class="subtitle" id="composite-definitions-for-xetex-and-luatex">Composite definitions for XeTeX and LuaTeX</p>
-<dl class="docinfo">
-<dt class="copyright">Copyright<span class="colon">:</span></dt>
-<dd class="copyright">© 2013, 2020 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
-version 1.3 of this license or any later version.</p>
-</dd>
-<dt class="identification">Identification<span class="colon">:</span></dt>
-<dd class="identification"><pre class="literal-block">\ProvidesFile{alphabeta-tuenc}
-[2020/10/30 2.0 Composite definitions for XeTeX and LuaTeX]</pre>
-</dd>
-<dt class="changelog">Changelog<span class="colon">:</span></dt>
-<dd class="changelog"><table class="borderless">
-<tbody>
-<tr><td><p>0.1</p></td>
-<td><p>2013-09-12</p></td>
-<td><p>initial version</p></td>
-</tr>
-<tr><td><p>0.1.1</p></td>
-<td><p>2013-10-01</p></td>
-<td><p>remove clashing defs for legacy characters with oxia.</p></td>
-</tr>
-<tr><td><p>0.11.2</p></td>
-<td><p>2014-09-04</p></td>
-<td><p>documentation update</p></td>
-</tr>
-<tr><td><p>0.14</p></td>
-<td><p>2020-02-28</p></td>
-<td><p>rename to <span class="docutils literal"><span class="pre">alphabeta-tuenc.def</span></span>,
-use <span class="docutils literal">\UTFencname</span> instead of <span class="docutils literal">\LastDeclaredEncoding</span></p></td>
-</tr>
-<tr><td><p>1.0</p></td>
-<td><p>2020-09-25</p></td>
-<td><p>New package version. No changes in this file.</p></td>
-</tr>
-<tr><td><p>2.0</p></td>
-<td><p>2020-10-30</p></td>
-<td><p>Use <span class="docutils literal">\UnicodeEncodingName</span> instead of <span class="docutils literal">\UTFencname</span>.</p></td>
-</tr>
-</tbody>
-</table>
-</dd>
-</dl>
-<div class="topic abstract" role="doc-abstract">
-<p class="topic-title">Abstract</p>
-<p>Composite definitions for <span class="docutils literal">alphabeta.sty</span> with XeTeX and LuaTeX.</p>
-</div>
-<p>The <a class="reference external" href="alphabeta.sty.html">alphabeta</a> package re-defines the math macros for Greek letters 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>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">\>"\alpha</span></span> work as expected we
-define TextComposites with the <cite>letter name commands</cite>.</p>
-<p>This file expands the font encoding definitions in <a class="reference external" href="tuenc-greek.def.html">tuenc-greek.def</a> with
-composite commands for use with Unicode fonts. It is sourced by <a class="reference external" href="alphabeta.sty.html">alphabeta</a>
-under XeTeX/LuaTeX.</p>
-<section id="greek-and-coptic">
-<h2>Greek and Coptic</h2>
-<pre class="literal-block">\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Alpha}{Ά}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Epsilon}{Έ}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Eta}{Ή}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Iota}{Ί}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Omicron}{Ό}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Upsilon}{Ύ}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Omega}{Ώ}
-\DeclareTextCompositeCommand{\accdialytikatonos}{\UnicodeEncodingName}{\iota}{ΐ}
-
-\DeclareTextCompositeCommand{\"}{\UnicodeEncodingName}{\Iota}{Ϊ}
-\DeclareTextCompositeCommand{\"}{\UnicodeEncodingName}{\Upsilon}{Ϋ}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\alpha}{ά}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\epsilon}{έ}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\eta}{ή}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\iota}{ί}
-\DeclareTextCompositeCommand{\accdialytikatonos}{\UnicodeEncodingName}{\upsilon}{ΰ}
-
-\DeclareTextCompositeCommand{\"}{\UnicodeEncodingName}{\iota}{ϊ}
-\DeclareTextCompositeCommand{\"}{\UnicodeEncodingName}{\upsilon}{ϋ}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\omicron}{ό}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\upsilon}{ύ}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\omega}{ώ}</pre>
-</section>
-<section id="greek-extended">
-<h2>Greek Extended</h2>
-<p>Postfix ypogegrammeni cannot be second part of composite defs.</p>
-<pre class="literal-block">\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\alpha}{ἀ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\alpha}{ἁ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\alpha}{ἂ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\alpha}{ἃ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\alpha}{ἄ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\alpha}{ἅ}
-\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\alpha}{ἆ}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\alpha}{ἇ}
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Alpha}{Ἀ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Alpha}{Ἁ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Alpha}{Ἂ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Alpha}{Ἃ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Alpha}{Ἄ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Alpha}{Ἅ}
-\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\Alpha}{Ἆ}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Alpha}{Ἇ}
-
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\epsilon}{ἐ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\epsilon}{ἑ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\epsilon}{ἒ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\epsilon}{ἓ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\epsilon}{ἔ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\epsilon}{ἕ}
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Epsilon}{Ἐ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Epsilon}{Ἑ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Epsilon}{Ἒ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Epsilon}{Ἓ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Epsilon}{Ἔ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Epsilon}{Ἕ}
-
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\eta}{ἠ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\eta}{ἡ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\eta}{ἢ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\eta}{ἣ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\eta}{ἤ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\eta}{ἥ}
-\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\eta}{ἦ}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\eta}{ἧ}
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Eta}{Ἠ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Eta}{Ἡ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Eta}{Ἢ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Eta}{Ἣ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Eta}{Ἤ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Eta}{Ἥ}
-\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\Eta}{Ἦ}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Eta}{Ἧ}
-
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\iota}{ἰ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\iota}{ἱ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\iota}{ἲ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\iota}{ἳ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\iota}{ἴ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\iota}{ἵ}
-\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\iota}{ἶ}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\iota}{ἷ}
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Iota}{Ἰ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Iota}{Ἱ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Iota}{Ἲ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Iota}{Ἳ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Iota}{Ἴ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Iota}{Ἵ}
-\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\Iota}{Ἶ}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Iota}{Ἷ}
-
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\omicron}{ὀ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\omicron}{ὁ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\omicron}{ὂ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\omicron}{ὃ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\omicron}{ὄ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\omicron}{ὅ}
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Omicron}{Ὀ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Omicron}{Ὁ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Omicron}{Ὂ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Omicron}{Ὃ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Omicron}{Ὄ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Omicron}{Ὅ}
-
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\upsilon}{ὐ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\upsilon}{ὑ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\upsilon}{ὒ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\upsilon}{ὓ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\upsilon}{ὔ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\upsilon}{ὕ}
-\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\upsilon}{ὖ}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\upsilon}{ὗ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Upsilon}{Ὑ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Upsilon}{Ὓ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Upsilon}{Ὕ}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Upsilon}{Ὗ}
-
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\omega}{ὠ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\omega}{ὡ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\omega}{ὢ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\omega}{ὣ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\omega}{ὤ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\omega}{ὥ}
-\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\omega}{ὦ}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\omega}{ὧ}
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Omega}{Ὠ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Omega}{Ὡ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Omega}{Ὢ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Omega}{Ὣ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Omega}{Ὤ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Omega}{Ὥ}
-\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\Omega}{Ὦ}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Omega}{Ὧ}
-
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\alpha}{ὰ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\epsilon}{ὲ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\eta}{ὴ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\iota}{ὶ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\omicron}{ὸ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\upsilon}{ὺ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\omega}{ὼ}
-
-\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\alpha}{ᾰ}
-\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\alpha}{ᾱ}
-\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\alpha}{ᾶ}
-\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\alpha}{ᾶ}
-\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\Alpha}{Ᾰ}
-\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\Alpha}{Ᾱ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Alpha}{Ὰ}
-\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Alpha}{Ὰ}
-
-\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\eta}{ῆ}
-\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\eta}{ῆ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Epsilon}{Ὲ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Eta}{Ὴ}
-\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Epsilon}{Ὲ}
-\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Eta}{Ὴ}
-
-\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\iota}{ῐ}
-\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\iota}{ῑ}
-\DeclareTextCompositeCommand{\accdialytikavaria}{\UnicodeEncodingName}{\iota}{ῒ}
-\DeclareTextCompositeCommand{\accdialytikatonos}{\UnicodeEncodingName}{\iota}{ΐ}
-\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\iota}{ῖ}
-\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\iota}{ῖ}
-\DeclareTextCompositeCommand{\accdialytikaperispomeni}{\UnicodeEncodingName}{\iota}{ῗ}
-\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\Iota}{Ῐ}
-\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\Iota}{Ῑ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Iota}{Ὶ}
-\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Iota}{Ὶ}
-
-\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\upsilon}{ῠ}
-\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\upsilon}{ῡ}
-\DeclareTextCompositeCommand{\accdialytikavaria}{\UnicodeEncodingName}{\upsilon}{ῢ}
-\DeclareTextCompositeCommand{\accdialytikatonos}{\UnicodeEncodingName}{\upsilon}{ΰ}
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\rho}{ῤ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\rho}{ῥ}
-\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\upsilon}{ῦ}
-\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\upsilon}{ῦ}
-\DeclareTextCompositeCommand{\accdialytikaperispomeni}{\UnicodeEncodingName}{\upsilon}{ῧ}
-\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\Upsilon}{Ῠ}
-\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\Upsilon}{Ῡ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Upsilon}{Ὺ}
-\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Upsilon}{Ὺ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Rho}{Ῥ}
-
-\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\omega}{ῶ}
-\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\omega}{ῶ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Omicron}{Ὸ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Omega}{Ὼ}
-\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Omicron}{Ὸ}
-\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Omega}{Ὼ}</pre>
-<!-- References -->
-<!-- fix scaling in mobile browsers -->
-</section>
-</main>
-</body>
-</html>
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta.sty.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta.sty.html 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta.sty.html 2023-09-12 20:09:52 UTC (rev 68249)
@@ -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 @@
/* .. _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 @@
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 @@
<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,16 +825,27 @@
<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="#changelog" id="toc-entry-14">Changelog</a></p></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-22">Changelog</a></p></li>
+</ul>
</nav>
<section id="motivation">
<h2><a class="toc-backref" href="#toc-entry-1" role="doc-backlink">Motivation</a></h2>
@@ -842,8 +854,9 @@
<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 @@
<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">[<options>]</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,20 +887,19 @@
<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>
@@ -897,6 +906,9 @@
<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 @-catcode, allow @ in command names:</p>
+<pre class="literal-block">\edef\RestoreAtCatcode{\catcode`@=\the\catcode`@\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 @@
\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 @@
\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 @@
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 @@
\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,18 +1034,19 @@
\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} % ϛ
@@ -1033,7 +1053,8 @@
\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} % Ϡ
@@ -1040,7 +1061,7 @@
\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 @@
\providecommand*{\varkappa}{\textkappasymbol}
\fi
\providecommand*{\kappasymbol}{\varkappa}
-% \Theta/\varTheta are not a symbol variants but upright/italic shape of Theta
+% ..symbol != var.. (in "amsmath", \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{\>"\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{\>"\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@select@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">\"</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@drop@capital@accents}[1]{
+ \DeclareTextCompositeCommand{\accACUTE}{#1}{\Alpha }{\alphabeta@alpha@hiatus}
+ \DeclareTextCompositeCommand{\accACUTE}{#1}{\Epsilon}{\alphabeta@epsilon@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@hiatus@composites}[1]{
+ \DeclareTextCommand{\alphabeta@alpha@hiatus}{#1}{%
+ \csname LGR@ifnextchar\endcsname {\Iota}{\Alpha\"}{%
+ \csname LGR@ifnextchar\endcsname {\Upsilon}{\Alpha\"}{\Alpha}%
+ }%
+ }
+ \DeclareTextCommand{\alphabeta@epsilon@hiatus}{#1}{%
+ \csname LGR@ifnextchar\endcsname {\Iota}{\Epsilon\"}{%
+ \csname LGR@ifnextchar\endcsname {\Upsilon}{\Epsilon\"}{\Epsilon}%
+ }%
+ }
+ \DeclareTextCompositeCommand{\LGR@hiatus}{#1}{\Alpha}{\alphabeta@alpha@hiatus}
+ \DeclareTextCompositeCommand{\LGR@hiatus}{#1}{\Epsilon}{\alphabeta@epsilon@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">\@ifl@aded{def}{tuenc-greek}{
- \input{alphabeta-tuenc.def}
-}{}
-\@ifl@aded{def}{lgrenc}{
- \input{alphabeta-lgr.def}
+ \DeclareUnicodeComposite{\~}{\alpha }{"1FB6} % ᾶ
+ \DeclareUnicodeComposite{\~}{\eta }{"1FC6} % ῆ
+ \DeclareUnicodeComposite{\~}{\iota }{"1FD6} % ῖ
+ \DeclareUnicodeComposite{\~}{\upsilon}{"1FE6} % ῦ
+ \DeclareUnicodeComposite{\~}{\omega }{"1FF6} % ῶ
+
+ \alphabeta@drop@capital@accents{\UnicodeEncodingName}
+ \alphabeta@hiatus@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">\@ifl@aded{def}{lgrenc}{
+ \alphabeta@select@precomposed{LGR}
+ \alphabeta@hiatus@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">\@ifl@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@select@precomposed{PU}
+\alphabeta@drop@capital@accents{PU}</pre>
+<p>The hiatus feature leads to errors in PU:</p>
+<pre class="literal-block"> \DeclareTextCompositeCommand{\LGR@hiatus}{PU}{\Alpha}{\textAlpha}
+ \DeclareTextCompositeCommand{\LGR@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@select@precomposed }{\relax}
+\renewcommand*{\alphabeta@drop@capital@accents}{\relax}
+\renewcommand*{\alphabeta@hiatus@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">\@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">@uclclist</span>).
+The second and third lines are TeX’s way of writing <span class="docutils literal">@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@update@uclclist{%
+ \expandafter\def\expandafter\@uclclist\expandafter{%
+ \@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@update@uclclist\relax
+}</pre>
+<p>Expand the @uclclist using the just defined macro:</p>
+<pre class="literal-block">\alphabeta@update@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">\@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 @@
\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 @@
\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 @@
<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
Added: trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-alphabeta-tu.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-alphabeta-tu.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-alphabeta-tu.pdf 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-alphabeta-tu.pdf 2023-09-12 20:09:52 UTC (rev 68249)
Property changes on: trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-alphabeta-tu.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-alphabeta.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-alphabeta.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-alphabeta.pdf 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-alphabeta.pdf 2023-09-12 20:09:52 UTC (rev 68249)
Property changes on: trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-alphabeta.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-luatex.pdf
===================================================================
(Binary files differ)
Deleted: trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-pdftex.pdf
===================================================================
(Binary files differ)
Added: trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-tu.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-tu.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-tu.pdf 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-tu.pdf 2023-09-12 20:09:52 UTC (rev 68249)
Property changes on: trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-tu.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list-xetex.pdf
===================================================================
(Binary files differ)
Added: trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list.pdf 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list.pdf 2023-09-12 20:09:52 UTC (rev 68249)
Property changes on: trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list.tex 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/char-list.tex 2023-09-12 20:09:52 UTC (rev 68249)
@@ -1,24 +1,25 @@
\documentclass[a4paper]{article}
+\usepackage[left=3.5cm, right=3.5cm]{geometry}
-
\ifdefined \UnicodeEncodingName
\usepackage{fontspec}
- \setmainfont{FreeSerif}
- % \setmainfont{Linux Libertine O}
+ % The Harfbuzz renderer provides selection of pre-composed characters
+ % (NFC normalization) with LuaTeX
+ \setmainfont[Renderer=Harfbuzz]{FreeSerif}
+ % \setmainfont[Renderer=Harfbuzz]{Linux Libertine O}
\ifdefined\luatexversion
- \newcommand*{\texengine}{LuaLaTeX}
+ \newcommand*{\texengine}{LuaTeX}
\else
- \newcommand*{\texengine}{XeLaTeX}
+ \newcommand*{\texengine}{XeTeX}
\fi
\newcommand*{\ux}[2]{#1}
\else
\usepackage[LGR,T1]{fontenc}
\usepackage{lmodern}
- \newcommand*{\texengine}{pdfLaTeX}
+ \newcommand*{\texengine}{pdfTeX}
\newcommand*{\ux}[2]{#2}
\fi
-
% Load encoding definitions
\usepackage[normalize-symbols]{textalpha} % "Greek script everywhere"
@@ -55,6 +56,7 @@
\providecommand*{\greekfontencoding}{undefined}
\newcommand{\cs}[1]{\texttt{\textbackslash#1}}
+\newcommand{\pkgref}[1]{\emph{\href{https://ctan.org/pkg/#1}{#1}}}
% print the selected language variant
\newcommand*{\GreekLanguageVariant}{%
@@ -74,14 +76,8 @@
& \Greek{#1} & \Greek{\MakeUppercase{#1}} & \Greek{\MakeLowercase{#1}}
}
-\newcommand*{\TestUppercase}[1]{%
- \Greek{#1 → \MakeUppercase{#1}}%
-}
+\newcommand*{\TestUppercase}[1]{\Greek{#1 → \MakeUppercase{#1}}}
-% % Test: pre-composed characters with LuaTeX
-% \ifdefined\luatexversion
-% \DeclareUnicodeComposite{\'}{Α} {"0386} % Ά
-% \fi
% -----------------------------------------------------------------------
@@ -92,7 +88,7 @@
\maketitle
\abstract{ \noindent This document lists all Greek characters that are
-supported by \emph{greek-fontenc}. It also tests the outcome of
+supported by \emph{greek-fontenc} and tests the outcome of
\cs{MakeUppercase} and \cs{MakeLowercase} for different input variants
(literal input, LICR%
\footnote{LaTeX internal character representation}
@@ -140,13 +136,13 @@
\begin{longtable}{llll}
x0374 \Cases{ ʹ \textdexiakeraia{} } \\
x0375 \Cases{ ͵ \textaristerikeraia{} } \\
- x037A \Cases{ ͺ { }\ypogegrammeni{} { }\ypogegrammeni{} \ux{ͺ} {| |} } \\
- 0x37E \Cases{ ; \texterotimatiko{} \texterotimatiko{} \ux{;} {? ?} } \\
+ x037A \Cases{ ͺ { }\ypogegrammeni{} \ux{} {| } } \\
+ x037E \Cases{ ; \texterotimatiko{} \ux{} {? } } \\
\\
- x0384 \Cases{ ΄ \acctonos{ } \'{ } \ux{΄} {\'{} '} } \\
+ x0384 \Cases{ ΄ \acctonos{ } \'{ } \ux{} {\'{} '} } \\
x0385 \Cases{ ΅ \accdialytikatonos{ } \"'{ } \ux{\"'{}} {\"'{} "'} } \\
x0386 \Cases{ Ά \acctonos\textAlpha{} \'\textAlpha{} \ux{\'Α} {\'A 'A} } \\
- x0387 \Cases{ · \textanoteleia{} \textanoteleia{} \ux{·} {; ;} } \\
+ x0387 \Cases{ · \textanoteleia{} \textanoteleia{} \ux{} {; ;} } \\
x0388 \Cases{ Έ \acctonos\textEpsilon{} \'\textEpsilon{} \ux{\'Ε} {\'E 'E} } \\
x0389 \Cases{ Ή \acctonos\textEta{} \'\textEta{} \ux{\'Η} {\'H 'H} } \\
x038A \Cases{ Ί \acctonos\textIota{} \'\textIota{} \ux{\'Ι} {\'I 'I} } \\
@@ -154,32 +150,36 @@
x038E \Cases{ Ύ \acctonos\textUpsilon{} \'\textUpsilon{} \ux{\'Υ} {\'U 'U} } \\
x038F \Cases{ Ώ \acctonos\textOmega{} \'\textOmega{} \ux{\'Ω} {\'W 'W} } \\
\\
- x0390 \Cases{ ΐ \accdialytikatonos\textiota{} \'"\textiota{} \ux{\'"ι \"'ι \'\"ι \"\'ι} {\'"i \"'i \'\"i \"\'i '"i "'i} } \\
- x0391 \Cases{ Α \textAlpha{} \textAlpha{} \ux{Α} {A A } } \\
- x0392 \Cases{ Β \textBeta{} \textBeta{} \ux{Β} {B B } } \\
- x0393 \Cases{ Γ \textGamma{} \textGamma{} \ux{Γ} {G G } } \\
- x0394 \Cases{ Δ \textDelta{} \textDelta{} \ux{Δ} {D D } } \\
- x0395 \Cases{ Ε \textEpsilon{} \textEpsilon{} \ux{Ε} {E E } } \\
- x0396 \Cases{ Ζ \textZeta{} \textZeta{} \ux{Ζ} {Z Z } } \\
- x0397 \Cases{ Η \textEta{} \textEta{} \ux{Η} {H H } } \\
- x0398 \Cases{ Θ \textTheta{} \textTheta{} \ux{Θ} {J J } } \\
- x0399 \Cases{ Ι \textIota{} \textIota{} \ux{Ι} {I I } } \\
- x039A \Cases{ Κ \textKappa{} \textKappa{} \ux{Κ} {K K } } \\
- x039B \Cases{ Λ \textLambda{} \textLambda{} \ux{Λ} {L L } } \\
- x039C \Cases{ Μ \textMu{} \textMu{} \ux{Μ} {M M } } \\
- x039D \Cases{ Ν \textNu{} \textNu{} \ux{Ν} {N N } } \\
- x039E \Cases{ Ξ \textXi{} \textXi{} \ux{Ξ} {X X } } \\
- x039F \Cases{ Ο \textOmicron{} \textOmicron{} \ux{Ο} {O O } } \\
+ x0390 \Cases{ ΐ \accdialytikatonos\textiota{} \'"\textiota{} \ux{\'"ι \"'ι \'\"ι \"\'ι} {\'"i \"'i \'\"i \"\'i '"i "'i}}%
+ \ux{}{\footnote{With the pre-2022 \cs{MakeUppercase} and literal input,
+ the order of combined accents involving the dialytika is important,
+ e.g., \texttt{"'i} results in \Greek{"'i → "vI}.}} \\
+ x0391 \Cases{ Α \textAlpha{} \ux{} {A } } \\
+ x0392 \Cases{ Β \textBeta{} \ux{} {B } } \\
+ x0393 \Cases{ Γ \textGamma{} \ux{} {G } } \\
+ x0394 \Cases{ Δ \textDelta{} \ux{} {D } } \\
+ x0395 \Cases{ Ε \textEpsilon{} \ux{} {E } } \\
+ x0396 \Cases{ Ζ \textZeta{} \ux{} {Z } } \\
+ x0397 \Cases{ Η \textEta{} \ux{} {H } } \\
+ x0398 \Cases{ Θ \textTheta{} \textvarTheta{} \ux{} {J } } \\
+ x0399 \Cases{ Ι \textIota{} \ux{} {I } } \\
+ x039A \Cases{ Κ \textKappa{} \ux{} {K } } \\
+ x039B \Cases{ Λ \textLambda{} \ux{} {L } } \\
+ x039C \Cases{ Μ \textMu{} \ux{} {M } } \\
+ x039D \Cases{ Ν \textNu{} \ux{} {N } } \\
+ x039E \Cases{ Ξ \textXi{} \ux{} {X } } \\
+ x039F \Cases{ Ο \textOmicron{} \ux{} {O } } \\
\\
- 0x3A0 \Cases{ Π \textPi{} \textPi{} \ux{Π} {P P } } \\
- 0x3A1 \Cases{ Ρ \textRho{} \textRho{} \ux{Ρ} {R R } } \\
- 0x3A3 \Cases{ Σ \textSigma{} \textSigma{} \ux{Σ} {S S } } \\
- 0x3A4 \Cases{ Τ \textTau{} \textTau{} \ux{Τ} {T T } } \\
- 0x3A5 \Cases{ Υ \textUpsilon{} \textUpsilon{} \ux{Υ} {U U } } \\
- 0x3A6 \Cases{ Φ \textPhi{} \textPhi{} \ux{Φ} {F F } } \\
- 0x3A7 \Cases{ Χ \textChi{} \textChi{} \ux{Χ} {Q Q } } \\
- 0x3A8 \Cases{ Ψ \textPsi{} \textPsi{} \ux{Ψ} {Y Y } } \\
- 0x3A9 \Cases{ Ω \textOmega{} \textOmega{} \ux{Ω} {W W } } \\
+ 0x3A0 \Cases{ Π \textPi{} \ux{} {P } } \\
+ 0x3A1 \Cases{ Ρ \textRho{} \ux{} {R } } \\
+ 0x3A3 \Cases{ Σ \textSigma{} \ux{} {S } }%
+ cf. section~\ref{sec:sigma} \\
+ 0x3A4 \Cases{ Τ \textTau{} \ux{} {T } } \\
+ 0x3A5 \Cases{ Υ \textUpsilon{} \ux{} {U } } \\
+ 0x3A6 \Cases{ Φ \textPhi{} \ux{} {F } } \\
+ 0x3A7 \Cases{ Χ \textChi{} \ux{} {Q } } \\
+ 0x3A8 \Cases{ Ψ \textPsi{} \ux{} {Y } } \\
+ 0x3A9 \Cases{ Ω \textOmega{} \ux{} {W } } \\
0x3AA \Cases{ Ϊ \accdialytika\textIota{} \"\textIota{} \ux{\"Ι} {\"I "I } } \\
0x3AB \Cases{ Ϋ \accdialytika\textUpsilon{} \"\textUpsilon{} \ux{\"Υ} {\"U "U } } \\
0x3AC \Cases{ ά \acctonos\textalpha{} \'\textalpha{} \ux{\'α} {\'a 'a } } \\
@@ -186,44 +186,45 @@
0x3AD \Cases{ έ \acctonos\textepsilon{} \'\textepsilon{} \ux{\'ε} {\'e 'e } } \\
0x3AE \Cases{ ή \acctonos\texteta{} \'\texteta{} \ux{\'η} {\'h 'h } } \\
0x3AF \Cases{ ί \acctonos\textiota{} \'\textiota{} \ux{\'ι} {\'i 'i } } \\
- \\
+ \\
x03B0 \Cases{ ΰ \accdialytikatonos\textupsilon{} \"'\textupsilon{} \ux{\"'υ \'"υ \'\"υ \"\'υ} {\'"u \"'u \'\"u \"\'u '"u "'u} } \\
- x03B1 \Cases{ α \textalpha{} \textalpha{} \ux{α} {a a } } \\
- x03B2 \Cases{ β \textbeta{} \textbeta{} \ux{β} {b b } } \\
- x03B3 \Cases{ γ \textgamma{} \textgamma{} \ux{γ} {g g } } \\
- x03B4 \Cases{ δ \textdelta{} \textdelta{} \ux{δ} {d d } } \\
- x03B5 \Cases{ ε \textepsilon{} \textepsilon{} \ux{ε} {e e } } \\
- x03B6 \Cases{ ζ \textzeta{} \textzeta{} \ux{ζ} {z z } } \\
- x03B7 \Cases{ η \texteta{} \texteta{} \ux{η} {h h } } \\
- x03B8 \Cases{ θ \texttheta{} \texttheta{} \ux{θ} {j j } } \\
- x03B9 \Cases{ ι \textiota{} \textiota{} \ux{ι} {i i } } \\
- x03BA \Cases{ κ \textkappa{} \textkappa{} \ux{κ} {k k } } \\
- x03BB \Cases{ λ \textlambda{} \textlambda{} \ux{λ} {l l } } \\
- x03BC \Cases{ μ \textmu{} \textmu{} \ux{μ} {m m } } \\
- x03BD \Cases{ ν \textnu{} \textnu{} \ux{ν} {n n } } \\
- x03BE \Cases{ ξ \textxi{} \textxi{} \ux{ξ} {x x } } \\
- x03BF \Cases{ ο \textomicron{} \textomicron{} \ux{ο} {o o } } \\
+ x03B1 \Cases{ α \textalpha{} \ux{} {a } } \\
+ x03B2 \Cases{ β \textbeta{} \ux{} {b } } \\
+ x03B3 \Cases{ γ \textgamma{} \ux{} {g } } \\
+ x03B4 \Cases{ δ \textdelta{} \ux{} {d } } \\
+ x03B5 \Cases{ ε \textepsilon{} \textvarepsilon{} \ux{} {e } } \\
+ x03B6 \Cases{ ζ \textzeta{} \ux{} {z } } \\
+ x03B7 \Cases{ η \texteta{} \ux{} {h } } \\
+ x03B8 \Cases{ θ \texttheta{} \ux{} {j } } \\
+ x03B9 \Cases{ ι \textiota{} \ux{} {i } } \\
+ x03BA \Cases{ κ \textkappa{} \ux{} {k } } \\
+ x03BB \Cases{ λ \textlambda{} \ux{} {l } } \\
+ x03BC \Cases{ μ \textmu{} \ux{} {m } } \\
+ x03BD \Cases{ ν \textnu{} \ux{} {n } } \\
+ x03BE \Cases{ ξ \textxi{} \ux{} {x } } \\
+ x03BF \Cases{ ο \textomicron{} \ux{} {o } } \\
\\
- x03C0 \Cases{ π \textpi{} \textpi{} \ux{π} {p p } } \\
- x03C1 \Cases{ ρ \textrho{} \textrho{} \ux{ρ} {r r } } \\
- x03C2 \Cases{ ς \textfinalsigma{} \textfinalsigma{} \ux{ς} {s s } } \\
- x03C3 \Cases{ σ \textsigma{} \textsigma{} \ux{σ} {s\textcompwordmark{} sv } } \\
- x03C4 \Cases{ τ \texttau{} \texttau{} \ux{τ} {t t } } \\
- x03C5 \Cases{ υ \textupsilon{} \textupsilon{} \ux{υ} {u u } } \\
- x03C6 \Cases{ φ \textphi{} \textphi{} \ux{φ} {f f } } \\
- x03C7 \Cases{ χ \textchi{} \textchi{} \ux{χ} {q q } } \\
- x03C8 \Cases{ ψ \textpsi{} \textpsi{} \ux{ψ} {y y } } \\
- x03C9 \Cases{ ω \textomega{} \textomega{} \ux{ω} {w w } } \\
+ x03C0 \Cases{ π \textpi{} \ux{} {p } } \\
+ x03C1 \Cases{ ρ \textrho{} \ux{} {r } } \\
+ x03C2 \Cases{ ς \textfinalsigma{} \textvarsigma{} \ux{} {s } } \\
+ x03C3 \Cases{ σ \textsigma{} \textsigma{} \ux{} {s\textcompwordmark{} sv } }
+ \ux{}{sic!\footnote{transliteration \texttt{sv} fails in uppercase}} \\
+ x03C4 \Cases{ τ \texttau{} \ux{} {t } } \\
+ x03C5 \Cases{ υ \textupsilon{} \ux{} {u } } \\
+ x03C6 \Cases{ φ \textphi{} \textvarphi{} \ux{} {f } } \\
+ x03C7 \Cases{ χ \textchi{} \ux{} {q } } \\
+ x03C8 \Cases{ ψ \textpsi{} \ux{} {y } } \\
+ x03C9 \Cases{ ω \textomega{} \ux{} {w } } \\
x03CA \Cases{ ϊ \accdialytika\textiota{} \"\textiota{} \ux{\"ι} {\"i "i } } \\
x03CB \Cases{ ϋ \accdialytika\textupsilon{} \"\textupsilon{} \ux{\"υ} {\"u "u } } \\
x03CC \Cases{ ό \acctonos\textomicron{} \'\textomicron{} \ux{\'ο} {\'o 'o } } \\
x03CD \Cases{ ύ \acctonos\textupsilon{} \'\textupsilon{} \ux{\'υ} {\'u 'u } } \\
x03CE \Cases{ ώ \acctonos\textomega{} \'\textomega{} \ux{\'ω } {\'w 'w } } \\
- \\
- x03D0 \Cases{ ϐ \textbetasymbol } \\
- x03D1 \Cases{ ϑ \textthetasymbol } \\
- x03D5 \Cases{ ϕ \textphisymbol } \\
- x03D6 \Cases{ ϖ \textpisymbol } \\
+ \\
+ x03D0 \Cases{ ϐ \textbetasymbol{} \textvarbeta{} } \\
+ x03D1 \Cases{ ϑ \textthetasymbol{} \textvartheta{} } \\
+ x03D5 \Cases{ ϕ \textphisymbol{} } \\
+ x03D6 \Cases{ ϖ \textpisymbol{} \textvarpi{} } \\
x03D8 \Cases{ Ϙ \textQoppa{} } \\
x03D9 \Cases{ ϙ \textqoppa{} } \\
x03DA \Cases{ Ϛ \textStigma{} } \\
@@ -236,10 +237,10 @@
x03E0 \Cases{ Ϡ \textSampi{} } \\
x03E1 \Cases{ ϡ \textsampi{} } \\
\\
- x03F0 \Cases{ ϰ \textkappasymbol } \\
- x03F1 \Cases{ ϱ \textrhosymbol } \\
- x03F4 \Cases{ ϴ \textThetasymbol } \\
- x03F5 \Cases{ ϵ \textepsilonsymbol } \\
+ x03F0 \Cases{ ϰ \textkappasymbol{} \textvarkappa{} } \\
+ x03F1 \Cases{ ϱ \textrhosymbol{} \textvarrho{} } \\
+ x03F4 \Cases{ ϴ \textThetasymbol{} } \\
+ x03F5 \Cases{ ϵ \textepsilonsymbol{} } \\
\end{longtable}
@@ -452,37 +453,43 @@
x1FCE \Cases{ ῎ \accpsilioxia{} \>'{} \ux{\>'{} \'>{}} {\>'{} >'} } \\
x1FCF \Cases{ ῏ \accpsiliperispomeni{} \~>{} \ux{\>~{} \~>{}} {\~>{} ~>} } \\
\\
- x1FD0 \Cases{ ῐ \u\textiota{} \u\textiota{} \ux{\u{ι}} {\u{i} \u{i}} } \\
- x1FD1 \Cases{ ῑ \=\textiota{} \=\textiota{} \ux{\=ι} {\=i \=i} } \\
- x1FD2 \Cases{ ῒ \accdialytikavaria\textiota{} \`"\textiota{} \ux{\`"ι \"`ι \`\"ι \"\`ι} {\`"i `"i} } \\
- x1FD3 \Cases{ ΐ \accdialytikatonos\textiota{} \'"\textiota{} \ux{\'"ι \"'ι \'\"ι \"\'ι} {\'"i '"i} } \\
- x1FD6 \Cases{ ῖ \accperispomeni\textiota{} \~\textiota{} \ux{\~ι } {\~i ~i} } \\
- x1FD7 \Cases{ ῗ \accdialytikaperispomeni\textiota{} \~"\textiota{} \ux{\~"ι \"~ι \~\"ι \"\~ι} {\~"i ~"i} } \\
- x1FD8 \Cases{ Ῐ \u\textIota{} \u\textIota{} \ux{\u{Ι}} {\u{I} \u{I}} } \\
- x1FD9 \Cases{ Ῑ \=\textIota{} \=\textIota{} \ux{\=Ι} {\=I \=I} } \\
- x1FDA \Cases{ Ὶ \accvaria\textIota{} \`\textIota{} \ux{\`Ι} {\`I `I} } \\
- x1FDB \Cases{ Ί \accoxia\textIota{} \'\textIota{} \ux{\'Ι} {\'I 'I} } \\
- x1FDD \Cases{ ῝ \accdasiavaria{} \<`{} \ux{\<`{} \`<{}} {\<`{} <`} } \\
- x1FDE \Cases{ ῞ \accdasiaoxia{} \<'{} \ux{\<'{} \'<{}} {\<'{} <'} } \\
- x1FDF \Cases{ ῟ \accdasiaperispomeni{} \~<{} \ux{\<~{} \~<{}} {\~<{} ~<} } \\
+ x1FD0 \Cases{ ῐ \u\textiota{} \u\textiota{} \ux{\u{ι}} {\u{i} \u{i}} } \\
+ x1FD1 \Cases{ ῑ \=\textiota{} \=\textiota{} \ux{\=ι} {\=i \=i} } \\
+ x1FD2 \Cases{ ῒ \accdialytikavaria\textiota{} \`"\textiota{} \`\"\textiota{}
+ \"`\textiota{} \"\`\textiota{} \ux{\`"ι \"`ι \`\"ι \"\`ι} {\`"i `"i} } \\
+ x1FD3 \Cases{ ΐ \accdialytikatonos\textiota{} \'"\textiota{} \'\"\textiota{}
+ \"'\textiota{} \"\'\textiota{} \ux{\'"ι \"'ι \'\"ι \"\'ι} {\'"i '"i} } \\
+ x1FD6 \Cases{ ῖ \accperispomeni\textiota{} \~\textiota{} \ux{\~ι } {\~i ~i} } \\
+ x1FD7 \Cases{ ῗ \accdialytikaperispomeni\textiota{} \~"\textiota{} \~\"\textiota{}
+ \"~\textiota{} \"\~\textiota{} \ux{\~"ι \"~ι \~\"ι \"\~ι} {\~"i ~"i} } \\
+ x1FD8 \Cases{ Ῐ \u\textIota{} \u\textIota{} \ux{\u{Ι}} {\u{I} \u{I}} } \\
+ x1FD9 \Cases{ Ῑ \=\textIota{} \=\textIota{} \ux{\=Ι} {\=I \=I} } \\
+ x1FDA \Cases{ Ὶ \accvaria\textIota{} \`\textIota{} \ux{\`Ι} {\`I `I} } \\
+ x1FDB \Cases{ Ί \accoxia\textIota{} \'\textIota{} \ux{\'Ι} {\'I 'I} } \\
+ x1FDD \Cases{ ῝ \accdasiavaria{} \<`{} \ux{\<`{} \`<{}} {\<`{} <`} } \\
+ x1FDE \Cases{ ῞ \accdasiaoxia{} \<'{} \ux{\<'{} \'<{}} {\<'{} <'} } \\
+ x1FDF \Cases{ ῟ \accdasiaperispomeni{} \~<{} \ux{\<~{} \~<{}} {\~<{} ~<} } \\
+ \\
+ x1FE0 \Cases{ ῠ \u\textupsilon{} \u\textupsilon{} \ux{\u{υ}} {\u{u} } } \\
+ x1FE1 \Cases{ ῡ \=\textupsilon{} \=\textupsilon{} \ux{\=υ} {\=u } } \\
+ x1FE2 \Cases{ ῢ \accdialytikavaria\textupsilon{} \`"\textupsilon{} \`\"\textupsilon{}
+ \"`\textupsilon{} \"\`\textupsilon{} \ux{\`"υ \"`υ \`\"υ \"\`υ} {\`"u \"`u \`\"u \"\`u `"u "`u} } \\
+ x1FE3 \Cases{ ΰ \accdialytikatonos\textupsilon{} \'"\textupsilon{} \'\"\textupsilon{}
+ \"'\textupsilon{} \"\'\textupsilon{} \ux{\'"υ \"'υ \'\"υ \"\'υ} {\'"u \"'u \'\"u \"\'u '"u "'u} } \\
+ x1FE4 \Cases{ ῤ \accpsili\textrho{} \>\textrho{} \ux{\>ρ} {\>r >r } } \\
+ x1FE5 \Cases{ ῥ \accdasia\textrho{} \<\textrho{} \ux{\<ρ} {\<r <r } } \\
+ x1FE6 \Cases{ ῦ \accperispomeni\textupsilon{} \~\textupsilon{} \ux{\~υ} {\~u ~u } } \\
+ x1FE7 \Cases{ ῧ \accdialytikaperispomeni\textupsilon{} \~"\textupsilon{} \~\"\textupsilon{}
+ \"~\textupsilon{} \"\~\textupsilon{} \ux{\~"υ \"~υ \~\"υ \"\~υ} {\~"u \"~u \~\"u \"\~u ~"u "~u} } \\
+ x1FE8 \Cases{ Ῠ \u\textUpsilon{} \u\textUpsilon{} \ux{\u{Υ}} {\u{U} \u{U}} } \\
+ x1FE9 \Cases{ Ῡ \=\textUpsilon{} \=\textUpsilon{} \ux{\=Υ} {\=U \=U} } \\
+ x1FEA \Cases{ Ὺ \accvaria\textUpsilon{} \`\textUpsilon{} \ux{\`Υ} {\`U `U} } \\
+ x1FEB \Cases{ Ύ \accoxia\textUpsilon{} \'\textUpsilon{} \ux{\'Υ} {\'U 'U} } \\
+ x1FEC \Cases{ Ῥ \accdasia\textRho{} \<\textRho{} \ux{\<Ρ} {\<R <R} } \\
+ x1FED \Cases{ ῭ \accdialytikavaria{} \`"{} \ux{\`"{} \"`{}} {\`"{} `"} } \\
+ x1FEE \Cases{ ΅ \accdialytikatonos{} \'"{} \ux{\'"{} \"'{}} {\'"{} '"} } \\
+ x1FEF \Cases{ ` \accvaria{} \`{} \ux{\`{}} {\`{} `} } \\
\\
- x1FE0 \Cases{ ῠ \u\textupsilon{} \u\textupsilon{} \ux{\u{υ}} {\u{u} } } \\
- x1FE1 \Cases{ ῡ \=\textupsilon{} \=\textupsilon{} \ux{\=υ} {\=u } } \\
- x1FE2 \Cases{ ῢ \accdialytikavaria\textupsilon{} \`"\textupsilon{} \ux{\`"υ \"`υ \`\"υ \"\`υ} {\`"u \"`u \`\"u \"\`u `"u "`u} } \\
- x1FE3 \Cases{ ΰ \accdialytikatonos\textupsilon{} \'"\textupsilon{} \ux{\'"υ \"'υ \'\"υ \"\'υ} {\'"u \"'u \'\"u \"\'u '"u "'u} } \\
- x1FE4 \Cases{ ῤ \accpsili\textrho{} \>\textrho{} \ux{\>ρ} {\>r >r } } \\
- x1FE5 \Cases{ ῥ \accdasia\textrho{} \<\textrho{} \ux{\<ρ} {\<r <r } } \\
- x1FE6 \Cases{ ῦ \accperispomeni\textupsilon{} \~\textupsilon{} \ux{\~υ} {\~u ~u } } \\
- x1FE7 \Cases{ ῧ \accdialytikaperispomeni\textupsilon{} \~"\textupsilon{} \ux{\~"υ \"~υ \~\"υ \"\~υ} {\~"u \"~u \~\"u \"\~u ~"u "~u} } \\
- x1FE8 \Cases{ Ῠ \u\textUpsilon{} \u\textUpsilon{} \ux{\u{Υ}} {\u{U} \u{U}} } \\
- x1FE9 \Cases{ Ῡ \=\textUpsilon{} \=\textUpsilon{} \ux{\=Υ} {\=U \=U} } \\
- x1FEA \Cases{ Ὺ \accvaria\textUpsilon{} \`\textUpsilon{} \ux{\`Υ} {\`U `U} } \\
- x1FEB \Cases{ Ύ \accoxia\textUpsilon{} \'\textUpsilon{} \ux{\'Υ} {\'U 'U} } \\
- x1FEC \Cases{ Ῥ \accdasia\textRho{} \<\textRho{} \ux{\<Ρ} {\<R <R} } \\
- x1FED \Cases{ ῭ \accdialytikavaria{} \`"{} \ux{\`"{} \"`{}} {\`"{} `"} } \\
- x1FEE \Cases{ ΅ \accdialytikatonos{} \'"{} \ux{\'"{} \"'{}} {\'"{} '"} } \\
- x1FEF \Cases{ ` \accvaria{} \`{} \ux{\`{}} {\`{} `} } \\
- \\
x1FE3 \Cases{ ῲ \accvaria\textomega\ypogegrammeni{} \`\textomega\ypogegrammeni{} \ux{\`ω\ypogegrammeni{}} {\`w| `w|} } \\
x1FE4 \Cases{ ῳ \textomega\ypogegrammeni{} \textomega\ypogegrammeni{} \ux{ω\ypogegrammeni{}} {w| w|} } \\
x1FE5 \Cases{ ῴ \accoxia\textomega\ypogegrammeni{} \'\textomega\ypogegrammeni{} \ux{\'ω\ypogegrammeni{}} {\'w| 'w|} } \\
@@ -500,57 +507,79 @@
\section{Discussion}
-\subsection{Differences between literal input and LICRs}
+\subsection{Pre-composed vs. combining characters}
Under pdfTeX and XeTeX, all input variants select pre-composed characters
-if possible (\href{https://www.unicode.org/reports/tr15/}{Unicode
-normalization} NFC).
-Under luaTeX, accent macros on a literal character are printed using
-combining diacritical marks. This leads to suboptimal placement of
-diacritics with many fonts, often resulting in illegible output.
+if possible (using the NFC
+\href{https://www.unicode.org/reports/tr15/}{Unicode normalization}
+with XeTeX and ligature definitions in LGR fonts under pdfTeX).
-\subsubsection{Upcasing}
+The default LuaTeX renderer does no NFC normalization.
+This leads to sub-optimal placement of diacritics with many fonts,
+often resulting in illegible output.
+NFC normalization for LuaTeX is provided by the \pkgref{uninormalize}
+package and, alternatively, by the \emph{Harfbuzz} renderer that can be
+selected with the \verb|[Renderer=Harfbuzz]| option of the \pkgref{fontspec}
+font selection commands. This document uses the Harfbuzz renderer with LuaTeX.
-Up to 2022, diacritics were dropped from Greek letters in UPPERCASE in any
-locale. The new \cs{MakeUppercase} implementation follows the Unicode
-standard, where dropping diacritics is a feature of the Greek locale (``el'').
-However, ``named'' accent macros with Greek names behave according to Greek
-typsetting rules in \emph{all} locales.
-The current implementation also drops diacritics input via standard accent
-macros in documents that declare the Greek language with Babel.
+\subsection{Case changing}
-Apart from the diacritical marks native to Greek itself, linguists also
-regularly mark vowel length with macrons (¯) and breves (˘).
-The length markers are used in dictionaries and textbooks
-but not part of the Greek orthography. There is no established praxis
-regarding their handling in uppercase. LaTeX keeps them but
-the \href{https://icu.unicode.org/design/case/greek-upper}{%
-Unicode reference implementation} drops them.
+\subsubsection{Diacritics}
-Greek stand-alone diacritics are dropped by \cs{MakeUppercase} if input via
-accent macros (e.g. \cs{accdialytika} or \cs{'>}).
+According to Greek typographical conventions, most\footnote{
+ Exceptions are the diaeresis, the sub-iota, and the
+ length markers macron (¯) and breve (˘).
+ The length markers are used in dictionaries and textbooks but not
+ part of the Greek orthography. There is no established practice
+ regarding their handling in uppercase. LaTeX keeps them but the
+ \href{https://icu.unicode.org/design/case/greek-upper}
+ {Unicode reference implementation} drops them.
+}
+diacritics are dropped in UPPERCASE. Up to 2022, \cs{MakeUppercase}
+dropped diacritics from Greek letters in any locale
+(except for standard accent macros).
+For \emph{literal characters}, the new \cs{MakeUppercase}
+implementation follows the Unicode standard, where dropping diacritics is a
+feature of the Greek locale (``el'').
+However, \emph{accent macros} behave according to Greek typesetting
+rules in \emph{all} locales (standard accent macros only in documents that
+declare the Greek language with Babel).
-\subsubsection{Sigma, final sigma, and ``autosigma''}
+\newcommand*{\sample}{\'a \`e \"i \~o \'u}%
+Since version 1.14, babel-greek maps standard accent macros
+to ``capital'' versions to fix uppercasing accented Greek letters with the new
+\cs{MakeUppercase}.
+The default expansion ensures that accents are kept on Latin letters:
+\sample{} → \MakeUppercase{\sample}.
+It also works if the Language is set to Greek:
+\TestUppercase{\ensureascii{\sample}}.
+\ifdefined \UnicodeEncodingName
+\else
+ (Mind, that with 8-bit TeX Latin letters are interpreted as transliteration
+ input and converted to Greek if not wrapped in \cs{ensureascii}:
+ \TestUppercase{\sample}.)
+\fi
-There are two variants of the lower case letter \emph{sigma}.
-The lowercasing \ensuregreek{Σ} should select a final sigma at the end of a
-word: \ensuregreek{ΣΣ $\mapsto$ \MakeLowercase{ΣΣ}}.
+\subsubsection{Sigma, final sigma, and ``autosigma'' \label{sec:sigma}}
-Since 2022, \cs{MakeLowercase} selects the correct sigma variant for a
-literal Sigma under Xe/LuaTeX, too.
+There are two variants of the small letter \emph{sigma}.
-The \cs{textSigma} \emph{macro} is mapped to \verb|\textautosigma| which
-under 8-bit TeX prints the sigma variant according to its position but,
-unfortunately, fails with Unicode fonts:
+Lowercasing a capital \ensuregreek{Σ} at the end of a word should print a
+final sigma. This works as expected with 8-bit TeX and, since 2022, also
+with Xe/LuaTeX and a literal Sigma: \ensuregreek{ΣΣ → \MakeLowercase{ΣΣ}}.
+However, it fails with the \cs{textSigma} macro and Unicode fonts:
\ensuregreek{\textSigma\textSigma{} → \MakeLowercase{\textSigma\textSigma}}.
-In LGR, you can add a ZWNJ or use the \verb|\noboundary| macro to prevent the
-conversion to a final sigma: \ensuregreek{\MakeLowercase{ΣΣ}}.
+\ifdefined \UnicodeEncodingName
+\else
+ With 8-bit TeX, you can add a ZWNJ or use the \cs{noboundary} macro
+ to prevent the conversion to a final sigma:
+ \ensuregreek{\MakeLowercase{ΣΣ}}.
+\fi
-
\subsubsection{%
The one-letter word
\ifx\captionsgreek\captionspolutonikogreek
@@ -561,62 +590,95 @@
(or)}
For disambiguation, the Greek word \emph{or} (ή / ἢ) keeps diacritics in
-UPPERCASE:
+UPPERCASE.
+The 2022 MakeUppercase handles this for literal input.
\TestUppercase{ή Ή ἢ Ἢ ἤ Ἤ }.\footnote{
- TODO: The polytonic variant with dasia and oxia used in
+ TODO: The polytonic variant ETA WITH DASIA AND OXIA used in
ἢ … ἤ (\emph{either … or}) drops diacritics!
By mistake, omission, or intent?}
-\noindent However, eta drops diacritics if it is part of a word:
+\noindent Currently, this feature is not supported with other input methods.
+
+Diacritics are dropped from eta if it is part of a word:
\TestUppercase{ήτοι, Ήτοι, επιταγή ἤτοι, Ἤτοι}.%
\footnote{TODO: It seems the test is only for whitespace on both sides:
\TestUppercase{ή, Ή. ἢ; Ἢ}
}
-\smallskip\noindent
-TODO: The 2022 MakeUppercase handles this for literal input.
-Currently, this feature is not supported with other input methods.
+\subsubsection{Case conversion if the locale is \emph{not} Greek}
-\subsection{Case conversion if the locale is \emph{not} Greek}
+Since 2022, \cs{MakeUppercase} keeps diacritics on Greek letters and uses
+combining diacritical characters for characters that have no pre-composed
+uppercase equivalent.
-In order to fix upcasing for Greek, babel-greek maps standard accent macros
-to ``capital'' versions.\footnote{%
- In case of problems, these mappings can be disabled with the
- \texttt{local-MakeUppercase-fixes} language modifier.}
-The default expansion ensures that accents are
-kept on Latin letters: \'a \`a \~a \"a → \MakeUppercase{\'a \`a \~a \"a}.%
-\footnote{If the Language is set to Greek, this works unless the font encoding
- is 8-bit LGR (where Latin letters are interpreted as Latin transliteration
- anyway): \Greek{\'u \`u \~u \"u \ensureascii{\'u} →
- \MakeUppercase{\'u \`u \~u \"u \ensureascii{\'u}}}.}
+With Xe/LuaTeX, the result may be illegible due to overlapping diacritics.
+With pdfTeX, this led to compiling errors.
+This is fixed in \emph{greek-fontenc} 2.3. by mapping the affected
+characters to macro representations before case conversions
+(requires the 2023 LaTeX release).
+Consequently, with pdfTeX, diacritics are dropped from literal characters
+without pre-composed uppercase equivalent also if the text language is
+\emph{not} Greek.
-Some characters from the “Greek and Coptic” and “Greek extended” Unicode
-blocks have no pre-composed uppercase equivalent. Since 2022, upcasing them
-led to compiling errors under pdfLaTeX.
-This is fixed in the 2023 LaTeX release by mapping the affected characters
-to macro representations before case conversions:
-with pdfLaTeX, diacritics are dropped from literal characters without
-pre-composed uppercase equivalent also if the text language is \emph{not}
-Greek, with Xe/LuaTeX, combining charactes are used (and may overlap with
-the base letter).
+\renewcommand*{\sample}{ΐΰὐὒὔὖᾶᾷῆῇῒΐῖῗῢΰῤῦῧῶῷ}
+\sample → \MakeUppercase{\sample}
-ΐΰὐὒὔὖᾶᾷῆῇῒΐῖῗῢΰῤῦῧῶῷ → \MakeUppercase{ΐΰὐὒὔὖᾶᾷῆῇῒΐῖῗῢΰῤῦῧῶῷ}
+\subsubsection{PDF strings}
+MakeUppercase in PDF strings led to compiling errors until 2022.
+
+\ifdefined \AddToNoCaseChangeList % introduced with 2022 \MakeUppercase
+ Check the table of contents in the side-bar of a PDF viewer.
+
+ \subsubsection{\TestUppercase{
+ ῒ \accdialytikavaria{\textiota}
+ \"`{\textiota}\"\`{\textiota}\`"{\textiota}\`\"{\textiota}
+ \ux{\accdialytikavaria ι \`"ι \"`ι \`\"ι \"\`ι}
+ {\accdialytikavaria i \`"i \"`i \`\"i \"\`i}}}
+
+ \subsubsection{\TestUppercase{
+ ῢ \accdialytikavaria{\textupsilon}
+ \"`{\textupsilon}\"\`{\textupsilon}\`"{\textupsilon}\`\"{\textupsilon}
+ \ux{\accdialytikavaria υ \`"υ \"`υ \`\"υ \"\`υ}
+ {\accdialytikavaria u \`"u \"`u \`\"u \"\`u}}}
+ \subsubsection{\TestUppercase{
+ ΐ \accdialytikaoxia\textiota{}
+ \"'{\textiota}\"\'{\textiota}\'"{\textiota}\'\"{\textiota}
+ \ux{\accdialytikaoxia ι \'"ι \"'ι \'\"ι \"\'ι}
+ {\accdialytikaoxia i \'"i \"'i \'\"i \"\'i}}}
+ \subsubsection{\TestUppercase{
+ ΰ \accdialytikaoxia\textupsilon{}
+ \"'{\textupsilon}\"\'{\textupsilon}\'"{\textupsilon}\'\"{\textupsilon}
+ \ux{\accdialytikaoxia υ \'"υ \"'υ \'\"υ \"\'υ}
+ {\accdialytikaoxia u \'"u \"'u \'\"u \"\'u}}}
+ \subsubsection{\TestUppercase{ἢ ἣ ἤ ἥ ἦ ἧ Ἠ Ἡ Ἢ Ἣ}}
+\fi
+
+\ux{}{Transliteration input stays Latin in PDF strings.}
+
+Diacritics are not dropped from literal characters in text, ToC but not
+PDF sidebar ToC, if the language switch is inside the \cs{section} command.
+(It works if the language is switched before the section command.)
+
+See \href{hyperref-with-greek.pdf}{hyperref-with-greek.pdf} for a
+comprehensive test.
+
+
\subsection{Symbol variants}
-Several Greek letters have alternative representations which may have a
-different semantic in a mathematical context.
-Unicode reserves code points for the alternative representations
-(naming them ``symbol'' as opposed to ``letter'').
+For several Greek letters, there are alternative glyphs which may
+have a different semantic in a mathematical context.
+Unicode reserves code points for the alternative glyphs
+(naming them SYMBOL as opposed to LETTER).
Some of these symbols are available as \cs{var<name>} macros in TeX's
mathematical mode.
-In text, they are considered typographical variants without special
-meaning. The 8-bit LGR font encoding does not allocate code points for them.
-\emph{Babel-greek} and the \emph{%
+In text, the alternative glyphs are considered typographical variants
+without special meaning. The 8-bit LGR font encoding does not allocate
+code points for them. \emph{Babel-greek} and the \emph{%
\href{http://mirrors.ctan.org/language/greek/greek-fontenc/textalpha-doc.pdf}
{textalpha}} package provide the \texttt{normalize-symbols} option
(ignored with Xe/LuaTeX) that is also used in this test document.
@@ -692,15 +754,15 @@
} (short+LICR)
\TestUppercase{\ux{\'αι \'αυ \'ει \>'αι \>'αυ \>'ει \>αυ}
- {\'ai \'au \'ei \>'ai \>'au \>'ei \>au}
+ {\'ai \'au \'ei \>'ai \>'au \>'ei \>au}
} (short+\ux{literal}{transliteration})
- \TestUppercase{\ux{\'>αι \'>αυ \'>ει \'\>αι \'\>αυ \'\>ει}
- {\'>ai \'>au \'>ei \'\>ai \'\>au \'\>ei}
+ \TestUppercase{\ux{\'\>αι \'\>αυ \'\>ει}
+ {\'\>ai \'\>au \'\>ei}
} (short+\ux{literal}{transliteration}, reversed)
\end{quote}
The ``hiatus feature'' does not work with the LGR ``input ligatures''.
-Support for monotonic literal charactes came with the 2022
+Support for monotonic literal characters came with the 2022
\cs{MakeUppercase} implementation changes.
Since 2023 it also works with polytonic literals (\TestUppercase{ἀυπνία}).
@@ -747,8 +809,8 @@
% \'AA \'AB \'AG \'AD \'AE \'AZ \'AH \'AJ \'AI \'AK \'AL \'AM \'AN \'AX
% \'AO \'AP \'AR \'AS \'AC \'AT \'AU \'AF \'AQ \'AY \'AW
-Downcasing should keep diacritics (of course, it cannot regenerate
-``manually" dropped ones):
+Lowercasing should keep diacritics (of course, it cannot regenerate
+``manually" dropped ones):
\Greek{'A \"I \"U \~<A $\mapsto$ \MakeLowercase{\'A \"I \"U \~<A}}.
@@ -786,11 +848,6 @@
a dialytika \verb|"~ "` "'| appears as apostrophe, as a single \verb|"|
stands for an apostrophe in the LGR transliteration if followed by a
space or empty character.
-
-\item
- With the pre-2022 \cs{MakeUppercase}, the input order is important
- in combined accents involving the dialytika, e.g.,
- \verb|'"i "'i| is upcased \Greek{'"i "'i → \MakeUppercase{'"i "'i}}.
\end{itemize}
\end{document}
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/greek-fontenc-doc.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/greek-fontenc-doc.html 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/greek-fontenc-doc.html 2023-09-12 20:09:52 UTC (rev 68249)
@@ -794,7 +794,7 @@
<p class="subtitle" id="greek-font-encoding-definition-files">Greek font encoding definition files</p>
<dl class="docinfo">
<dt class="version">Version<span class="colon">:</span></dt>
-<dd class="version">2.4 (<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 – 2023 Günter Milde <<a class="reference external" href="mailto:milde@users.sf.net">milde@users.sf.net</a>></dd>
<dt class="licence">Licence<span class="colon">:</span></dt>
@@ -811,9 +811,9 @@
</dl>
<div class="topic abstract" role="doc-abstract">
<p class="topic-title">Abstract</p>
-<p>The <cite>greek-fontenc</cite> bundle provides LICR<a class="superscript" href="#footnote-1" id="footnote-reference-1" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a> macros
-for characters from the Greek script and encoding
-definition files for <a class="reference internal" href="#greek-text-font-encodings">Greek text font encodings</a>.</p>
+<p>The <cite>greek-fontenc</cite> bundle provides encoding definition files
+for <a class="reference internal" href="#greek-text-font-encodings">Greek text font encodings</a> that define LICR<a class="superscript" href="#footnote-1" id="footnote-reference-1" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a> macros
+for characters from the Greek script</p>
<p>Included are also the LaTeX packages <a class="reference internal" href="#textalpha">textalpha</a> and <a class="reference internal" href="#alphabeta">alphabeta</a>.</p>
</div>
<aside class="footnote-list superscript">
@@ -841,18 +841,18 @@
<li><p><a class="reference internal" href="#usage" id="toc-entry-8">Usage</a></p></li>
<li><p><a class="reference internal" href="#greek-text-font-encodings" id="toc-entry-9">Greek text font encodings</a></p>
<ul>
-<li><p><a class="reference internal" href="#t7" id="toc-entry-10">T7</a></p></li>
-<li><p><a class="reference internal" href="#lgr" id="toc-entry-11">LGR</a></p></li>
-<li><p><a class="reference internal" href="#lgi" id="toc-entry-12">LGI</a></p></li>
-<li><p><a class="reference internal" href="#tu" id="toc-entry-13">TU</a></p></li>
-<li><p><a class="reference internal" href="#pu" id="toc-entry-14">PU</a></p></li>
+<li><p><a class="reference internal" href="#lgr" id="toc-entry-10">LGR</a></p></li>
+<li><p><a class="reference internal" href="#tu" id="toc-entry-11">TU</a></p></li>
+<li><p><a class="reference internal" href="#pu" id="toc-entry-12">PU</a></p></li>
+<li><p><a class="reference internal" href="#lgi" id="toc-entry-13">LGI</a></p></li>
+<li><p><a class="reference internal" href="#t7" id="toc-entry-14">T7</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#greek-licr-macro-names" id="toc-entry-15">Greek LICR macro names</a></p>
<ul>
-<li><p><a class="reference internal" href="#letters-and-symbols" id="toc-entry-16">letters and symbols</a></p></li>
-<li><p><a class="reference internal" href="#accent-macros" id="toc-entry-17">accent macros</a></p></li>
-<li><p><a class="reference internal" href="#symbol-variants" id="toc-entry-18">symbol variants</a></p></li>
+<li><p><a class="reference internal" href="#letters-and-symbols" id="toc-entry-16">Letters and symbols</a></p></li>
+<li><p><a class="reference internal" href="#accent-macros" id="toc-entry-17">Accent macros</a></p></li>
+<li><p><a class="reference internal" href="#symbol-variants" id="toc-entry-18">Symbol variants</a></p></li>
</ul>
</li>
<li><p><a class="reference internal" href="#changelog" id="toc-entry-19">Changelog</a></p></li>
@@ -863,24 +863,18 @@
<h2><a class="toc-backref" href="#toc-entry-1" role="doc-backlink">TeX files and packages</a></h2>
<section id="packages">
<h3><a class="toc-backref" href="#toc-entry-2" role="doc-backlink">Packages</a></h3>
-<dl class="simple" id="textalpha">
+<dl id="textalpha">
<dt><a class="reference external" href="textalpha.sty">textalpha.sty</a>: <a class="reference external" href="textalpha.sty.html">Greek symbols in text</a></dt>
-<dd><p>Use <span class="docutils literal">\textalpha</span> … <span class="docutils literal">\textOmega</span> or Greek literal characters<a class="superscript" href="#footnote-2" id="footnote-reference-2" role="doc-noteref"><span class="fn-bracket">[</span>2<span class="fn-bracket">]</span></a>
-independent of font encoding and TeX engine.
-Documentation: <a class="reference external" href="textalpha-doc.pdf">textalpha-doc.pdf</a></p>
+<dd><p>Use <span class="docutils literal">\textalpha</span> … <span class="docutils literal">\textOmega</span> or Greek literal characters
+independent of font encoding and TeX engine.</p>
+<p>Documentation: <a class="reference external" href="textalpha-doc.pdf">textalpha-doc.pdf</a></p>
</dd>
<dt id="alphabeta"><a class="reference external" href="alphabeta.sty">alphabeta.sty</a>: <a class="reference external" href="alphabeta.sty.html">Greek symbols in text and math</a></dt>
<dd><p>Use <span class="docutils literal">\alpha</span> … <span class="docutils literal">\Omega</span> independent of text/math mode,
-font encoding, and TeX engine.
-Documentation: <a class="reference external" href="alphabeta-doc.pdf">alphabeta-doc.pdf</a></p>
+font encoding, and TeX engine.</p>
+<p>Documentation: <a class="reference external" href="alphabeta-doc.pdf">alphabeta-doc.pdf</a></p>
</dd>
</dl>
-<aside class="footnote-list superscript">
-<aside class="footnote superscript" id="footnote-2" role="doc-footnote">
-<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#footnote-reference-2">2</a><span class="fn-bracket">]</span></span>
-<p>requires <a class="reference external" href="https://ctan.org/pkg/greek-inputenc">greek-inputenc</a></p>
-</aside>
-</aside>
</section>
<section id="font-encoding-definitions">
<h3><a class="toc-backref" href="#toc-entry-3" role="doc-backlink">Font encoding definitions</a></h3>
@@ -902,12 +896,6 @@
<section id="auxiliary-files">
<h3><a class="toc-backref" href="#toc-entry-4" role="doc-backlink">Auxiliary files</a></h3>
<dl class="simple">
-<dt><a class="reference external" href="alphabeta-lgr.def">alphabeta-lgr.def</a></dt>
-<dd><p>Composite definitions for <a class="reference internal" href="#alphabeta">alphabeta</a> with 8-bit TeX.</p>
-</dd>
-<dt><a class="reference external" href="alphabeta-tuenc.def">alphabeta-tuenc.def</a></dt>
-<dd><p>Composite definitions for <a class="reference internal" href="#alphabeta">alphabeta</a> with XeTeX/LuaTeX.</p>
-</dd>
<dt><a class="reference external" href="greek-euenc.def">greek-euenc.def</a></dt>
<dd><p>Backwards compatibility file loading <a class="reference external" href="tuenc-greek.def">tuenc-greek.def</a>.</p>
</dd>
@@ -922,27 +910,25 @@
</section>
<section id="usage-examples-and-test-documents">
<h2><a class="toc-backref" href="#toc-entry-5" role="doc-backlink">Usage examples and test documents</a></h2>
-<dl>
-<dt><a class="reference external" href="test-lgrenc.tex">test-lgrenc.tex</a></dt>
-<dd><p>LGR test and usage example. [<a class="reference external" href="test-lgrenc.pdf">test-lgrenc.pdf</a>]</p>
+<dl class="simple">
+<dt><a class="reference external" href="char-list.tex">char-list.tex</a>: <a class="reference external" href="char-list.pdf">char-list.pdf</a>, <a class="reference external" href="char-list-tu.pdf">char-list-tu.pdf</a></dt>
+<dd><p>List of Greek characters supported by <cite>greek-fontenc</cite>.
+Compares input variants and tests chase changing.</p>
</dd>
-<dt><a class="reference external" href="test-tuenc-greek.tex">test-tuenc-greek.tex</a></dt>
-<dd><p>TU test and usage example. [<a class="reference external" href="test-tuenc-greek.pdf">test-tuenc-greek.pdf</a>]</p>
+<dt><a class="reference external" href="char-list-alphabeta.tex">char-list-alphabeta.tex</a>: <a class="reference external" href="char-list-alphabeta.pdf">char-list-alphabeta.pdf</a>, <a class="reference external" href="char-list-alphabeta-tu.pdf">char-list-alphabeta-tu.pdf</a></dt>
+<dd><p>List/test of Greek characters supported by <cite>alphabeta</cite>.</p>
</dd>
-<dt><a class="reference external" href="hyperref-with-greek.tex">hyperref-with-greek.tex</a></dt>
-<dd><p><a class="reference external" href="https://ctan.org/pkg/hyperref">Hyperref</a> test and usage example. [<a class="reference external" href="hyperref-with-greek.pdf">hyperref-with-greek.pdf</a>]</p>
+<dt><a class="reference external" href="hyperref-with-greek.tex">hyperref-with-greek.tex</a>: <a class="reference external" href="hyperref-with-greek.pdf">hyperref-with-greek.pdf</a></dt>
+<dd><p><a class="reference external" href="https://ctan.org/pkg/hyperref">Hyperref</a> test and usage example.</p>
</dd>
-<dt><a class="reference external" href="char-list.tex">char-list.tex</a></dt>
-<dd><p>List of Greek characters supported by <cite>greek-fontenc</cite>. [<a class="reference external" href="char-list.pdf">char-list.pdf</a>]</p>
-<p>Compares input variants and tests chase changing.</p>
+<dt><a class="reference external" href="test-lgrenc.tex">test-lgrenc.tex</a>: <a class="reference external" href="test-lgrenc.pdf">test-lgrenc.pdf</a></dt>
+<dd><p>LGR test and usage example.</p>
</dd>
-<dt><a class="reference external" href="test-licr-input.tex">test-licr-input.tex</a></dt>
-<dd><p>Test LICRs with non-Greek legacy 8-bit input encoding.
-[<a class="reference external" href="test-licr-input.pdf">test-licr-input.pdf</a>]</p>
+<dt><a class="reference external" href="test-tuenc-greek.tex">test-tuenc-greek.tex</a>: <a class="reference external" href="test-tuenc-greek.pdf">test-tuenc-greek.pdf</a></dt>
+<dd><p>TU test and usage example.</p>
</dd>
-<dt><a class="reference external" href="test-diacritics.tex">test-diacritics.tex</a></dt>
-<dd><p>Test Greek diacritics with standard accent macros.
-[<a class="reference external" href="test-diacritics.pdf">test-diacritics.pdf</a>]</p>
+<dt><a class="reference external" href="test-luainputenc.tex">test-luainputenc.tex</a>: <a class="reference external" href="test-luainputenc.pdf">test-luainputenc.pdf</a></dt>
+<dd><p>Test LICRs LuaTeX in 8-bit compatibility mode (with <a class="reference external" href="https://ctan.org/pkg/luainputenc">luainputenc</a>).</p>
</dd>
</dl>
</section>
@@ -1034,20 +1020,10 @@
</section>
<section id="greek-text-font-encodings">
<h2><a class="toc-backref" href="#toc-entry-9" role="doc-backlink">Greek text font encodings</a></h2>
-<p>Greek TeX font encodings are the envisaged <a class="reference internal" href="#t7">T7</a>, <a class="reference internal" href="#lgr">LGR</a>, and <a class="reference internal" href="#lgi">LGI</a>.
-Greek letters and symbols are also defined in the Unicode-based font
-encodings <a class="reference internal" href="#tu">TU</a>, and <a class="reference internal" href="#pu">PU</a>.</p>
-<section id="t7">
-<h3><a class="toc-backref" href="#toc-entry-10" role="doc-backlink">T7</a></h3>
-<p>The <a class="citation-reference" href="#encguide" id="citation-reference-2" role="doc-biblioref">[encguide]</a> reserves the name T7 for a Greek <cite>standard font encoding</cite>.
-However, up to now, there is no agreement on an implementation because the
-restrictions for general text encodings are too severe for typesetting
-polytonic Greek.</p>
-</section>
<section id="lgr">
-<h3><a class="toc-backref" href="#toc-entry-11" role="doc-backlink">LGR</a></h3>
+<h3><a class="toc-backref" href="#toc-entry-10" role="doc-backlink">LGR</a></h3>
<p>The LGR font encoding is the de-facto standard for typesetting Greek with
-(8-bit) LaTeX. <cite>greek-fontenc</cite> provides a comprehensive <a class="reference internal" href="#lgr-font-encoding-definition-file">LGR font
+8-bit LaTeX. <cite>greek-fontenc</cite> provides a comprehensive <a class="reference internal" href="#lgr-font-encoding-definition-file">LGR font
encoding definition file</a>.</p>
<p>Fonts in this encoding include the <a class="reference external" href="https://ctan.org/pkg/cbgreek-complete">CB fonts</a> (matching CM), <a class="reference external" href="https://ctan.org/pkg/grtimes">grtimes</a>
(Greek Times), <a class="reference external" href="https://ctan.org/pkg/kerkis">Kerkis</a> (matching URW Bookman), <a class="reference external" href="https://ctan.org/pkg/dejavu">DejaVu</a>, <a class="reference external" href="https://ctan.org/pkg/libertinegc">Libertine GC</a>, and
@@ -1054,31 +1030,23 @@
the <a class="reference external" href="https://ctan.org/pkg/gfs">GFS fonts</a>. Setup of these fonts as Greek variant to
matching Latin fonts is facilitated by the
<span class="docutils literal">\DeclareFontfamilySubstitution</span> command added to the
-LaTeX kernel in the 2020-02 release <a class="citation-reference" href="#ltnews31" id="citation-reference-3" role="doc-biblioref">[ltnews31]</a>.</p>
+LaTeX kernel in the 2020-02 release <a class="citation-reference" href="#ltnews31" id="citation-reference-2" role="doc-biblioref">[ltnews31]</a>.</p>
<p>The LGR font encoding allows to access Greek characters via an ASCII
transliteration. This enables simple input with a Latin keyboard.
Characters with diacritics can be selected by ligature definitions in the
-font (see <a class="citation-reference" href="#greek-usage" id="citation-reference-4" role="doc-biblioref">[greek-usage]</a>, <a class="citation-reference" href="#teubner-doc" id="citation-reference-5" role="doc-biblioref">[teubner-doc]</a>, <a class="citation-reference" href="#cbfonts" id="citation-reference-6" role="doc-biblioref">[cbfonts]</a>).</p>
-<p>A major drawback of the transliteration is, that you cannot access Latin
-letters if LGR is the active font encoding (e.g. in documents or parts of
-documents given the <cite>Babel</cite> language <span class="docutils literal">greek</span> or <span class="docutils literal">polutionikogreek</span>).
-This means that for every Latin-written word or acronym an explicit
-language-switch is required. This problem can only be solved via a
-font-encoding comprising Latin and Greek like the envisaged <a class="reference internal" href="#t7">T7</a> or
-Unicode (with XeTeX or LuaTeX).</p>
+font (see <a class="citation-reference" href="#greek-usage" id="citation-reference-3" role="doc-biblioref">[greek-usage]</a>, <a class="citation-reference" href="#teubner-doc" id="citation-reference-4" role="doc-biblioref">[teubner-doc]</a>, <a class="citation-reference" href="#cbfonts" id="citation-reference-5" role="doc-biblioref">[cbfonts]</a>).</p>
+<p>A major drawback of the transliteration is the fact, that you cannot
+access Latin letters if LGR is the active font encoding (e.g. in
+documents or parts of documents given the <cite>Babel</cite> language <span class="docutils literal">greek</span> or
+<span class="docutils literal">polutionikogreek</span>). This means that for every Latin-written word or
+acronym an explicit language-switch is required. This problem can be
+circumvented using Unicode fonts (font encoding <a class="reference internal" href="#tu">TU</a>) with XeTeX or
+LuaTeX.</p>
</section>
-<section id="lgi">
-<h3><a class="toc-backref" href="#toc-entry-12" role="doc-backlink">LGI</a></h3>
-<p>The ‘Ibycus’ fonts from the package <a class="reference external" href="https://ctan.org/pkg/ibygrk">ibygrk</a> implement an alternative
-transliteration scheme (also explained in <a class="citation-reference" href="#babel-patch" id="citation-reference-7" role="doc-biblioref">[babel-patch]</a>).
-It is currently not supported by <cite>greek-fontenc</cite>.</p>
-<p>The font encoding file <span class="docutils literal">lgienc.def</span> from <a class="reference external" href="https://ctan.org/pkg/ibycus-babel">ibycus-babel</a> provides a basic
-setup (without any LICR macros or composite definitions).</p>
-</section>
<section id="tu">
-<h3><a class="toc-backref" href="#toc-entry-13" role="doc-backlink">TU</a></h3>
+<h3><a class="toc-backref" href="#toc-entry-11" role="doc-backlink">TU</a></h3>
<p>Standard Unicode font encoding for XeTeX and LuaTeX loaded by <a class="reference external" href="https://ctan.org/pkg/fontspec">fontspec</a>
-(since v2.5a) rsp. the LaTeX kernel since 2017/01/01 <a class="citation-reference" href="#ltnews26" id="citation-reference-8" role="doc-biblioref">[ltnews26]</a>.
+(since v2.5a) rsp. the LaTeX kernel since 2017/01/01 <a class="citation-reference" href="#ltnews26" id="citation-reference-6" role="doc-biblioref">[ltnews26]</a>.<a class="superscript" href="#footnote-2" id="footnote-reference-2" role="doc-noteref"><span class="fn-bracket">[</span>2<span class="fn-bracket">]</span></a>
<cite>greek-fontenc</cite> adds support for the Greek script (see <a class="reference internal" href="#tuenc-greek">tuenc-greek</a>).</p>
<p>Xe/LuaTeX works with any system-wide installed <a class="reference external" href="https://ctan.org/topic/font-otf">OpenType font</a>. Suitable
fonts supporting Greek include <a class="reference external" href="https://ctan.org/pkg/cm-unicode">CM Unicode</a>, <a class="reference external" href="http://dejavu-fonts.org">Deja Vu</a>, <a class="reference external" href="https://ctan.org/pkg/ebgaramond">EB Garamond</a>,
@@ -1086,21 +1054,44 @@
<a class="reference external" href="https://ctan.org/pkg/tempora">Tempora</a>, and <a class="reference external" href="https://ctan.org/pkg/umtypewriter">UM Typewriter</a> (all available on CTAN) but also many commercial
fonts. Unfortunately, the <a class="reference external" href="https://ctan.org/pkg/fontspec">fontspec</a> default, <a class="reference external" href="http://www.gust.org.pl/projects/e-foundry/latin-modern">Latin Modern</a> misses most
Greek characters.</p>
-<p>Older versions of LuaTeX did not apply the NFC normalization. This lead to
+<p>LuaTeX does not apply the NFC normalization by default. This leads to
sub-optimal placing of some diacritics, especially the sub-iota (becoming
-unintelligible in combination with small letter eta). This issue if fixed
-since at least 2022.</p>
+unintelligible in combination with small letter eta). This issue can be fixed
+specifiying the “Harfbuzz” renderer when loading fonts with fontspec,
+e.g.</p>
+<pre class="literal-block">\setmainfont[Renderer=Harfbuzz]{FreeSerif}</pre>
+<aside class="footnote-list superscript">
+<aside class="footnote superscript" id="footnote-2" role="doc-footnote">
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#footnote-reference-2">2</a><span class="fn-bracket">]</span></span>
<p>The legacy Unicode font encodings EU1 and EU2 for XeTeX and LuaTeX
-respectively were superseded by TU in the 2017 <a class="reference external" href="https://ctan.org/pkg/fontspec">fontspec</a> release.</p>
+respectively were superseded by TU in the 2017 fontspec release.</p>
+</aside>
+</aside>
</section>
<section id="pu">
-<h3><a class="toc-backref" href="#toc-entry-14" role="doc-backlink">PU</a></h3>
+<h3><a class="toc-backref" href="#toc-entry-12" role="doc-backlink">PU</a></h3>
<p>The package <a class="reference external" href="https://ctan.org/pkg/hyperref">hyperref</a> defines the PU font encoding for use in PDF strings
-(ToC, bookmarks) which supports monotonic Greek. <cite>greek-fontenc</cite> adds
-support for polytonic Greek and some archaic characters also supported in
-LGR and TU (see <a class="reference external" href="hyperref-with-greek.tex">hyperref-with-greek.tex</a>, <a class="reference external" href="hyperref-with-greek.pdf">hyperref-with-greek.pdf</a>).</p>
+(ToC, bookmarks). <cite>greek-fontenc</cite> adds support for Greek LICRs
+(see <a class="reference external" href="hyperref-with-greek.tex">hyperref-with-greek.tex</a>, <a class="reference external" href="hyperref-with-greek.pdf">hyperref-with-greek.pdf</a>).</p>
+<hr class="docutils" />
+<p>The following two encodings are not supported by <cite>greek-fontenc</cite>:</p>
</section>
+<section id="lgi">
+<h3><a class="toc-backref" href="#toc-entry-13" role="doc-backlink">LGI</a></h3>
+<p>The ‘Ibycus’ fonts from the package <a class="reference external" href="https://ctan.org/pkg/ibygrk">ibygrk</a> implement an alternative
+transliteration scheme (also explained in <a class="citation-reference" href="#babel-patch" id="citation-reference-7" role="doc-biblioref">[babel-patch]</a>).
+It is currently not supported by <cite>greek-fontenc</cite>.</p>
+<p>The font encoding file <span class="docutils literal">lgienc.def</span> from <a class="reference external" href="https://ctan.org/pkg/ibycus-babel">ibycus-babel</a> provides a basic
+setup (without any LICR macros or composite definitions).</p>
</section>
+<section id="t7">
+<h3><a class="toc-backref" href="#toc-entry-14" role="doc-backlink">T7</a></h3>
+<p>The <a class="citation-reference" href="#encguide" id="citation-reference-8" role="doc-biblioref">[encguide]</a> reserves the name T7 for a Greek <cite>standard font encoding</cite>.
+However, up to now, there is no agreement on an implementation because the
+restrictions for general text encodings are too severe for typesetting
+polytonic Greek.</p>
+</section>
+</section>
<section id="greek-licr-macro-names">
<h2><a class="toc-backref" href="#toc-entry-15" role="doc-backlink">Greek LICR macro names</a></h2>
<aside class="admonition note">
@@ -1114,7 +1105,7 @@
for Greek letters and diacritics. Macro names were selected based on the
following considerations:</p>
<section id="letters-and-symbols">
-<h3><a class="toc-backref" href="#toc-entry-16" role="doc-backlink">letters and symbols</a></h3>
+<h3><a class="toc-backref" href="#toc-entry-16" role="doc-backlink">Letters and symbols</a></h3>
<ul>
<li><p>The <a class="reference internal" href="#fntguide">fntguide</a> (section 6.4 Naming conventions) recommends:</p>
<blockquote>
@@ -1148,11 +1139,8 @@
</li>
<li><p>The <a class="reference external" href="http://www.unicode.org/Public/UNIDATA/NamesList.txt">Unicode names list</a> provides standardized descriptive names for all
Unicode characters that use only capital letters of the Latin alphabet.
-While not suited for direct use in LICR macros, they can be either</p>
-<ol class="lowerroman simple">
-<li><p>used as inspiration for new LICR macro names or</p></li>
-<li><p>converted to LICR macro names via a defined set of transformation rules.</p></li>
-</ol>
+While not suited for direct use in LICR macros, they can be
+converted to LICR macro names via a defined set of transformation rules.</p>
<dl class="simple">
<dt>Example:</dt>
<dd><p><span class="docutils literal">\textfinalsigma</span> is a descriptive alias for
@@ -1192,19 +1180,20 @@
</dl>
<p>The font encoding definition files use the <span class="docutils literal">text</span> prefix for symbols.
Aliases (short forms, compatibility defs, etc.) are defined in
-additional packages (e.g. <a class="reference external" href="alphabeta.sty">alphabeta.sty</a>, <a class="reference external" href="https://ctan.org/pkg/babel-greek">babel-greek</a>, or <a class="reference external" href="https://ctan.org/pkg/teubner">teubner</a>)</p>
+additional packages (e.g. <a class="reference external" href="alphabeta.sty">alphabeta.sty</a> and <a class="reference external" href="https://ctan.org/pkg/teubner">teubner</a>)</p>
</li>
</ul>
</section>
<section id="accent-macros">
-<h3><a class="toc-backref" href="#toc-entry-17" role="doc-backlink">accent macros</a></h3>
+<h3><a class="toc-backref" href="#toc-entry-17" role="doc-backlink">Accent macros</a></h3>
<ul>
<li><p>standard accent macros (<span class="docutils literal">\DeclareTextAccent</span> definitions in
<span class="docutils literal"><span class="pre">latex/base/...</span></span>) are one-character macros (<span class="docutils literal">\' \" ... \u \v ...</span>) .</p></li>
-<li><p><span class="docutils literal">tipa.sty</span>, <a class="reference external" href="https://ctan.org/pkg/xunicode">xunicode</a>, and <a class="reference external" href="https://ctan.org/pkg/unicode">ucs</a> use the “text” prefix also for accents.</p>
+<li><p><span class="docutils literal">tipa.sty</span>, <a class="reference external" href="https://ctan.org/pkg/xunicode">xunicode</a>, and <a class="reference external" href="https://ctan.org/pkg/unicode">ucs</a> use the “text” prefix also for accent
+macros.</p>
<p>However, the <a class="reference external" href="http://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/aglfn.txt">Adobe Glyph List For New Fonts</a> maps, e.g., “tonos” and
-“dieresistonos” to the spacing characters GREEK TONOS and GREEK DIALYTIKA
-TONOS, hence <cite>texttonos</cite> and <cite>textdiaresistonos</cite> should be spacing
+“dieresistonos” to the spacing characters GREEK TONOS rsp. GREEK DIALYTIKA
+TONOS, hence <span class="docutils literal">\texttonos</span> and <span class="docutils literal">\textdieresistonos</span> should be spacing
characters.</p>
</li>
<li><p>textcomp (ts1enc.def) defines <span class="docutils literal"><span class="pre">\capital...</span></span> accents (i.e. without
@@ -1216,12 +1205,12 @@
<li><p>the prefix <span class="docutils literal">\acc</span> to distinguish the macros as <cite>TextAaccent</cite> and
reduce the risk of name clashes with spacing characters.</p></li>
</ul>
-<p>For the end-user “symbol macros” (<span class="docutils literal">\~ \' \` \" \"' \"` ...</span>) are
-provided. (With <a class="reference internal" href="#textalpha">textalpha</a> or <a class="reference internal" href="#alphabeta">alphabeta</a> also <span class="docutils literal">\<</span> and <span class="docutils literal">\></span> for
-<span class="docutils literal">\accdasia</span> and <span class="docutils literal">\accpsili</span>.)</p>
+<p>Aliases to the “symbol macros” <span class="docutils literal">\~ \' \` \" \"' \"` ...</span> are
+provided. With <a class="reference internal" href="#textalpha">textalpha</a> or <a class="reference internal" href="#alphabeta">alphabeta</a> also <span class="docutils literal">\<</span> and <span class="docutils literal">\></span> for
+<span class="docutils literal">\accdasia</span> and <span class="docutils literal">\accpsili</span>.</p>
</section>
<section id="symbol-variants">
-<h3><a class="toc-backref" href="#toc-entry-18" role="doc-backlink">symbol variants</a></h3>
+<h3><a class="toc-backref" href="#toc-entry-18" role="doc-backlink">Symbol variants</a></h3>
<p>Mathematical notation distinguishes variant shapes for beta (β|ϐ),
theta (θ|ϑ), phi (φ|ϕ), pi (π|ϖ), kappa (κ|ϰ), rho (ρ|ϱ), Theta (Θ|ϴ),
and epsilon (ε|ϵ).</p>
@@ -1421,6 +1410,31 @@
<li><p><a class="reference internal" href="#textalpha">textalpha</a>: Map character 00B5 MICRO SIGN to <span class="docutils literal">\textmicro</span>.</p></li>
</ul>
</dd>
+<dt>2.5 (2023-09-12)</dt>
+<dd><ul class="simple">
+<li><p><span class="docutils literal">\textvarTheta</span> is now an alias for <span class="docutils literal">\textTheta</span> (the AMS-math
+command <span class="docutils literal">\varTheta</span> sets the <em>letter</em> Theta in italic shape).</p></li>
+<li><p>Fix errors in LuaTeX’s 8-bit compatibility mode (<a class="reference external" href="https://ctan.org/pkg/luainputenc">luainputenc</a>).</p></li>
+<li><p>Fix <span class="docutils literal">\MakeUppercase</span> in PDF strings.</p></li>
+<li><p>Drop composite definitions if the pre-composed character can also be
+selected by the <a class="reference external" href="https://www.unicode.org/reports/tr15/">Unicode NFC normalization</a>.</p></li>
+<li><p>Test/fix case change commands with <a class="reference internal" href="#alphabeta">alphabeta</a>.
+Composite commands for PU.
+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>.</p></li>
+<li><p>Update documentation, fix links.</p></li>
+</ul>
+</dd>
+<dt>TODO:</dt>
+<dd><ul class="simple">
+<li><p>Fix <span class="docutils literal">\textautosigma</span> with Unicode fonts.</p></li>
+</ul>
+<!-- report issues:
+The polytonic variant with dasia and oxia used in ἢ … ἤ (*either … or*)
+drops diacritics! By mistake, omission, or intent?
+
+Compilation error with MakeUppercase and combining ypogegrammeni in Greek
+locale: ``\foreignlanguage{greek}{Λͅ → \MakeUppercase{Λͅ}}`` -->
+</dd>
</dl>
</section>
<section id="references">
@@ -1441,13 +1455,13 @@
<a class="reference external" href="http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf">http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf</a></p>
</div>
<div class="citation" id="cbfonts" role="doc-biblioentry">
-<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-6">cbfonts</a><span class="fn-bracket">]</span></span>
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-5">cbfonts</a><span class="fn-bracket">]</span></span>
<p>Claudio Beccari, <cite>The CB Greek fonts</cite>, Εὔτυπον, τεῦχος № 21, 2008.
<a class="reference external" href="http://www.eutypon.gr/eutypon/pdf/e2008-21/e21-a01.pdf">http://www.eutypon.gr/eutypon/pdf/e2008-21/e21-a01.pdf</a></p>
</div>
<div class="citation" id="encguide" role="doc-biblioentry">
<span class="label"><span class="fn-bracket">[</span>encguide<span class="fn-bracket">]</span></span>
-<span class="backrefs">(<a role="doc-backlink" href="#citation-reference-2">1</a>,<a role="doc-backlink" href="#citation-reference-9">2</a>)</span>
+<span class="backrefs">(<a role="doc-backlink" href="#citation-reference-8">1</a>,<a role="doc-backlink" href="#citation-reference-9">2</a>)</span>
<p>Frank Mittelbach, Robin Fairbairns, Werner Lemberg,
LaTeX3 Project Team, <cite>LaTeX font encodings</cite>.
<a class="reference external" href="https://mirrors.ctan.org/macros/latex/base/encguide.pdf">https://mirrors.ctan.org/macros/latex/base/encguide.pdf</a></p>
@@ -1458,23 +1472,23 @@
<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="greek-usage" role="doc-biblioentry">
-<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-4">greek-usage</a><span class="fn-bracket">]</span></span>
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-3">greek-usage</a><span class="fn-bracket">]</span></span>
<p>Apostolos Syropoulos, <cite>Writing Greek with the greek option
of the babel package</cite>, 1997.
<a class="reference external" href="https://mirrors.ctan.org/language/babel/contrib/greek/usage.pdf">https://mirrors.ctan.org/language/babel/contrib/greek/usage.pdf</a></p>
</div>
<div class="citation" id="ltnews26" role="doc-biblioentry">
-<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-8">ltnews26</a><span class="fn-bracket">]</span></span>
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-6">ltnews26</a><span class="fn-bracket">]</span></span>
<p>LaTeX Project Team, <cite>LaTeX News</cite> Issue 26, January 2017.
<a class="reference external" href="https://www.latex-project.org/news/latex2e-news/ltnews26.pdf">https://www.latex-project.org/news/latex2e-news/ltnews26.pdf</a></p>
</div>
<div class="citation" id="ltnews31" role="doc-biblioentry">
-<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-3">ltnews31</a><span class="fn-bracket">]</span></span>
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-2">ltnews31</a><span class="fn-bracket">]</span></span>
<p><cite>LaATeX News</cite>, Issue 31, February 2020, p. 3:
<a class="reference external" href="https://www.latex-project.org/news/latex2e-news/ltnews31.pdf">https://www.latex-project.org/news/latex2e-news/ltnews31.pdf</a>.</p>
</div>
<div class="citation" id="teubner-doc" role="doc-biblioentry">
-<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-5">teubner-doc</a><span class="fn-bracket">]</span></span>
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#citation-reference-4">teubner-doc</a><span class="fn-bracket">]</span></span>
<p>Claudio Beccari, <span class="docutils literal">teubner.sty</span>
<cite>An extension to the greek option of the babel package</cite>, 2011.
<a class="reference external" href="https://mirrors.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf">https://mirrors.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf</a></p>
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/greek-fontenc-doc.rst
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/greek-fontenc-doc.rst 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/greek-fontenc-doc.rst 2023-09-12 20:09:52 UTC (rev 68249)
@@ -4,7 +4,7 @@
Greek font encoding definition files
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-:Version: 2.4 (changelog_)
+:Version: 2.5 (changelog_)
:Copyright: © 2010 -- 2023 Günter Milde <milde at users.sf.net>
:Licence: This work may be distributed and/or modified under the
@@ -15,9 +15,9 @@
:Latest Release: https://ctan.org/pkg/greek-fontenc
-:Abstract: The `greek-fontenc` bundle provides LICR [#]_ macros
- for characters from the Greek script and encoding
- definition files for `Greek text font encodings`_.
+:Abstract: The `greek-fontenc` bundle provides encoding definition files
+ for `Greek text font encodings`_ that define LICR [#]_ macros
+ for characters from the Greek script
Included are also the LaTeX packages textalpha_ and alphabeta_.
@@ -38,8 +38,9 @@
.. _textalpha:
`<textalpha.sty>`_: `Greek symbols in text <textalpha.sty.html>`_
- Use ``\textalpha`` ... ``\textOmega`` or Greek literal characters [#]_
+ Use ``\textalpha`` ... ``\textOmega`` or Greek literal characters
independent of font encoding and TeX engine.
+
Documentation: textalpha-doc.pdf_
.. _alphabeta:
@@ -47,10 +48,9 @@
`<alphabeta.sty>`_: `Greek symbols in text and math <alphabeta.sty.html>`_
Use ``\alpha`` ... ``\Omega`` independent of text/math mode,
font encoding, and TeX engine.
+
Documentation: alphabeta-doc.pdf_
-.. [#] requires greek-inputenc_
-
Font encoding definitions
-------------------------
@@ -73,10 +73,6 @@
Auxiliary files
---------------
-`<alphabeta-lgr.def>`_
- Composite definitions for alphabeta_ with 8-bit TeX.
-`<alphabeta-tuenc.def>`_
- Composite definitions for alphabeta_ with XeTeX/LuaTeX.
`<greek-euenc.def>`_
Backwards compatibility file loading tuenc-greek.def_.
`<lgr2licr.lua>`_
@@ -90,27 +86,25 @@
Usage examples and test documents
=================================
-`<test-lgrenc.tex>`_
- LGR test and usage example. [`<test-lgrenc.pdf>`_]
+`<char-list.tex>`_: `<char-list.pdf>`_, `<char-list-tu.pdf>`_
+ List of Greek characters supported by `greek-fontenc`.
+ Compares input variants and tests chase changing.
-`<test-tuenc-greek.tex>`_
- TU test and usage example. [`<test-tuenc-greek.pdf>`_]
+`<char-list-alphabeta.tex>`_: `<char-list-alphabeta.pdf>`_, `<char-list-alphabeta-tu.pdf>`_
+ List/test of Greek characters supported by `alphabeta`.
-`<hyperref-with-greek.tex>`_
- Hyperref_ test and usage example. [`<hyperref-with-greek.pdf>`_]
-`<char-list.tex>`_
- List of Greek characters supported by `greek-fontenc`. [`<char-list.pdf>`_]
+`<hyperref-with-greek.tex>`_: `<hyperref-with-greek.pdf>`_
+ Hyperref_ test and usage example.
- Compares input variants and tests chase changing.
+`<test-lgrenc.tex>`_: `<test-lgrenc.pdf>`_
+ LGR test and usage example.
-`<test-licr-input.tex>`_
- Test LICRs with non-Greek legacy 8-bit input encoding.
- [`<test-licr-input.pdf>`_]
+`<test-tuenc-greek.tex>`_: `<test-tuenc-greek.pdf>`_
+ TU test and usage example.
-`<test-diacritics.tex>`_
- Test Greek diacritics with standard accent macros.
- [`<test-diacritics.pdf>`_]
+`<test-luainputenc.tex>`_: `<test-luainputenc.pdf>`_
+ Test LICRs LuaTeX in 8-bit compatibility mode (with luainputenc_).
Download and Installation
@@ -239,23 +233,11 @@
Greek text font encodings
=========================
-Greek TeX font encodings are the envisaged T7_, LGR_, and LGI_.
-Greek letters and symbols are also defined in the Unicode-based font
-encodings TU_, and PU_.
-
-T7
---
-
-The [encguide]_ reserves the name T7 for a Greek `standard font encoding`.
-However, up to now, there is no agreement on an implementation because the
-restrictions for general text encodings are too severe for typesetting
-polytonic Greek.
-
LGR
---
The LGR font encoding is the de-facto standard for typesetting Greek with
-(8-bit) LaTeX. `greek-fontenc` provides a comprehensive `LGR font
+8-bit LaTeX. `greek-fontenc` provides a comprehensive `LGR font
encoding definition file`_.
Fonts in this encoding include the `CB fonts`_ (matching CM), grtimes_
@@ -270,29 +252,19 @@
Characters with diacritics can be selected by ligature definitions in the
font (see [greek-usage]_, [teubner-doc]_, [cbfonts]_).
-A major drawback of the transliteration is, that you cannot access Latin
-letters if LGR is the active font encoding (e.g. in documents or parts of
-documents given the `Babel` language ``greek`` or ``polutionikogreek``).
-This means that for every Latin-written word or acronym an explicit
-language-switch is required. This problem can only be solved via a
-font-encoding comprising Latin and Greek like the envisaged T7_ or
-Unicode (with XeTeX or LuaTeX).
+A major drawback of the transliteration is the fact, that you cannot
+access Latin letters if LGR is the active font encoding (e.g. in
+documents or parts of documents given the `Babel` language ``greek`` or
+``polutionikogreek``). This means that for every Latin-written word or
+acronym an explicit language-switch is required. This problem can be
+circumvented using Unicode fonts (font encoding TU_) with XeTeX or
+LuaTeX.
-LGI
----
-
-The ‘Ibycus’ fonts from the package ibygrk_ implement an alternative
-transliteration scheme (also explained in [babel-patch]_).
-It is currently not supported by `greek-fontenc`.
-
-The font encoding file ``lgienc.def`` from ibycus-babel_ provides a basic
-setup (without any LICR macros or composite definitions).
-
TU
--
Standard Unicode font encoding for XeTeX and LuaTeX loaded by fontspec_
-(since v2.5a) rsp. the LaTeX kernel since 2017/01/01 [ltnews26]_.
+(since v2.5a) rsp. the LaTeX kernel since 2017/01/01 [ltnews26]_. [#]_
`greek-fontenc` adds support for the Greek script (see tuenc-greek_).
Xe/LuaTeX works with any system-wide installed `OpenType font`_. Suitable
@@ -302,23 +274,47 @@
fonts. Unfortunately, the fontspec_ default, `Latin Modern`_ misses most
Greek characters.
-Older versions of LuaTeX did not apply the NFC normalization. This lead to
+LuaTeX does not apply the NFC normalization by default. This leads to
sub-optimal placing of some diacritics, especially the sub-iota (becoming
-unintelligible in combination with small letter eta). This issue if fixed
-since at least 2022.
+unintelligible in combination with small letter eta). This issue can be fixed
+specifiying the "Harfbuzz" renderer when loading fonts with fontspec,
+e.g. ::
-The legacy Unicode font encodings EU1 and EU2 for XeTeX and LuaTeX
-respectively were superseded by TU in the 2017 fontspec_ release.
+ \setmainfont[Renderer=Harfbuzz]{FreeSerif}
+.. [#] The legacy Unicode font encodings EU1 and EU2 for XeTeX and LuaTeX
+ respectively were superseded by TU in the 2017 fontspec release.
+
PU
--
The package hyperref_ defines the PU font encoding for use in PDF strings
-(ToC, bookmarks) which supports monotonic Greek. `greek-fontenc` adds
-support for polytonic Greek and some archaic characters also supported in
-LGR and TU (see `<hyperref-with-greek.tex>`_, `<hyperref-with-greek.pdf>`_).
+(ToC, bookmarks). `greek-fontenc` adds support for Greek LICRs
+(see `<hyperref-with-greek.tex>`_, `<hyperref-with-greek.pdf>`_).
+----------------------------------------------------------------------------
+The following two encodings are not supported by `greek-fontenc`:
+
+LGI
+---
+
+The ‘Ibycus’ fonts from the package ibygrk_ implement an alternative
+transliteration scheme (also explained in [babel-patch]_).
+It is currently not supported by `greek-fontenc`.
+
+The font encoding file ``lgienc.def`` from ibycus-babel_ provides a basic
+setup (without any LICR macros or composite definitions).
+
+T7
+--
+
+The [encguide]_ reserves the name T7 for a Greek `standard font encoding`.
+However, up to now, there is no agreement on an implementation because the
+restrictions for general text encodings are too severe for typesetting
+polytonic Greek.
+
+
Greek LICR macro names
======================
@@ -332,7 +328,7 @@
for Greek letters and diacritics. Macro names were selected based on the
following considerations:
-letters and symbols
+Letters and symbols
-------------------
* The fntguide_ (section 6.4 Naming conventions) recommends:
@@ -362,11 +358,9 @@
* The `Unicode names list`_ provides standardized descriptive names for all
Unicode characters that use only capital letters of the Latin alphabet.
- While not suited for direct use in LICR macros, they can be either
+ While not suited for direct use in LICR macros, they can be
+ converted to LICR macro names via a defined set of transformation rules.
- i. used as inspiration for new LICR macro names or
- ii. converted to LICR macro names via a defined set of transformation rules.
-
Example:
``\textfinalsigma`` is a descriptive alias for
GREEK SMALL LETTER FINAL SIGMA derived via the rules:
@@ -397,20 +391,21 @@
The font encoding definition files use the ``text`` prefix for symbols.
Aliases (short forms, compatibility defs, etc.) are defined in
- additional packages (e.g. alphabeta.sty_, `babel-greek`_, or teubner_)
+ additional packages (e.g. alphabeta.sty_ and teubner_)
-accent macros
+Accent macros
-------------
* standard accent macros (``\DeclareTextAccent`` definitions in
``latex/base/...``) are one-character macros (``\' \" ... \u \v ...``) .
-* ``tipa.sty``, xunicode_, and ucs_ use the "text" prefix also for accents.
+* ``tipa.sty``, xunicode_, and ucs_ use the "text" prefix also for accent
+ macros.
However, the `Adobe Glyph List For New Fonts`_ maps, e.g., "tonos" and
- "dieresistonos" to the spacing characters GREEK TONOS and GREEK DIALYTIKA
- TONOS, hence `\texttonos` and `\textdiaresistonos` should be spacing
+ "dieresistonos" to the spacing characters GREEK TONOS rsp. GREEK DIALYTIKA
+ TONOS, hence ``\texttonos`` and ``\textdieresistonos`` should be spacing
characters.
* textcomp (ts1enc.def) defines ``\capital...`` accents (i.e. without
@@ -423,12 +418,12 @@
- the prefix ``\acc`` to distinguish the macros as `TextAaccent` and
reduce the risk of name clashes with spacing characters.
-For the end-user "symbol macros" (``\~ \' \` \" \"' \"` ...``) are
-provided. (With textalpha_ or alphabeta_ also ``\<`` and ``\>`` for
-``\accdasia`` and ``\accpsili``.)
+Aliases to the "symbol macros" ``\~ \' \` \" \"' \"` ...`` are
+provided. With textalpha_ or alphabeta_ also ``\<`` and ``\>`` for
+``\accdasia`` and ``\accpsili``.
-symbol variants
+Symbol variants
---------------
Mathematical notation distinguishes variant shapes for beta (β|ϐ),
@@ -559,7 +554,29 @@
2.4 (2023-08-15)
- Fixes for the 2022 implementation of ``\MakeUppercase``.
- textalpha_: Map character 00B5 MICRO SIGN to ``\textmicro``.
+2.5 (2023-09-12)
+ - ``\textvarTheta`` is now an alias for ``\textTheta`` (the AMS-math
+ command ``\varTheta`` sets the *letter* Theta in italic shape).
+ - Fix errors in LuaTeX's 8-bit compatibility mode (luainputenc_).
+ - Fix ``\MakeUppercase`` in PDF strings.
+ - Drop composite definitions if the pre-composed character can also be
+ selected by the `Unicode NFC normalization`_.
+ - Test/fix case change commands with alphabeta_.
+ Composite commands for PU.
+ Inline ``alphabeta-tuenc.def`` and ``alphabeta-lgr.def``.
+ - Update documentation, fix links.
+TODO:
+ - Fix ``\textautosigma`` with Unicode fonts.
+
+ .. report issues:
+ The polytonic variant with dasia and oxia used in ἢ … ἤ (*either … or*)
+ drops diacritics! By mistake, omission, or intent?
+
+ Compilation error with MakeUppercase and combining ypogegrammeni in Greek
+ locale: ``\foreignlanguage{greek}{Λͅ → \MakeUppercase{Λͅ}}``
+
+
__ http://tex.stackexchange.com/questions/281631/greek-small-rho-with-dasia-and-also-psili-problem-with-accent-and-lgr-encodin
.. _ltxbugs 4399:
https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex%2F4399&search=
@@ -610,6 +627,7 @@
.. _Adobe Glyph List:
http://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/glyphlist.txt
.. _Unicode names list: http://www.unicode.org/Public/UNIDATA/NamesList.txt
+.. _Unicode NFC normalization: https://www.unicode.org/reports/tr15/
.. _XML Entity Definitions for Characters:
http://www.w3.org/TR/xml-entity-names/
.. _CB fonts: https://ctan.org/pkg/cbgreek-complete
@@ -624,6 +642,7 @@
.. _Libertinus: https://ctan.org/pkg/libertinus
.. _Old Standard: https://ctan.org/pkg/oldstandard
.. _OpenType Font: https://ctan.org/topic/font-otf
+.. _Tempora: https://ctan.org/pkg/tempora
.. _UM Typewriter: https://ctan.org/pkg/umtypewriter
.. _amssymb: https://ctan.org/pkg/amsfonts
.. _arabi: https://ctan.org/pkg/arabi
@@ -639,9 +658,8 @@
.. _ibygrk: https://ctan.org/pkg/ibygrk
.. _lgrx: https://ctan.org/pkg/lgrx
.. _libertine: https://ctan.org/pkg/libertine-legacy
-.. _lua-uni-algos: https://ctan.org/pkg/lua-uni-algos
+.. _luainputenc: https://ctan.org/pkg/luainputenc
.. _substitutefont: https://ctan.org/pkg/substitutefont
-.. _tempora: https://ctan.org/pkg/tempora
.. _teubner: https://ctan.org/pkg/teubner
.. _ucs: https://ctan.org/pkg/unicode
.. _unicode-math: https://ctan.org/pkg/unicode-math
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/greek-fontenc.def.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/greek-fontenc.def.html 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/greek-fontenc.def.html 2023-09-12 20:09:52 UTC (rev 68249)
@@ -794,7 +794,7 @@
<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.4 (<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">© 2013 – 2023 Günter Milde</dd>
<dt class="licence">Licence<span class="colon">:</span></dt>
@@ -842,7 +842,7 @@
<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-08-15 2.4 Common Greek font encoding definitions]</pre>
+ [2023-09-12 2.5 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>
@@ -869,11 +869,11 @@
<pre class="literal-block">% \var... matching GREEK ... SYMBOL
\DeclareTextCommand{\textvarbeta}{\LastDeclaredEncoding}{\textbetasymbol} % ϐ
\DeclareTextCommand{\textvarkappa}{\LastDeclaredEncoding}{\textkappasymbol} % ϰ
-\DeclareTextCommand{\textvarTheta}{\LastDeclaredEncoding}{\textThetasymbol} % ϴ
\DeclareTextCommand{\textvartheta}{\LastDeclaredEncoding}{\textthetasymbol} % ϑ
\DeclareTextCommand{\textvarpi}{\LastDeclaredEncoding}{\textpisymbol} % ϖ
\DeclareTextCommand{\textvarrho}{\LastDeclaredEncoding}{\textrhosymbol} % ϱ
% \var... matching GREEK LETTER ...
+\DeclareTextCommand{\textvarTheta}{\LastDeclaredEncoding}{\textTheta} % Θ
\DeclareTextCommand{\textvarepsilon}{\LastDeclaredEncoding}{\textepsilon} % ε
\DeclareTextCommand{\textvarphi}{\LastDeclaredEncoding}{\textphi} % φ
\DeclareTextCommand{\textvarsigma}{\LastDeclaredEncoding}{\textfinalsigma} % ς</pre>
@@ -895,7 +895,7 @@
</span><span class="keyword">\DeclareTextCommand</span><span class="name builtin">{</span><span class="keyword">\katwtonos</span><span class="name builtin">}{</span><span class="keyword">\LastDeclaredEncoding</span><span class="name builtin">}{</span><span class="keyword">\textaristerikeraia</span><span class="name builtin">}</span> <span class="comment">% ͵</span></code></pre>
<p>Two Unicode code points and names for one character:</p>
<pre class="literal-block">\DeclareTextCommand{\accoxia}{\LastDeclaredEncoding}{\acctonos}
-\DeclareTextCommand{\accdialytikaoxia}{\LastDeclaredEncoding}{\accdialyikatonos}
+\DeclareTextCommand{\accdialytikaoxia}{\LastDeclaredEncoding}{\accdialytikatonos}
\DeclareTextCommand{\acckoronis}{\LastDeclaredEncoding}{\accpsili}</pre>
<p>Symbol macros for the breathings:</p>
<p>Moved to <span class="docutils literal">textalpha.sty</span> to avoid clashes with local definitions
@@ -1021,44 +1021,37 @@
\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}
+<pre class="literal-block">\ProvideTextCommand{\accACUTE}{\LastDeclaredEncoding}{\@tabacckludge '}
+\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{<}{\LGR@accdropped}
+\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{>}{\LGR@hiatus}
+\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{"}{\accdialytika}
+\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{\accGRAVE}{\LastDeclaredEncoding}{\@tabacckludge`}
+\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{<}{\LGR@accdropped}
+\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{>}{\LGR@accdropped}
+\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{"}{\accdialytika}
+\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{\accTILDE}{\LastDeclaredEncoding}{\@tabacckludge~}
+\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{>}{\LGR@accdropped}
+\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{<}{\LGR@accdropped}
+\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{"}{\accdialytika}
+\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika}
+\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>
+\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}</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>
@@ -1086,85 +1079,87 @@
<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>
-<p>The new <span class="docutils literal">\MakeUppercase</span> expects the default for ambiguous mappings
+The second and third lines are TeX’s way of writing <span class="docutils literal">@uclclist += …</span></p>
+<p>Since 2022, <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{%
\@uclclist
- \accdasia\LGR@accdropped
- \accdasiaoxia\LGR@hiatus
- \accdasiavaria\LGR@accdropped
+ \accdasia \LGR@accdropped
+ \accdasiaoxia \LGR@hiatus
+ \accdasiavaria \LGR@accdropped
\accdasiaperispomeni\LGR@accdropped
- \accpsili\LGR@hiatus
- \accpsilioxia\LGR@hiatus
- \accpsilivaria\LGR@hiatus
+ \accpsili \LGR@hiatus
+ \accpsilioxia \LGR@hiatus
+ \accpsilivaria \LGR@hiatus
\accpsiliperispomeni\LGR@accdropped
- \acctonos\LGR@hiatus
- \accoxia\LGR@hiatus
- \accvaria\LGR@accdropped
- \accdialytikatonos\LGR@accDialytika
- \accdialytikavaria\LGR@accDialytika
+ \acctonos \LGR@hiatus
+ \accoxia \LGR@hiatus
+ \accvaria \LGR@accdropped
+ \accdialytikatonos \LGR@accDialytika
+ \accdialytikaoxia \LGR@accDialytika
+ \accdialytikavaria \LGR@accDialytika
\accdialytikaperispomeni\LGR@accDialytika
- \accperispomeni\LGR@accdropped
- \LGR@ypogegrammeni\prosgegrammeni
- \textalpha \textAlpha
- \textbeta \textBeta
+ \accperispomeni \LGR@accdropped
+ \LGR@ypogegrammeni \prosgegrammeni
+ \textalpha \textAlpha
+ \textbeta \textBeta
\textbetasymbol \textBeta
\textvarbeta \textBeta
- \textgamma \textGamma
- \textdelta \textDelta
- \textepsilon \textEpsilon
+ \textgamma \textGamma
+ \textdelta \textDelta
+ \textepsilon \textEpsilon
\textepsilonsymbol \textEpsilon
\textvarepsilon \textEpsilon
- \textzeta \textZeta
- \texteta \textEta
- \texttheta \textTheta
+ \textzeta \textZeta
+ \texteta \textEta
+ \texttheta \textTheta
\texttheta \textThetasymbol
\texttheta \textvarTheta
\textthetasymbol \textTheta
\textvartheta \textTheta
- \textiota \textIota
- \textkappa \textKappa
+ \textiota \textIota
+ \textkappa \textKappa
\textkappasymbol \textKappa
\textvarkappa \textKappa
- \textlambda \textLambda
- \textmu \textMu
- \textnu \textNu
- \textxi \textXi
- \textomicron \textOmicron
- \textpi \textPi
- \textpisymbol \textPi
- \textvarpi \textPi
- \textrho \textRho
+ \textlambda \textLambda
+ \textmu \textMu
+ \textnu \textNu
+ \textxi \textXi
+ \textomicron \textOmicron
+ \textpi \textPi
+ \textpisymbol \textPi
+ \textvarpi \textPi
+ \textrho \textRho
\textvarrho \textRho
\textrhosymbol \textRho
- \textautosigma \textSigma
- \textfinalsigma \textSigma
- \textvarsigma \textSigma
- \textsigma \textSigma
- \texttau \textTau
- \textupsilon \textUpsilon
- \textphi \textPhi
- \textphisymbol \textPhi
- \textvarphi \textPhi
- \textchi \textChi
- \textpsi \textPsi
- \textomega \textOmega
- \textkoppa \textKoppa
- \textqoppa \textQoppa
- \textvarstigma \LGR@Stigma
- \textstigma \textStigma
- \textsampi \textSampi
- \textdigamma \textDigamma
+ \textautosigma \textSigma
+ \textfinalsigma \textSigma
+ \textvarsigma \textSigma
+ \textsigma \textSigma
+ \texttau \textTau
+ \textupsilon \textUpsilon
+ \textphi \textPhi
+ \textphisymbol \textPhi
+ \textvarphi \textPhi
+ \textchi \textChi
+ \textpsi \textPsi
+ \textomega \textOmega
+ \textkoppa \textKoppa
+ \textqoppa \textQoppa
+ \textstigma \textStigma
+ \textvarstigma \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
+ \textbeta \textBeta
+ \texttheta \textTheta
+ \textkappa \textKappa
+ \textpi \textPi
+ \textrho \textRho
+ \textautosigma \textSigma
+ \textstigma \textStigma
}%
\let\update@uclc@with@greek\relax
}</pre>
@@ -1178,7 +1173,9 @@
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}
+<pre class="literal-block">\ProvideTextCommand{\LGR@accdropped}{\LastDeclaredEncoding}{\@firstofone}
+\DeclareTextCompositeCommand{\LGR@accdropped}{\LastDeclaredEncoding}{'}{\LGR@accdropped}
+\DeclareTextCompositeCommand{\LGR@accdropped}{\LastDeclaredEncoding}{`}{\LGR@accdropped}
\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
@@ -1186,14 +1183,10 @@
<pre class="literal-block">\DeclareTextCommand{\LGR@accDialytika}{\LastDeclaredEncoding}{\accdialytika}
\DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\LGR@hiatus}{\accdialytika}
\DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\LGR@accdropped}{\accdialytika}</pre>
-<p>The prosgegrammeni (adscript iota) is used only with capital letters.
+<p>The prosgegrammeni (adscript iota) is used only with capital letters.
We define a dummy macro to enable the conversion of <span class="docutils literal">\prosgegrammeni</span>
-to <span class="docutils literal">\ypogegrammeni</span> (subscript iota) but not vice versa:</p>
+to <span class="docutils literal">\ypogegrammeni</span> (subscript iota) but not vice versa:</p>
<pre class="literal-block">\DeclareTextCommand{\LGR@ypogegrammeni}{\LastDeclaredEncoding}{\ypogegrammeni}</pre>
-<p>Prevent downcasing <span class="docutils literal">\textStigma</span> to the stigma variant <span class="docutils literal">\textvarstigma</span>
-(only available in LGR). This happened sometimes with the post-2022/06
-<span class="docutils literal">\MakeLowercase</span>:</p>
-<pre class="literal-block">\DeclareTextCommand{\LGR@Stigma}{\LastDeclaredEncoding}{\textStigma}</pre>
</section>
<section id="hiatus">
<h4><a class="toc-backref" href="#toc-entry-10" role="doc-backlink">Hiatus</a></h4>
@@ -1294,6 +1287,12 @@
<td></td>
<td><p>Composite commands for “captital” macros and <span class="docutils literal">~</span>.</p></td>
</tr>
+<tr><td><p>2.5</p></td>
+<td><p>2023-09-12</p></td>
+<td><p><span class="docutils literal">\textvarTheta</span> is now an alias for <span class="docutils literal">\textTheta</span>
+(the math command <cite>varTheta</cite> set the <em>letter</em> Theta
+in italic shape).</p></td>
+</tr>
</tbody>
</table>
</section>
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/hyperref-with-greek.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/hyperref-with-greek.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/hyperref-with-greek.tex 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/hyperref-with-greek.tex 2023-09-12 20:09:52 UTC (rev 68249)
@@ -1,21 +1,31 @@
\documentclass{article}
\usepackage[unicode,colorlinks=true,linkcolor=blue]{hyperref}
-% \usepackage{bookmark}
+\usepackage{bookmark}
+% \pagestyle{headings}
-\usepackage[LGR,T1]{fontenc}
-\usepackage{lmodern}
-\usepackage[greek,english]{babel}
+\ifdefined \UnicodeEncodingName
+ \usepackage{fontspec}
+ \setmainfont[Renderer=Harfbuzz]{FreeSerif}
+ \ifdefined\luatexversion
+ \newcommand*{\texengine}{LuaTeX}
+ \else
+ \newcommand*{\texengine}{XeTeX}
+ \fi
+\else
+ \usepackage[LGR,T1]{fontenc}
+ \usepackage{lmodern}
+ \newcommand*{\texengine}{pdfTeX}
+\fi
+
+\usepackage[greek.polutoniko,english]{babel}
\usepackage[normalize-symbols]{alphabeta}
-\usepackage[utf8]{inputenc}
-% \pagestyle{headings}
+% auxiliary commands
+\newcommand{\cs}[1]{\texttt{\textbackslash #1}}
+\newcommand*{\TestUppercase}[1]{#1 → \MakeUppercase{#1}}
-\IfFormatAtLeastTF{2022/06/01}
- {\newcommand*{\testnewmakeuppercase}{\MakeUppercase}}
- {\newcommand*{\testnewmakeuppercase}{\relax}}
-
\begin{document}
\title{Greek and hyperref}
@@ -23,11 +33,13 @@
\date{2020/10/30}
\maketitle
+\tableofcontents
+
\noindent
On 2010-11-05, Heiko Oberdiek wrote in comp.text.tex:
%
\begin{quote}
- \textbackslash pdfstringdef (converting TeX code to PDF strings for
+ \cs{pdfstringdef} (converting TeX code to PDF strings for
bookmarks) supports NFSS2 and needs active characters. Encoding
stuff based on the internal font machinery of TeX (letters with
catcode 11 or 12, ligatures) does not work, because the strings
@@ -49,7 +61,7 @@
see textalpha-doc.pdf).
For correct hyphenation and other fixes, mark Greek text parts with the
Babel language \texttt{greek}. There should be no space around a language
-switch: |\foreignlanguage{greek}{λογος}|
+switch: |\foreignlanguage{greek}{λογος}|.
\section{Transcription: \ensuregreek{logos}, \foreignlanguage{greek}{logos}}
@@ -58,15 +70,15 @@
\section{Macros:
\foreignlanguage{greek}{%
- \textlambda\textomicron\textgamma\textomicron\textvarsigma},
- \textlambda\textomicron\textgamma\textomicron\textvarsigma{},
- \lambda\omicron\gamma\omicron\varsigma{},
+ \textlambda\textomicron\textgamma\textomicron\textfinalsigma},
+ \textlambda\textomicron\textgamma\textomicron\textfinalsigma{},
+ \lambda\omicron\gamma\omicron\finalsigma{},
λογος,
}
-\emph{Babel-Greek} or \emph{textalpha} package with \verb|\textalpha| \ldots
-\verb|textomega| macros; \emph{alphabeta} package with
-\verb|alpha| \ldots \verb|Omega| macros.
+\emph{Babel-Greek} or \emph{textalpha} package with \cs{textalpha} …
+\cs{textomega} macros; \emph{alphabeta} package with
+\cs{alpha} … \cs{Omega} macros.
With 8-bit TeX (pdflatex), literal Greek Unicode characters are
converted to LICR Macros, too.
@@ -82,7 +94,7 @@
\foreignlanguage{greek}{\textAlpha\textUpsilon\textLambda}%
}
-Kerning is impossible if the font encoding is switched for every single
+Kerning is impeded if the font encoding is switched for every single
character. To fix this, wrap the Greek part in a command switching to a font
encoding supporting Greek, either \verb+\ensuregreek{...}+ (with package
\emph{textalpha} or \emph{Babel}) or \verb+\foreignlanguage{greek}{...}+
@@ -104,7 +116,7 @@
\subsection{ἀἁἂἃἄἅἆἇἈἉἊἋἌἍἎἏ}
\subsection{ἐἑἒἓἔἕἘἙἚἛἜἝ}
\subsection{ἠἡἢἣἤἥἦἧἨἩἪἫἬἭἮἯ}
-\subsection{ἰἱἲἳἴἵἶἷἸἹἺἻἼἽἾἿ}
+\subsection{ἰ ἱ ἲ ἳ ἴ ἵ ἶ ἷ Ἰ Ἱ Ἲ Ἳ Ἴ Ἵ Ἶ Ἷ}
\subsection{ὀὁὂὃὄὅὈὉὊὋὌὍ}
\subsection{ὐὑὒὓὔὕὖὗὙὛὝὟ}
\subsection{ὠὡὢὣὤὥὦὧὨὩὪὫὬὭὮὯ}
@@ -114,7 +126,7 @@
\subsection{ᾠᾡᾢᾣᾤᾥᾦᾧᾨᾩᾪᾫᾬᾭᾮᾯ}
\subsection{ᾰᾱᾲᾳᾴᾶᾷᾸᾹᾺΆᾼ᾽ι᾿}
\subsection{῀῁ῂῃῄῆῇῈΈῊΉῌ῍῎῏}
-\subsection{ῐῑῒΐῖῗῘῙῚΊ῝῞῟}
+\subsection{ῐ ῑ ῒ ΐ ῖ ῗ Ῐ Ῑ Ὶ Ί ῝῞῟}
\subsection{ῠῡῢΰῤῥῦῧῨῩῪΎῬ῭΅`}
\subsection{ῲῳῴῶῷῸΌῺΏῼ´῾}
@@ -123,9 +135,9 @@
\section{LICR command input}
-\subsection{\ensuregreek{
- \textnumeralsigngreek
- \textnumeralsignlowergreek
+\newcommand*{\GreekAndCopticI}{\greekscript
+ \textdexiakeraia
+ \textaristerikeraia
{ }\ypogegrammeni
\texterotimatiko
\acctonos{ }
@@ -151,8 +163,9 @@
\textKappa
\textLambda
\textMu
- \textNu}}
-\subsection{\ensuregreek{
+ \textNu
+}
+\newcommand*{\GreekAndCopticII}{\greekscript
\textXi
\textOmicron
\textPi
@@ -166,9 +179,8 @@
\textOmega
\"\textIota
\"\textUpsilon
-}}
-
-\subsection{\ensuregreek{
+}
+\newcommand*{\GreekAndCopticIII}{\greekscript
\'\textalpha
\'\textepsilon
\'\texteta
@@ -186,13 +198,13 @@
\textkappa
\textlambda
\textmu
- \textnu}}
-\subsection{\ensuregreek{
+ \textnu}
+\newcommand*{\GreekAndCopticIV}{\greekscript
\textxi
\textomicron
\textpi
\textrho
- \textvarsigma
+ \textfinalsigma
\textsigma
\texttau
\textupsilon
@@ -219,13 +231,12 @@
\textkoppa
\textSampi
\textsampi
-}}
+}
-
-\emph{textalpha} load definitions for LICR input with non-standard
+\emph{textalpha} loads definitions for LICR input with non-standard
accents or combined diacritics characters also for PU (hyperref).
-\subsection{\ensuregreek{
+\newcommand*{\GreekExtendedI}{\greekscript
\>\textalpha
\<\textalpha
\>`\textalpha
@@ -233,7 +244,7 @@
\>'\textalpha
\<'\textalpha
\~>\textalpha
- \~<\textalpha
+ \~<\textalpha{}
\>\textAlpha
\<\textAlpha
\>`\textAlpha
@@ -242,14 +253,14 @@
\<'\textAlpha
\~>\textAlpha
\~<\textAlpha
-}}
-\subsection{\ensuregreek{
+}
+\newcommand*{\GreekExtendedII}{\greekscript
\>\textepsilon
\<\textepsilon
\>`\textepsilon
\<`\textepsilon
\>'\textepsilon
- \<'\textepsilon
+ \<'\textepsilon{}
\>\textEpsilon
\<\textEpsilon
\>`\textEpsilon
@@ -256,8 +267,8 @@
\<`\textEpsilon
\>'\textEpsilon
\<'\textEpsilon
-}}
-\subsection{\ensuregreek{
+}
+\newcommand*{\GreekExtendedIII}{\greekscript
\>\texteta
\<\texteta
\>`\texteta
@@ -265,7 +276,7 @@
\>'\texteta
\<'\texteta
\~>\texteta
- \~<\texteta
+ \~<\texteta{}
\>\textEta
\<\textEta
\>`\textEta
@@ -274,32 +285,32 @@
\<'\textEta
\~>\textEta
\~<\textEta
-}}
-\subsection{\ensuregreek{
- \>\textiota
- \<\textiota
- \>`\textiota
- \<`\textiota
- \>'\textiota
- \<'\textiota
- \~>\textiota
- \~<\textiota
- \>\textIota
- \<\textIota
- \>`\textIota
- \<`\textIota
- \>'\textIota
- \<'\textIota
- \~>\textIota
- \~<\textIota
-}}
-\subsection{\ensuregreek{
+}
+\newcommand*{\GreekExtendedIV}{\greekscript
+ \>\textiota{}
+ \<\textiota{}
+ \>`\textiota{}
+ \<`\textiota{}
+ \>'\textiota{}
+ \<'\textiota{}
+ \~>\textiota{}
+ \~<\textiota{}\ {}
+ \>\textIota{}
+ \<\textIota{}
+ \>`\textIota{}
+ \<`\textIota{}
+ \>'\textIota{}
+ \<'\textIota{}
+ \~>\textIota{}
+ \~<\textIota{}
+}
+\newcommand*{\GreekExtendedV}{\greekscript
\>\textomicron
\<\textomicron
\>`\textomicron
\<`\textomicron
\>'\textomicron
- \<'\textomicron
+ \<'\textomicron{}
\>\textOmicron
\<\textOmicron
\>`\textOmicron
@@ -306,8 +317,8 @@
\<`\textOmicron
\>'\textOmicron
\<'\textOmicron
-}}
-\subsection{\ensuregreek{
+}
+\newcommand*{\GreekExtendedVI}{\greekscript
\>\textupsilon
\<\textupsilon
\>`\textupsilon
@@ -315,13 +326,13 @@
\>'\textupsilon
\<'\textupsilon
\~>\textupsilon
- \~<\textupsilon
+ \~<\textupsilon{}
\<\textUpsilon
\<`\textUpsilon
\<'\textUpsilon
\~<\textUpsilon
-}}
-\subsection{\ensuregreek{
+}
+\newcommand*{\GreekExtendedVII}{\greekscript
\>\textomega
\<\textomega
\>`\textomega
@@ -329,7 +340,7 @@
\>'\textomega
\<'\textomega
\~>\textomega
- \~<\textomega
+ \~<\textomega{}
\>\textOmega
\<\textOmega
\>`\textOmega
@@ -338,8 +349,8 @@
\<'\textOmega
\~>\textOmega
\~<\textOmega
-}}
-\subsection{\ensuregreek{
+}
+\newcommand*{\GreekExtendedVIII}{\greekscript
\accvaria\textalpha
\accoxia\textalpha
\accvaria\textepsilon
@@ -354,8 +365,8 @@
\accoxia\textupsilon
\accvaria\textomega
\accoxia\textomega
-}}
-\subsection{\ensuregreek{
+}
+\newcommand*{\GreekExtendedIX}{\greekscript
\>\textalpha\ypogegrammeni
\<\textalpha\ypogegrammeni
\>`\textalpha\ypogegrammeni
@@ -372,8 +383,8 @@
\<'\textAlpha\ypogegrammeni
\~>\textAlpha\ypogegrammeni
\~<\textAlpha\ypogegrammeni
-}}
-\subsection{\ensuregreek{
+}
+\newcommand*{\GreekExtendedX}{\greekscript
\>\texteta\ypogegrammeni
\<\texteta\ypogegrammeni
\>`\texteta\ypogegrammeni
@@ -390,8 +401,8 @@
\<'\textEta\ypogegrammeni
\~>\textEta\ypogegrammeni
\~<\textEta\ypogegrammeni
-}}
-\subsection{\ensuregreek{
+}
+\newcommand*{\GreekExtendedXI}{\greekscript
\>\textomega\ypogegrammeni
\<\textomega\ypogegrammeni
\>`\textomega\ypogegrammeni
@@ -408,8 +419,8 @@
\<'\textOmega\ypogegrammeni
\~>\textOmega\ypogegrammeni
\~<\textOmega\ypogegrammeni
-}}
-\subsection{\ensuregreek{
+}
+\newcommand*{\GreekExtendedXII}{\greekscript
\u\textalpha
\=\textalpha
\accvaria\textalpha\ypogegrammeni
@@ -425,8 +436,8 @@
\>{ }
{ }\prosgegrammeni
\>{ }
-}}
-\subsection{\ensuregreek{
+}
+\newcommand*{\GreekExtendedXIII}{\greekscript
\accperispomeni\textcompwordmark
\"\~{ }
\accvaria\texteta\ypogegrammeni
@@ -442,23 +453,23 @@
\>`{ }
\>'{ }
\~>{ }
-}}
-\subsection{\ensuregreek{
- \u\textiota
- \=\textiota
- \`"\textiota
- \'"\textiota
- \~\textiota
- \~"\textiota
- \u\textIota
- \=\textIota
- \accvaria\textIota
- \accoxia\textIota
+}
+\newcommand*{\GreekExtendedXIV}{\greekscript
+ \u\textiota{}
+ \=\textiota{}
+ \`"\textiota{}
+ \'"\textiota{}
+ \~\textiota{}
+ \~"\textiota{}
+ \u\textIota{}
+ \=\textIota{}
+ \accvaria\textIota{}
+ \accoxia\textIota{}
\<`{ }
\>'{ }
\~<{ }
-}}
-\subsection{\ensuregreek{
+}
+\newcommand*{\GreekExtendedXV}{\greekscript
\u\textupsilon
\=\textupsilon
\`"\textupsilon
@@ -475,8 +486,8 @@
\`"{ }
\'"{ }
\accvaria{ }
-}}
-\subsection{\ensuregreek{
+}
+\newcommand*{\GreekExtendedXVI}{\greekscript
\accvaria\textomega\ypogegrammeni
\textomega\ypogegrammeni
\accoxia\textomega\ypogegrammeni
@@ -489,40 +500,165 @@
\textOmega\ypogegrammeni
\accoxia{ }
\<{ }
+}
+
+\subsection{Greek and Coptic}
+
+\subsubsection{\GreekAndCopticI}
+\subsubsection{\GreekAndCopticII}
+\subsubsection{\GreekAndCopticIII}
+\subsubsection{\GreekAndCopticIV}
+
+
+\subsection{Greek Extended}
+
+\subsubsection{\GreekExtendedI}
+\subsubsection{\GreekExtendedII}
+\subsubsection{\GreekExtendedIII}
+\subsubsection{\GreekExtendedIV}
+\subsubsection{\GreekExtendedV}
+\subsubsection{\GreekExtendedVI}
+\subsubsection{\GreekExtendedVII}
+\subsubsection{\GreekExtendedVIII}
+\subsubsection{\GreekExtendedIX}
+\subsubsection{\GreekExtendedX}
+\subsubsection{\GreekExtendedXI}
+\subsubsection{\GreekExtendedXII}
+\subsubsection{\GreekExtendedXIII}
+\subsubsection{\GreekExtendedXIV}
+\subsubsection{\GreekExtendedXV}
+\subsubsection{\GreekExtendedXVI}
+
+
+\section{Alias character names}
+
+\subsection{\ensuregreek{
+ \textvarTheta
+ \textvarepsilon
+ \textvarphi
+ \textvarsigma
+ \textvarbeta
+ \textvartheta
+ \textvarpi
+ \textvarkappa
+ \textvarrho
+ \textnumeralsigngreek
+ \textnumeralsignlowergreek
+ \textmugreek
+ \textStigmagreek
+ \textDigammagreek
+ \textdigammagreek
+ \textSampigreek
+ \textsampigreek
}}
+
\section{Makeuppercase}
According to Greek typesetting conventions,
diacritics (except the dialytika) are dropped in UPPERCASE.
-The LaTeX \verb|\Makeuppercase| implementation changed fundamentally
+The LaTeX \cs{Makeuppercase} implementation changed fundamentally
with the release in 06/2022.\footnote{%
This change cannot be reverted with the rollback mechanism
``for technical reasons''.}
-\verb|\Makeuppercase| is now supported PDF-strings.
+Since the change, \cs{Makeuppercase} is also supported in PDF-strings.
Greek typesetting rules are ony applied if the text language is
-set to \texttt{greek} with Babel's \verb|\setlanguage| or
-\verb|\foreignlanguage|.
+set to \texttt{greek} with Babel's \cs{setlanguage} or
+\cs{foreignlanguage}.
The changes broke the support for upcasing of polutonic Greek (combined
accents) with LICR input and of Greek with the LGR Latin transliteration.
-Restoring support is currently (2023/02/10) worked on.
+Support is restored as of 2023-09-07, some issues remain with PDF strings.
-\selectlanguage{greek}
-\subsection{\testnewmakeuppercase{ἀἁἂἃἄἅἆἇἈἉἊἋἌἍἎἏ}}
+\ifdefined \AddToNoCaseChangeList
+ % skip \MakeUppercase tests for LaTeX older than 2022/6
+ \subsection{Literal Unicode input}
+
+ \subsubsection{\MakeUppercase{ʹ͵ͺ; ΄ ΅ Ά·ΈΉΊΌΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝ}}
+ Text language English --- diacritics not dropped.
+
+ \subsubsection{\foreignlanguage{greek}{%
+ \MakeUppercase{ʹ͵ͺ; ΄ ΅ Ά·ΈΉΊΌΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝ}}}
+ Language set to Greek inside the \cs{subsection} command --
+ diacritics dropped in the text and ToC but not in the PDF sidebar (sic!).
+
+ \selectlanguage{greek}
+ \subsubsection{\MakeUppercase{ʹ͵ͺ; ΄ ΅ Ά·ΈΉΊΌΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝ}}
+
+ \ensureascii{Language switched before the \cs{subsection} command --
+ diacritics dropped in text, ToC, and PDF sidebar.}
+
+ \subsubsection{\MakeUppercase{ΞΟΠΡΣΤΥΦΧΨΩΪΫϘϚϜϠ}}
+ \subsubsection{\MakeUppercase{άέήίΰαβγδεζηθικλμν}}
+ \subsubsection{\MakeUppercase{ξοπρςστυφχψωϊϋόύώϐϑϕϖϘϙϛϝϟϡ}}
+
+ \subsubsection{\MakeUppercase{ἀἁἂἃἄἅἆἇἈἉἊἋἌἍἎἏ}}
+ \subsubsection{\MakeUppercase{ἐἑἒἓἔἕἘἙἚἛἜἝ}}
+ \subsubsection{\MakeUppercase{ἠἡἢἣἤἥἦἧἨἩἪἫἬἭἮἯ}}
+ \subsubsection{\MakeUppercase{ἰ ἱ ἲ ἳ ἴ ἵ ἶ ἷ Ἰ Ἱ Ἲ Ἳ Ἴ Ἵ Ἶ Ἷ}}
+ \subsubsection{\MakeUppercase{ὀὁὂὃὄὅὈὉὊὋὌὍ}}
+ \subsubsection{\MakeUppercase{ὐὑὒὓὔὕὖὗὙὛὝὟ}}
+ \subsubsection{\MakeUppercase{ὠὡὢὣὤὥὦὧὨὩὪὫὬὭὮὯ}}
+ \subsubsection{\MakeUppercase{ὰάὲέὴήὶίὸόὺύὼώ}}
+ \subsubsection{\MakeUppercase{ᾀᾁᾂᾃᾄᾅᾆᾇᾈᾉᾊᾋᾌᾍᾎᾏ}}
+ \subsubsection{\MakeUppercase{ᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾞᾟ}}
+ \subsubsection{\MakeUppercase{ᾠᾡᾢᾣᾤᾥᾦᾧᾨᾩᾪᾫᾬᾭᾮᾯ}}
+ \subsubsection{\MakeUppercase{ᾰᾱᾲᾳᾴᾶᾷᾸᾹᾺΆᾼ᾽ι᾿}}
+ \ % dummy content to allow page-break
+ \subsubsection{\MakeUppercase{῀῁ῂῃῄῆῇῈΈῊΉῌ῍ ῎ ῏}}
+ \subsubsection{\MakeUppercase{ῐ ῑ ῒ ΐ ῖ ῗ Ῐ Ῑ Ὶ Ί ῝῞῟}}
+ \subsubsection{\MakeUppercase{ῠῡῢΰῤῥῦῧῨῩῪΎῬ῭΅`}}
+ \subsubsection{\MakeUppercase{ῲῳῴῶῷῸΌῺΏῼ´῾}}
+
+ \subsection{\ensureascii{LICR input}}
+
+ \subsubsection{\MakeUppercase{\GreekAndCopticI}}
+ \subsubsection{\MakeUppercase{\GreekAndCopticII}}
+ \subsubsection{\MakeUppercase{\GreekAndCopticIII}}
+ \subsubsection{\MakeUppercase{\GreekAndCopticIV}}
+
+ \subsubsection{\MakeUppercase{\GreekExtendedI}}
+ \subsubsection{\MakeUppercase{\GreekExtendedII}}
+ \subsubsection{\MakeUppercase{\GreekExtendedIII}}
+ \subsubsection{\MakeUppercase{\GreekExtendedIV}}
+ \subsubsection{\MakeUppercase{\GreekExtendedV}}
+ \subsubsection{\MakeUppercase{\GreekExtendedVI}}
+ \subsubsection{\MakeUppercase{\GreekExtendedVII}}
+ \subsubsection{\MakeUppercase{\GreekExtendedVIII}}
+ \subsubsection{\MakeUppercase{\GreekExtendedIX}}
+ \subsubsection{\MakeUppercase{\GreekExtendedX}}
+ \subsubsection{\MakeUppercase{\GreekExtendedXI}}
+ \subsubsection{\MakeUppercase{\GreekExtendedXII}}
+ \subsubsection{\MakeUppercase{\GreekExtendedXIII}}
+ \subsubsection{\MakeUppercase{\GreekExtendedXIV}}
+ \subsubsection{\MakeUppercase{\GreekExtendedXV}}
+ \subsubsection{\MakeUppercase{\GreekExtendedXVI}}
+
+ \subsection{Hiatus}
+ \subsubsection{\TestUppercase{άι άυ έι ἄι ἄυ ἔι ἀυ}}
+ \subsubsection{\TestUppercase{\'\textalpha\textiota{}
+ \'\textalpha\textupsilon{} \'\textepsilon\textiota{}
+ \>'\textalpha\textiota{} \>'\textalpha\textupsilon{}
+ \>'\textepsilon\textiota{} \>\textalpha\textupsilon{}
+ }}
+
+\fi
+
\selectlanguage{english}
-\verb|Makeuppercase| is not supported in PDF strings with LaTeX versions
-older than 06/2022.
+In PDF strings, the hiatus feature only works with literal input.
+
\section{Conclusion}
For Greek text parts in section headers use either literal Unicode characters%
- \footnote{Pre-composed Unicode characters must be used for multi-accented
- letters or non-standard accents. Combining Unicode characters do not work
- with inputenc and 8-bit LaTeX – this is a general restriction.}
+ \footnote{Combining Unicode characters do not work
+ with inputenc and 8-bit LaTeX. (This is a general restriction.)
+ Use pre-composed Unicode characters or accent macros
+ for letters with diacritics. }
or macros. For proper kerning und upcasing in the main document, set the
-language with \verb|\foreignlanguage{greek}|.
+text language of Greek text parts to \texttt{greek}. If you use polytonic
+Greek, set the \texttt{polutoniko} language attribute.
\end{document}
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/lgr2licr.lua.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/lgr2licr.lua.html 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/lgr2licr.lua.html 2023-09-12 20:09:52 UTC (rev 68249)
@@ -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.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 Günter Milde" />
<title>LGR Transcription to Greek LICR transformation</title>
@@ -308,8 +308,8 @@
/* .. _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 @@
font-weight: bold;
}
mstyle.mathscr, mi.mathscr {
- font-family: STIX;
+ font-family: STIX, XITSMathJax_Script, rsfs10,
+ "Asana Math", Garamond, cursive;
}
/* Adaptive page layout */
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc.def.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc.def.html 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc.def.html 2023-09-12 20:09:52 UTC (rev 68249)
@@ -1014,6 +1014,10 @@
<td><p>Add LGR-specific definitions for “capital” accent
for the <span class="docutils literal">\MakeUppercase</span> fix in <a class="reference external" href="https://ctan.org/pkg/babel-greek">babel-greek</a>.</p></td>
</tr>
+<tr><td><p>2.5</p></td>
+<td><p>2023-09-12</p></td>
+<td><p>Small formatting and documentation fixes.</p></td>
+</tr>
</tbody>
</table>
</section>
@@ -1052,7 +1056,7 @@
<section id="identification">
<h3><a class="toc-backref" href="#toc-entry-5" role="doc-backlink">Identification</a></h3>
<pre class="literal-block">\ProvidesFile{lgrenc.def}
-[2023-08-15 2.4 LGR Greek font encoding definitions]
+[2023-09-12 2.5 LGR Greek font encoding definitions]
% Copyright © 2010 -- 2023 Günter Milde
% This file is part of the "greek-fontenc" package.
% It may be distributed and/or modified under the
@@ -1185,8 +1189,8 @@
\PackageError{greek-fontenc}{character \string#1 not available \MessageBreak
in 8-bit TeX}
{Use XeTeX/LuaTeX if you need to distinguish the symbol from the letter.\MessageBreak
- The package `textalpha' with `normalize-symbols' maps the GREEK SYMBOL\MessageBreak
- character to the corresponding GREEK LETTER.\MessageBreak
+ The `normalize-symbols' option of babel-greek or package `textalpha'\MessageBreak
+ maps the GREEK SYMBOL character to the corresponding GREEK LETTER.\MessageBreak
Press <return> to proceed (dropping the symbol from the document).}
}
@@ -1194,8 +1198,8 @@
\PackageError{greek-fontenc}{character \string#1 not available in text mode}
{Use #2 or XeTeX/LuaTeX if you need to distinguish\MessageBreak
the symbol from the letter.\MessageBreak
- The package `textalpha' with `normalize-symbols' maps the GREEK SYMBOL\MessageBreak
- character to the corresponding GREEK LETTER.\MessageBreak
+ The `normalize-symbols' option of babel-greek or package `textalpha'\MessageBreak
+ maps the GREEK SYMBOL character to the corresponding GREEK LETTER.\MessageBreak
Press <return> to proceed (dropping the symbol from the document).}
}
@@ -1734,30 +1738,31 @@
<h3><a class="toc-backref" href="#toc-entry-25" role="doc-backlink">UPPERCASE</a></h3>
<section id="letters-without-pre-composed-uppercase-version">
<h4><a class="toc-backref" href="#toc-entry-26" role="doc-backlink">letters without pre-composed uppercase version</a></h4>
-<p>The default MakeUppercase (2022-version) emits “composing” Unicode in
-characters for letters with diacriticals but no matching pre-composed
-capital equivalent. The fix requires a LaTeX version 2023 or later:</p>
+<p>The default <span class="docutils literal">\MakeUppercase</span> (2022-version) emits “composing” Unicode
+characters for letters with diacritics but no matching pre-composed
+capital equivalent. We drop diacritics to prevent compilation errors.
+The <span class="docutils literal">\DeclareUppercaseMapping</span> macro is new in the 2023 LaTeX release:</p>
<pre class="literal-block">\ifdefined\DeclareUppercaseMapping
- \DeclareUppercaseMapping{"0390}{\accdialytikatonos{\textiota}} % ΐ
- \DeclareUppercaseMapping{"03B0}{\accdialytikatonos{\textupsilon}} % ΰ
- \DeclareUppercaseMapping{"1F50}{\accpsili{\textupsilon}} % ὐ
- \DeclareUppercaseMapping{"1F52}{\accpsilivaria{\textupsilon}} % ὒ
- \DeclareUppercaseMapping{"1F54}{\accpsilioxia{\textupsilon}} % ὔ
- \DeclareUppercaseMapping{"1F56}{\accpsiliperispomeni{\textupsilon}} % ὖ
- \DeclareUppercaseMapping{"1FB6}{\accperispomeni{\textalpha}} % ᾶ
+ \DeclareUppercaseMapping{"0390}{\accdialytikatonos{\textiota}} % ΐ
+ \DeclareUppercaseMapping{"03B0}{\accdialytikatonos{\textupsilon}} % ΰ
+ \DeclareUppercaseMapping{"1F50}{\accpsili{\textupsilon}} % ὐ
+ \DeclareUppercaseMapping{"1F52}{\accpsilivaria{\textupsilon}} % ὒ
+ \DeclareUppercaseMapping{"1F54}{\accpsilioxia{\textupsilon}} % ὔ
+ \DeclareUppercaseMapping{"1F56}{\accpsiliperispomeni{\textupsilon}} % ὖ
+ \DeclareUppercaseMapping{"1FB6}{\accperispomeni{\textalpha}} % ᾶ
\DeclareUppercaseMapping{"1FB7}{\accperispomeni{\textalpha}\ypogegrammeni} % ᾷ
- \DeclareUppercaseMapping{"1FC6}{\accperispomeni{\texteta}} % ῆ
+ \DeclareUppercaseMapping{"1FC6}{\accperispomeni{\texteta}} % ῆ
\DeclareUppercaseMapping{"1FC7}{\accperispomeni{\texteta}\ypogegrammeni} % ῇ
- \DeclareUppercaseMapping{"1FD2}{\accdialytikavaria{\textiota}} % ῒ
- \DeclareUppercaseMapping{"1FD3}{\accdialytikatonos{\textiota}} % ΐ
- \DeclareUppercaseMapping{"1FD6}{\accperispomeni{\textiota}} % ῖ
- \DeclareUppercaseMapping{"1FD7}{\accdialytikaperispomeni{\textiota}} % ῗ
- \DeclareUppercaseMapping{"1FE2}{\accdialytikavaria{\textupsilon}} % ῢ
- \DeclareUppercaseMapping{"1FE3}{\accdialytikatonos{\textupsilon}} % ΰ
- \DeclareUppercaseMapping{"1FE4}{\accpsili{\textrho}} % ῤ
- \DeclareUppercaseMapping{"1FE6}{\accperispomeni{\textupsilon}} % ῦ
- \DeclareUppercaseMapping{"1FE7}{\accdialytikaperispomeni{\textupsilon}} % ῧ
- \DeclareUppercaseMapping{"1FF6}{\accperispomeni{\textomega}} % ῶ
+ \DeclareUppercaseMapping{"1FD2}{\accdialytikavaria{\textiota}} % ῒ
+ \DeclareUppercaseMapping{"1FD3}{\accdialytikatonos{\textiota}} % ΐ
+ \DeclareUppercaseMapping{"1FD6}{\accperispomeni{\textiota}} % ῖ
+ \DeclareUppercaseMapping{"1FD7}{\accdialytikaperispomeni{\textiota}} % ῗ
+ \DeclareUppercaseMapping{"1FE2}{\accdialytikavaria{\textupsilon}} % ῢ
+ \DeclareUppercaseMapping{"1FE3}{\accdialytikatonos{\textupsilon}} % ΰ
+ \DeclareUppercaseMapping{"1FE4}{\accpsili{\textrho}} % ῤ
+ \DeclareUppercaseMapping{"1FE6}{\accperispomeni{\textupsilon}} % ῦ
+ \DeclareUppercaseMapping{"1FE7}{\accdialytikaperispomeni{\textupsilon}} % ῧ
+ \DeclareUppercaseMapping{"1FF6}{\accperispomeni{\textomega}} % ῶ
\DeclareUppercaseMapping{"1FF7}{\accperispomeni{\textomega}\ypogegrammeni} % ῷ
\fi</pre>
</section>
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/puenc-greek.def.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/puenc-greek.def.html 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/puenc-greek.def.html 2023-09-12 20:09:52 UTC (rev 68249)
@@ -827,6 +827,11 @@
<td><p>2023-08-15</p></td>
<td><p>Print σ, not ς with <span class="docutils literal">textautosigma</span> dummy definition.</p></td>
</tr>
+<tr><td><p>2.5</p></td>
+<td><p>2023-09-12</p></td>
+<td><p>Composite definitions for “capital” diacritics to fix
+<span class="docutils literal">\MakeUppercase</span> in PDF strings.</p></td>
+</tr>
</tbody>
</table>
</dd>
@@ -844,6 +849,7 @@
<li><p><a class="reference internal" href="#greek-extended" id="toc-entry-7">Greek Extended</a></p></li>
<li><p><a class="reference internal" href="#letterlike-symbols" id="toc-entry-8">Letterlike Symbols</a></p></li>
<li><p><a class="reference internal" href="#ancient-greek-numbers" id="toc-entry-9">Ancient Greek Numbers</a></p></li>
+<li><p><a class="reference internal" href="#uppercase" id="toc-entry-10">UPPERCASE</a></p></li>
</ul>
</li>
</ul>
@@ -851,7 +857,7 @@
<section id="identification">
<h2><a class="toc-backref" href="#toc-entry-1" role="doc-backlink">Identification</a></h2>
<pre class="literal-block">\ProvidesFile{puenc-greek.def}
- [2023-08-15 2.4 Greek LICRs for PDF strings]</pre>
+ [2023-09-12 2.5 Greek LICRs for PDF strings]</pre>
</section>
<section id="diacritics">
<h2><a class="toc-backref" href="#toc-entry-2" role="doc-backlink">Diacritics</a></h2>
@@ -900,7 +906,7 @@
<section id="greek-and-coptic">
<h3><a class="toc-backref" href="#toc-entry-6" role="doc-backlink">Greek and Coptic</a></h3>
<p>Without coptic and archaic letters (except the ones used in Greek numerals).</p>
-<pre class="literal-block">% NR Unicode Name % PU name (alias in greek-fontenc.def)
+<pre class="literal-block">% NR Unicode Name % legacy PU name (alias in greek-fontenc.def)
\DeclareTextCommand{\textdexiakeraia}{PU}{\83\164} % ʹ \textnumeralsigngreek
\DeclareTextCommand{\textaristerikeraia}{PU}{\83\165} % ͵ \textnumeralsignlowergreek</pre>
<p>037A GREEK YPOGEGRAMMENI (use textcompwordmarkypogegrammeni) % ͺ
@@ -1237,6 +1243,36 @@
\DeclareTextCommand{\textpentehekaton}{PU}{𐅅} % "10145 GREEK ACROPHONIC ATTIC FIVE HUNDRED
\DeclareTextCommand{\textpenteqilioi}{PU}{𐅆} % "10146 GREEK ACROPHONIC ATTIC FIVE THOUSAND
\DeclareTextCommand{\textpentemuria}{PU}{𐅇} % "10147 GREEK ACROPHONIC ATTIC FIFTY THOUSAND</pre>
+</section>
+<section id="uppercase">
+<h3><a class="toc-backref" href="#toc-entry-10" role="doc-backlink">UPPERCASE</a></h3>
+<p>Greek letters drop diacritics (eccept dialytika and sub-iota) in UPPERCASE.</p>
+<p>Babel-Greek introduces macros for “capital accents” in release 1.13.3.
+Here, we add definitions to drop diacritics in uppercase:</p>
+<pre class="literal-block">\DeclareTextCompositeCommand{\accACUTE}{PU}{\textAlpha }{\textAlpha}
+\DeclareTextCompositeCommand{\accACUTE}{PU}{\textEpsilon}{\textEpsilon}
+\DeclareTextCompositeCommand{\accACUTE}{PU}{\textEta }{\textEta}
+\DeclareTextCompositeCommand{\accACUTE}{PU}{\textIota }{\textIota}
+\DeclareTextCompositeCommand{\accACUTE}{PU}{\textOmicron}{\textOmicron}
+\DeclareTextCompositeCommand{\accACUTE}{PU}{\textUpsilon}{\textUpsilon}
+\DeclareTextCompositeCommand{\accACUTE}{PU}{\textOmega }{\textOmega}
+
+\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textAlpha }{\textAlpha}
+\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textEpsilon}{\textEpsilon}
+\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textEta }{\textEta}
+\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textIota }{\textIota}
+\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textOmicron}{\textOmicron}
+\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textUpsilon}{\textUpsilon}
+\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textOmega }{\textOmega}
+
+\DeclareTextCompositeCommand{\accTILDE}{PU}{\textAlpha }{\textAlpha}
+\DeclareTextCompositeCommand{\accTILDE}{PU}{\textEta }{\textEta}
+\DeclareTextCompositeCommand{\accTILDE}{PU}{\textIota }{\textIota}
+\DeclareTextCompositeCommand{\accTILDE}{PU}{\textUpsilon}{\textUpsilon}
+\DeclareTextCompositeCommand{\accTILDE}{PU}{\textOmega }{\textOmega}</pre>
+<p>The “hiatus” feature does not work with PU (Alpha/Epsilon is dropped!):</p>
+<pre class="literal-block">\DeclareTextCompositeCommand{\LGR@hiatus}{PU}{\textAlpha }{\textAlpha}
+\DeclareTextCompositeCommand{\LGR@hiatus}{PU}{\textEpsilon}{\textEpsilon}</pre>
<!-- References -->
</section>
</section>
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-lgrenc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-lgrenc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-lgrenc.tex 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-lgrenc.tex 2023-09-12 20:09:52 UTC (rev 68249)
@@ -105,7 +105,6 @@
\>\textepsilon\textrho\~\textomega\textnu{}
\'\textalpha\textpi\~\texteta\textlambda\texttheta\textepsilon\textfinalsigma{}
\textepsilon\>\textupsilon\texttheta\'\textupsilon\textfinalsigma\texterotimatiko{}
-
\end{quote}
\tableofcontents
@@ -405,7 +404,8 @@
e.g., \LGR\~W\Latin). Since 2022, LaTeX's \cs{MakeUppercase} uses the
Greek upcasing rules only if the text language (locale) is set to ``greek''
with Babel (i.e.\ not in this document).
-See \texttt{char-list.tex | char-list.pdf} for a comprehensive example.
+See \href{char-list.pdf}{char-list.pdf} for a comprehensive
+example using the Greek language.
Different conventions exist for the treatment of the sub-iota with uppercase
letters. The CB-Fonts use a capital Iota ``index'' (\LGR A|, H|, W|\Latin).
@@ -412,7 +412,7 @@
LaTeX standard accents%
\footnote{The ogonek (\emph{little hook}) accent \k{ } (\textbackslash k)
-is not defined in LGR.}
+does not work in LGR.}
(Latin, Greek, Greek Capitals $\mapsto$ UPPERCASE)
\begin{quote}
@@ -458,16 +458,14 @@
}
\end{quote}
-\Latin Input variants and their conversion with MakeUppercase:
+\Latin Input variants and their conversion with \cs{MakeUppercase}:\footnote{
+ With the 2022 \cs{MakeUppercase} implementation, there are issues like
+ wrongly placed diacritics or \texttt{~} leading to a NBSP with
+ letters/diacritics that are never used in an initial position because this
+ document does not set the text language to ``greek''. However, there
+ should not be any compiling errors.}
\begin{quote}
-As this document does not set the text language to ``greek'', capital
-letters do not drop accents (since the 2022 MakeUppercase revamp).
-
-There are issues like wrongly placed diacritics or \verb|~| leading to a
-NBSP with letters/diacritics that are never used in an initial position.
-However, there should not be any compiling errors.
-
\LGR
\~>a \>\~a \~\>{a}, \~<a \<\~a \<~a \~\<a \~<a,
\>\~{h} \~>h \>~h \>\~h \~>h \~>h|, \~<h \<\~h,
Deleted: trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-licr-input.pdf
===================================================================
(Binary files differ)
Deleted: trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-licr-input.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-licr-input.tex 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-licr-input.tex 2023-09-12 20:09:52 UTC (rev 68249)
@@ -1,704 +0,0 @@
-\documentclass[a4paper]{article}
-\usepackage[unicode,colorlinks=true,linkcolor=blue]{hyperref}
-% \usepackage{bookmark}
-% \usepackage{parskip}
-\usepackage{amssymb}
-
-% This file uses only ASCII input but we test the result of "inputenc" on
-% the Greek font setup for TU and PU:
-
-% test with different input encoding (before Greek font setup)
-\usepackage[latin1]{inputenc}
-% \usepackage[latin1]{luainputenc}
-% -> errors with LuaTeX:
-% ! Missing \endcsname inserted.
-% <to be read again>
-% \pm
-% l.118 ...and{\~}{\UnicodeEncodingName}{α}{ᾶ}
-% ...
-%
-% "tuenc-greek.def" uses literal Unicode characters which is incompatible
-% with legacy 8-bit encodings defined via ”luainputenc”.
-% The output seems OK, though.
-
-
-\ifdefined \UnicodeEncodingName % set by LaTeX for Unicode-aware engines
- % Unicode font setup:
- \usepackage{fontspec}
- % \setmainfont{DejaVu Serif} # no YPOGEGRAMMENI
- % \setsansfont{DejaVu Sans}
- % \setmainfont{cmunrm.otf} % CMU Serif % many missing characters :(
- % \setmainfont{FreeSerif}
- \setmainfont{Linux Libertine O}
- \setsansfont{Linux Biolinum O}
-\else
- \usepackage[LGR,T1]{fontenc}
- \usepackage{lmodern}
-\fi
-
-\usepackage[normalize-symbols]{textalpha}
-
-
-\ProvideTextCommandDefault{\textvarpi}{missing}
-\ProvideTextCommandDefault{\textvarrho}{missing}
-\ProvideTextCommandDefault{\textvartheta}{missing}
-\ProvideTextCommandDefault{\textvarTheta}{missing}
-\ProvideTextCommandDefault{\textvarepsilon}{missing}
-\ProvideTextCommandDefault{\textvarphi}{missing}
-\ProvideTextCommandDefault{\textvarbeta}{missing}
-\ProvideTextCommandDefault{\textvarkappa}{missing}
-\DeclareTextSymbolDefault{\textschwa}{LGR}
-
-\ProvideTextCommandDefault{\textmicro}{\textmu}
-
-% test with different input encoding (after Greek font setup)
-% \usepackage[latin1]{luainputenc}
-
-\begin{document}
-
-% place the hypersetup after the document start if extra Greek
-% characters are required:
-\hypersetup{pdfauthor=\textTau\'<\textepsilon\textsigma\textthetasymbol}
-
-\title{Test Greek LaTeX internal character representations (LICR macros)}
-\author{G\"unter Milde}
-\date{2023/03/08}
-\maketitle
-
-
-This document tests the compatibility of ``luainputenc'' and the Greek font
-setup for TU and PU. It uses only ASCII input.
-
-See the source \texttt{test-inputenc.tex} for the input used in the examples.
-
-TODO: Compiling with LuaTeX fails: \texttt{tuenc-greek.def} uses
-literal Unicode characters which is incompatible with legacy 8-bit encodings
-defined via "luainputenc".
-
-\tableofcontents
-
-
-\section{LICR input%
- \label{licr}}
-
-The LaTeX internal character representation (LICR) is a verbose, fail-safe
-7-bit ASCII encoding that can be used unaltered under both, 8-bit TeX (with
-any ASCII-compatible input encoding) and XeTeX/LuaTeX.
-Use cases are macro definitions and generated text.
-
-
-\subsection{Greek alphabet}
-
-Greek letters via LICR macros:
-\begin{quote}
- \textAlpha{} \textBeta{} \textGamma{} \textDelta{} \textEpsilon{}
- \textZeta{} \textEta{} \textTheta{} \textIota{} \textKappa{}
- \textLambda{} \textMu{} \textNu{} \textXi{} \textOmicron{} \textPi{}
- \textRho{} \textSigma{} \textTau{} \textUpsilon{} \textPhi{}
- \textChi{} \textPsi{} \textOmega{}
-
- \textalpha{} \textbeta{} \textgamma{} \textdelta{} \textepsilon{}
- \textzeta{} \texteta{} \texttheta{} \textiota{} \textkappa{}
- \textlambda{} \textmu{} \textnu{} \textxi{} \textomicron{} \textpi{}
- \textrho{} \textsigma{} \texttau{} \textupsilon{}
- \textphi{} \textchi{} \textpsi{} \textomega{}
-\end{quote}
-The small sigma is set with a different
-glyph if it ends a word:
-\begin{quote}
- \textsigma{} \verb|textsigma|\\
- \textfinalsigma{} \verb|textfinalsigma| or \verb|textvarsigma|
-\end{quote}
-With Unicode fonts (Xe/LuaTeX, font encoding TU), the \verb|\textautosigma|
-macro (which automatically chooses the glyph according to the position)
-does not work with LaTeX versions older than 2022/06 (requires the new
-\verb|\MakeLowercase| implementation).
-
-\subsection{Diacritics}
-
-Greek accents are
-tonos = oxia, varia, psili, dasia, dialytika, and perispomeni.
-
-Greek diacritics can be input by named macro or symbol macro:
-\begin{quote}
- \acctonos\textalpha \'\textalpha{} \acctonos x\'x
- \accvaria\textalpha \`\textalpha{} \accvaria x\`x
- \accdialytika\textiota{} \"\textiota{} \accdialytika x\"x
- \accperispomeni\textalpha \~\textalpha{} \accperispomeni x\~x
- \accpsili\textalpha \>\textalpha{} \accpsili x\>x
- \accdasia\textalpha \<\textalpha{} \accdasia x\<x
-\end{quote}
-%
-Diacritics as spacing characters:
-
-with empty argument:
-\ensuregreek{
-\acctonos{} \accoxia{} \accvaria{}
-\accpsili{} \accdasia{}
-\accdialytika{} \accperispomeni{}
-\accdialytikatonos{} \accdialytikavaria{} \accdialytikaperispomeni{}
-\accdasiaoxia{} \accdasiavaria{} \accdasiaperispomeni{}
-\accpsilioxia{} \accpsilivaria{} \accpsiliperispomeni{}
-}
-
-with space as argument:
-\ensuregreek{
-\acctonos{ } \accoxia{ } \accvaria{ }
-\accpsili{ } \accdasia{ }
-\accdialytika{ } \accperispomeni{ }
-\accdialytikatonos{ } \accdialytikavaria{ } \accdialytikaperispomeni{ }
-\accdasiaoxia{ } \accdasiavaria{ } \accdasiaperispomeni{ }
-\accpsilioxia{ } \accpsilivaria{ } \accpsiliperispomeni{ }
-}
-
-with protected space:
-\ensuregreek{
-\acctonos{\ } \accoxia{\ } \accvaria{\ }
-\accpsili{\ } \accdasia{\ }
-\accdialytika{\ } \accperispomeni{\ }
-\accdialytikatonos{\ }\ \accdialytikavaria{\ }\ \accdialytikaperispomeni{\ }\
-\accdasiaoxia{\ }\ \accdasiavaria{\ }\ \accdasiaperispomeni{\ }\
-\accpsilioxia{\ }\ \accpsilivaria{\ }\ \accpsiliperispomeni{\ }
-}
-
-with nobreakspace:
-\ensuregreek{
-\acctonos{\nobreakspace} \accoxia{\nobreakspace} \accvaria{\nobreakspace}
-\accpsili{\nobreakspace} \accdasia{\nobreakspace}
-\accdialytika{\nobreakspace} \accperispomeni{\nobreakspace}
-\accdialytikatonos{\nobreakspace}\ \accdialytikavaria{\nobreakspace}\
-\accdialytikaperispomeni{\nobreakspace}\ \accdasiaoxia{\nobreakspace}\
-\accdasiavaria{\nobreakspace}\ \accdasiaperispomeni{\nobreakspace}\
-\accpsilioxia{\nobreakspace}\ \accpsilivaria{\nobreakspace}\
-\accpsiliperispomeni{\nobreakspace}
-}
-
-\subsubsection{mute iota}
-
-The mute iota is input after the base letter.
-
-\begin{itemize}
-\item \verb|\ypogegrammeni| following a Greek letter sets a sub-iota
- (corresponding to COMBINING GREEK YPOGEGRAMMENI),
- e.g. \ensuregreek{\textalpha\ypogegrammeni{}}.
-
- In Unicode, a GREEK CAPITAL LETTER ... followed by
- COMBINING GREEK YPOGEGRAMMENI is normalized to
- GREEK CAPITAL LETTER ... WITH [... AND] PROSGEGRAMMENI,
- if a corresponding letter exists in the Unicode standard.
- In LGR fonts, this is implemented via a ligature definition
- (set the Babel language or wrap in \verb|\ensuregreek|):
- \ensuregreek{\textAlpha\ypogegrammeni{}} but
- \ensuregreek{\textLambda\ypogegrammeni{}}.
-
- The shape and position of the mute iota with pre-composed capital letters
- depends on the selected font, both sub-iota and adscript iota are possible.
-
-\item \verb|\prosgegrammeni| sets an adscript iota (GREEK PROSGEGRAMMENI),
- e.g. \textAlpha\prosgegrammeni{}.
- In Unicode fonts the prosgegrammeni is spaced similar to the letter iota.
- In the CB Greek fonts, the only visible difference to the pre-composed
- characters is a slightly increased spacing.
-
- Copy/Paste may convert the adscript iota to a small letter iota!
-
-\end{itemize}
-Ypogegrammeni and prosgegrammeni following matching/not-matching base character
-(unchanged, lowercase, uppercase):
-\begin{quote}
- \greekscript
- \textAlpha\ypogegrammeni \textAlpha\prosgegrammeni{}
- \MakeLowercase{\textAlpha\ypogegrammeni \textAlpha\prosgegrammeni}
- \MakeUppercase{\textAlpha\ypogegrammeni \textAlpha\prosgegrammeni}
-
- \textLambda\ypogegrammeni \textLambda\prosgegrammeni{}
- \MakeLowercase{\textLambda\ypogegrammeni \textLambda\prosgegrammeni}
- \MakeUppercase{\textLambda\ypogegrammeni \textLambda\prosgegrammeni}
-
- \textalpha\ypogegrammeni \textalpha\prosgegrammeni{}
- \MakeLowercase{\textalpha\ypogegrammeni \textalpha\prosgegrammeni}
- \MakeUppercase{\textalpha\ypogegrammeni \textalpha\prosgegrammeni}
-\end{quote}
-
-Using \verb|\ypogegrammeni| for the mute iota with both, small and capital
-letters usually gives better results.
-
-
-\subsection{Additional Greek symbols}
-
-\subsubsection{symbols for Greek numbers}
-
-\begin{quote}
-\textkoppa{} textkoppa \\ % ϟ
-\textKoppa{} textKoppa \\ % Ϟ
-\textqoppa{} textqoppa (archaic koppa) \\ % ϙ
-\textQoppa{} textQoppa (archaic Koppa) \\ % Ϙ
-\textstigma{} textstigma \\ % ϛ
-% \textvarstigma{} textvarstigma \\ % no separate Unicode character
-\textStigma{} textStigma (Sigma-Tau-Ligature in CB-fonts)%
-\footnote{the name ``stigma'' originally applied to a medieval sigma-tau
- ligature, whose shape was confusingly similar to the cursive
- digamma} \\ % Ϛ
-\textsampi{} textsampi \\ % ϡ
-\textSampi{} textSampi \\ % Ϡ
-\textdigamma{} textdigamma \\ % ϝ (\digamma used by amsmath!)
-\textDigamma{} textDigamma \\ % Ϝ
-% numeral signs: http://en.wikipedia.org/wiki/Greek_numerals
-\textdexiakeraia{} textdexiakeraia \\ % ʹ
-\textaristerikeraia{} textaristerikeraia \\ % ͵
-\end{quote}
-
-
-\begin{table}[tbp]
- \centering
- \begin{tabular}{lclc}
- \hline
- \multicolumn{2}{c}{text} & \multicolumn{2}{c}{mathematics} \\
- macro & output & macro & output \\
- \hline
- \verb$\textpi$ & \textpi & \verb$\pi$ & $\pi$ \\
- \verb$\textvarpi$ & \textvarpi & \verb$\varpi$ & $\varpi$ \\
- \verb$\textpisymbol$ & \textpisymbol & & \\
- \hline
- \verb$\textrho$ & \textrho & \verb$\rho$ & $\rho$ \\
- \verb$\textvarrho$ & \textvarrho & \verb$\varrho$ & $\varrho$ \\
- \verb$\textrhosymbol$ & \textrhosymbol & & \\
- \hline
- \verb$\texttheta$ & \texttheta & \verb$\theta$ & $\theta$ \\
- \verb$\textvartheta$ & \textvartheta & \verb$\vartheta$ & $\vartheta$ \\
- \verb$\textthetasymbol$ & \textthetasymbol & & \\
- \hline
- \verb$\textepsilon$ & \textepsilon & \verb$\epsilon$ & $\epsilon$ \\
- \verb$\textvarepsilon$ & \textvarepsilon & \verb$\varepsilon$ & $\varepsilon$ \\
- \verb$\textepsilonsymbol$ & \textepsilonsymbol & & \\
- \hline
- \verb$\textphi$ & \textphi & \verb$\phi$ & $\phi$ \\
- \verb$\textvarphi$ & \textvarphi & \verb$\varphi$ & $\varphi$ \\
- \verb$\textphisymbol$ & \textphisymbol & & \\
- \hline
- \verb$\textbeta$ & \textbeta & \verb$\beta$ & $\beta$ \\
- \verb$\textvarbeta$ & \textvarbeta & \emph{missing} & \\
- \verb$\textbetasymbol$ & \textbetasymbol & & \\
- \hline
- \verb$\textkappa$ & \textkappa & \verb$\kappa$ & $\kappa$ \\
- \verb$\textvarkappa$ & \textvarkappa & \verb$\varkappa$ & $\varkappa$ \\
- \verb$\textkappasymbol$ & \textkappasymbol & & \\
- \hline
- \verb$\textTheta$ & \textTheta & \verb$\Theta$ & $\Theta$ \\
- \verb$\textvarTheta$ & \textvarTheta & \emph{missing} & \\
- \verb$\textThetasymbol$ & \textThetasymbol & & \\
- \hline
- \end{tabular}
- \caption{Macros for Greek symbol variants}
- \label{tab:symbol-variant-macros}
-\end{table}
-
-% \subsubsection{Ancient Greek Numbers}
-%
-% Ancient Greek Numbers are missing in most fonts (including Libertine and
-% Deja Vu). The “FreeSerif” font works fine:
-% \begin{quote}
-% \textpentedeka % GREEK ACROPHONIC ATTIC FIFTY
-% \textpentehekaton % GREEK ACROPHONIC ATTIC FIVE HUNDRED
-% \textpenteqilioi % GREEK ACROPHONIC ATTIC FIVE THOUSAND
-% \textpentemuria % GREEK ACROPHONIC ATTIC FIFTY THOUSAND
-% \end{quote}
-
-\subsubsection{generic text symbols}
-
-LICR macros for some symbols from the 8-bit font encoding LGR that are not
-confined to Greek but not defined in \texttt{tuenc.def} [2018/08/11 v2.0j].
-
-\begin{quote}
- \textsemicolon{} textsemicolon\\
- \textmicro{} textmicro \\
- \textschwa{} textschwa
-\end{quote}
-The SI unit prefix MICRO SIGN is not upcased with MakeUppercase:
-
-\begin{quote}
- textmu: \textmu{} $\mapsto$ \MakeUppercase{\textmu} but
- textmicro: \textmicro{} $\mapsto$ \MakeUppercase{\textmicro}.
-\end{quote}
-
-\section{Greek in section headings}
-
-The packages \emph{textalpha} and \emph{alphabeta} as well as
-\emph{babel-greek}, add hyperref support for LICR input with
-non-standard accents or combined diacritics.
-
-\subsection{0374 \ensuregreek{
- \textnumeralsigngreek{}
- \textnumeralsignlowergreek{}
- \ \ypogegrammeni{}
- \texterotimatiko{}
- \acctonos{}
- \"'{}
- \'\textAlpha
- \textanoteleia
- \'\textEpsilon
- \'\textEta
- \'\textIota
- \'\textOmicron
- \'\textUpsilon
- \'\textOmega
- \'"\textiota
-}}
-\subsection{0391 \ensuregreek{
- \textAlpha
- \textBeta
- \textGamma
- \textDelta
- \textEpsilon
- \textZeta
- \textEta
- \textTheta
- \textIota
- \textKappa
- \textLambda
- \textMu
- \textNu
- \textXi
- \textOmicron
- \textPi
- \textRho
- \textSigma
- \textTau
- \textUpsilon
- \textPhi
- \textChi
- \textPsi
- \textOmega
-}}
-\subsection{03AA \ensuregreek{
- \"\textIota
- \"\textUpsilon
- \'\textalpha
- \'\textepsilon
- \'\texteta
- \'\textiota
- \"'\textupsilon
-}}
-\subsection{03B1 \ensuregreek{
- \textalpha
- \textbeta
- \textgamma
- \textdelta
- \textepsilon
- \textzeta
- \texteta
- \texttheta
- \textiota
- \textkappa
- \textlambda
- \textmu
- \textnu
- \textxi
- \textomicron
- \textpi
- \textrho
- \textvarsigma
- \textsigma
- \texttau
- \textupsilon
- \textphi
- \textchi
- \textpsi
- \textomega
-}}
-\subsection{03CA \ensuregreek{
- \"\textiota
- \"\textupsilon
- \'\textomicron
- \'\textupsilon
- \'\textomega
- \textbetasymbol
- \textthetasymbol
- \textphisymbol
- \textpisymbol
- \textQoppa
- \textqoppa
- \textStigma
- \textstigma
- \textDigamma
- \textdigamma
- \textKoppa
- \textkoppa
- \textSampi
- \textsampi
- \textkappasymbol
- \textrhosymbol
- \textThetasymbol
- \textepsilonsymbol
-}}
-
-
-\subsection{1F00 \ensuregreek{
- \accpsili\textalpha
- \accdasia\textalpha
- \accpsili`\textalpha
- \accdasia`\textalpha
- \accpsili'\textalpha
- \accdasia'\textalpha
- \~>\textalpha
- \~<\textalpha
- \accpsili\textAlpha
- \accdasia\textAlpha
- \accpsili`\textAlpha
- \accdasia`\textAlpha
- \accpsili'\textAlpha
- \accdasia'\textAlpha
- \~>\textAlpha
- \~<\textAlpha
-}}
-\subsection{1F10 \ensuregreek{
- \accpsili\textepsilon
- \accdasia\textepsilon
- \accpsili`\textepsilon
- \accdasia`\textepsilon
- \accpsili'\textepsilon
- \accdasia'\textepsilon
- \accpsili\textEpsilon
- \accdasia\textEpsilon
- \accpsili`\textEpsilon
- \accdasia`\textEpsilon
- \accpsili'\textEpsilon
- \accdasia'\textEpsilon
-}}
-\subsection{1F20 \ensuregreek{
- \accpsili\texteta
- \accdasia\texteta
- \accpsili`\texteta
- \accdasia`\texteta
- \accpsili'\texteta
- \accdasia'\texteta
- \~>\texteta
- \~<\texteta
- \accpsili\textEta
- \accdasia\textEta
- \accpsili`\textEta
- \accdasia`\textEta
- \accpsili'\textEta
- \accdasia'\textEta
- \~>\textEta
- \~<\textEta
-}}
-\subsection{1F30 \ensuregreek{
- \accpsili\textiota
- \accdasia\textiota
- \accpsili`\textiota
- \accdasia`\textiota
- \accpsili'\textiota
- \accdasia'\textiota
- \~>\textiota
- \~<\textiota
- \accpsili\textIota
- \accdasia\textIota
- \accpsili`\textIota
- \accdasia`\textIota
- \accpsili'\textIota
- \accdasia'\textIota
- \~>\textIota
- \~<\textIota
-}}
-\subsection{1F40 \ensuregreek{
- \accpsili\textomicron
- \accdasia\textomicron
- \accpsili`\textomicron
- \accdasia`\textomicron
- \accpsili'\textomicron
- \accdasia'\textomicron
- \accpsili\textOmicron
- \accdasia\textOmicron
- \accpsili`\textOmicron
- \accdasia`\textOmicron
- \accpsili'\textOmicron
- \accdasia'\textOmicron
-}}
-\subsection{1F50 \ensuregreek{
- \accpsili\textupsilon
- \accdasia\textupsilon
- \accpsili`\textupsilon
- \accdasia`\textupsilon
- \accpsili'\textupsilon
- \accdasia'\textupsilon
- \~>\textupsilon
- \~<\textupsilon
- \accdasia\textUpsilon
- \accdasia`\textUpsilon
- \accdasia'\textUpsilon
- \~<\textUpsilon
-}}
-\subsection{1F60 \ensuregreek{
- \accpsili\textomega
- \accdasia\textomega
- \accpsili`\textomega
- \accdasia`\textomega
- \accpsili'\textomega
- \accdasia'\textomega
- \~>\textomega
- \~<\textomega
- \accpsili\textOmega
- \accdasia\textOmega
- \accpsili`\textOmega
- \accdasia`\textOmega
- \accpsili'\textOmega
- \accdasia'\textOmega
- \~>\textOmega
- \~<\textOmega
-}}
-\subsection{1F70 \ensuregreek{
- \accvaria\textalpha
- \accoxia\textalpha
- \accvaria\textepsilon
- \accoxia\textepsilon
- \accvaria\texteta
- \accoxia\texteta
- \accvaria\textiota
- \accoxia\textiota
- \accvaria\textomicron
- \accoxia\textomicron
- \accvaria\textupsilon
- \accoxia\textupsilon
- \accvaria\textomega
- \accoxia\textomega
-}}
-\subsection{1F80 \ensuregreek{
- \accpsili\textalpha\ypogegrammeni
- \accdasia\textalpha\ypogegrammeni
- \accpsili`\textalpha\ypogegrammeni
- \accdasia`\textalpha\ypogegrammeni
- \accpsili'\textalpha\ypogegrammeni
- \accdasia'\textalpha\ypogegrammeni
- \~>\textalpha\ypogegrammeni
- \~<\textalpha\ypogegrammeni
- \accpsili\textAlpha\ypogegrammeni
- \accdasia\textAlpha\ypogegrammeni
- \accpsili`\textAlpha\ypogegrammeni
- \accdasia`\textAlpha\ypogegrammeni
- \accpsili'\textAlpha\ypogegrammeni
- \accdasia'\textAlpha\ypogegrammeni
- \~>\textAlpha\ypogegrammeni
- \~<\textAlpha\ypogegrammeni
-}}
-\subsection{1F90 \ensuregreek{
- \accpsili\texteta\ypogegrammeni
- \accdasia\texteta\ypogegrammeni
- \accpsili`\texteta\ypogegrammeni
- \accdasia`\texteta\ypogegrammeni
- \accpsili'\texteta\ypogegrammeni
- \accdasia'\texteta\ypogegrammeni
- \~>\texteta\ypogegrammeni
- \~<\texteta\ypogegrammeni
- \accpsili\textEta\ypogegrammeni
- \accdasia\textEta\ypogegrammeni
- \accpsili`\textEta\ypogegrammeni
- \accdasia`\textEta\ypogegrammeni
- \accpsili'\textEta\ypogegrammeni
- \accdasia'\textEta\ypogegrammeni
- \~>\textEta\ypogegrammeni
- \~<\textEta\ypogegrammeni
-}}
-\subsection{1FA0 \ensuregreek{
- \accpsili\textomega\ypogegrammeni
- \accdasia\textomega\ypogegrammeni
- \accpsili`\textomega\ypogegrammeni
- \accdasia`\textomega\ypogegrammeni
- \accpsili'\textomega\ypogegrammeni
- \accdasia'\textomega\ypogegrammeni
- \~>\textomega\ypogegrammeni
- \~<\textomega\ypogegrammeni
- \accpsili\textOmega\ypogegrammeni
- \accdasia\textOmega\ypogegrammeni
- \accpsili`\textOmega\ypogegrammeni
- \accdasia`\textOmega\ypogegrammeni
- \accpsili'\textOmega\ypogegrammeni
- \accdasia'\textOmega\ypogegrammeni
- \~>\textOmega\ypogegrammeni
- \~<\textOmega\ypogegrammeni
-}}
-\subsection{1FB0 \ensuregreek{
- \u\textalpha
- \=\textalpha
- \accvaria\textalpha\ypogegrammeni
- \textalpha\ypogegrammeni
- \accoxia\textalpha\ypogegrammeni
- \~\textalpha
- \~\textalpha\ypogegrammeni
- \u\textAlpha
- \=\textAlpha
- \accvaria\textAlpha
- \accoxia\textAlpha
- \textAlpha\ypogegrammeni
- \accpsili{ }
- \prosgegrammeni
- \accpsili{ }
-}}
-
-\subsection{1FC0 \ensuregreek{
- \accperispomeni{ }
- \"\~{ }
- \accvaria\texteta\ypogegrammeni
- \texteta\ypogegrammeni
- \accoxia\texteta\ypogegrammeni
- \~\texteta
- \~\texteta\ypogegrammeni
- \accvaria\textEpsilon
- \accoxia\textEpsilon
- \accvaria\textEta
- \accoxia\textEta
- \textEta\ypogegrammeni
- \accpsili`{ }
- \accpsili'{ }
- \~>{ }
-}}
-
-\subsection{1FD0 \ensuregreek{
- \u\textiota
- \=\textiota
- \`"\textiota
- \'"\textiota
- \~\textiota
- \~"\textiota
- \u\textIota
- \=\textIota
- \accvaria\textIota
- \accoxia\textIota
- \accdasia`{ }
- \accpsili'{ }
- \~<{ }
-}}
-\subsection{1FE0 \ensuregreek{
- \u\textupsilon
- \=\textupsilon
- \`"\textupsilon
- \'"\textupsilon
- \accpsili\textrho
- \accdasia\textrho
- \~\textupsilon
- \~"\textupsilon
- \u\textUpsilon
- \=\textUpsilon
- \accvaria\textUpsilon
- \accoxia\textUpsilon
- \accdasia\textRho
- \`"{ }
- \'"{ }
- \accvaria{ }
-}}
-\subsection{1FF0 \ensuregreek{
- \accvaria\textomega\ypogegrammeni
- \textomega\ypogegrammeni
- \accoxia\textomega\ypogegrammeni
- \~\textomega
- \~\textomega\ypogegrammeni
- \accvaria\textOmicron
- \accoxia\textOmicron
- \accvaria\textOmega
- \accoxia\textOmega
- \textOmega\ypogegrammeni
- \accoxia{ }
- \accdasia{ }
-}}
-
-\end{document}
Added: trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-luainputenc.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-luainputenc.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-luainputenc.pdf 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-luainputenc.pdf 2023-09-12 20:09:52 UTC (rev 68249)
Property changes on: trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-luainputenc.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-luainputenc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-luainputenc.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-luainputenc.tex 2023-09-12 20:09:52 UTC (rev 68249)
@@ -0,0 +1,702 @@
+\documentclass[a4paper]{article}
+\usepackage[unicode,colorlinks=true,linkcolor=blue]{hyperref}
+% \usepackage{bookmark}
+% \usepackage{parskip}
+\usepackage{amssymb}
+
+% This file uses only ASCII input but we test the result of "inputenc" on
+% the Greek font setup for TU and PU:
+
+% test with different input encoding (before Greek font setup)
+\usepackage[latin1]{luainputenc}
+
+\ifdefined \UnicodeEncodingName % set by LaTeX for Unicode-aware engines
+ % Unicode font setup:
+ \usepackage{fontspec}
+ % The Harfbuzz renderer provides selection of pre-composed characters
+ % (NFC normalization) with LuaTeX
+ % \setmainfont[Renderer=Harfbuzz]{DejaVu Serif} # no YPOGEGRAMMENI
+ % \setsansfont[Renderer=Harfbuzz]{DejaVu Sans}
+ % \setmainfont[Renderer=Harfbuzz]{FreeSerif}
+ % \setmainfont{cmunrm.otf} % CMU Serif % many missing characters :(
+ \setmainfont[Renderer=Harfbuzz]{Linux Libertine O}
+ \setsansfont[Renderer=Harfbuzz]{Linux Biolinum O}
+\else
+ \usepackage[LGR,T1]{fontenc}
+ \usepackage{lmodern}
+\fi
+
+\usepackage[normalize-symbols]{textalpha}
+
+
+\ProvideTextCommandDefault{\textvarpi}{missing}
+\ProvideTextCommandDefault{\textvarrho}{missing}
+\ProvideTextCommandDefault{\textvartheta}{missing}
+\ProvideTextCommandDefault{\textvarTheta}{missing}
+\ProvideTextCommandDefault{\textvarepsilon}{missing}
+\ProvideTextCommandDefault{\textvarphi}{missing}
+\ProvideTextCommandDefault{\textvarbeta}{missing}
+\ProvideTextCommandDefault{\textvarkappa}{missing}
+\DeclareTextSymbolDefault{\textschwa}{LGR}
+
+\ProvideTextCommandDefault{\textmicro}{\textmu}
+
+% test with different input encoding (after Greek font setup)
+% \usepackage[latin1]{luainputenc}
+
+\begin{document}
+
+% place the hypersetup after the document start if extra Greek
+% characters are required:
+\hypersetup{pdfauthor=\textTau\'<\textepsilon\textsigma\textthetasymbol}
+
+\title{Test LICR macros in LuaTeX's 8-bit compatibility mode}
+\author{G\"unter Milde}
+\date{2023/03/08}
+\maketitle
+
+This document tests the compatibility of ``luainputenc'' and the Greek font
+setup for TU and PU. It uses only ASCII input.
+
+See the source \texttt{test-inputenc.tex} for the input used in the examples.
+
+\tableofcontents
+
+
+\section{LICR input%
+ \label{licr}}
+
+The LaTeX internal character representation (LICR) is a verbose, fail-safe
+7-bit ASCII encoding that can be used unaltered under both, 8-bit TeX (with
+any ASCII-compatible input encoding) and XeTeX/LuaTeX.
+Use cases are macro definitions and generated text.
+
+
+\subsection{Greek alphabet}
+
+Greek letters via LICR macros:
+\begin{quote}
+ \textAlpha{} \textBeta{} \textGamma{} \textDelta{} \textEpsilon{}
+ \textZeta{} \textEta{} \textTheta{} \textIota{} \textKappa{}
+ \textLambda{} \textMu{} \textNu{} \textXi{} \textOmicron{} \textPi{}
+ \textRho{} \textSigma{} \textTau{} \textUpsilon{} \textPhi{}
+ \textChi{} \textPsi{} \textOmega{}
+
+ \textalpha{} \textbeta{} \textgamma{} \textdelta{} \textepsilon{}
+ \textzeta{} \texteta{} \texttheta{} \textiota{} \textkappa{}
+ \textlambda{} \textmu{} \textnu{} \textxi{} \textomicron{} \textpi{}
+ \textrho{} \textsigma{} \texttau{} \textupsilon{}
+ \textphi{} \textchi{} \textpsi{} \textomega{}
+\end{quote}
+The small sigma is set with a different
+glyph if it ends a word:
+\begin{quote}
+ \textsigma{} \verb|textsigma|\\
+ \textfinalsigma{} \verb|textfinalsigma| or \verb|textvarsigma|
+\end{quote}
+%
+The \verb|\textautosigma| macro (which automatically chooses the glyph
+according to the position) does not work with Unicode fonts (Xe/LuaTeX, font
+encoding TU).
+
+
+\subsection{Diacritics}
+
+Greek accents are
+tonos = oxia, varia, psili, dasia, dialytika, and perispomeni.
+
+Greek diacritics can be input by named macro or symbol macro:
+\begin{quote}
+ \acctonos\textalpha \'\textalpha{} \acctonos x\'x
+ \accvaria\textalpha \`\textalpha{} \accvaria x\`x
+ \accdialytika\textiota{} \"\textiota{} \accdialytika x\"x
+ \accperispomeni\textalpha \~\textalpha{} \accperispomeni x\~x
+ \accpsili\textalpha \>\textalpha{} \accpsili x\>x
+ \accdasia\textalpha \<\textalpha{} \accdasia x\<x
+\end{quote}
+%
+Combining diacritics were misplaced with the 2021 version of LuaTeX in 8-bit
+compatibility mode. This can be solved by selecting the "Harfbuzz" renderer
+(see the source).
+\begin{quote}
+ \accdasia`\textepsilon{} \accpsili'\textepsilon{} \~>\textupsilon{}
+ \~>\textalpha\ypogegrammeni{} \~<\textalpha\ypogegrammeni
+\end{quote}
+%
+Diacritics as spacing characters:
+
+with empty argument:
+\ensuregreek{
+\acctonos{} \accoxia{} \accvaria{}
+\accpsili{} \accdasia{}
+\accdialytika{} \accperispomeni{}
+\accdialytikatonos{} \accdialytikavaria{} \accdialytikaperispomeni{}
+\accdasiaoxia{} \accdasiavaria{} \accdasiaperispomeni{}
+\accpsilioxia{} \accpsilivaria{} \accpsiliperispomeni{}
+}
+
+with space as argument:
+\ensuregreek{
+\acctonos{ } \accoxia{ } \accvaria{ }
+\accpsili{ } \accdasia{ }
+\accdialytika{ } \accperispomeni{ }
+\accdialytikatonos{ } \accdialytikavaria{ } \accdialytikaperispomeni{ }
+\accdasiaoxia{ } \accdasiavaria{ } \accdasiaperispomeni{ }
+\accpsilioxia{ } \accpsilivaria{ } \accpsiliperispomeni{ }
+}
+
+with protected space:
+\ensuregreek{
+\acctonos{\ } \accoxia{\ } \accvaria{\ }
+\accpsili{\ } \accdasia{\ }
+\accdialytika{\ } \accperispomeni{\ }
+\accdialytikatonos{\ }\ \accdialytikavaria{\ }\ \accdialytikaperispomeni{\ }\
+\accdasiaoxia{\ }\ \accdasiavaria{\ }\ \accdasiaperispomeni{\ }\
+\accpsilioxia{\ }\ \accpsilivaria{\ }\ \accpsiliperispomeni{\ }
+}
+
+with nobreakspace:
+\ensuregreek{
+\acctonos{\nobreakspace} \accoxia{\nobreakspace} \accvaria{\nobreakspace}
+\accpsili{\nobreakspace} \accdasia{\nobreakspace}
+\accdialytika{\nobreakspace} \accperispomeni{\nobreakspace}
+\accdialytikatonos{\nobreakspace}\ \accdialytikavaria{\nobreakspace}\
+\accdialytikaperispomeni{\nobreakspace}\ \accdasiaoxia{\nobreakspace}\
+\accdasiavaria{\nobreakspace}\ \accdasiaperispomeni{\nobreakspace}\
+\accpsilioxia{\nobreakspace}\ \accpsilivaria{\nobreakspace}\
+\accpsiliperispomeni{\nobreakspace}
+}
+
+\subsubsection{mute iota}
+
+The mute iota is input after the base letter.
+
+\begin{itemize}
+\item \verb|\ypogegrammeni| following a Greek letter sets a sub-iota
+ (corresponding to COMBINING GREEK YPOGEGRAMMENI),
+ e.g. \ensuregreek{\textalpha\ypogegrammeni{}}.
+
+ In Unicode, a GREEK CAPITAL LETTER ... followed by
+ COMBINING GREEK YPOGEGRAMMENI is normalized to
+ GREEK CAPITAL LETTER ... WITH [... AND] PROSGEGRAMMENI,
+ if a corresponding letter exists in the Unicode standard.
+ In LGR fonts, this is implemented via a ligature definition
+ (set the Babel language or wrap in \verb|\ensuregreek|):
+ \ensuregreek{\textAlpha\ypogegrammeni{}} but
+ \ensuregreek{\textLambda\ypogegrammeni{}}.
+
+ The shape and position of the mute iota with pre-composed capital letters
+ depends on the selected font, both sub-iota and adscript iota are possible.
+
+\item \verb|\prosgegrammeni| sets an adscript iota (GREEK PROSGEGRAMMENI),
+ e.g. \textAlpha\prosgegrammeni{}.
+ In Unicode fonts the prosgegrammeni is spaced similar to the letter iota.
+ In the CB Greek fonts, the only visible difference to the pre-composed
+ characters is a slightly increased spacing.
+
+ Copy/Paste may convert the adscript iota to a small letter iota!
+
+\end{itemize}
+Ypogegrammeni and prosgegrammeni following matching/not-matching base character
+(unchanged, lowercase, uppercase):
+\begin{quote}
+ \greekscript
+ \textAlpha\ypogegrammeni \textAlpha\prosgegrammeni{}
+ \MakeLowercase{\textAlpha\ypogegrammeni \textAlpha\prosgegrammeni}
+ \MakeUppercase{\textAlpha\ypogegrammeni \textAlpha\prosgegrammeni}
+
+ \textLambda\ypogegrammeni \textLambda\prosgegrammeni{}
+ \MakeLowercase{\textLambda\ypogegrammeni \textLambda\prosgegrammeni}
+ \MakeUppercase{\textLambda\ypogegrammeni \textLambda\prosgegrammeni}
+
+ \textalpha\ypogegrammeni \textalpha\prosgegrammeni{}
+ \MakeLowercase{\textalpha\ypogegrammeni \textalpha\prosgegrammeni}
+ \MakeUppercase{\textalpha\ypogegrammeni \textalpha\prosgegrammeni}
+\end{quote}
+
+Using \verb|\ypogegrammeni| for the mute iota with both, small and capital
+letters usually gives better results.
+
+
+\subsection{Additional Greek symbols}
+
+\subsubsection{symbols for Greek numbers}
+
+\begin{quote}
+\raggedright
+\textkoppa{} textkoppa \\ % ϟ
+\textKoppa{} textKoppa \\ % Ϟ
+\textqoppa{} textqoppa (archaic koppa) \\ % ϙ
+\textQoppa{} textQoppa (archaic Koppa) \\ % Ϙ
+\textstigma{} textstigma \\ % ϛ
+% \textvarstigma{} textvarstigma \\ % no separate Unicode character
+\textStigma{} textStigma (Sigma-Tau-Ligature in CB-fonts)%
+\footnote{the name ``stigma'' originally applied to a medieval sigma-tau
+ ligature, whose shape was confusingly similar to the cursive
+ digamma} \\ % Ϛ
+\textsampi{} textsampi \\ % ϡ
+\textSampi{} textSampi \\ % Ϡ
+\textdigamma{} textdigamma \\ % ϝ (\digamma used by amsmath!)
+\textDigamma{} textDigamma \\ % Ϝ
+% numeral signs: http://en.wikipedia.org/wiki/Greek_numerals
+\textdexiakeraia{} textdexiakeraia \\ % ʹ
+\textaristerikeraia{} textaristerikeraia \\ % ͵
+\end{quote}
+
+% \subsubsection{Ancient Greek Numbers}
+%
+% Ancient Greek Numbers are missing in most fonts (including Libertine and
+% Deja Vu). The “FreeSerif” font works fine:
+% \begin{quote}
+% \textpentedeka % GREEK ACROPHONIC ATTIC FIFTY
+% \textpentehekaton % GREEK ACROPHONIC ATTIC FIVE HUNDRED
+% \textpenteqilioi % GREEK ACROPHONIC ATTIC FIVE THOUSAND
+% \textpentemuria % GREEK ACROPHONIC ATTIC FIFTY THOUSAND
+% \end{quote}
+
+\subsubsection{generic text symbols}
+
+LICR macros for some symbols from the 8-bit font encoding LGR that are not
+confined to Greek but not defined in \texttt{tuenc.def} [2018/08/11 v2.0j].
+
+\begin{quote}
+ \textsemicolon{} textsemicolon\\
+ \textmicro{} textmicro \\
+ \textschwa{} textschwa
+\end{quote}
+The SI unit prefix MICRO SIGN is not upcased with MakeUppercase:
+
+\begin{quote}
+ textmu: \textmu{} $\mapsto$ \MakeUppercase{\textmu} but
+ textmicro: \textmicro{} $\mapsto$ \MakeUppercase{\textmicro}.
+\end{quote}
+
+\section{Greek in section headings}
+
+The packages \emph{textalpha} and \emph{alphabeta} as well as
+\emph{babel-greek}, add hyperref support for LICR input with
+non-standard accents or combined diacritics.
+
+\subsection{Greek and Coptic}
+
+\subsubsection{\ensuregreek{
+ \textnumeralsigngreek{}
+ \textnumeralsignlowergreek{}
+ \ \ypogegrammeni{}
+ \texterotimatiko{}
+ \acctonos{}
+ \"'{}
+ \'\textAlpha
+ \textanoteleia
+ \'\textEpsilon
+ \'\textEta
+ \'\textIota
+ \'\textOmicron
+ \'\textUpsilon
+ \'\textOmega
+ \'"\textiota
+}}
+\subsubsection{\ensuregreek{
+ \textAlpha
+ \textBeta
+ \textGamma
+ \textDelta
+ \textEpsilon
+ \textZeta
+ \textEta
+ \textTheta
+ \textIota
+ \textKappa
+ \textLambda
+ \textMu
+ \textNu
+ \textXi
+ \textOmicron
+ \textPi
+ \textRho
+ \textSigma
+ \textTau
+ \textUpsilon
+ \textPhi
+ \textChi
+ \textPsi
+ \textOmega
+}}
+\subsubsection{\ensuregreek{
+ \"\textIota
+ \"\textUpsilon
+ \'\textalpha
+ \'\textepsilon
+ \'\texteta
+ \'\textiota
+ \"'\textupsilon
+}}
+\subsubsection{\ensuregreek{
+ \textalpha
+ \textbeta
+ \textgamma
+ \textdelta
+ \textepsilon
+ \textzeta
+ \texteta
+ \texttheta
+ \textiota
+ \textkappa
+ \textlambda
+ \textmu
+ \textnu
+ \textxi
+ \textomicron
+ \textpi
+ \textrho
+ \textvarsigma
+ \textsigma
+ \texttau
+ \textupsilon
+ \textphi
+ \textchi
+ \textpsi
+ \textomega
+}}
+\subsubsection{\ensuregreek{
+ \"\textiota
+ \"\textupsilon
+ \'\textomicron
+ \'\textupsilon
+ \'\textomega
+ \textbetasymbol
+ \textthetasymbol
+ \textphisymbol
+ \textpisymbol
+ \textQoppa
+ \textqoppa
+ \textStigma
+ \textstigma
+ \textDigamma
+ \textdigamma
+ \textKoppa
+ \textkoppa
+ \textSampi
+ \textsampi
+ \textkappasymbol
+ \textrhosymbol
+ \textThetasymbol
+ \textepsilonsymbol
+}}
+
+\subsection{Greek Extended}
+
+\subsubsection{\ensuregreek{
+ \accpsili\textalpha
+ \accdasia\textalpha
+ \accpsili`\textalpha
+ \accdasia`\textalpha
+ \accpsili'\textalpha
+ \accdasia'\textalpha
+ \~>\textalpha
+ \~<\textalpha
+ \accpsili\textAlpha
+ \accdasia\textAlpha
+ \accpsili`\textAlpha
+ \accdasia`\textAlpha
+ \accpsili'\textAlpha
+ \accdasia'\textAlpha
+ \~>\textAlpha
+ \~<\textAlpha
+}}
+\subsubsection{\ensuregreek{
+ \accpsili\textepsilon
+ \accdasia\textepsilon
+ \accpsili`\textepsilon
+ \accdasia`\textepsilon
+ \accpsili'\textepsilon
+ \accdasia'\textepsilon
+ \accpsili\textEpsilon
+ \accdasia\textEpsilon
+ \accpsili`\textEpsilon
+ \accdasia`\textEpsilon
+ \accpsili'\textEpsilon
+ \accdasia'\textEpsilon
+}}
+\subsubsection{\ensuregreek{
+ \accpsili\texteta
+ \accdasia\texteta
+ \accpsili`\texteta
+ \accdasia`\texteta
+ \accpsili'\texteta
+ \accdasia'\texteta
+ \~>\texteta
+ \~<\texteta
+ \accpsili\textEta
+ \accdasia\textEta
+ \accpsili`\textEta
+ \accdasia`\textEta
+ \accpsili'\textEta
+ \accdasia'\textEta
+ \~>\textEta
+ \~<\textEta
+}}
+\subsubsection{\ensuregreek{
+ \accpsili\textiota
+ \accdasia\textiota
+ \accpsili`\textiota
+ \accdasia`\textiota
+ \accpsili'\textiota
+ \accdasia'\textiota
+ \~>\textiota
+ \~<\textiota
+ \accpsili\textIota
+ \accdasia\textIota
+ \accpsili`\textIota
+ \accdasia`\textIota
+ \accpsili'\textIota
+ \accdasia'\textIota
+ \~>\textIota
+ \~<\textIota
+}}
+\subsubsection{\ensuregreek{
+ \accpsili\textomicron
+ \accdasia\textomicron
+ \accpsili`\textomicron
+ \accdasia`\textomicron
+ \accpsili'\textomicron
+ \accdasia'\textomicron
+ \accpsili\textOmicron
+ \accdasia\textOmicron
+ \accpsili`\textOmicron
+ \accdasia`\textOmicron
+ \accpsili'\textOmicron
+ \accdasia'\textOmicron
+}}
+\subsubsection{\ensuregreek{
+ \accpsili\textupsilon
+ \accdasia\textupsilon
+ \accpsili`\textupsilon
+ \accdasia`\textupsilon
+ \accpsili'\textupsilon
+ \accdasia'\textupsilon
+ \~>\textupsilon
+ \~<\textupsilon
+ \accdasia\textUpsilon
+ \accdasia`\textUpsilon
+ \accdasia'\textUpsilon
+ \~<\textUpsilon
+}}
+\subsubsection{\ensuregreek{
+ \accpsili\textomega
+ \accdasia\textomega
+ \accpsili`\textomega
+ \accdasia`\textomega
+ \accpsili'\textomega
+ \accdasia'\textomega
+ \~>\textomega
+ \~<\textomega
+ \accpsili\textOmega
+ \accdasia\textOmega
+ \accpsili`\textOmega
+ \accdasia`\textOmega
+ \accpsili'\textOmega
+ \accdasia'\textOmega
+ \~>\textOmega
+ \~<\textOmega
+}}
+\subsubsection{\ensuregreek{
+ \accvaria\textalpha
+ \accoxia\textalpha
+ \accvaria\textepsilon
+ \accoxia\textepsilon
+ \accvaria\texteta
+ \accoxia\texteta
+ \accvaria\textiota
+ \accoxia\textiota
+ \accvaria\textomicron
+ \accoxia\textomicron
+ \accvaria\textupsilon
+ \accoxia\textupsilon
+ \accvaria\textomega
+ \accoxia\textomega
+}}
+\subsubsection{\ensuregreek{
+ \accpsili\textalpha\ypogegrammeni
+ \accdasia\textalpha\ypogegrammeni
+ \accpsili`\textalpha\ypogegrammeni
+ \accdasia`\textalpha\ypogegrammeni
+ \accpsili'\textalpha\ypogegrammeni
+ \accdasia'\textalpha\ypogegrammeni
+ \~>\textalpha\ypogegrammeni
+ \~<\textalpha\ypogegrammeni
+ \accpsili\textAlpha\ypogegrammeni
+ \accdasia\textAlpha\ypogegrammeni
+ \accpsili`\textAlpha\ypogegrammeni
+ \accdasia`\textAlpha\ypogegrammeni
+ \accpsili'\textAlpha\ypogegrammeni
+ \accdasia'\textAlpha\ypogegrammeni
+ \~>\textAlpha\ypogegrammeni
+ \~<\textAlpha\ypogegrammeni
+}}
+\subsubsection{\ensuregreek{
+ \accpsili\texteta\ypogegrammeni
+ \accdasia\texteta\ypogegrammeni
+ \accpsili`\texteta\ypogegrammeni
+ \accdasia`\texteta\ypogegrammeni
+ \accpsili'\texteta\ypogegrammeni
+ \accdasia'\texteta\ypogegrammeni
+ \~>\texteta\ypogegrammeni
+ \~<\texteta\ypogegrammeni
+ \accpsili\textEta\ypogegrammeni
+ \accdasia\textEta\ypogegrammeni
+ \accpsili`\textEta\ypogegrammeni
+ \accdasia`\textEta\ypogegrammeni
+ \accpsili'\textEta\ypogegrammeni
+ \accdasia'\textEta\ypogegrammeni
+ \~>\textEta\ypogegrammeni
+ \~<\textEta\ypogegrammeni
+}}
+\subsubsection{\ensuregreek{
+ \accpsili\textomega\ypogegrammeni
+ \accdasia\textomega\ypogegrammeni
+ \accpsili`\textomega\ypogegrammeni
+ \accdasia`\textomega\ypogegrammeni
+ \accpsili'\textomega\ypogegrammeni
+ \accdasia'\textomega\ypogegrammeni
+ \~>\textomega\ypogegrammeni
+ \~<\textomega\ypogegrammeni
+ \accpsili\textOmega\ypogegrammeni
+ \accdasia\textOmega\ypogegrammeni
+ \accpsili`\textOmega\ypogegrammeni
+ \accdasia`\textOmega\ypogegrammeni
+ \accpsili'\textOmega\ypogegrammeni
+ \accdasia'\textOmega\ypogegrammeni
+ \~>\textOmega\ypogegrammeni
+ \~<\textOmega\ypogegrammeni
+}}
+\subsubsection{\ensuregreek{
+ \u\textalpha
+ \=\textalpha
+ \accvaria\textalpha\ypogegrammeni
+ \textalpha\ypogegrammeni
+ \accoxia\textalpha\ypogegrammeni
+ \~\textalpha
+ \~\textalpha\ypogegrammeni
+ \u\textAlpha
+ \=\textAlpha
+ \accvaria\textAlpha
+ \accoxia\textAlpha
+ \textAlpha\ypogegrammeni
+ \accpsili{ }
+ \prosgegrammeni
+ \accpsili{ }
+}}
+
+\subsubsection{\ensuregreek{
+ \accperispomeni{ }
+ \"\~{ }
+ \accvaria\texteta\ypogegrammeni
+ \texteta\ypogegrammeni
+ \accoxia\texteta\ypogegrammeni
+ \~\texteta
+ \~\texteta\ypogegrammeni
+ \accvaria\textEpsilon
+ \accoxia\textEpsilon
+ \accvaria\textEta
+ \accoxia\textEta
+ \textEta\ypogegrammeni
+ \accpsili`{ }
+ \accpsili'{ }
+ \~>{ }
+}}
+
+\subsubsection{\ensuregreek{
+ \u\textiota
+ \=\textiota
+ \`"\textiota
+ \'"\textiota
+ \~\textiota
+ \~"\textiota
+ \u\textIota
+ \=\textIota
+ \accvaria\textIota
+ \accoxia\textIota
+ \accdasia`{ }
+ \accpsili'{ }
+ \~<{ }
+}}
+\subsubsection{\ensuregreek{
+ \u\textupsilon
+ \=\textupsilon
+ \`"\textupsilon
+ \'"\textupsilon
+ \accpsili\textrho
+ \accdasia\textrho
+ \~\textupsilon
+ \~"\textupsilon
+ \u\textUpsilon
+ \=\textUpsilon
+ \accvaria\textUpsilon
+ \accoxia\textUpsilon
+ \accdasia\textRho
+ \`"{ }
+ \'"{ }
+ \accvaria{ }
+}}
+\subsubsection{\ensuregreek{
+ \accvaria\textomega\ypogegrammeni
+ \textomega\ypogegrammeni
+ \accoxia\textomega\ypogegrammeni
+ \~\textomega
+ \~\textomega\ypogegrammeni
+ \accvaria\textOmicron
+ \accoxia\textOmicron
+ \accvaria\textOmega
+ \accoxia\textOmega
+ \textOmega\ypogegrammeni
+ \accoxia{ }
+ \accdasia{ }
+}}
+
+
+\begin{table}[tbp]
+ \centering
+ \begin{tabular}{lclc}
+ \hline
+ \multicolumn{2}{c}{text} & \multicolumn{2}{c}{mathematics} \\
+ macro & output & macro & output \\
+ \hline
+ \verb$\textpi$ & \textpi & \verb$\pi$ & $\pi$ \\
+ \verb$\textvarpi$ & \textvarpi & \verb$\varpi$ & $\varpi$ \\
+ \verb$\textpisymbol$ & \textpisymbol & & \\
+ \hline
+ \verb$\textrho$ & \textrho & \verb$\rho$ & $\rho$ \\
+ \verb$\textvarrho$ & \textvarrho & \verb$\varrho$ & $\varrho$ \\
+ \verb$\textrhosymbol$ & \textrhosymbol & & \\
+ \hline
+ \verb$\texttheta$ & \texttheta & \verb$\theta$ & $\theta$ \\
+ \verb$\textvartheta$ & \textvartheta & \verb$\vartheta$ & $\vartheta$ \\
+ \verb$\textthetasymbol$ & \textthetasymbol & & \\
+ \hline
+ \verb$\textepsilon$ & \textepsilon & \verb$\epsilon$ & $\epsilon$ \\
+ \verb$\textvarepsilon$ & \textvarepsilon & \verb$\varepsilon$ & $\varepsilon$ \\
+ \verb$\textepsilonsymbol$ & \textepsilonsymbol & & \\
+ \hline
+ \verb$\textphi$ & \textphi & \verb$\phi$ & $\phi$ \\
+ \verb$\textvarphi$ & \textvarphi & \verb$\varphi$ & $\varphi$ \\
+ \verb$\textphisymbol$ & \textphisymbol & & \\
+ \hline
+ \verb$\textbeta$ & \textbeta & \verb$\beta$ & $\beta$ \\
+ \verb$\textvarbeta$ & \textvarbeta & \emph{missing} & \\
+ \verb$\textbetasymbol$ & \textbetasymbol & & \\
+ \hline
+ \verb$\textkappa$ & \textkappa & \verb$\kappa$ & $\kappa$ \\
+ \verb$\textvarkappa$ & \textvarkappa & \verb$\varkappa$ & $\varkappa$ \\
+ \verb$\textkappasymbol$ & \textkappasymbol & & \\
+ \hline
+ \verb$\textTheta$ & \textTheta & \verb$\Theta$ & $\Theta$ \\
+ \verb$\textvarTheta$ & \textvarTheta & \emph{missing} & \\
+ \verb$\textThetasymbol$ & \textThetasymbol & & \\
+ \hline
+ \end{tabular}
+ \caption{Macros for Greek symbol variants}
+ \label{tab:symbol-variant-macros}
+\end{table}
+
+\end{document}
Property changes on: trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-luainputenc.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-tuenc-greek.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-tuenc-greek.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-tuenc-greek.tex 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/test-tuenc-greek.tex 2023-09-12 20:09:52 UTC (rev 68249)
@@ -1,7 +1,7 @@
-\documentclass[a4paper]{article}
+\documentclass[a4paper]{scrartcl}
+
\usepackage[unicode,colorlinks=true,linkcolor=blue]{hyperref}
-% \usepackage{bookmark}
-% \usepackage{parskip}
+\usepackage{bookmark}
\usepackage{booktabs}
\usepackage{amssymb}
@@ -8,7 +8,9 @@
% It is possible to use 8-bit Greek text fonts in the LGR TeX font encoding
% also with XeTeX/LuaTeX, if the »fontenc« package is loaded before
% »fontspec« and »textalpha«:
-\usepackage[LGR]{fontenc}
+\usepackage[LGR,TU]{fontenc}
+% Prevent a font substitution warning:
+\DeclareFontFamilySubstitution{LGR}{FreeSerif(0)}{cmr}
% Unicode font setup:
\usepackage{fontspec}
@@ -16,9 +18,9 @@
% \setsansfont{DejaVu Sans}
% \usepackage{libertineotf}
% \setmainfont{Linux Libertine O}
-\setsansfont{Linux Biolinum O}
+\setsansfont[Renderer=Harfbuzz]{Linux Biolinum O}
% \setmainfont{cmunrm.otf} % CMU Serif % many missing characters :(
-\setmainfont{FreeSerif}%
+\setmainfont[Renderer=Harfbuzz]{FreeSerif}%
% \setmainfont{Droid Sans}
% Declare the font encoding and Greek LICR definitions:
@@ -25,9 +27,15 @@
\usepackage[normalize-symbols]{textalpha}
% For the new \MakeUppercase, we need to set the text language to Greek
-% with Babel or polyglossia:
+% with Babel or Polyglossia:
\usepackage[greek,english]{babel}
+\newcommand{\Greek}{
+ \ifdefined\extrasgreek
+ \selectlanguage{greek}
+ \fi
+}
+
% select the LGR font encoding and CB fonts
\providecommand*{\lgrfont}[1]{\leavevmode{%
\fontfamily{cmr}\fontencoding{LGR}\selectfont#1}%
@@ -75,18 +83,15 @@
\href{alphabeta-doc.pdf}{\emph{alphabeta}}, or \pkgref{Babel} (with the
language option \href{https://ctan.org/pkg/babel-greek}{greek}) if these
packages are used with Unicode-aware TeX engines (XeTeX or LuaTeX). This
-provides support for Greek LICR input and fixes for MakeUppercase.
-The \verb|\MakeUppercase| implementation introduced in the 2022/06 LaTeX
-release uses Greek upcasing rules only for text parts with the
-\pkgref{babel} language \texttt{greek} and ignores the changes to
-\texttt{uccode} values done in this package.
+provides support for Greek LICR input and fixes for MakeUppercase
+(cf. section~\ref{sec:uppercase-and-lowercase}).
\section{LICR input%
\label{licr}}
-The LaTeX internal character representation (LICR) is a verbose,
-fail-safe 7-bit ASCII encoding that can be used unaltered under both, 8-bit
+The LaTeX internal character representation (LICR) can be used as a verbose,
+fail-safe 7-bit ASCII encoding. It works under both, 8-bit
TeX and XeTeX/LuaTeX. Use cases are macro definitions and generated text.
See the source of this document,
@@ -131,11 +136,16 @@
\accdasia\textalpha \<\textalpha{} \accdasia x\<x
\end{quote}
%
-XeTeX and LuaTeX (since 2022) normalise base letter and combining diacritics
-to the corresponding pre-composed character (if such character exists in the
-\emph{Greek and Coptic} or \emph{Greek Extended} Unicode Blocks).
-
-
+XeTeX and LuaTeX with the Harfbuzz renderer normalise combining diacritics
+with the base letter to the corresponding pre-composed Unicode character
+(if such a character exists).%
+\footnote{\label{fnt:overlap}
+ Composite diacritics may overlap when they are not normalised to a
+ pre-composed character.
+ However, this is no problem in normal use as there are pre-composed
+ Unicode characters for all letters/diacritic combinations that are
+ actually used in the Greek language.%
+}
\begin{quote}
% άάὰὰϊϊᾶᾶἀἀἁἁ
\acctonos α \'α
@@ -153,18 +163,23 @@
Only <Greek letter> + COMBINING GREEK PERISPOMENI is considered equivalent
to the pre-composed character <Greek letter> WITH PERISPOMENI.
-The ``named'' \verb|\accperispomeni| macro uses COMBINING GREEK PERISPOMENI,
+The \verb|\accperispomeni| macro uses COMBINING GREEK PERISPOMENI,
while the standard tilde-accent macro \verb|\~| uses the COMBINING TILDE.
Composite definitions for \verb|\~| select the pre-composed character:
\begin{quote}
- \~α = ᾶ, \~η = ῆ, \~ι = ῖ, \~υ = ῦ, \~ω = ῶ
+ accent + base char / literal:
+ \~α/ᾶ, \~η/ῆ, \~ι/ῖ, \~υ/ῦ, \~ω\ypogegrammeni{}/ῷ
+
+ There are no pre-composed capital letters with perispomeni:
+ \~Α, \~Η, \~Ι, \~Υ, \~ῼ \footref{fnt:overlap}
\end{quote}
-\subsubsection{combined diacritics}
+\subsubsection{composite diacritics}
-Combined accents are defined using combining diacritical characters.
+Composite diacritics are defined using two combining diacritical characters.%
+\footref{fnt:overlap}
\begin{quote}
\accdialytikatonos\textiota{} \"'\textiota{} \"\'\textiota{}
@@ -188,10 +203,6 @@
\accpsiliperispomeni\textiota{} \~>\textiota{} \~\>\textiota{}
\accpsiliperispomeni x \~>x \~\>x
\end{quote}
-Composite diacritics overlap when they are not normalised to a pre-composed
-character. However, this is not a major problem in normal use as
-pre-composed characters exist in Unicode for all letters that are
-used with diacritics in (ancient, polytonic or monotonic) Greek.
\subsubsection{sub-iota}
@@ -204,8 +215,7 @@
A Greek capital letter followed by COMBINING GREEK YPOGEGRAMMENI is
normalised to the corresponding Greek capital letter WITH [... AND]
- PROSGEGRAMMENI, if a mapping exists in the Unicode standard (by XeTeX but
- not by LuaTeX)
+ PROSGEGRAMMENI, if a mapping exists in the Unicode standard.
\item \verb|\prosgegrammeni| sets a spacing GREEK PROSGEGRAMMENI:
\textAlpha\prosgegrammeni{} K\prosgegrammeni{}.
@@ -222,28 +232,25 @@
Test letters with ypogegrammeni and prosgegrammeni (literal/LICR):
\begin{quote}
- % TODO: infinite recursion with new \MakeUppercase
- % \ifdefined\extrasgreek
- % \selectlanguage{greek}
- % \fi
- \begin{tabbing}
- unchanged \quad\= make lowercase\quad\= make uppercase. \\
+ % \Greek % compilation error, see section TODO below
+ \begin{tabular}{lll}
+ unchanged & make lowercase & make uppercase. \\
- ᾳαι/\textalpha\ypogegrammeni \textalpha\prosgegrammeni{} \>
- \MakeLowercase{ᾳαι/\textalpha\ypogegrammeni \textalpha\prosgegrammeni} \>
- \MakeUppercase{ᾳαι/\textalpha\ypogegrammeni \textalpha\prosgegrammeni} \\
+ ᾳαι/\textalpha\ypogegrammeni \textalpha\prosgegrammeni{} &
+ \MakeLowercase{ᾳαι/\textalpha\ypogegrammeni \textalpha\prosgegrammeni} &
+ \MakeUppercase{ᾳαι/\textalpha\ypogegrammeni \textalpha\prosgegrammeni} \\
- ᾼΑι/\textAlpha\ypogegrammeni \textAlpha\prosgegrammeni{} \>
- \MakeLowercase{ᾼΑι/\textAlpha\ypogegrammeni \textAlpha\prosgegrammeni} \>
- \MakeUppercase{ᾼΑι/\textAlpha\ypogegrammeni \textAlpha\prosgegrammeni} \\
+ ᾼΑι/\textAlpha\ypogegrammeni \textAlpha\prosgegrammeni{} &
+ \MakeLowercase{ᾼΑι/\textAlpha\ypogegrammeni \textAlpha\prosgegrammeni} &
+ \MakeUppercase{ᾼΑι/\textAlpha\ypogegrammeni \textAlpha\prosgegrammeni} \\
- ΛͅΛι/\textLambda\ypogegrammeni \textLambda\prosgegrammeni{} \>
- \MakeLowercase{ΛͅΛι/\textLambda\ypogegrammeni \textLambda\prosgegrammeni} \>
- \MakeUppercase{ΛͅΛι/\textLambda\ypogegrammeni \textLambda\prosgegrammeni}
-
- \end{tabbing}
+ ΛͅΛι/\textLambda\ypogegrammeni \textLambda\prosgegrammeni{} &
+ \MakeLowercase{ΛͅΛι/\textLambda\ypogegrammeni \textLambda\prosgegrammeni} &
+ \MakeUppercase{ΛͅΛι/\textLambda\ypogegrammeni \textLambda\prosgegrammeni}
+ \end{tabular}
\end{quote}
+
\subsection{Additional Greek symbols}
\subsubsection{symbols for Greek numbers}
@@ -314,7 +321,7 @@
GREEK ... SYMBOL variant,
\verb|\textvar<name>| selects the variant
- shape according to TeX' mathematical mode
+ shape according to TeX's mathematical mode
\end{quote}
See Table \ref{tab:symbol-variant-macros} for the full list. The
\href{alphabeta-doc.pdf}{\emph{alphabeta}} package defines short macros that
@@ -390,9 +397,9 @@
\subsubsection{generic text symbols}
-There are some LICR macros for some symbols from the 8-bit font encoding LGR
-that are not confined to Greek but not defined in
-\texttt{tuenc.def} [2018/08/11 v2.0j].
+There are some LICR macros for symbols from the 8-bit font encoding LGR
+that are not confined to Greek but missing in
+\texttt{tuenc.def} [2021/04/29 v2.0v] in TeXLive 23.
\begin{quote}
\textsemicolon{} textsemicolon\\
@@ -410,8 +417,8 @@
\section{Latin transliteration}
The Latin transliteration known from LGR encoded 8-bit fonts%
-\footnote{See the \pkgref{teubner} package or the file usage.pdf from
- \pkgref{babel-greek} for a description.}
+\footnote{See the \pkgref{teubner} package or \pkgref{babel-greek}
+ for a description.}
does not work with Unicode fonts.
For LuaTeX, there is a \texttt{transliteration.omega} \emph{transform} that
@@ -421,9 +428,9 @@
It is possible to set up LGR encoded fonts parallel to Unicode fonts (see
the preamble of the source file \url{test-tuenc-greek.tex} for an example).
-After switching the font encoding to LGR, Greek letters can be input
+After switching the font encoding to LGR, Greek text can be input
via a \emph{Latin transliteration}, e.g. «logos» becomes «\lgrfont{logos}»
-and «\verb|>aupn\'ia|» becomes «\lgrfont{>aupn\'ia}».
+and «\texttt{>aupn'ia}» becomes «\lgrfont{>aupn\'ia}».
Mark that you cannot use Unicode input with LGR encoded fonts except when
running in 8-bit compatibility mode.
@@ -434,53 +441,47 @@
\textrho\acctonos\textiota\textomicron\textupsilon} (LGR).
-\section{UPPERCASE and lowercase}
+\section{UPPERCASE and lowercase \label{sec:uppercase-and-lowercase}}
According to Greek typesetting conventions, Greek diacritics (except the
dialytika and sub-iota) are placed to the left (instead of above) capital
-letters and dropped if text is set in ALL CAPS, e.g. \ensuregreek{μαΐστρος
-$\mapsto$ \MakeUppercase{μαΐστρος}}. The macron and breve accents are
-handled as in Latin texts.
+letters and dropped if text is set in UPPERCASE, e.g. \ensuregreek{μαΐστρος
+$\mapsto$ \MakeUppercase{μαΐστρος}}.
-The new \verb|\MakeUppercase| implementation (rolled out in the
-\href{https://www.latex-project.org/news/latex2e-news/ltnews35.pdf}
-{June 2022 LaTeX release}) relies on Unicode data. It upcases according to
-the Greek conventions \textbf{if the text language is set to Greek} with
-\pkgref{babel} or \pkgref{polyglossia}.
+The 2022 \verb|\MakeUppercase| implementation
+(cf. \textsf{ltnews35.pdf}) relies on Unicode data.
+It upcases literal characters according to the Greek conventions
+\textbf{if the text language is set to Greek} with \pkgref{babel}
+or \pkgref{polyglossia}.
+For the pre-2022/06 implementation, \texttt{tuenc-greek.def} contains
+uccode/lccode corrections (taken from Apostolos Syropoulos \pkgref{xgreek}
+package) to get the same effect (independent of the text language).
-For the pre-2022/06 implementation, \texttt{tuenc-greek.def} contains code
-to get the same effect.
-The uccode/lccode corrections (taken from Apostolos Syropoulos xgreek
-package) ensure dropping of accents with \verb|\MakeUppercase| for literal
-Unicode characters.
+In addition, \texttt{tuenc-greek.def} contains code to drop Greek diacritics
+input as accent macros.
+However, when using the symbol macros (\verb|\' \` \~|) for tonos, varia,
+and perispomeni, special definitions from \pkgref{babel-greek} ≥ 1.13.3 are
+required to distinguish them from acute, grave, and tilde accents that must
+be kept on Latin letters.
- at uclclist additions ensure that upcasing also drops Greek diacritics.
-However, when the tonos, varia, and perispomeni accents
-are input using the symbol macros (\verb|\' \` \~|), this does not work, as
-they cannot be distinguished from Latin acute, grave, and tilde accents.%
-If these accents should be dropped by MakeUppercase, they must be input as
-named macro:
-
+Named Greek accents and symbol accents on Greek vs. Latin letter:
\begin{quote}
- \ifdefined\extrasgreek
- \selectlanguage{greek}
- \fi
- \acctonos\textalpha\'\textalpha{} \acctonos a\'a
- \accvaria\textalpha\`\textalpha{} \accvaria a\`a
- $\mapsto$
- \MakeUppercase{
- \acctonos\textalpha\'\textalpha{} \acctonos a\'a
- \accvaria\textalpha\`\textalpha{} \accvaria a\`a
- }
+ \Greek
+ \newcommand{\sample}{
+ \acctonos\textupsilon\'\textupsilon{} \acctonos u\'u
+ \accvaria\textupsilon\`\textupsilon{} \accvaria u\`u}
+ \sample → \MakeUppercase{\sample}
\end{quote}
+Standard symbol accents on Latin letters are kept (OK). With pre-2023 LaTeX
+versions or babel-greek < 1.13.3, standard accents are also kept on Greek
+letters (sic!).
+
\subsection{hiatus}
Tonos and psili mark a \emph{hiatus} (break-up of a diphthong) if placed on
the first of two consecutive vowels (άι, άυ, έι, ἀυ, ἄι, ἄυ, ἔι).
-A dialytika must be placed on the second vowel if they are dropped.
-
-The «hiatus» feature works with macro input:
+A dialytika must be placed on the second vowel if they are dropped:
\begin{quote}
% from teubner: άυλος/ΑΫΛΟΣ
\acctonos\textalpha\textupsilon λος $\mapsto$
@@ -498,31 +499,24 @@
\accpsili\textalpha\textupsilon πνία $\mapsto$
\MakeUppercase{\accpsili\textalpha\textupsilon πνία}.
\end{quote}
-
-Since the 2022/06 LaTeX release, it works with monotonic Unicode literals
-(since 2023/02/10 also some polytonic)
+%
+Since 2023/02/10, this works with all literals
\begin{quote}
- \ifdefined\extrasgreek
- \selectlanguage{greek}
- \fi
+ \Greek
\newcommand*{\hiatest}{άι, άυ, έι, ἄι, ἄυ, ἔι, ἀυ}
- \hiatest{} $\mapsto$ \MakeUppercase{\hiatest}
+ \hiatest{} $\mapsto$ \MakeUppercase{\hiatest},
\end{quote}
-but not with the named accent-macro + Unicode literals
+with named accent-macro + Unicode literals:
\begin{quote}
- \ifdefined\extrasgreek
- \selectlanguage{greek}
- \fi
+ \Greek
\newcommand*{\hiatest}{
\acctonos αι, \acctonos αυ, \acctonos ει,
\accpsilioxia αι, \accpsilioxia αυ, \accpsilioxia ει, \accpsili αυ}
\hiatest{} $\mapsto$ \MakeUppercase{\hiatest}
\end{quote}
-nor with short accent-macro + Unicode literals (yet?)
+and, with babel-greek 1.13.3 with short accent-macro + Unicode literals:
\begin{quote}
- \ifdefined\extrasgreek
- \selectlanguage{greek}
- \fi
+ \Greek
\newcommand*{\hiatest}{
\'αι, \'αυ, \'ει, \'>αι, \'>αυ, \'>ει, \>αυ}
\hiatest{} $\mapsto$ \MakeUppercase{\hiatest}
@@ -530,598 +524,21 @@
\section{Character Tables}
-The following tables list the Greek Unicode characters. In the input, the
-LICR macro is followed by the corresponding literal Unicode character.
+The file \texttt{char-list.tex} contains a listing of all Greek
+Unicode characters supported by the \emph{greek-fontenc} package.
+See \texttt{char-list-tu.tex} for the output with XeTeX/LuaTeX.
-\subsection{Greek and Coptic Unicode block}
+\section{TODO}
-Only characters that are supported by LGR encoded TeX fonts have a LICR
-definition.
+Compilation error with MakeUppercase and combining ypogegrammeni in Greek
+locale.
-\newcommand{\greekandcoptic}{
-% NR Unicode Name % babel name, UCS name
-% 0370 GREEK CAPITAL LETTER HETA % Ͱ
-% 0371 GREEK SMALL LETTER HETA % ͱ
-% 0372 GREEK CAPITAL LETTER ARCHAIC SAMPI % Ͳ
-% 0373 GREEK SMALL LETTER ARCHAIC SAMPI % Ͳ
-\textnumeralsigngreek ʹ % \anwtonos, \textdexiakeraia
-\textnumeralsignlowergreek ͵ % \katwtonos, \textaristerikeraia,
-% 0376 GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA % Ͷ
-% 0377 GREEK SMALL LETTER PAMPHYLIAN DIGAMMA % ͷ
-{ }\ypogegrammeni ͺ % \textsubiota{\empty}
-% 037B GREEK SMALL REVERSED LUNATE SIGMA SYMBOL %
-% 037C GREEK SMALL DOTTED LUNATE SIGMA SYMBOL %
-% 037D GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL %
-\texterotimatiko ; % \textquestion
+% \begin{quote}
+% \Greek
+% Λͅ → \MakeUppercase{Λͅ} % fails with new XeTeX / LuaTeX
+%
+% % \~α\ypogegrammeni{} →
+% % \MakeUppercase{\~α\ypogegrammeni{}} % fails with old LuaTeX (but not XeTeX)
+% \end{quote}
-\acctonos{ } ΄
-\"'{ } ΅
-\'\textAlpha Ά
-\textanoteleia · % \anoteleia, 00B7 (middle dot) is the preferred character
-\'\textEpsilon Έ
-\'\textEta Ή
-\'\textIota Ί
-\'\textOmicron Ό
-\'\textUpsilon Ύ
-\'\textOmega Ώ
-
-\'"\textiota ΐ
-\textAlpha Α
-\textBeta Β
-\textGamma Γ
-\textDelta Δ
-\textEpsilon Ε
-\textZeta Ζ
-\textEta Η
-\textTheta Θ
-\textIota Ι
-\textKappa Κ
-\textLambda Λ
-\textMu Μ
-\textNu Ν
-\textXi Ξ
-\textOmicron Ο
-
-\textPi Π
-\textRho Ρ
-\textSigma Σ
-\textTau Τ
-\textUpsilon Υ
-\textPhi Φ
-\textChi Χ
-\textPsi Ψ
-\textOmega Ω
-\"\textIota Ϊ
-\"\textUpsilon Ϋ
-\'\textalpha ά
-\'\textepsilon έ
-\'\texteta ή
-\'\textiota ί
-
-\"'\textupsilon ΰ
-\textalpha α
-\textbeta β
-\textgamma γ
-\textdelta δ
-\textepsilon ε
-\textzeta ζ
-\texteta η
-\texttheta θ
-\textiota ι
-\textkappa κ
-\textlambda λ
-\textmu μ % \textmugreek
-\textnu ν
-\textxi ξ
-\textomicron ο
-
-\textpi π
-\textrho ρ
-\textfinalsigma ς
-\textsigma σ
-\texttau τ
-\textupsilon υ
-\textphi φ
-\textchi χ
-\textpsi ψ
-\textomega ω
-\"\textiota ϊ
-\"\textupsilon ϋ
-\'\textomicron ό
-\'\textupsilon ύ
-\'\textomega ώ
-
-\textbetasymbol ϐ
-\textthetasymbol ϑ
-% ϒ ϓ ϔ
-\textphisymbol ϕ
-\textpisymbol ϖ %ϗ
-
-\textQoppa Ϙ
-\textqoppa ϙ
-\textStigma Ϛ
-\textstigma ϛ
-\textDigamma Ϝ
-\textdigamma ϝ
-\textKoppa Ϟ % \textKoppagreek
-\textkoppa ϟ % \koppa, \textqoppa [sic!]
-
-\textSampi Ϡ
-\textsampi ϡ
-
-% Ϣ ϣ Ϥ ϥ Ϧ ϧ Ϩ ϩ Ϫ ϫ Ϭ ϭ Ϯ ϯ
-
-\textkappasymbol ϰ
-\textrhosymbol ϱ
-% ϲ
-% ϳ
-\textThetasymbol ϴ
-\textepsilonsymbol ϵ
-% ϶
-% Ϸ ϸ
-% Ϲ
-% Ϻ ϻ ϼ
-% Ͻ Ͼ Ͽ
-}
-
-\greekandcoptic
-
-\noindent MakeUppercase (TODO: standard accents not dropped, accents from
-pre-composed characters dropped since 2022/06, if the text language is set
-to Greek):
-
-\foreignlanguage{greek}{
- \MakeUppercase{\greekandcoptic}
-}
-
-TODO: Alias \verb|\textvarsigma| not upcased with new MakeUppercase:
-\foreignlanguage{greek}{
- \textvarsigma ς → \MakeUppercase{\textvarsigma ς}
-}
-
-\noindent MakeLowercase:
-
-\foreignlanguage{greek}{
- \MakeLowercase{\greekandcoptic}
-}
-
-\noindent
-The lowercase of ΣΣ is \MakeLowercase{ΣΣ}.\footnote{%
- With LaTeX versions since 2022/06,
- the final sigma is used if the algorithm detects the end of a word.}
-
-
-\subsection{Greek Extended Unicode block}
-
-Note: There are no LICR definitions for spacing diacritical characters.
-Use the corresponding accent macro with an empty argument or a space.
-
-\medskip
-
-\newcommand{\greekextended}{
-\>\textalpha ἀ
-\<\textalpha ἁ
-\>`\textalpha ἂ
-\<`\textalpha ἃ
-\>'\textalpha ἄ
-\<'\textalpha ἅ
-\~>\textalpha ἆ
-\~<\textalpha ἇ
-\>\textAlpha Ἀ
-\<\textAlpha Ἁ
-\>`\textAlpha Ἂ
-\<`\textAlpha Ἃ
-\>'\textAlpha Ἄ
-\<'\textAlpha Ἅ
-\~>\textAlpha Ἆ
-\~<\textAlpha Ἇ
-
-\>\textepsilon ἐ
-\<\textepsilon ἑ
-\>`\textepsilon ἒ
-\<`\textepsilon ἓ
-\>'\textepsilon ἔ
-\<'\textepsilon ἕ
-\>\textEpsilon Ἐ
-\<\textEpsilon Ἑ
-\>`\textEpsilon Ἒ
-\<`\textEpsilon Ἓ
-\>'\textEpsilon Ἔ
-\<'\textEpsilon Ἕ
-
-\>\texteta ἠ
-\<\texteta ἡ
-\>`\texteta ἢ
-\<`\texteta ἣ
-\>'\texteta ἤ
-\<'\texteta ἥ
-\~>\texteta ἦ
-\~<\texteta ἧ
-\>\textEta Ἠ
-\<\textEta Ἡ
-\>`\textEta Ἢ
-\<`\textEta Ἣ
-\>'\textEta Ἤ
-\<'\textEta Ἥ
-\~>\textEta Ἦ
-\~<\textEta Ἧ
-
-\>\textiota ἰ
-\<\textiota ἱ
-\>`\textiota ἲ
-\<`\textiota ἳ
-\>'\textiota ἴ
-\<'\textiota ἵ
-\~>\textiota ἶ
-\~<\textiota ἷ
-\>\textIota Ἰ
-\<\textIota Ἱ
-\>`\textIota Ἲ
-\<`\textIota Ἳ
-\>'\textIota Ἴ
-\<'\textIota Ἵ
-\~>\textIota Ἶ
-\~<\textIota Ἷ
-
-\>\textomicron ὀ
-\<\textomicron ὁ
-\>`\textomicron ὂ
-\<`\textomicron ὃ
-\>'\textomicron ὄ
-\<'\textomicron ὅ
-\>\textOmicron Ὀ
-\<\textOmicron Ὁ
-\>`\textOmicron Ὂ
-\<`\textOmicron Ὃ
-\>'\textOmicron Ὄ
-\<'\textOmicron Ὅ
-
-\>\textupsilon ὐ
-\<\textupsilon ὑ
-\>`\textupsilon ὒ
-\<`\textupsilon ὓ
-\>'\textupsilon ὔ
-\<'\textupsilon ὕ
-\~>\textupsilon ὖ
-\~<\textupsilon ὗ
-\<\textUpsilon Ὑ
-\<`\textUpsilon Ὓ
-\<'\textUpsilon Ὕ
-\~<\textUpsilon Ὗ
-
-\>\textomega ὠ
-\<\textomega ὡ
-\>`\textomega ὢ
-\<`\textomega ὣ
-\>'\textomega ὤ
-\<'\textomega ὥ
-\~>\textomega ὦ
-\~<\textomega ὧ
-\>\textOmega Ὠ
-\<\textOmega Ὡ
-\>`\textOmega Ὢ
-\<`\textOmega Ὣ
-\>'\textOmega Ὤ
-\<'\textOmega Ὥ
-\~>\textOmega Ὦ
-\~<\textOmega Ὧ
-
-\accvaria\textalpha ὰ
-\accoxia\textalpha ά
-\accvaria\textepsilon ὲ
-\accoxia\textepsilon έ
-\accvaria\texteta ὴ
-\accoxia\texteta ή
-\accvaria\textiota ὶ
-\accoxia\textiota ί
-\accvaria\textomicron ὸ
-\accoxia\textomicron ό
-\accvaria\textupsilon ὺ
-\accoxia\textupsilon ύ
-\accvaria\textomega ὼ
-\accoxia\textomega ώ
-
-\>\textalpha\ypogegrammeni ᾀ
-\<\textalpha\ypogegrammeni ᾁ
-\>`\textalpha\ypogegrammeni ᾂ
-\<`\textalpha\ypogegrammeni ᾃ
-\>'\textalpha\ypogegrammeni ᾄ
-\<'\textalpha\ypogegrammeni ᾅ
-\~>\textalpha\ypogegrammeni ᾆ
-\~<\textalpha\ypogegrammeni ᾇ
-\>\textAlpha\ypogegrammeni ᾈ
-\<\textAlpha\ypogegrammeni ᾉ
-\>`\textAlpha\ypogegrammeni ᾊ
-\<`\textAlpha\ypogegrammeni ᾋ
-\>'\textAlpha\ypogegrammeni ᾌ
-\<'\textAlpha\ypogegrammeni ᾍ
-\~>\textAlpha\ypogegrammeni ᾎ
-\~<\textAlpha\ypogegrammeni ᾏ
-
-\>\texteta\ypogegrammeni ᾐ
-\<\texteta\ypogegrammeni ᾑ
-\>`\texteta\ypogegrammeni ᾒ
-\<`\texteta\ypogegrammeni ᾓ
-\>'\texteta\ypogegrammeni ᾔ
-\<'\texteta\ypogegrammeni ᾕ
-\~>\texteta\ypogegrammeni ᾖ
-\~<\texteta\ypogegrammeni ᾗ
-\>\textEta\ypogegrammeni ᾘ
-\<\textEta\ypogegrammeni ᾙ
-\>`\textEta\ypogegrammeni ᾚ
-\<`\textEta\ypogegrammeni ᾛ
-\>'\textEta\ypogegrammeni ᾜ
-\<'\textEta\ypogegrammeni ᾝ
-\~>\textEta\ypogegrammeni ᾞ
-\~<\textEta\ypogegrammeni ᾟ
-
-\>\textomega\ypogegrammeni ᾠ
-\<\textomega\ypogegrammeni ᾡ
-\>`\textomega\ypogegrammeni ᾢ
-\<`\textomega\ypogegrammeni ᾣ
-\>'\textomega\ypogegrammeni ᾤ
-\<'\textomega\ypogegrammeni ᾥ
-\~>\textomega\ypogegrammeni ᾦ
-\~<\textomega\ypogegrammeni ᾧ
-\>\textOmega\ypogegrammeni ᾨ
-\<\textOmega\ypogegrammeni ᾩ
-\>`\textOmega\ypogegrammeni ᾪ
-\<`\textOmega\ypogegrammeni ᾫ
-\>'\textOmega\ypogegrammeni ᾬ
-\<'\textOmega\ypogegrammeni ᾭ
-\~>\textOmega\ypogegrammeni ᾮ
-\~<\textOmega\ypogegrammeni ᾯ
-
-\u\textalpha ᾰ
-\=\textalpha ᾱ
-\accvaria\textalpha\ypogegrammeni ᾲ
-\textalpha\ypogegrammeni ᾳ
-\accoxia\textalpha\ypogegrammeni ᾴ
-\~\textalpha ᾶ
-\~\textalpha\ypogegrammeni ᾷ
-\u\textAlpha Ᾰ
-\=\textAlpha Ᾱ
-\accvaria\textAlpha Ὰ
-\accoxia\textAlpha Ά
-\textAlpha\ypogegrammeni ᾼ
-\>{ } ᾽
-{ }\prosgegrammeni ι
-\>{ } ᾿
-
-\accperispomeni{ } ῀
-\"\~{ } ῁
-\accvaria\texteta\ypogegrammeni ῂ
-\texteta\ypogegrammeni ῃ
-\accoxia\texteta\ypogegrammeni ῄ
-\~\texteta ῆ
-\~\texteta\ypogegrammeni ῇ
-\accvaria\textEpsilon Ὲ
-\accoxia\textEpsilon Έ
-\accvaria\textEta Ὴ
-\accoxia\textEta Ή
-\textEta\ypogegrammeni ῌ
-\>`{ } ῍
-\>'{ } ῎
-\~>{ } ῏
-
-\u\textiota ῐ
-\=\textiota ῑ
-\`"\textiota ῒ
-\'"\textiota ΐ
-\~\textiota ῖ
-\~"\textiota ῗ
-\u\textIota Ῐ
-\=\textIota Ῑ
-\accvaria\textIota Ὶ
-\accoxia\textIota Ί
- \<`{ } ῝
-\>'{ } ῞
-\~<{ } ῟
-
-\u\textupsilon ῠ
-\=\textupsilon ῡ
-\`"\textupsilon ῢ
-\'"\textupsilon ΰ
-\>\textrho ῤ
-\<\textrho ῥ
-\~\textupsilon ῦ
-\~"\textupsilon ῧ
-\u\textUpsilon Ῠ
-\=\textUpsilon Ῡ
-\accvaria\textUpsilon Ὺ
-\accoxia\textUpsilon Ύ
-\<\textRho Ῥ
-\`"{ } ῭
-\'"{ } ΅
-\accvaria{ } `
-
-\accvaria\textomega\ypogegrammeni ῲ
-\textomega\ypogegrammeni ῳ
-\accoxia\textomega\ypogegrammeni ῴ
-\~\textomega ῶ
-\~\textomega\ypogegrammeni ῷ
-\accvaria\textOmicron Ὸ
-\accoxia\textOmicron Ό
-\accvaria\textOmega Ὼ
-\accoxia\textOmega Ώ
-\textOmega\ypogegrammeni ῼ
-\accoxia{ } ´
-\<{ } ῾
-}
-
-\greekextended
-
-\noindent MakeUppercase:
-
-\foreignlanguage{greek}{
- \MakeUppercase{\greekextended}
-}
-
-\noindent MakeLowercase:
-
-\foreignlanguage{greek}{
- \MakeLowercase{\greekextended}
-}
-
-\subsection{Character Tables: accent + literal base character}
-
-With Xe/LuaTeX and Unicode fonts, diacritics may also be input using
-accent macros on a literal Unicode base character.
-
-\subsubsection{Greek and Coptic Unicode block}
-
-\renewcommand{\greekandcoptic}{
-
-\'ΑΆ \'ΕΈ \'ΗΉ \'ΙΊ \'ΟΌ \'ΥΎ \'ΩΏ
-
-\"'ιΐ \"ΙΪ \"ΥΫ \'αά \'εέ \'ηή \'ιί
-
-\"'υΰ
-
-\"ιϊ \"υϋ \'οό \'υύ \'ωώ
-}
-
-Accented letters from the Greek and Coptic Unicode Block
-
-\greekandcoptic
-
-\noindent MakeUppercase:
-
-\foreignlanguage{greek}{
- \MakeUppercase{\greekandcoptic}
-}
-
-\noindent MakeLowercase:
-
-\foreignlanguage{greek}{
- \MakeLowercase{\greekandcoptic}
-}
-
-\subsubsection{Greek Extended Unicode block}
-
-
-\renewcommand{\greekextended}{
-\>αἀ \<αἁ \>`αἂ \<`αἃ \>'αἄ \<'αἅ \~>αἆ \~<αἇ
-\>ΑἈ \<ΑἉ \>`ΑἊ \<`ΑἋ \>'ΑἌ \<'ΑἍ \~>ΑἎ \~<ΑἏ
-
-\>εἐ \<εἑ \>`εἒ \<`εἓ \>'εἔ \<'εἕ
-\>ΕἘ \<ΕἙ \>`ΕἚ \<`ΕἛ \>'ΕἜ \<'ΕἝ
-
-\>ηἠ \<ηἡ \>`ηἢ \<`ηἣ \>'ηἤ \<'ηἥ \~>ηἦ \~<ηἧ
-\>ΗἨ \<ΗἩ \>`ΗἪ \<`ΗἫ \>'ΗἬ \<'ΗἭ \~>ΗἮ \~<ΗἯ
-
-\>ιἰ \<ιἱ \>`ιἲ \<`ιἳ \>'ιἴ \<'ιἵ \~>ιἶ \~<ιἷ
-\>ΙἸ \<ΙἹ \>`ΙἺ \<`ΙἻ \>'ΙἼ \<'ΙἽ \~>ΙἾ \~<ΙἿ
-
-\>οὀ \<οὁ \>`οὂ \<`οὃ \>'οὄ \<'οὅ
-\>ΟὈ \<ΟὉ \>`ΟὊ \<`ΟὋ \>'ΟὌ \<'ΟὍ
-
-\>υὐ \<υὑ \>`υὒ \<`υὓ \>'υὔ \<'υὕ \~>υὖ \~<υὗ
-\<ΥὙ \<`ΥὛ \<'ΥὝ \~<ΥὟ
-
-\>ωὠ \<ωὡ \>`ωὢ \<`ωὣ \>'ωὤ \<'ωὥ \~>ωὦ \~<ωὧ
-\>ΩὨ \<ΩὩ \>`ΩὪ \<`ΩὫ \>'ΩὬ \<'ΩὭ \~>ΩὮ \~<ΩὯ
-
-\`αὰ \'αά \`εὲ \'εέ \`ηὴ \'ηή \`ιὶ \'ιί \`οὸ \'οό \`υὺ \'υύ \`ωὼ \'ωώ
-
-\>α\ypogegrammeni ᾀ
-\<α\ypogegrammeni ᾁ
-\>`α\ypogegrammeni ᾂ
-\<`α\ypogegrammeni ᾃ
-\>'α\ypogegrammeni ᾄ
-\<'α\ypogegrammeni ᾅ
-\~>α\ypogegrammeni ᾆ
-\~<α\ypogegrammeni ᾇ
-\>Α\ypogegrammeni ᾈ
-\<Α\ypogegrammeni ᾉ
-\>`Α\ypogegrammeni ᾊ
-\<`Α\ypogegrammeni ᾋ
-\>'Α\ypogegrammeni ᾌ
-\<'Α\ypogegrammeni ᾍ
-\~>Α\ypogegrammeni ᾎ
-\~<Α\ypogegrammeni ᾏ
-
-\>η\ypogegrammeni ᾐ
-\<η\ypogegrammeni ᾑ
-\>`η\ypogegrammeni ᾒ
-\<`η\ypogegrammeni ᾓ
-\>'η\ypogegrammeni ᾔ
-\<'η\ypogegrammeni ᾕ
-\~>η\ypogegrammeni ᾖ
-\~<η\ypogegrammeni ᾗ
-\>Η\ypogegrammeni ᾘ
-\<Η\ypogegrammeni ᾙ
-\>`Η\ypogegrammeni ᾚ
-\<`Η\ypogegrammeni ᾛ
-\>'Η\ypogegrammeni ᾜ
-\<'Η\ypogegrammeni ᾝ
-\~>Η\ypogegrammeni ᾞ
-\~<Η\ypogegrammeni ᾟ
-
-\>ω\ypogegrammeni ᾠ
-\<ω\ypogegrammeni ᾡ
-\>`ω\ypogegrammeni ᾢ
-\<`ω\ypogegrammeni ᾣ
-\>'ω\ypogegrammeni ᾤ
-\<'ω\ypogegrammeni ᾥ
-\~>ω\ypogegrammeni ᾦ
-\~<ω\ypogegrammeni ᾧ
-\>Ω\ypogegrammeni ᾨ
-\<Ω\ypogegrammeni ᾩ
-\>`Ω\ypogegrammeni ᾪ
-\<`Ω\ypogegrammeni ᾫ
-\>'Ω\ypogegrammeni ᾬ
-\<'Ω\ypogegrammeni ᾭ
-\~>Ω\ypogegrammeni ᾮ
-\~<Ω\ypogegrammeni ᾯ
-
-\u αᾰ \= αᾱ
-\`α\ypogegrammeni ᾲ
-α\ypogegrammeni ᾳ
-\'α\ypogegrammeni ᾴ
-\~αᾶ
-\~α\ypogegrammeni ᾷ
-\u ΑᾸ \= ΑᾹ \`ΑᾺ \'ΑΆ
-Α\ypogegrammeni ᾼ
-
-\`η\ypogegrammeni ῂ
-η\ypogegrammeni ῃ
-\'η\ypogegrammeni ῄ
-\~ηῆ
-\~η\ypogegrammeni ῇ
-\`ΕῈ \'ΕΈ \`ΗῊ \'ΗΉ
-Η\ypogegrammeni ῌ
-
-\u ιῐ \=ιῑ \"`ιῒ \"'ιΐ \~ιῖ \"~ιῗ \u ΙῘ \= ΙῙ \`ΙῚ \'ΙΊ
-
-\u υῠ \=υῡ \"`υῢ \'"υΰ \>ρῤ \<ρῥ \~υῦ \~"υῧ
-\u ΥῨ \=ΥῩ \`ΥῪ \'ΥΎ \<ΡῬ
-
-\`ω\ypogegrammeni ῲ
-ω\ypogegrammeni ῳ
-\'ω\ypogegrammeni ῴ
-\~ω ῶ
-\~ω\ypogegrammeni ῷ
-\`ΟῸ \'ΟΌ \`ΩῺ \'ΩΏ
-Ω\ypogegrammeni ῼ
-}
-
-Accented letters from the Greek Extended Unicode block
-
-\greekextended
-
-
-\medskip
-\noindent MakeUppercase:
-
-\foreignlanguage{greek}{
-\MakeUppercase{\greekextended}
-}
-
-\medskip
-\noindent MakeLowercase:
-
-\foreignlanguage{greek}{
-\MakeLowercase{\greekextended}
-}
\end{document}
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/textalpha-doc-tu.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/textalpha-doc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/textalpha-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/textalpha-doc.tex 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/textalpha-doc.tex 2023-09-12 20:09:52 UTC (rev 68249)
@@ -1,5 +1,4 @@
-\documentclass[a4paper]{article}
-\usepackage{parskip}
+\documentclass[a4paper, parskip=true]{scrartcl}
\usepackage{booktabs}
\ifdefined \UnicodeEncodingName % set by LaTeX for Unicode-aware engines
@@ -19,7 +18,7 @@
\fi
\usepackage[pdfencoding=auto,colorlinks=true,linkcolor=blue]{hyperref}
-% \usepackage{bookmark}
+\usepackage{bookmark}
\makeatletter
\providecommand*{\href}{\@secondoftwo}
\providecommand*{\url}{\texttt}
@@ -29,17 +28,11 @@
keep-semicolon%
]{textalpha}
-% compatibility defs:
-\ProvideTextCommandDefault{\textvarstigma}{$\oslash$%
- \message{Character textvarstigma not defined.}}
-\ProvideTextCommand{\textvarstigma}{PU}{⌀}
-\providecommand*{\accinvertedbrevebelow}{$\oslash$%
- \message{Character accinvertedbrevebelow not defined.}}
-\providecommand*{\accbrevebelow}{$\oslash$%
- \message{Character accbrevebelow not defined.}}
+% auxiliary definitions:
+\ProvideTextCommandDefault{\textvarstigma}{}
+\newcommand{\cs}[1]{\texttt{\textbackslash#1}}
-
\begin{document}
\title{The \emph{textalpha} package}
@@ -63,11 +56,11 @@
\href{textalpha-tu.pdf}{textalpha-tu.pdf}.
\fi
}
-Input is possible via text commands (\verb|\textalpha| \ldots
-\verb|\textOmega|) or Unicode literals\footnote{%
-Requires \emph{\href{https://ctan.org/pkg/greek-inputenc}{greek-inputenc}}
-or XeTeX/LuaTeX.}.
-}
+Input is possible via text commands (\cs{textalpha} \ldots \cs{textOmega})
+or Unicode literals\footnote{\label{requires-greek-inputenc}
+ Requires \emph{\href{https://ctan.org/pkg/greek-inputenc}{greek-inputenc}}
+ or XeTeX/LuaTeX.}.
+} % end abstract
\tableofcontents
@@ -78,11 +71,14 @@
\begin{verbatim}
\usepackage[<options>]{textalpha}
\end{verbatim}
-See the source of this document \url{textalpha-doc.tex} for a setup and
-usage example, the literate source of the package
-\href{textalpha.sty.html}{textalpha.sty} for the implementation, and
-\href{test-tuenc-greek.pdf}{test-tuenc-greek.pdf} for Greek with
-XeTeX/LuaTeX.
+Now you are ready to use literal Unicode
+characters\footref{requires-greek-inputenc} or the \cs{textalpha} \ldots
+\cs{textOmega} macros anywhere in the text.\footnote{
+ Using the shorter \cs{alpha} \ldots \cs{Omega} macros (known from math mode)
+ is possible with the \emph{\href{alphabeta-doc.pdf}{alphabeta}} package.}
+See the source of this document \texttt{textalpha-doc.tex} for a setup and
+usage example and \href{greek-fontenc-doc.html}{greek-fontenc-doc} for
+links to additional documentation.
\subsection{Options}
@@ -110,11 +106,10 @@
This option is ignored with Unicode fonts.
\begin{description}
- \item [Attention:] Do not use this option in cases where the distinction
-between the symbol variants may be important (e.g. in a mathematical or
-scientific context). Try the \href{alphabeta-doc.pdf}{alphabeta} package
-with the respective characters in mathematical mode or use XeTeX/LuaTeX with
-Unicode fonts in these cases.
+\item [Attention:] Do not use this option in cases where the distinction
+ between the symbol variants may be important (e.g. in a mathematical or
+ scientific context). Use the respective characters in mathematical mode
+ or XeTeX/LuaTeX with Unicode fonts.
\end{description}
\subsubsection{\texttt{keep-semicolon}}
@@ -164,9 +159,9 @@
\ensuregreek{$a b; a\;b, (\mathrm{a;}\textrm{a;}2)$}.
-\subsection{Shortcuts for Breathings}
+\subsection{Symbol macros for Breathings}
-\emph{textalpha} defines the shortcut macros \verb|\<| and \verb|\>| for the
+\emph{textalpha} defines the macros \cs{<} and \cs{>} for the
\href{https://en.wikipedia.org/wiki/Rough_breathing}{dasia} (rough breathing)
and \href{https://en.wikipedia.org/wiki/Smooth_breathing}{psili} (smooth
breathing) diacritics.
@@ -174,121 +169,125 @@
\section{Limitations \label{sec:limitations}}
-If compiling with 8-bit TeX, the internal font encoding switches interfere
-with other work behind the scenes. Kerning, diacritics and up/down-casing
-show problems if Greek letters are used without explicit change of the font
-encoding.
+If Greek letters are used while the active font encoding does not support
+Greek, the internal font encoding switches interfere with other work behind
+the scenes.
+Kerning, diacritics and up/down-casing show problems that can be avoided by
+\begin{itemize}
+ \item use of \emph{babel} and the correct language setting,
+ \item an explicit font encoding switch,
+ e.g., wrapping in \cs{ensuregreek}\footnote{
+ The \cs{ensuregreek} macro ensures the argument
+ is set in a font encoding supporting Greek
+ without adverse side-effects if the active font encoding is
+ already LGR or TU.}, or
+ \item XeTeX/LuaTeX with Unicode fonts.
+\end{itemize}
+%
+\ifdefined\UnicodeEncodingName
+ For details, see \href{textalpha-doc.pdf}{textalpha-doc.pdf}.
+\else
-These problems can be avoided by use of \emph{babel} and the correct
-language setting (greek), an explicit font encoding switch (e.g.
-wrapping the Greek text in \verb|\ensuregreek|%
-\footnote{The \texttt{\textbackslash ensuregreek} macro ensures the argument
- is set in a font encoding supporting Greek.
- % This can be used to fix these
- % problems without adverse side-effects if the active font encoding is
- % already LGR or TU.
- },
-or XeTeX/LuaTeX with Unicode fonts.
+ \subsection{Kerning}
-\subsection{Kerning}
+ With pdfTeX and 8-bit fonts, no kerning occurs between Greek characters in
+ non-Greek text due to the internal font encoding switch:
+ \begin{quote}
+ \textAlpha\textUpsilon\textAlpha{} (\latinencoding) vs.
+ \ensuregreek{\textAlpha\textUpsilon\textAlpha} (\greekfontencoding).
+ \end{quote}
+ Compiling with LuaTeX provides kerning also on font encoding boundaries.
-With pdfTeX and 8-bit fonts, no kerning occurs between Greek characters in
-non-Greek text due to the internal font encoding switch: compare
-\ensuregreek{\textAlpha\textUpsilon\textAlpha} (\greekfontencoding) to
-\textAlpha\textUpsilon\textAlpha{} (\latinencoding).
-Compiling with LuaTeX provides kerning also on font encoding boundaries.
+ \subsection{Diacritics}
-\subsection{Diacritics}
+ With 8-bit TeX, accent macros do not work with Unicode literals as base
+ character. Use the Latin transliteration or LICR commands.
-Accent macros do not work with Unicode literals as base character
-under 8-bit TeX engines. Use the Latin transliteration or LICR commands.
+ \medskip\noindent
+ Composition of diacritics (like \verb|\accdasia\acctonos| or \cs{<\'})
+ fails in other font encodings. Long names (like \cs{accdasiaoxia}) work.
+ \begin{quote}
+ \<'\textalpha{} vs.
+ \ensuregreek{\<'\textalpha} (\greekfontencoding)
+ \end{quote}
+ %
+ With LGR and TU, pre-composed glyphs are chosen if available. In other font
+ encodings, accent macros do not select pre-composed characters.
+ The difference is a sub-optimal placement of the accent and becomes
+ obvious if you drag-and-drop text from the PDF version of this document.:
+ \begin{quote}
+ \accdasiaoxia\textalpha{} (\latinencoding) vs.
+ \ensuregreek{\accdasiaoxia\textalpha{}} (\greekfontencoding).
+ \end{quote}
+ %
+ In Greek typographical practice, diacritics (except the dialytika and
+ sub-iota) are placed before capital letters in Titlecase (Ἀρχιμήδης) and
+ dropped in uppercase (ΑΡΧΙΜΗΔΗΣ).
-Composition of diacritics (like \verb|\accdasia\acctonos| or \verb|\<\'|)
-fails in other font encodings. Long names (like \verb|\accdasiaoxia|) work.
+ Diacritics input via standard accent macros are misplaced
+ if the active font encoding does not support Greek.
-With LGR and TU, pre-composed glyphs are chosen if available. In other font
-encodings, accent macros do not select pre-composed characters.
-The difference is a sub-optimal placement of the accent and becomes obvious
-if you drag-and-drop text from the PDF version of this document.:
-\begin{quote}
- \ensuregreek{\<'\textalpha
- \'<\textalpha
- \accdasia\acctonos\textalpha
- \acctonos\accdasia\textalpha
- \accdasiaoxia\textalpha{}
- \<'\textAlpha
- \'<\textAlpha
- \accdasia\acctonos\textAlpha
- \acctonos\accdasia\textAlpha
- \accdasiaoxia\textAlpha
- } (\greekfontencoding)
- vs. \accdasiaoxia\textalpha{} \accdasiaoxia\textAlpha{} (\latinencoding).
-\end{quote}
+ With the \cs{MakeUppercase} implementation introduced 2022/06, Greek
+ upcasing rules are only applied to literal characters if the text language
+ is set to Greek with Babel and to standard accent macros if the documents
+ loads Greek with Babel (i.e. not in this document).\footnote{
+ With the pre-2022 \cs{MakeUppercase} implementation, the above rules
+ were fully applied if the active font encoding is LGR or TU.}
+ \begin{quote}
+ \begin{tabular}{cccc}
+ & named accent & standard accent & literal \\ \midrule
+ \greekfontencoding
+ & \ensuregreek{\acctonos\textAlpha{} → \MakeUppercase{\acctonos\textAlpha}}
+ & \ensuregreek{\'\textAlpha{} → \MakeUppercase{\'\textAlpha}}
+ & \ensuregreek{Ά → \MakeUppercase{Ά}} \\
+ \latinencoding
+ & \acctonos\textAlpha{} → \MakeUppercase{\acctonos\textAlpha}
+ & \'\textAlpha{} → \MakeUppercase{\'\textAlpha}
+ & Ά → \MakeUppercase{Ά}
+ \end{tabular}
+ \end{quote}
-Greek diacritics (except the dialytika and sub-iota) are placed before
-capital letters in Titlecase (Ἀρχιμήδης) and and dropped in uppercase
-(ΑΡΧΙΜΗΔΗΣ). With the \verb|\MakeUppercase| implementation introduced
-2022/06, Greek upcasing rules are only applied to literal characters
-if the text language is set to Greek with Babel.
+ The dialytika marks a \emph{hiatus} (break-up of a diphthong). It must be
+ present in UPPERCASE even where it is redundant in lowercase (the hiatus can
+ also be marked by an accent or breathing on the first of two consecutive
+ vowels). The auto-hiatus feature works in LGR and TU font encodings only:
+ \begin{quote}
+ \newcommand*{\sample}{%
+ \acctonos\textalpha\textupsilon{}, \acctonos\textepsilon\textiota{}}
+ \sample{} → \MakeUppercase{\sample} (\latinencoding) vs.
+ \ensuregreek{\sample{} → \MakeUppercase{\sample}} (\greekfontencoding)
+ \end{quote}
-With the old \verb|\MakeUppercase| implementation, the above rules are fully
-applied if the active font encoding is LGR or TU. However, accents input as
-macros are misplaced if the active font encoding does not support Greek.
-Pre-composed literal Unicode characters are handled correctly:
-\begin{quote}
- \begin{tabular}{ccc}
- & LICR & literal input \\ \hline
- \greekfontencoding & \ensuregreek{\'\textAlpha} & \ensuregreek{Ά} \\
- \latinencoding & \'\textAlpha & Ά
- \end{tabular}
-\end{quote}
+ With the old implementation of \cs{MakeUppercase}, the auto-hiatus
+ feature works with LICR macros but not Unicode literals.
+ The new implementation works with Unicode literals, too, but only if the text
+ language is Greek (i.e. not in this document).
+ \begin{quote}
+ \ensuregreek{%
+ \accpsili\textalpha\textupsilon\textpi\textnu\acctonos\textiota\textalpha}
+ $\mapsto$ \ensuregreek{\MakeUppercase{%
+ \accpsili\textalpha\textupsilon\textpi\textnu\acctonos\textiota\textalpha}}
+ (LICR macros: OK with LGR or TU)
-The dialytika marks a \emph{hiatus} (break-up of a diphthong). It must be
-present in UPPERCASE even where it is redundant in lowercase (the hiatus can
-also be marked by an accent or breathing on the first of two consecutive
-vowels). The auto-hiatus feature works in LGR and TU font encodings only:
-\begin{quote}
- \acctonos\textalpha\textupsilon{}, \acctonos\textepsilon\textiota{} $\mapsto$
- \MakeUppercase{\ensuregreek{
- \acctonos\textalpha\textupsilon{}, \acctonos\textepsilon\textiota{}
- }} (\greekfontencoding) vs.
- \MakeUppercase{
- \acctonos\textalpha\textupsilon{}, \acctonos\textepsilon\textiota{}%
- } (\latinencoding)
-\end{quote}
+ \ensuregreek{ἀυπνία} $\mapsto$
+ \ensuregreek{\MakeUppercase{ἀυπνία}} (literal characters: fails without Babel)
+ \end{quote}
+\fi
-With the old implementation of \verb|\MakeUppercase|, the auto-hiatus
-feature works with LICR macros but not Unicode literals.
-The new implementation works with Unicode literals, too, but only if the text
-language is Greek (i.e. not in this document that does not load Babel).
-\begin{quote}
-\ensuregreek{%
-\accpsili\textalpha\textupsilon\textpi\textnu\acctonos\textiota\textalpha}
-$\mapsto$ \ensuregreek{\MakeUppercase{%
-\accpsili\textalpha\textupsilon\textpi\textnu\acctonos\textiota\textalpha}}
-(LICR macros: OK with LGR or TU)
-
-\ensuregreek{ἀυπνία} $\mapsto$
-\ensuregreek{\MakeUppercase{ἀυπνία}} (literal characters: fails without Babel)
-\end{quote}
-
-
\section{Test and Examples}
\subsection{Greek alphabet}
-Greek letters via Latin transliteration (works only in LGR font encoding):
-
+Greek literal characters in Latin text (font encoding \latinencoding):
\begin{quote}
- \ensuregreek{a b g d e z h j i k l m n x o p r sv c t u f q y w}
+ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ ς τ υ φ χ ψ ω
- \ensuregreek{A B G D E Z H J I K L M N X O P R S T U F Q Y W}
+ Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω
\end{quote}
%
-Greek letters via default macros in the font for Latin script
-(here \latinencoding):
-
+Greek letters via default macros in Latin text (font encoding \latinencoding):
+%
\newcommand*{\greekAlphabetsample}{
\textAlpha{} \textBeta{} \textGamma{} \textDelta{} \textEpsilon{}
\textZeta{} \textEta{} \textTheta{} \textIota{} \textKappa{}
@@ -309,6 +308,16 @@
\greekAlphabetsample
\end{quote}
%
+\ifdefined\UnicodeEncodingName
+\else
+ Greek letters via Latin transliteration (works only in LGR font encoding):
+ \begin{quote}
+ \ensuregreek{a b g d e z h j i k l m n x o p r sv c t u f q y w}
+
+ \ensuregreek{A B G D E Z H J I K L M N X O P R S T U F Q Y W}
+ \end{quote}
+\fi
+%
Archaic Greek letters and Greek punctuation
\newcommand*{\archaicgreeksample}{
@@ -316,13 +325,14 @@
\textkoppa \textKoppa{}
\textqoppa \textQoppa{}
\textsampi \textSampi{}
- \textstigma \textvarstigma \textStigma{}
+ \textstigma
+ \textvarstigma % only in LGR
+ \textStigma{}
\textanoteleia{}
\texterotimatiko{}
\textdexiakeraia{}
\textaristerikeraia{}
}
-
\begin{quote}
\archaicgreeksample
\end{quote}
@@ -330,9 +340,8 @@
Diacritics
\begin{quote}
- Short macros:%
- \footnote{Composite diacritics require wrapping in
- \texttt{\textbackslash ensuregreek}.}
+ Short macros:\footnote{
+ Composite diacritics require wrapping in \cs{ensuregreek}.}
\"{} \'{} \`{} \~{} \<{} \>{} \u{} \={}
\ensuregreek{\"~{} \"'{} \"`{} \<~{} \<`{} \<'{} \>~{} \>'{} \>`{}}
@@ -355,21 +364,23 @@
\accpsiliperispomeni{}
\accpsilioxia{}
\accpsilivaria{}
- %
- Only in LGR:
- \accinvertedbrevebelow{} % == \textsubarch{}
- \accbrevebelow{}
+ \ifdefined\UnicodeEncodingName
+ \else
+ Only in LGR:
+ \accinvertedbrevebelow{} % == \textsubarch{}
+ \accbrevebelow{}
+ \fi
\end{quote}
\medskip\noindent
-Accent macros can start with \verb|\a| instead of \verb|\| when the
+Accent macros can start with ``\verb|\a|'' instead of ``\verb|\|'' when the
short form is redefined, e.\,g. inside a \emph{tabbing} environment.
This also works for the new-defined Dasia and Psili shortcuts:
\begin{quote}
\begin{tabbing}
- COL1\quad \= COL2\quad \= COL3\quad \= COL4\quad \\
- Viele \> Gr\a"u\ss e
+ col 1\quad \= col 2\quad \= col 3\quad \= col 4\quad \\
+ Viele \> Gr\a"u\ss e
\> \greekscript \a<\textalpha{}
\> \greekscript \a>\textomega
\end{tabbing}
@@ -384,36 +395,36 @@
In LGR, the Latin letter \verb|s| and the command \verb|\textautosigma|
print the ``normal'' sigma if followed by another letter and the final sigma
if followed by space or punctuation. This is implemented via the font
-ligature mechanism in LGR:
-\ensuregreek{\textautosigma\textautosigma} (\greekfontencoding) vs.
-\textautosigma{}\textautosigma{} (\latinencoding).%
-\footnote{TODO: Fix \texttt{\textbackslash textautosigma} with Unicode fonts.}
-
-
+ligature mechanism in LGR\footnote{
+ TODO: Fix \cs{textautosigma} with Unicode fonts.}:
+\begin{quote}
+ \ensuregreek{\textautosigma\textautosigma} (\greekfontencoding) vs.
+ \textautosigma{}\textautosigma{} (\latinencoding).
+\end{quote}
The upper case of both sigma variants is \verb|\textSigma|, the lower case
-of \verb|\textSigma| is \verb|\textautosigma|.
+of \cs{textSigma} is \cs{textautosigma}.
-\smallskip\noindent
-Test: Unicode literal and \verb|\text...| commands
+\medskip\noindent
+\begin{samepage}
+Test Unicode literal and \verb|\text...| commands:
+\begin{quote}
+ \newcommand{\sample}{σ\textsigma{}
+ ς\textvarsigma \textfinalsigma \textautosigma{}
+ ΣΣ \textSigma\textSigma{}}
+ \begin{tabular}{ll}
+ no change: & \sample \\
+ MakeUppercase: & \MakeUppercase{\sample} \\
+ MakeLowercase (\latinencoding): & \MakeLowercase{\sample} \\
+ MakeLowercase (\greekfontencoding): & \ensuregreek{\MakeLowercase{\sample}}
+ \end{tabular}
+\end{quote}
+\end{samepage}
-\newcommand{\sample}{σ\textsigma{}
- ς\textvarsigma \textfinalsigma \textautosigma{}
- ΣΣ \textSigma\textSigma{}}
-
-no change: \sample
-
-MakeUppercase: \MakeUppercase{\sample}
-
-MakeLowercase (\latinencoding): \MakeLowercase{\sample}
-
-MakeLowercase (\greekfontencoding): \ensuregreek{\MakeLowercase{\sample}}
-
-
\subsection{Greek literal characters in non-Greek text}
With the \emph{textalpha} package,
\href{https://ctan.org/pkg/greek-inputenc}{greek-inputenc} and input
-encoding \texttt{utf8}, Greek Unicode characters can be used in text with
+encoding \texttt{utf8}, Greek Unicode literals can be used in text with
any font encoding. See Tables \ref{tab:greek-and-coptic} and
\ref{tab:greek-extended}.
@@ -482,8 +493,7 @@
Diacritics (except diaeresis) are dropped with
MakeUppercase with LaTeX versions older than 2022/06
-For other versions, set the language of to-be-upcased Greek text with Babel.
-
+For other versions, set the language of to-be-upcased Greek text with Babel:
μαΐστρος, δύο $\mapsto$ \MakeUppercase{μαΐστρος, δύο}.
@@ -495,7 +505,7 @@
Unicode input.
\subsubsection{\textlambda\textomicron\textgamma\textomicron\textvarsigma{},
- λογος and \ensuregreek{logos}}
+ λογος, and \ensuregreek{logos}}
The subsection title above uses: LICR macros, Unicode input and the LGR
transliteration for the Greek word \ensuregreek{logos}.
@@ -505,7 +515,13 @@
(sidebar table of contents in the PDF viewer) and with Xe/LuaTeX.
\subsubsection{\greekalphabetsample}
+
\subsubsection{\greekAlphabetsample}
+
\subsubsection{\archaicgreeksample}
+\ifdefined \UnicodeEncodingName
+ Archaic characters are missing in many fonts, including the ``Biolinum'' font
+ used in this document.
+\fi.
\end{document}
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/textalpha.sty.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/textalpha.sty.html 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/textalpha.sty.html 2023-09-12 20:09:52 UTC (rev 68249)
@@ -794,7 +794,7 @@
<p class="subtitle" id="greek-symbols-in-text">Greek symbols in text</p>
<dl class="docinfo">
<dt class="version">Version<span class="colon">:</span></dt>
-<dd class="version">2.4 (<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, 2023 Günter Milde</dd>
<dt class="licence">Licence<span class="colon">:</span></dt>
@@ -916,7 +916,7 @@
<section id="identification">
<h3><a class="toc-backref" href="#toc-entry-5" role="doc-backlink">Identification</a></h3>
<pre class="literal-block">\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{textalpha}[2023-08-15 2.4 macros for Greek letters in text]</pre>
+\ProvidesPackage{textalpha}[2023-09-12 2.5 macros for Greek letters in text]</pre>
</section>
<section id="options">
<h3><a class="toc-backref" href="#toc-entry-6" role="doc-backlink">Options</a></h3>
@@ -967,7 +967,9 @@
<p>In the Latin transliteration provided by LGR, breathing accents (Dasia and
Psili) are input as < and >. Provide the corresponding NFSS macro accents.
(Used below for LGR, TU, and PU, if these font encodings are defined):</p>
-<pre class="literal-block">\newcommand{\textalpha@define@breathings}[1]{
+<pre class="literal-block">\providecommand*{\IfFormatAtLeastTF}[3]{#3} % new in 2020
+
+\newcommand{\textalpha@define@breathings}[1]{
\DeclareTextCommand{\<}{#1}{\accdasia}
\DeclareTextCommand{\>}{#1}{\accpsili}
% Composite accents starting with the new-defined shortcuts:
@@ -976,9 +978,14 @@
\DeclareTextCompositeCommand{\>}{#1}{~}{\accpsiliperispomeni}
\DeclareTextCompositeCommand{\<}{#1}{'}{\accdasiaoxia}
\DeclareTextCompositeCommand{\<}{#1}{`}{\accdasiavaria}
- \DeclareTextCompositeCommand{\<}{#1}{~}{\accdasiaperispomeni}</pre>
+ \DeclareTextCompositeCommand{\<}{#1}{~}{\accdasiaperispomeni}
+
+ \IfFormatAtLeastTF{2022/06/01}{}{% else
+ \DeclareTextCompositeCommand{\<}{#1}{^^9f}{\LGR@hiatus}
+ \DeclareTextCompositeCommand{\>}{#1}{^^9f}{\LGR@hiatus}
+ }</pre>
<p>Also define “mixed” composites (required due to the fix for
-<span class="docutils literal">\MakeUppercse</span> below:</p>
+<span class="docutils literal">\MakeUppercase</span> below:</p>
<pre class="literal-block"> % \MakeUppercse: \>~a, \<~a
% \DeclareTextCompositeCommand{\accpsili}{#1}{~}{\accpsiliperispomeni}
% \DeclareTextCompositeCommand{\accdasia}{#1}{~}{\accdasiaperispomeni}
@@ -1005,8 +1012,6 @@
<pre class="literal-block">\ifdefined \UnicodeEncodingName % set by LaTeX for Unicode-aware engines
\input{tuenc-greek.def}
\textalpha@define@breathings{\UnicodeEncodingName}
- \DeclareTextCompositeCommand{\<}{\UnicodeEncodingName}{^^9f}{\LGR@hiatus}
- \DeclareTextCompositeCommand{\>}{\UnicodeEncodingName}{^^9f}{\LGR@hiatus}
\else
\@ifl@aded{def}{lgrenc}
{}
@@ -1017,11 +1022,7 @@
(enables use of 8-bit TeX fonts and input via the Latin transliteration).
Add setup for breathings:</p>
<pre class="literal-block">\@ifl@aded{def}{lgrenc}
- {\textalpha@define@breathings{LGR}
- % Hiatus feature (see greek-fontenc.def and babel-greek (greek.ldf))
- \DeclareTextCompositeCommand{\<}{LGR}{^^9f}{\LGR@hiatus}
- \DeclareTextCompositeCommand{\>}{LGR}{^^9f}{\LGR@hiatus}
- }
+ {\textalpha@define@breathings{LGR}}
{}</pre>
<p>The package <a class="reference external" href="https://ctan.org/pkg/hyperref">hyperref</a> defines the PU font encoding and adds some
LICR commands for monotonic Greek (in punenc-greekbasick.def).
@@ -1131,7 +1132,7 @@
\DeclareTextSymbolDefault{\textkappa}{LGR}
\DeclareTextSymbolDefault{\textlambda}{LGR}
\DeclareTextSymbolDefault{\textmu}{LGR}
-\DeclareTextSymbolDefault{\textmugreek}{LGR} % (puenc.def)
+\DeclareTextSymbolDefault{\textmugreek}{LGR} % (puenc.def)
\DeclareTextSymbolDefault{\textnu}{LGR}
\DeclareTextSymbolDefault{\textxi}{LGR}
\DeclareTextSymbolDefault{\textomicron}{LGR}
@@ -1138,8 +1139,8 @@
\DeclareTextSymbolDefault{\textpi}{LGR}
\DeclareTextSymbolDefault{\textrho}{LGR}
\DeclareTextSymbolDefault{\textsigma}{LGR}
-\DeclareTextSymbolDefault{\textvarsigma}{LGR}
-\DeclareTextSymbolDefault{\textfinalsigma}{LGR} % alias for \textvarsigma
+\DeclareTextSymbolDefault{\textfinalsigma}{LGR}
+\DeclareTextSymbolDefault{\textvarsigma}{LGR} % alias for \textfinalsigma
\DeclareTextSymbolDefault{\textautosigma}{LGR} % char 115 in LGR
\DeclareTextSymbolDefault{\texttau}{LGR}
\DeclareTextSymbolDefault{\textupsilon}{LGR}
@@ -1216,6 +1217,7 @@
<pre class="literal-block">\DeclareTextAccentDefault{\accdasia}{LGR}
\DeclareTextAccentDefault{\accpsili}{LGR}
\DeclareTextAccentDefault{\acctonos}{LGR}
+\DeclareTextAccentDefault{\accoxia}{LGR}
\DeclareTextAccentDefault{\accvaria}{LGR}
\DeclareTextAccentDefault{\accperispomeni}{LGR}
\DeclareTextAccentDefault{\accdialytika}{LGR}
@@ -1384,6 +1386,10 @@
<td></td>
<td><p>Fix upcasing of Greek letters with <span class="docutils literal">\<</span> and <span class="docutils literal">\></span>.</p></td>
</tr>
+<tr><td><p>2.5</p></td>
+<td><p>2023-09-12</p></td>
+<td><p>Support the <span class="docutils literal">\accoxia</span> alias.</p></td>
+</tr>
</tbody>
</table>
<!-- References
Modified: trunk/Master/texmf-dist/doc/latex/greek-fontenc/tuenc-greek.def.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/greek-fontenc/tuenc-greek.def.html 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/doc/latex/greek-fontenc/tuenc-greek.def.html 2023-09-12 20:09:52 UTC (rev 68249)
@@ -794,7 +794,7 @@
<p class="subtitle" id="greek-licr-definitions-for-xetex-and-luatex">Greek LICR definitions for XeTeX and LuaTeX</p>
<dl class="docinfo">
<dt class="version">Version<span class="colon">:</span></dt>
-<dd class="version">2.4 (<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">© 2013 – 2023 Günter Milde</dd>
<dt class="licence">Licence<span class="colon">:</span></dt>
@@ -827,21 +827,22 @@
<li><p><a class="reference internal" href="#greek-and-coptic" id="toc-entry-11">Greek and Coptic</a></p></li>
<li><p><a class="reference internal" href="#greek-extended" id="toc-entry-12">Greek Extended</a></p>
<ul>
-<li><p><a class="reference internal" href="#perispomeni-and-tilde-accent" id="toc-entry-13">Perispomeni and tilde accent</a></p></li>
+<li><p><a class="reference internal" href="#spacing-diacritics" id="toc-entry-13">spacing diacritics</a></p></li>
+<li><p><a class="reference internal" href="#perispomeni-and-tilde-accent" id="toc-entry-14">Perispomeni and tilde accent</a></p></li>
</ul>
</li>
-<li><p><a class="reference internal" href="#letterlike-symbols" id="toc-entry-14">Letterlike Symbols</a></p></li>
-<li><p><a class="reference internal" href="#ancient-greek-numbers" id="toc-entry-15">Ancient Greek Numbers</a></p></li>
+<li><p><a class="reference internal" href="#letterlike-symbols" id="toc-entry-15">Letterlike Symbols</a></p></li>
+<li><p><a class="reference internal" href="#ancient-greek-numbers" id="toc-entry-16">Ancient Greek Numbers</a></p></li>
</ul>
</li>
-<li><p><a class="reference internal" href="#uppercase" id="toc-entry-16">UPPERCASE</a></p>
+<li><p><a class="reference internal" href="#uppercase" id="toc-entry-17">UPPERCASE</a></p>
<ul>
-<li><p><a class="reference internal" href="#uclclist" id="toc-entry-17">uclclist</a></p></li>
+<li><p><a class="reference internal" href="#uclclist" id="toc-entry-18">uclclist</a></p></li>
</ul>
</li>
</ul>
</li>
-<li><p><a class="reference internal" href="#changelog" id="toc-entry-18">Changelog</a></p></li>
+<li><p><a class="reference internal" href="#changelog" id="toc-entry-19">Changelog</a></p></li>
</ul>
</nav>
<section id="motivation">
@@ -865,7 +866,11 @@
<section id="identification">
<h3><a class="toc-backref" href="#toc-entry-4" role="doc-backlink">Identification</a></h3>
<pre class="literal-block">\ProvidesFile{tuenc-greek.def}
- [2023-08-15 2.4 Greek LICRs for XeTeX and LuaTeX]</pre>
+ [2023-09-12 2.5 Greek LICRs for XeTeX and LuaTeX]</pre>
+<p>Auxiliary command (modeled after definitions in <span class="docutils literal">tuenc.def</span>):</p>
+<pre class="literal-block">\providecommand*{\DeclareUnicodeCompositeCommand}[2]{%
+ \DeclareTextCompositeCommand{#1}{\UnicodeEncodingName}{#2}
+}</pre>
</section>
<section id="greek-diacritics">
<h3><a class="toc-backref" href="#toc-entry-5" role="doc-backlink">Greek Diacritics</a></h3>
@@ -950,115 +955,72 @@
% 037D GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
\DeclareTextSymbol{\texterotimatiko}\UnicodeEncodingName{"003B} % use SEMICOLON, not 037E GREEK QUESTION MARK
-\DeclareUnicodeComposite{\acctonos} {} {"0384} % ΄ GREEK TONOS
-\DeclareUnicodeComposite{\accdialytikatonos}{} {"0385} % ΅ GREEK DIALYTIKA TONOS
-\DeclareUnicodeComposite{\'} {\textAlpha} {"0386} % Ά
-\DeclareTextSymbol{\textanoteleia} \UnicodeEncodingName{"00B7} % use MIDDLE DOT, not 0387 GREEK ANO TELEIA
-\DeclareUnicodeComposite{\'} {\textEpsilon}{"0388} % Έ
-\DeclareUnicodeComposite{\'} {\textEta} {"0389} % Ή
-\DeclareUnicodeComposite{\'} {\textIota} {"038A} % Ί
-\DeclareUnicodeComposite{\'} {\textOmicron}{"038C} % Ό
-\DeclareUnicodeComposite{\'} {\textUpsilon}{"038E} % Ύ
-\DeclareUnicodeComposite{\'} {\textOmega} {"038F} % Ώ
-% repeat with named accents (LuaTeX does not normalize to pre-composed chars):
-\DeclareUnicodeComposite{\acctonos} {\textAlpha} {"0386} % Ά
-\DeclareUnicodeComposite{\acctonos} {\textEpsilon}{"0388} % Έ
-\DeclareUnicodeComposite{\acctonos} {\textEta} {"0389} % Ή
-\DeclareUnicodeComposite{\acctonos} {\textIota} {"038A} % Ί
-\DeclareUnicodeComposite{\acctonos} {\textOmicron}{"038C} % Ό
-\DeclareUnicodeComposite{\acctonos} {\textUpsilon}{"038E} % Ύ
-\DeclareUnicodeComposite{\acctonos} {\textOmega} {"038F} % Ώ
-\DeclareUnicodeComposite{\accdialytikatonos}{\textiota} {"0390} % ΐ
+\DeclareUnicodeComposite{\acctonos} {} {"0384} % ΄ GREEK TONOS
+\DeclareUnicodeComposite{\accdialytikatonos}{} {"0385} % ΅ GREEK DIALYTIKA TONOS
-\DeclareTextSymbol{\textAlpha }\UnicodeEncodingName{"0391} % Α
-\DeclareTextSymbol{\textBeta }\UnicodeEncodingName{"0392} % Β
-\DeclareTextSymbol{\textGamma }\UnicodeEncodingName{"0393} % Γ
-\DeclareTextSymbol{\textDelta }\UnicodeEncodingName{"0394} % Δ
-\DeclareTextSymbol{\textEpsilon}\UnicodeEncodingName{"0395} % Ε
-\DeclareTextSymbol{\textZeta }\UnicodeEncodingName{"0396} % Ζ
-\DeclareTextSymbol{\textEta }\UnicodeEncodingName{"0397} % Η
-\DeclareTextSymbol{\textTheta }\UnicodeEncodingName{"0398} % Θ
-\DeclareTextSymbol{\textIota }\UnicodeEncodingName{"0399} % Ι
-\DeclareTextSymbol{\textKappa }\UnicodeEncodingName{"039A} % Κ
-\DeclareTextSymbol{\textLambda }\UnicodeEncodingName{"039B} % Λ
-\DeclareTextSymbol{\textMu }\UnicodeEncodingName{"039C} % Μ
-\DeclareTextSymbol{\textNu }\UnicodeEncodingName{"039D} % Ν
-\DeclareTextSymbol{\textXi }\UnicodeEncodingName{"039E} % Ξ
-\DeclareTextSymbol{\textOmicron}\UnicodeEncodingName{"039F} % Ο
-\DeclareTextSymbol{\textPi }\UnicodeEncodingName{"03A0} % Π
-\DeclareTextSymbol{\textRho }\UnicodeEncodingName{"03A1} % Ρ
-\DeclareTextSymbol{\textSigma }\UnicodeEncodingName{"03A3} % Σ
-\DeclareTextSymbol{\textTau }\UnicodeEncodingName{"03A4} % Τ
-\DeclareTextSymbol{\textUpsilon}\UnicodeEncodingName{"03A5} % Υ
-\DeclareTextSymbol{\textPhi }\UnicodeEncodingName{"03A6} % Φ
-\DeclareTextSymbol{\textChi }\UnicodeEncodingName{"03A7} % Χ
-\DeclareTextSymbol{\textPsi }\UnicodeEncodingName{"03A8} % Ψ
-\DeclareTextSymbol{\textOmega }\UnicodeEncodingName{"03A9} % Ω
+\DeclareTextSymbol{\textanoteleia }\UnicodeEncodingName{"00B7} % use MIDDLE DOT, not 0387 GREEK ANO TELEIA
-\DeclareUnicodeComposite{\"} {\textIota} {"03AA} % Ϊ
-\DeclareUnicodeComposite{\"} {\textIota} {"03AA} % Ϊ
-\DeclareUnicodeComposite{\"} {\textUpsilon}{"03AB} % Ϋ
-\DeclareUnicodeComposite{\'} {\textalpha} {"03AC} % ά
-\DeclareUnicodeComposite{\'} {\textepsilon}{"03AD} % έ
-\DeclareUnicodeComposite{\'} {\texteta} {"03AE} % ή
-\DeclareUnicodeComposite{\'} {\textiota} {"03AF} % ί
-% repeat with named accents (LuaTeX does not normalize to pre-composed chars):
-\DeclareUnicodeComposite{\accdialytika} {\textIota} {"03AA} % Ϊ
-\DeclareUnicodeComposite{\accdialytika} {\textIota} {"03AA} % Ϊ
-\DeclareUnicodeComposite{\accdialytika} {\textUpsilon}{"03AB} % Ϋ
-\DeclareUnicodeComposite{\acctonos} {\textalpha} {"03AC} % ά
-\DeclareUnicodeComposite{\acctonos} {\textepsilon}{"03AD} % έ
-\DeclareUnicodeComposite{\acctonos} {\texteta} {"03AE} % ή
-\DeclareUnicodeComposite{\acctonos} {\textiota} {"03AF} % ί
-\DeclareUnicodeComposite{\accdialytikatonos}{\textupsilon}{"03B0} % ΰ
+\DeclareTextSymbol{\textAlpha }\UnicodeEncodingName{"0391} % Α
+\DeclareTextSymbol{\textBeta }\UnicodeEncodingName{"0392} % Β
+\DeclareTextSymbol{\textGamma }\UnicodeEncodingName{"0393} % Γ
+\DeclareTextSymbol{\textDelta }\UnicodeEncodingName{"0394} % Δ
+\DeclareTextSymbol{\textEpsilon }\UnicodeEncodingName{"0395} % Ε
+\DeclareTextSymbol{\textZeta }\UnicodeEncodingName{"0396} % Ζ
+\DeclareTextSymbol{\textEta }\UnicodeEncodingName{"0397} % Η
+\DeclareTextSymbol{\textTheta }\UnicodeEncodingName{"0398} % Θ
+\DeclareTextSymbol{\textIota }\UnicodeEncodingName{"0399} % Ι
+\DeclareTextSymbol{\textKappa }\UnicodeEncodingName{"039A} % Κ
+\DeclareTextSymbol{\textLambda }\UnicodeEncodingName{"039B} % Λ
+\DeclareTextSymbol{\textMu }\UnicodeEncodingName{"039C} % Μ
+\DeclareTextSymbol{\textNu }\UnicodeEncodingName{"039D} % Ν
+\DeclareTextSymbol{\textXi }\UnicodeEncodingName{"039E} % Ξ
+\DeclareTextSymbol{\textOmicron }\UnicodeEncodingName{"039F} % Ο
+\DeclareTextSymbol{\textPi }\UnicodeEncodingName{"03A0} % Π
+\DeclareTextSymbol{\textRho }\UnicodeEncodingName{"03A1} % Ρ
+\DeclareTextSymbol{\textSigma }\UnicodeEncodingName{"03A3} % Σ
+\DeclareTextSymbol{\textTau }\UnicodeEncodingName{"03A4} % Τ
+\DeclareTextSymbol{\textUpsilon }\UnicodeEncodingName{"03A5} % Υ
+\DeclareTextSymbol{\textPhi }\UnicodeEncodingName{"03A6} % Φ
+\DeclareTextSymbol{\textChi }\UnicodeEncodingName{"03A7} % Χ
+\DeclareTextSymbol{\textPsi }\UnicodeEncodingName{"03A8} % Ψ
+\DeclareTextSymbol{\textOmega }\UnicodeEncodingName{"03A9} % Ω
-\DeclareTextSymbol{\textalpha }\UnicodeEncodingName{"03B1} % α
-\DeclareTextSymbol{\textbeta }\UnicodeEncodingName{"03B2} % β
-\DeclareTextSymbol{\textgamma }\UnicodeEncodingName{"03B3} % γ
-\DeclareTextSymbol{\textdelta }\UnicodeEncodingName{"03B4} % δ
-\DeclareTextSymbol{\textepsilon }\UnicodeEncodingName{"03B5} % ε
-\DeclareTextSymbol{\textzeta }\UnicodeEncodingName{"03B6} % ζ
-\DeclareTextSymbol{\texteta }\UnicodeEncodingName{"03B7} % η
-\DeclareTextSymbol{\texttheta }\UnicodeEncodingName{"03B8} % θ
-\DeclareTextSymbol{\textiota }\UnicodeEncodingName{"03B9} % ι
-\DeclareTextSymbol{\textkappa }\UnicodeEncodingName{"03BA} % κ
-\DeclareTextSymbol{\textlambda }\UnicodeEncodingName{"03BB} % λ
-\DeclareTextSymbol{\textmu }\UnicodeEncodingName{"03BC} % μ % \textmugreek
-\DeclareTextSymbol{\textnu }\UnicodeEncodingName{"03BD} % ν
-\DeclareTextSymbol{\textxi }\UnicodeEncodingName{"03BE} % ξ
-\DeclareTextSymbol{\textomicron }\UnicodeEncodingName{"03BF} % ο
-\DeclareTextSymbol{\textpi }\UnicodeEncodingName{"03C0} % π
-\DeclareTextSymbol{\textrho }\UnicodeEncodingName{"03C1} % ρ
-\DeclareTextSymbol{\textfinalsigma}\UnicodeEncodingName{"03C2} % ς % final sigma
-\DeclareTextSymbol{\textsigma }\UnicodeEncodingName{"03C3} % σ
-\DeclareTextSymbol{\texttau }\UnicodeEncodingName{"03C4} % τ
-\DeclareTextSymbol{\textupsilon }\UnicodeEncodingName{"03C5} % υ
-\DeclareTextSymbol{\textphi }\UnicodeEncodingName{"03C6} % φ
-\DeclareTextSymbol{\textchi }\UnicodeEncodingName{"03C7} % χ
-\DeclareTextSymbol{\textpsi }\UnicodeEncodingName{"03C8} % ψ
-\DeclareTextSymbol{\textomega }\UnicodeEncodingName{"03C9} % ω
-
-\DeclareUnicodeComposite{\"}{\textiota}{"03CA} % ϊ
-\DeclareUnicodeComposite{\"}{\textupsilon}{"03CB} % ϋ
-\DeclareUnicodeComposite{\'}{\textomicron}{"03CC} % ό
-\DeclareUnicodeComposite{\'}{\textupsilon}{"03CD} % ύ
-\DeclareUnicodeComposite{\'}{\textomega}{"03CE} % ώ
-\DeclareUnicodeComposite{\accdialytika}{\textiota}{"03CA} % ϊ
-\DeclareUnicodeComposite{\accdialytika}{\textupsilon}{"03CB} % ϋ
-\DeclareUnicodeComposite{\acctonos}{\textomicron}{"03CC} % ό
-\DeclareUnicodeComposite{\acctonos}{\textupsilon}{"03CD} % ύ
-\DeclareUnicodeComposite{\acctonos}{\textomega}{"03CE} % ώ</pre>
+\DeclareTextSymbol{\textalpha }\UnicodeEncodingName{"03B1} % α
+\DeclareTextSymbol{\textbeta }\UnicodeEncodingName{"03B2} % β
+\DeclareTextSymbol{\textgamma }\UnicodeEncodingName{"03B3} % γ
+\DeclareTextSymbol{\textdelta }\UnicodeEncodingName{"03B4} % δ
+\DeclareTextSymbol{\textepsilon }\UnicodeEncodingName{"03B5} % ε
+\DeclareTextSymbol{\textzeta }\UnicodeEncodingName{"03B6} % ζ
+\DeclareTextSymbol{\texteta }\UnicodeEncodingName{"03B7} % η
+\DeclareTextSymbol{\texttheta }\UnicodeEncodingName{"03B8} % θ
+\DeclareTextSymbol{\textiota }\UnicodeEncodingName{"03B9} % ι
+\DeclareTextSymbol{\textkappa }\UnicodeEncodingName{"03BA} % κ
+\DeclareTextSymbol{\textlambda }\UnicodeEncodingName{"03BB} % λ
+\DeclareTextSymbol{\textmu }\UnicodeEncodingName{"03BC} % μ % \textmugreek
+\DeclareTextSymbol{\textnu }\UnicodeEncodingName{"03BD} % ν
+\DeclareTextSymbol{\textxi }\UnicodeEncodingName{"03BE} % ξ
+\DeclareTextSymbol{\textomicron }\UnicodeEncodingName{"03BF} % ο
+\DeclareTextSymbol{\textpi }\UnicodeEncodingName{"03C0} % π
+\DeclareTextSymbol{\textrho }\UnicodeEncodingName{"03C1} % ρ
+\DeclareTextSymbol{\textfinalsigma }\UnicodeEncodingName{"03C2} % ς % final sigma
+\DeclareTextSymbol{\textsigma }\UnicodeEncodingName{"03C3} % σ
+\DeclareTextSymbol{\texttau }\UnicodeEncodingName{"03C4} % τ
+\DeclareTextSymbol{\textupsilon }\UnicodeEncodingName{"03C5} % υ
+\DeclareTextSymbol{\textphi }\UnicodeEncodingName{"03C6} % φ
+\DeclareTextSymbol{\textchi }\UnicodeEncodingName{"03C7} % χ
+\DeclareTextSymbol{\textpsi }\UnicodeEncodingName{"03C8} % ψ
+\DeclareTextSymbol{\textomega }\UnicodeEncodingName{"03C9} % ω</pre>
<p>Archaic letters (still used in Greek numerals):</p>
-<pre class="literal-block">\DeclareTextSymbol{\textQoppa }\UnicodeEncodingName{"03D8} % Ϙ
-\DeclareTextSymbol{\textqoppa }\UnicodeEncodingName{"03D9} % ϙ
-\DeclareTextSymbol{\textStigma }\UnicodeEncodingName{"03DA} % Ϛ
-\DeclareTextSymbol{\textstigma }\UnicodeEncodingName{"03DB} % ϛ
-\DeclareTextSymbol{\textDigamma }\UnicodeEncodingName{"03DC} % Ϝ
-\DeclareTextSymbol{\textdigamma }\UnicodeEncodingName{"03DD} % ϝ
-\DeclareTextSymbol{\textKoppa }\UnicodeEncodingName{"03DE} % Ϟ in LGR identic to \textkoppa
-\DeclareTextSymbol{\textkoppa }\UnicodeEncodingName{"03DF} % ϟ \koppa, \textqoppa [sic!]
-\DeclareTextSymbol{\textSampi }\UnicodeEncodingName{"03E0} % Ϡ
-\DeclareTextSymbol{\textsampi }\UnicodeEncodingName{"03E1} % ϡ</pre>
+<pre class="literal-block">\DeclareTextSymbol{\textQoppa }\UnicodeEncodingName{"03D8} % Ϙ
+\DeclareTextSymbol{\textqoppa }\UnicodeEncodingName{"03D9} % ϙ
+\DeclareTextSymbol{\textStigma }\UnicodeEncodingName{"03DA} % Ϛ
+\DeclareTextSymbol{\textstigma }\UnicodeEncodingName{"03DB} % ϛ
+\DeclareTextSymbol{\textDigamma }\UnicodeEncodingName{"03DC} % Ϝ
+\DeclareTextSymbol{\textdigamma }\UnicodeEncodingName{"03DD} % ϝ
+\DeclareTextSymbol{\textKoppa }\UnicodeEncodingName{"03DE} % Ϟ in LGR identic to \textkoppa
+\DeclareTextSymbol{\textkoppa }\UnicodeEncodingName{"03DF} % ϟ \koppa, \textqoppa [sic!]
+\DeclareTextSymbol{\textSampi }\UnicodeEncodingName{"03E0} % Ϡ
+\DeclareTextSymbol{\textsampi }\UnicodeEncodingName{"03E1} % ϡ</pre>
<p>Symbol variants:</p>
<pre class="literal-block">\DeclareTextSymbol{\textbetasymbol }\UnicodeEncodingName{"03D0} % ϐ
\DeclareTextSymbol{\textkappasymbol }\UnicodeEncodingName{"03F0} % ϰ
@@ -1077,257 +1039,82 @@
</section>
<section id="greek-extended">
<h4><a class="toc-backref" href="#toc-entry-12" role="doc-backlink">Greek Extended</a></h4>
-<p>We skip definitions for characters “… WITH OXIA”, because they would
-overwrite the definitions for “… WITH TONOS” in the <cite>Greek and Coptic</cite>
-block.</p>
-<pre class="literal-block">\DeclareUnicodeComposite{\accpsili }{\textalpha}{"1F00} % ἀ
-\DeclareUnicodeComposite{\accdasia }{\textalpha}{"1F01} % ἁ
-\DeclareUnicodeComposite{\accpsilivaria }{\textalpha}{"1F02} % ἂ
-\DeclareUnicodeComposite{\accdasiavaria }{\textalpha}{"1F03} % ἃ
-\DeclareUnicodeComposite{\accpsilioxia }{\textalpha}{"1F04} % ἄ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textalpha}{"1F05} % ἅ
-\DeclareUnicodeComposite{\accpsiliperispomeni}{\textalpha}{"1F06} % ἆ
-\DeclareUnicodeComposite{\accdasiaperispomeni}{\textalpha}{"1F07} % ἇ
-\DeclareUnicodeComposite{\accpsili }{\textAlpha}{"1F08} % Ἀ
-\DeclareUnicodeComposite{\accdasia }{\textAlpha}{"1F09} % Ἁ
-\DeclareUnicodeComposite{\accpsilivaria }{\textAlpha}{"1F0A} % Ἂ
-\DeclareUnicodeComposite{\accdasiavaria }{\textAlpha}{"1F0B} % Ἃ
-\DeclareUnicodeComposite{\accpsilioxia }{\textAlpha}{"1F0C} % Ἄ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textAlpha}{"1F0D} % Ἅ
-\DeclareUnicodeComposite{\accpsiliperispomeni}{\textAlpha}{"1F0E} % Ἆ
-\DeclareUnicodeComposite{\accdasiaperispomeni}{\textAlpha}{"1F0F} % Ἇ
-
-\DeclareUnicodeComposite{\accpsili }{\textepsilon}{"1F10} % ἐ
-\DeclareUnicodeComposite{\accdasia }{\textepsilon}{"1F11} % ἑ
-\DeclareUnicodeComposite{\accpsilivaria }{\textepsilon}{"1F12} % ἒ
-\DeclareUnicodeComposite{\accdasiavaria }{\textepsilon}{"1F13} % ἓ
-\DeclareUnicodeComposite{\accpsilioxia }{\textepsilon}{"1F14} % ἔ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textepsilon}{"1F15} % ἕ
-\DeclareUnicodeComposite{\accpsili }{\textEpsilon}{"1F18} % Ἐ
-\DeclareUnicodeComposite{\accdasia }{\textEpsilon}{"1F19} % Ἑ
-\DeclareUnicodeComposite{\accpsilivaria }{\textEpsilon}{"1F1A} % Ἒ
-\DeclareUnicodeComposite{\accdasiavaria }{\textEpsilon}{"1F1B} % Ἓ
-\DeclareUnicodeComposite{\accpsilioxia }{\textEpsilon}{"1F1C} % Ἔ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textEpsilon}{"1F1D} % Ἕ
-
-\DeclareUnicodeComposite{\accpsili }{\texteta}{"1F20} % ἠ
-\DeclareUnicodeComposite{\accdasia }{\texteta}{"1F21} % ἡ
-\DeclareUnicodeComposite{\accpsilivaria }{\texteta}{"1F22} % ἢ
-\DeclareUnicodeComposite{\accdasiavaria }{\texteta}{"1F23} % ἣ
-\DeclareUnicodeComposite{\accpsilioxia }{\texteta}{"1F24} % ἤ
-\DeclareUnicodeComposite{\accdasiaoxia }{\texteta}{"1F25} % ἥ
-\DeclareUnicodeComposite{\accpsiliperispomeni}{\texteta}{"1F26} % ἦ
-\DeclareUnicodeComposite{\accdasiaperispomeni}{\texteta}{"1F27} % ἧ
-\DeclareUnicodeComposite{\accpsili }{\textEta}{"1F28} % Ἠ
-\DeclareUnicodeComposite{\accdasia }{\textEta}{"1F29} % Ἡ
-\DeclareUnicodeComposite{\accpsilivaria }{\textEta}{"1F2A} % Ἢ
-\DeclareUnicodeComposite{\accdasiavaria }{\textEta}{"1F2B} % Ἣ
-\DeclareUnicodeComposite{\accpsilioxia }{\textEta}{"1F2C} % Ἤ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textEta}{"1F2D} % Ἥ
-\DeclareUnicodeComposite{\accpsiliperispomeni}{\textEta}{"1F2E} % Ἦ
-\DeclareUnicodeComposite{\accdasiaperispomeni}{\textEta}{"1F2F} % Ἧ
-
-\DeclareUnicodeComposite{\accpsili }{\textiota}{"1F30} % ἰ
-\DeclareUnicodeComposite{\accdasia }{\textiota}{"1F31} % ἱ
-\DeclareUnicodeComposite{\accpsilivaria }{\textiota}{"1F32} % ἲ
-\DeclareUnicodeComposite{\accdasiavaria }{\textiota}{"1F33} % ἳ
-\DeclareUnicodeComposite{\accpsilioxia }{\textiota}{"1F34} % ἴ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textiota}{"1F35} % ἵ
-\DeclareUnicodeComposite{\accpsiliperispomeni}{\textiota}{"1F36} % ἶ
-\DeclareUnicodeComposite{\accdasiaperispomeni}{\textiota}{"1F37} % ἷ
-\DeclareUnicodeComposite{\accpsili }{\textIota}{"1F38} % Ἰ
-\DeclareUnicodeComposite{\accdasia }{\textIota}{"1F39} % Ἱ
-\DeclareUnicodeComposite{\accpsilivaria }{\textIota}{"1F3A} % Ἲ
-\DeclareUnicodeComposite{\accdasiavaria }{\textIota}{"1F3B} % Ἳ
-\DeclareUnicodeComposite{\accpsilioxia }{\textIota}{"1F3C} % Ἴ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textIota}{"1F3D} % Ἵ
-\DeclareUnicodeComposite{\accpsiliperispomeni}{\textIota}{"1F3E} % Ἶ
-\DeclareUnicodeComposite{\accdasiaperispomeni}{\textIota}{"1F3F} % Ἷ
-
-\DeclareUnicodeComposite{\accpsili }{\textomicron}{"1F40} % ὀ
-\DeclareUnicodeComposite{\accdasia }{\textomicron}{"1F41} % ὁ
-\DeclareUnicodeComposite{\accpsilivaria }{\textomicron}{"1F42} % ὂ
-\DeclareUnicodeComposite{\accdasiavaria }{\textomicron}{"1F43} % ὃ
-\DeclareUnicodeComposite{\accpsilioxia }{\textomicron}{"1F44} % ὄ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textomicron}{"1F45} % ὅ
-\DeclareUnicodeComposite{\accpsili }{\textOmicron}{"1F48} % Ὀ
-\DeclareUnicodeComposite{\accdasia }{\textOmicron}{"1F49} % Ὁ
-\DeclareUnicodeComposite{\accpsilivaria }{\textOmicron}{"1F4A} % Ὂ
-\DeclareUnicodeComposite{\accdasiavaria }{\textOmicron}{"1F4B} % Ὃ
-\DeclareUnicodeComposite{\accpsilioxia }{\textOmicron}{"1F4C} % Ὄ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textOmicron}{"1F4D} % Ὅ
-
-\DeclareUnicodeComposite{\accpsili }{\textupsilon}{"1F50} % ὐ
-\DeclareUnicodeComposite{\accdasia }{\textupsilon}{"1F51} % ὑ
-\DeclareUnicodeComposite{\accpsilivaria }{\textupsilon}{"1F52} % ὒ
-\DeclareUnicodeComposite{\accdasiavaria }{\textupsilon}{"1F53} % ὓ
-\DeclareUnicodeComposite{\accpsilioxia }{\textupsilon}{"1F54} % ὔ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textupsilon}{"1F55} % ὕ
-\DeclareUnicodeComposite{\accpsiliperispomeni}{\textupsilon}{"1F56} % ὖ
-\DeclareUnicodeComposite{\accdasiaperispomeni}{\textupsilon}{"1F57} % ὗ
-\DeclareUnicodeComposite{\accdasia }{\textUpsilon}{"1F59} % Ὑ
-\DeclareUnicodeComposite{\accdasiavaria }{\textUpsilon}{"1F5B} % Ὓ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textUpsilon}{"1F5D} % Ὕ
-\DeclareUnicodeComposite{\accdasiaperispomeni}{\textUpsilon}{"1F5F} % Ὗ
-
-\DeclareUnicodeComposite{\accpsili }{\textomega}{"1F60} % ὠ
-\DeclareUnicodeComposite{\accdasia }{\textomega}{"1F61} % ὡ
-\DeclareUnicodeComposite{\accpsilivaria }{\textomega}{"1F62} % ὢ
-\DeclareUnicodeComposite{\accdasiavaria }{\textomega}{"1F63} % ὣ
-\DeclareUnicodeComposite{\accpsilioxia }{\textomega}{"1F64} % ὤ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textomega}{"1F65} % ὥ
-\DeclareUnicodeComposite{\accpsiliperispomeni}{\textomega}{"1F66} % ὦ
-\DeclareUnicodeComposite{\accdasiaperispomeni}{\textomega}{"1F67} % ὧ
-\DeclareUnicodeComposite{\accpsili }{\textOmega}{"1F68} % Ὠ
-\DeclareUnicodeComposite{\accdasia }{\textOmega}{"1F69} % Ὡ
-\DeclareUnicodeComposite{\accpsilivaria }{\textOmega}{"1F6A} % Ὢ
-\DeclareUnicodeComposite{\accdasiavaria }{\textOmega}{"1F6B} % Ὣ
-\DeclareUnicodeComposite{\accpsilioxia }{\textOmega}{"1F6C} % Ὤ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textOmega}{"1F6D} % Ὥ
-\DeclareUnicodeComposite{\accpsiliperispomeni}{\textOmega}{"1F6E} % Ὦ
-\DeclareUnicodeComposite{\accdasiaperispomeni}{\textOmega}{"1F6F} % Ὧ
-
-\DeclareUnicodeComposite{\`} {\textalpha} {"1F70} % ὰ
-\DeclareUnicodeComposite{\`} {\textepsilon}{"1F72} % ὲ
-\DeclareUnicodeComposite{\`} {\texteta} {"1F74} % ὴ
-\DeclareUnicodeComposite{\`} {\textiota} {"1F76} % ὶ
-\DeclareUnicodeComposite{\`} {\textomicron}{"1F78} % ὸ
-\DeclareUnicodeComposite{\`} {\textupsilon}{"1F7A} % ὺ
-\DeclareUnicodeComposite{\`} {\textomega} {"1F7C} % ὼ
-% repeat with named accents (LuaTeX does not normalize to pre-composed chars):
-\DeclareUnicodeComposite{\accvaria} {\textalpha} {"1F70} % ὰ
-\DeclareUnicodeComposite{\accvaria} {\textepsilon}{"1F72} % ὲ
-\DeclareUnicodeComposite{\accvaria} {\texteta} {"1F74} % ὴ
-\DeclareUnicodeComposite{\accvaria} {\textiota} {"1F76} % ὶ
-\DeclareUnicodeComposite{\accvaria} {\textomicron}{"1F78} % ὸ
-\DeclareUnicodeComposite{\accvaria} {\textupsilon}{"1F7A} % ὺ
-\DeclareUnicodeComposite{\accvaria} {\textomega} {"1F7C} % ὼ</pre>
-<p>Skipping pre-composed characters with mute iota (misleadingly named
-… WITH PROSGEGRAMMENI): letter + <span class="docutils literal">\ypogegrammeni</span> is normalized
-to the pre-composed character.</p>
-<pre class="literal-block">\DeclareUnicodeComposite{\u} {\textalpha} {"1FB0} % ᾰ
-\DeclareUnicodeComposite{\=} {\textalpha} {"1FB1} % ᾱ
-% ᾲ
-% ᾳ
-% ᾴ
-\DeclareUnicodeComposite{\accperispomeni} {\textalpha} {"1FB6} % ᾶ
-\DeclareUnicodeComposite{\~} {\textalpha} {"1FB6} % ᾶ
-% ᾷ
-\DeclareUnicodeComposite{\u} {\textAlpha} {"1FB8} % Ᾰ
-\DeclareUnicodeComposite{\=} {\textAlpha} {"1FB9} % Ᾱ
-\DeclareUnicodeComposite{\`} {\textAlpha} {"1FBA} % Ὰ
-\DeclareUnicodeComposite{\accvaria} {\textAlpha} {"1FBA} % Ὰ
-% ᾼ
-\DeclareUnicodeComposite{\accpsili} {} {"1FBD} % ᾽
+<section id="spacing-diacritics">
+<h5><a class="toc-backref" href="#toc-entry-13" role="doc-backlink">spacing diacritics</a></h5>
+<pre class="literal-block">% 1FBD GREEK KORONIS -> psili % ᾽
\DeclareTextSymbol{\prosgegrammeni}\UnicodeEncodingName {"1FBE} % ι
\DeclareUnicodeComposite{\accpsili} {} {"1FBF} % ᾿
\DeclareUnicodeComposite{\accperispomeni} {} {"1FC0} % ῀
\DeclareUnicodeComposite{\accdialytikaperispomeni}{} {"1FC1} % ῁
-% ῂ
-% ῃ
-% ῄ
-\DeclareUnicodeComposite{\accperispomeni} {\texteta} {"1FC6} % ῆ
-\DeclareUnicodeComposite{\~} {\texteta} {"1FC6} % ῆ
-% ῇ
-\DeclareUnicodeComposite{\`} {\textEpsilon}{"1FC8} % Ὲ
-\DeclareUnicodeComposite{\accvaria} {\textEpsilon}{"1FC8} % Ὲ
-\DeclareUnicodeComposite{\`} {\textEta} {"1FCA} % Ὴ
-\DeclareUnicodeComposite{\accvaria} {\textEta} {"1FCA} % Ὴ
-% ῌ
+
\DeclareUnicodeComposite{\accpsilivaria} {} {"1FCD} % ῍
\DeclareUnicodeComposite{\accpsilioxia} {} {"1FCE} % ῎
\DeclareUnicodeComposite{\accpsiliperispomeni} {} {"1FCF} % ῏
-\DeclareUnicodeComposite{\u} {\textiota} {"1FD0} % ῐ
-\DeclareUnicodeComposite{\=} {\textiota} {"1FD1} % ῑ
-\DeclareUnicodeComposite{\accdialytikavaria} {\textiota} {"1FD2} % ῒ
-\DeclareUnicodeComposite{\accdialytikaoxia} {\textiota} {"1FD3} % ΐ
-\DeclareUnicodeComposite{\accperispomeni} {\textiota} {"1FD6} % ῖ
-\DeclareUnicodeComposite{\~} {\textiota} {"1FD6} % ῖ
-\DeclareUnicodeComposite{\~} {ι} {"1FD6} % ῖ
-\DeclareUnicodeComposite{\accdialytikaperispomeni}{\textiota} {"1FD7} % ῗ
-\DeclareUnicodeComposite{\u} {\textIota} {"1FD8} % Ῐ
-\DeclareUnicodeComposite{\=} {\textIota} {"1FD9} % Ῑ
-\DeclareUnicodeComposite{\`} {\textIota} {"1FDA} % Ὶ
-\DeclareUnicodeComposite{\accvaria} {\textIota} {"1FDA} % Ὶ
\DeclareUnicodeComposite{\accdasiavaria} {} {"1FDD} % ῝
\DeclareUnicodeComposite{\accdasiaoxia} {} {"1FDE} % ῞
\DeclareUnicodeComposite{\accdasiaperispomeni} {} {"1FDF} % ῟
-\DeclareUnicodeComposite{\u} {\textupsilon}{"1FE0} % ῠ
-\DeclareUnicodeComposite{\=} {\textupsilon}{"1FE1} % ῡ
-\DeclareUnicodeComposite{\accdialytikavaria} {\textupsilon}{"1FE2} % ῢ
-\DeclareUnicodeComposite{\accdialytikaoxia} {\textupsilon}{"1FE3} % ΰ
-\DeclareUnicodeComposite{\accpsili} {\textrho} {"1FE4} % ῤ
-\DeclareUnicodeComposite{\accdasia} {\textrho} {"1FE5} % ῥ
-\DeclareUnicodeComposite{\~} {\textupsilon}{"1FE6} % ῦ
-\DeclareUnicodeComposite{\accperispomeni} {\textupsilon}{"1FE6} % ῦ
-\DeclareUnicodeComposite{\accdialytikaperispomeni}{\textupsilon}{"1FE7} % ῧ
-\DeclareUnicodeComposite{\u} {\textUpsilon}{"1FE8} % Ῠ
-\DeclareUnicodeComposite{\=} {\textUpsilon}{"1FE9} % Ῡ
-\DeclareUnicodeComposite{\`} {\textUpsilon}{"1FEA} % Ὺ
-\DeclareUnicodeComposite{\accvaria} {\textUpsilon}{"1FEA} % Ὺ
-% Ύ
-\DeclareUnicodeComposite{\accdasia} {\textRho} {"1FEC} % Ῥ
\DeclareUnicodeComposite{\accdialytikavaria} {} {"1FED} % ῭
\DeclareUnicodeComposite{\accdialytikaoxia} {} {"1FEE} % ΅
% `
-
-% ῲ
-% ῳ
-% ῴ
-\DeclareUnicodeComposite{\accperispomeni} {\textomega} {"1FF6} % ῶ
-\DeclareUnicodeComposite{\~} {\textomega} {"1FF6} % ῶ
-% ῷ
-\DeclareUnicodeComposite{\`} {\textOmicron}{"1FF8} % Ὸ
-\DeclareUnicodeComposite{\accvaria} {\textOmicron}{"1FF8} % Ὸ
-\DeclareUnicodeComposite{\`} {\textOmega} {"1FFA} % Ὼ
-\DeclareUnicodeComposite{\accvaria} {\textOmega} {"1FFA} % Ὼ
-% ῼ
\DeclareUnicodeComposite{\accoxia} {} {"1FFD} % ´
\DeclareUnicodeComposite{\accdasia} {} {"1FFE} % ῾</pre>
+</section>
<section id="perispomeni-and-tilde-accent">
-<h5><a class="toc-backref" href="#toc-entry-13" role="doc-backlink">Perispomeni and tilde accent</a></h5>
-<p>XeTeX and LuaTeX (since 2022) convert letters followed by combining
+<h5><a class="toc-backref" href="#toc-entry-14" role="doc-backlink">Perispomeni and tilde accent</a></h5>
+<p>XeTeX normalizes letters followed by combining
characters to a pre-composed character, if there is an equivalent
-pre-composed character.</p>
+pre-composed character (Unicode normalization NFC).
+With LuaTeX NFC is provided by the emph{Harfbuzz} renderer
+(select with the <span class="docutils literal">[Renderer=Harfbuzz]</span> option of the <a class="reference external" href="https://ctan.org/pkg/fontspec">fontspec</a>
+font selection commands or the <a class="reference external" href="https://ctan.org/pkg/uninormalize">uninormalize</a> package.</p>
<p>The <span class="docutils literal">\accperispomeni</span> macro expands to COMBINING GREEK PERISPOMENI
while the standard short accent macro <span class="docutils literal">\~</span> uses the COMBINING TILDE.
Only <Greek letter> + COMBINING GREEK PERISPOMENI is considered
equivalent to the pre-composed <Greek letter> WITH PERISPOMENI.
-Composite definitions for <span class="docutils literal">\~</span> select the pre-composed character</p>
-<p>TODO: don’t use literal Unicode characters if <span class="docutils literal">\inputencodingname</span>
-is defined and not “lutf8” to prevent errors with legacy 8-bit documents
-read with “luainputenc.sty” (cf. test-licr-input.tex).</p>
-<pre class="literal-block">\DeclareUnicodeComposite{\~}{α}{"1FB6} % ᾶ
-\DeclareUnicodeComposite{\~}{η}{"1FC6} % ῆ
-\DeclareUnicodeComposite{\~}{ι}{"1FD6} % ῖ
-\DeclareUnicodeComposite{\~}{ι}{"1FD6} % ῖ
-\DeclareUnicodeComposite{\~}{υ}{"1FE6} % ῦ
-\DeclareUnicodeComposite{\~}{ω}{"1FF6} % ῶ</pre>
-<p>If there is no pre-composed Capital letter with perispomeni,
-we want no perispomeni with <span class="docutils literal">\MakeUppercase</span>.
-(These definitions may be redundant with the new (2022/06)
-implementation of <span class="docutils literal">\MakeUppercase</span>.)</p>
-<pre class="literal-block">\DeclareUnicodeComposite{\~}{\textAlpha} {"0391} % Α
-\DeclareUnicodeComposite{\~}{Α} {"0391} % Α
-\DeclareUnicodeComposite{\~}{\textEta} {"0397} % Η
-\DeclareUnicodeComposite{\~}{Η} {"0397} % Η
-\DeclareUnicodeComposite{\~}{\textIota} {"0399} % Ι
-\DeclareUnicodeComposite{\~}{Ι} {"0399} % Ι
-\DeclareUnicodeComposite{\~}{\textUpsilon}{"03A5} % Υ
-\DeclareUnicodeComposite{\~}{Υ} {"03A5} % Υ
-\DeclareUnicodeComposite{\~}{\textOmega} {"03A9} % Ω
-\DeclareUnicodeComposite{\~}{Ω} {"03A9} % Ω</pre>
+Therefore, we define composite definitions for <span class="docutils literal">\~</span>:</p>
+<pre class="literal-block">\DeclareUnicodeComposite{\~}{\textalpha }{"1FB6} % ᾶ
+\DeclareUnicodeComposite{\~}{\texteta }{"1FC6} % ῆ
+\DeclareUnicodeComposite{\~}{\textiota }{"1FD6} % ῖ
+\DeclareUnicodeComposite{\~}{\textupsilon}{"1FE6} % ῦ
+\DeclareUnicodeComposite{\~}{\textomega }{"1FF6} % ῶ</pre>
+<p>There are no pre-composed capital letters with perispomeni
+(the perispomeni is not used on initial letters and normally
+dropped in <a class="reference internal" href="#uppercase">UPPERCASE</a>).
+However, it is kept with the pre-2022 <span class="docutils literal">\MakeUppercase</span> and in documents
+that don’t load <a class="reference external" href="https://ctan.org/pkg/babel-greek">babel-greek</a> (or an old babel-greek or use the
+modifier <span class="docutils literal"><span class="pre">local-MakeUppercase-fixes</span></span>):</p>
+<pre class="literal-block">\DeclareUnicodeCompositeCommand{\~}{\textAlpha }{\accperispomeni\textAlpha}
+\DeclareUnicodeCompositeCommand{\~}{\textEta }{\accperispomeni\textEta}
+\DeclareUnicodeCompositeCommand{\~}{\textIota }{\accperispomeni\textIota}
+\DeclareUnicodeCompositeCommand{\~}{\textUpsilon}{\accperispomeni\textUpsilon}
+\DeclareUnicodeCompositeCommand{\~}{\textOmega }{\accperispomeni\textOmega}</pre>
+<p>Using literal Unicode chars leads to errors in LuaTeX’s 8-bit compatibility
+mode. OTOH, composite definitions do a literal check, so we cannot use
+a replacement:</p>
+<pre class="literal-block">\@ifl@aded{sty}{luainputenc}{}{% else
+ \DeclareUnicodeComposite{\~}{α}{"1FB6} % ᾶ
+ \DeclareUnicodeComposite{\~}{η}{"1FC6} % ῆ
+ \DeclareUnicodeComposite{\~}{ι}{"1FD6} % ῖ
+ \DeclareUnicodeComposite{\~}{υ}{"1FE6} % ῦ
+ \DeclareUnicodeComposite{\~}{ω}{"1FF6} % ῶ
+
+ \DeclareUnicodeCompositeCommand{\~}{Α}{\accperispomeni Α}
+ \DeclareUnicodeCompositeCommand{\~}{Η}{\accperispomeni Η}
+ \DeclareUnicodeCompositeCommand{\~}{Ι}{\accperispomeni Ι}
+ \DeclareUnicodeCompositeCommand{\~}{Υ}{\accperispomeni Υ}
+ \DeclareUnicodeCompositeCommand{\~}{Ω}{\accperispomeni Ω}
+}</pre>
</section>
</section>
<section id="letterlike-symbols">
-<h4><a class="toc-backref" href="#toc-entry-14" role="doc-backlink">Letterlike Symbols</a></h4>
+<h4><a class="toc-backref" href="#toc-entry-15" role="doc-backlink">Letterlike Symbols</a></h4>
<pre class="literal-block">\DeclareTextSymbol{\textohm}\UnicodeEncodingName{"03A9} % OHM SIGN, use 03A9 Omega</pre>
</section>
<section id="ancient-greek-numbers">
-<h4><a class="toc-backref" href="#toc-entry-15" role="doc-backlink">Ancient Greek Numbers</a></h4>
+<h4><a class="toc-backref" href="#toc-entry-16" role="doc-backlink">Ancient Greek Numbers</a></h4>
<p>TODO: map other chars to corresponding Greek letters.
See also the <a class="reference external" href="https://ctan.org/pkg/grnumalt">grnumalt</a> package.</p>
<pre class="literal-block">\DeclareTextSymbol{\textpentedeka }\UnicodeEncodingName{"10144} % GREEK ACROPHONIC ATTIC FIFTY
@@ -1337,51 +1124,67 @@
</section>
</section>
<section id="uppercase">
-<h3><a class="toc-backref" href="#toc-entry-16" role="doc-backlink">UPPERCASE</a></h3>
+<h3><a class="toc-backref" href="#toc-entry-17" role="doc-backlink">UPPERCASE</a></h3>
<p>Greek letters drop diacritics (eccept dialytika and sub-iota) in UPPERCASE.</p>
-<p>Babel-Greek indroduces macros for “capital accents” in 1.13.3.
+<p>Babel-Greek introduces macros for “capital accents” in release 1.13.3.
Here, we add definitions to drop diacritics in uppercase:</p>
-<pre class="literal-block">\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} % new in 2020
-\IfFormatAtLeastTF{2022/06/01}{
- \DeclareTextCompositeCommand{\accACUTE}{TU}{\textAlpha }{\LGR@A@hiatus}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{\textEpsilon}{\LGR@E@hiatus}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{\textEta }{Η}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{\textIota }{Ι}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{\textOmicron}{Ο}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{\textUpsilon}{Υ}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{\textOmega }{Ω}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{Α}{\LGR@A@hiatus}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{Ε}{\LGR@E@hiatus}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{Η}{Η}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{Ι}{Ι}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{Ο}{Ο}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{Υ}{Υ}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{Ω}{Ω}
+<pre class="literal-block">\DeclareUnicodeCompositeCommand{\accACUTE}{\textAlpha }{\LGR@A@hiatus}
+\DeclareUnicodeCompositeCommand{\accACUTE}{\textEpsilon}{\LGR@E@hiatus}
+\DeclareUnicodeComposite{\accACUTE}{\textEta }{"0397} % Η
+\DeclareUnicodeComposite{\accACUTE}{\textIota }{"0399} % Ι
+\DeclareUnicodeComposite{\accACUTE}{\textOmicron}{"039F} % Ο
+\DeclareUnicodeComposite{\accACUTE}{\textUpsilon}{"03A5} % Υ
+\DeclareUnicodeComposite{\accACUTE}{\textOmega }{"03A9} % Ω
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textAlpha }{Α}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textEpsilon}{Ε}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textEta }{Η}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textIota }{Ι}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textOmicron}{Ο}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textUpsilon}{Υ}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textOmega }{Ω}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{Α}{Α}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ε}{Ε}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{Η}{Η}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ι}{Ι}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ο}{Ο}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{Υ}{Υ}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ω}{Ω}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ω}{Ω}
+\DeclareUnicodeComposite{\accGRAVE}{\textAlpha }{"0391} % Α
+\DeclareUnicodeComposite{\accGRAVE}{\textEpsilon}{"0395} % Ε
+\DeclareUnicodeComposite{\accGRAVE}{\textEta }{"0397} % Η
+\DeclareUnicodeComposite{\accGRAVE}{\textIota }{"0399} % Ι
+\DeclareUnicodeComposite{\accGRAVE}{\textOmicron}{"039F} % Ο
+\DeclareUnicodeComposite{\accGRAVE}{\textUpsilon}{"03A5} % Υ
+\DeclareUnicodeComposite{\accGRAVE}{\textOmega }{"03A9} % Ω
- \DeclareTextCompositeCommand{\LGR@hiatus}{TU}{Α}{\LGR@A@hiatus}
- \DeclareTextCompositeCommand{\LGR@hiatus}{TU}{Ε}{\LGR@E@hiatus}</pre>
+\DeclareUnicodeComposite{\accTILDE}{\textAlpha }{"0391} % Α
+\DeclareUnicodeComposite{\accTILDE}{\textEta }{"0397} % Η
+\DeclareUnicodeComposite{\accTILDE}{\textIota }{"0399} % Ι
+\DeclareUnicodeComposite{\accTILDE}{\textUpsilon}{"03A5} % Υ
+\DeclareUnicodeComposite{\accTILDE}{\textOmega }{"03A9} % Ω</pre>
+<p>Repeat with literal Unicode as base character
+(fails in LuaTeX’s 8-bit compatibility mode):</p>
+<pre class="literal-block">\@ifl@aded{sty}{luainputenc}{}{% else
+ \DeclareUnicodeCompositeCommand{\accACUTE}{Α}{\LGR@A@hiatus}
+ \DeclareUnicodeCompositeCommand{\accACUTE}{Ε}{\LGR@E@hiatus}
+ \DeclareUnicodeComposite{\accACUTE}{Η}{"0397} % Η
+ \DeclareUnicodeComposite{\accACUTE}{Ι}{"0399} % Ι
+ \DeclareUnicodeComposite{\accACUTE}{Ο}{"039F} % Ο
+ \DeclareUnicodeComposite{\accACUTE}{Υ}{"03A5} % Υ
+ \DeclareUnicodeComposite{\accACUTE}{Ω}{"03A9} % Ω
+
+ \DeclareUnicodeComposite{\accGRAVE}{Α}{"0391} % Α
+ \DeclareUnicodeComposite{\accGRAVE}{Ε}{"0395} % Ε
+ \DeclareUnicodeComposite{\accGRAVE}{Η}{"0397} % Η
+ \DeclareUnicodeComposite{\accGRAVE}{Ι}{"0399} % Ι
+ \DeclareUnicodeComposite{\accGRAVE}{Ο}{"039F} % Ο
+ \DeclareUnicodeComposite{\accGRAVE}{Υ}{"03A5} % Υ
+ \DeclareUnicodeComposite{\accGRAVE}{Ω}{"03A9} % Ω
+
+ \DeclareUnicodeComposite{\accTILDE}{Α}{"0391} % Α
+ \DeclareUnicodeComposite{\accTILDE}{Η}{"0397} % Η
+ \DeclareUnicodeComposite{\accTILDE}{Ι}{"0399} % Ι
+ \DeclareUnicodeComposite{\accTILDE}{Υ}{"03A5} % Υ
+ \DeclareUnicodeComposite{\accTILDE}{Ω}{"03A9} % Ω
+
+ \DeclareUnicodeCompositeCommand{\LGR@hiatus}{Α}{\LGR@A@hiatus}
+ \DeclareUnicodeCompositeCommand{\LGR@hiatus}{Ε}{\LGR@E@hiatus}
+}</pre>
<p>The new (2022) implementation of <span class="docutils literal">\MakeUppercase</span> drops accents from
literal Unicode input (if the text language is set to Greek with Babel).</p>
<p>With the old <span class="docutils literal">\MakeUppercase</span> implementation, we can fix this using
<span class="docutils literal">\lccode</span> and <span class="docutils literal">\uccode</span> corrections from the <a class="reference external" href="https://ctan.org/pkg/xgreek">xgreek</a> package by
Apostolos Syropoulos:</p>
-<pre class="literal-block">}{% else
+<pre class="literal-block">\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion} % new in 2020
+\IfFormatAtLeastTF{2022/06/01}{
+}{% else
\global\lccode"0370="0371 \global\uccode"0370="0370
\global\lccode"0371="0371 \global\uccode"0371="0370
\global\lccode"0372="0373 \global\uccode"0372="0372
@@ -1702,7 +1505,7 @@
\global\lccode"1FFC="1FF3 \global\uccode"1FFC="1FFC
}</pre>
<section id="uclclist">
-<h4><a class="toc-backref" href="#toc-entry-17" role="doc-backlink">uclclist</a></h4>
+<h4><a class="toc-backref" href="#toc-entry-18" role="doc-backlink">uclclist</a></h4>
<p>The common Greek font encoding definitions in <a class="reference external" href="greek-fontenc.def.html">greek-fontenc.def</a> extend the
<cite>uclclist</cite> with Greek LICR macros. Here, we add Unicode-specific “<a class="reference external" href="greek-fontenc.def.html#mark-hiatus">hiatus</a>”
handling (copied from <a class="reference external" href="lgrenc.def.html">lgrenc.def</a> and changed
@@ -1730,7 +1533,7 @@
</section>
</section>
<section id="changelog">
-<h2><a class="toc-backref" href="#toc-entry-18" role="doc-backlink">Changelog</a></h2>
+<h2><a class="toc-backref" href="#toc-entry-19" role="doc-backlink">Changelog</a></h2>
<table class="borderless">
<tbody>
<tr><td><p>0.1</p></td>
@@ -1847,6 +1650,17 @@
<td></td>
<td><p>Composite commands for “captital” macros.</p></td>
</tr>
+<tr><td><p>2.5</p></td>
+<td><p>2023-09-12</p></td>
+<td><p>Drop composite definitions duplicating the Unicode
+NFC transformation.</p></td>
+</tr>
+<tr><td><!-- -->
+</td>
+<td></td>
+<td><p>Skip definitions requiring literal UTF8 chars in
+LuaTeX’s 8-bit compatibility mode.</p></td>
+</tr>
</tbody>
</table>
<!-- References
Deleted: trunk/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta-lgr.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta-lgr.def 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta-lgr.def 2023-09-12 20:09:52 UTC (rev 68249)
@@ -1,189 +0,0 @@
-% alphabeta-lgr.def
-% ===================
-% Composite definitions for 8-bit TeX
-% ******************************************
-%
-% :Copyright: © 2014, 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.
-% :Identification:
-% ::
-
-\ProvidesFile{alphabeta-lgr}
-[2020/09/25 1.0 Composite definitions for 8-bit TeX]
-
-% :Changelog:
-% .. class:: borderless
-%
-% ====== ========== =====================================================
-% 0.11.2 2014-09-04 outsourced from ``alphabeta.sty``.
-% 1.0 2020-09-25 New package version. No changes in this file.
-% ====== ========== =====================================================
-%
-% The alphabeta_ package re-defines the math macros for Greek letters to work
-% in both, text and math mode, so that Greek letters can be specified with
-% the established command names in text, too.
-%
-% The NFSS TextComposite mechanism looks for the next token without expanding
-% it. In order to let compositions like ``\>"\alpha`` work as expected we
-% define TextComposites with the `letter name commands`.
-%
-% This file expands the font encoding definitions in lgrenc.def_ with
-% composite commands for use with 8-bit TeX fonts. It is sourced by
-% alphabeta_ under 8-bit TeX (pdfTeX, eTeX, TeX).
-%
-% ::
-
- \DeclareTextComposite{\accvaria}{LGR}{\alpha}{128}
- \DeclareTextComposite{\accdasia}{LGR}{\alpha}{129}
- \DeclareTextComposite{\accpsili}{LGR}{\alpha}{130}
- \DeclareTextComposite{\accdasiavaria}{LGR}{\alpha}{131}
- \DeclareTextComposite{\acctonos}{LGR}{\alpha}{136}
- \DeclareTextComposite{\accdasiaoxia}{LGR}{\alpha}{137}
- \DeclareTextComposite{\accpsilioxia}{LGR}{\alpha}{138}
- \DeclareTextComposite{\accpsilivaria}{LGR}{\alpha}{139}
- \DeclareTextComposite{\accperispomeni}{LGR}{\alpha}{144}
- \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\alpha}{145}
- \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\alpha}{146}
- \DeclareTextComposite{\accvaria}{LGR}{\eta}{152}
- \DeclareTextComposite{\accdasia}{LGR}{\eta}{153}
- \DeclareTextComposite{\accpsili}{LGR}{\eta}{154}
- \DeclareTextComposite{\acctonos}{LGR}{\eta}{160}
- \DeclareTextComposite{\accdasiaoxia}{LGR}{\eta}{161}
- \DeclareTextComposite{\accpsilioxia}{LGR}{\eta}{162}
- \DeclareTextComposite{\accdasiavaria}{LGR}{\eta}{163}
- \DeclareTextComposite{\accperispomeni}{LGR}{\eta}{168}
- \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\eta}{169}
- \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\eta}{170}
- \DeclareTextComposite{\accpsilivaria}{LGR}{\eta}{171}
- \DeclareTextComposite{\accvaria}{LGR}{\omega}{176}
- \DeclareTextComposite{\accdasia}{LGR}{\omega}{177}
- \DeclareTextComposite{\accpsili}{LGR}{\omega}{178}
- \DeclareTextComposite{\accdasiavaria}{LGR}{\omega}{179}
- \DeclareTextComposite{\acctonos}{LGR}{\omega}{184}
- \DeclareTextComposite{\accdasiaoxia}{LGR}{\omega}{185}
- \DeclareTextComposite{\accpsilioxia}{LGR}{\omega}{186}
- \DeclareTextComposite{\accpsilivaria}{LGR}{\omega}{187}
- \DeclareTextComposite{\accperispomeni}{LGR}{\omega}{192}
- \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\omega}{193}
- \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\omega}{194}
- \DeclareTextComposite{\accvaria}{LGR}{\iota}{200}
- \DeclareTextComposite{\accdasia}{LGR}{\iota}{201}
- \DeclareTextComposite{\accpsili}{LGR}{\iota}{202}
- \DeclareTextComposite{\accdasiavaria}{LGR}{\iota}{203}
- \DeclareTextComposite{\acctonos}{LGR}{\iota}{208}
- \DeclareTextComposite{\accdasiaoxia}{LGR}{\iota}{209}
- \DeclareTextComposite{\accpsilioxia}{LGR}{\iota}{210}
- \DeclareTextComposite{\accpsilivaria}{LGR}{\iota}{211}
- \DeclareTextComposite{\accperispomeni}{LGR}{\iota}{216}
- \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\iota}{217}
- \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\iota}{218}
- \DeclareTextComposite{\accdialytika}{LGR}{\iota}{240}
- \DeclareTextComposite{\accdialytikavaria}{LGR}{\iota}{241}
- \DeclareTextComposite{\accdialytikatonos}{LGR}{\iota}{242}
- \DeclareTextComposite{\accdialytikaperispomeni}{LGR}{\iota}{243}
- \DeclareTextComposite{\accvaria}{LGR}{\upsilon}{204}
- \DeclareTextComposite{\accdasia}{LGR}{\upsilon}{205}
- \DeclareTextComposite{\accpsili}{LGR}{\upsilon}{206}
- \DeclareTextComposite{\accdasiavaria}{LGR}{\upsilon}{207}
- \DeclareTextComposite{\acctonos}{LGR}{\upsilon}{212}
- \DeclareTextComposite{\accdasiaoxia}{LGR}{\upsilon}{213}
- \DeclareTextComposite{\accpsilioxia}{LGR}{\upsilon}{214}
- \DeclareTextComposite{\accpsilivaria}{LGR}{\upsilon}{215}
- \DeclareTextComposite{\accperispomeni}{LGR}{\upsilon}{220}
- \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\upsilon}{221}
- \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\upsilon}{222}
- \DeclareTextComposite{\accdialytika}{LGR}{\upsilon}{244}
- \DeclareTextComposite{\accdialytikavaria}{LGR}{\upsilon}{245}
- \DeclareTextComposite{\accdialytikatonos}{LGR}{\upsilon}{246}
- \DeclareTextComposite{\accdialytikaperispomeni}{LGR}{\upsilon}{247}
- \DeclareTextComposite{\accvaria}{LGR}{\epsilon}{224}
- \DeclareTextComposite{\accdasia}{LGR}{\epsilon}{225}
- \DeclareTextComposite{\accpsili}{LGR}{\epsilon}{226}
- \DeclareTextComposite{\accdasiavaria}{LGR}{\epsilon}{227}
- \DeclareTextComposite{\acctonos}{LGR}{\epsilon}{232}
- \DeclareTextComposite{\accdasiaoxia}{LGR}{\epsilon}{233}
- \DeclareTextComposite{\accpsilioxia}{LGR}{\epsilon}{234}
- \DeclareTextComposite{\accpsilivaria}{LGR}{\epsilon}{235}
- \DeclareTextComposite{\accvaria}{LGR}{\omicron}{228}
- \DeclareTextComposite{\accdasia}{LGR}{\omicron}{229}
- \DeclareTextComposite{\accpsili}{LGR}{\omicron}{230}
- \DeclareTextComposite{\accdasiavaria}{LGR}{\omicron}{231}
- \DeclareTextComposite{\acctonos}{LGR}{\omicron}{236}
- \DeclareTextComposite{\accdasiaoxia}{LGR}{\omicron}{237}
- \DeclareTextComposite{\accpsilioxia}{LGR}{\omicron}{238}
- \DeclareTextComposite{\accpsilivaria}{LGR}{\omicron}{239}
- \DeclareTextCompositeCommand{\accdasia}{LGR}{\Alpha}{<A}
- \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Alpha}{<`A}
- \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Alpha}{<'A}
- \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Alpha}{<\char126A}
- \DeclareTextCompositeCommand{\accpsili}{LGR}{\Alpha}{>A}
- \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Alpha}{>`A}
- \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Alpha}{>'A}
- \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Alpha}{>\char126A}
- \DeclareTextCompositeCommand{\acctonos}{LGR}{\Alpha}{'A}
- \DeclareTextCompositeCommand{\accvaria}{LGR}{\Alpha}{`A}
- \DeclareTextCompositeCommand{\accdasia}{LGR}{\Epsilon}{<E}
- \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Epsilon}{<'E}
- \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Epsilon}{<`E}
- \DeclareTextCompositeCommand{\accpsili}{LGR}{\Epsilon}{>E}
- \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Epsilon}{>'E}
- \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Epsilon}{>`E}
- \DeclareTextCompositeCommand{\acctonos}{LGR}{\Epsilon}{'E}
- \DeclareTextCompositeCommand{\accvaria}{LGR}{\Epsilon}{`E}
- \DeclareTextCompositeCommand{\accdasia}{LGR}{\Eta}{<H}
- \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Eta}{<`H}
- \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Eta}{<'H}
- \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Eta}{<\char126H}
- \DeclareTextCompositeCommand{\accpsili}{LGR}{\Eta}{>H}
- \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Eta}{>`H}
- \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Eta}{>'H}
- \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Eta}{>\char126H}
- \DeclareTextCompositeCommand{\acctonos}{LGR}{\Eta}{'H}
- \DeclareTextCompositeCommand{\accvaria}{LGR}{\Eta}{`H}
- \DeclareTextCompositeCommand{\accdasia}{LGR}{\Iota}{<I}
- \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Iota}{<`I}
- \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Iota}{<'I}
- \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Iota}{<\char126I}
- \DeclareTextCompositeCommand{\accpsili}{LGR}{\Iota}{>I}
- \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Iota}{>`I}
- \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Iota}{>'I}
- \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Iota}{>\char126I}
- \DeclareTextCompositeCommand{\acctonos}{LGR}{\Iota}{'I}
- \DeclareTextCompositeCommand{\accvaria}{LGR}{\Iota}{`I}
- \DeclareTextCompositeCommand{\accdasia}{LGR}{\Omicron}{<O}
- \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Omicron}{<`O}
- \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Omicron}{<'O}
- \DeclareTextCompositeCommand{\accpsili}{LGR}{\Omicron}{>O}
- \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Omicron}{>`O}
- \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Omicron}{>'O}
- \DeclareTextCompositeCommand{\acctonos}{LGR}{\Omicron}{'O}
- \DeclareTextCompositeCommand{\accvaria}{LGR}{\Omicron}{`O}
- \DeclareTextCompositeCommand{\accdasia}{LGR}{\Upsilon}{<U}
- \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Upsilon}{<`U}
- \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Upsilon}{<'U}
- \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Upsilon}{<\char126U}
- \DeclareTextCompositeCommand{\acctonos}{LGR}{\Upsilon}{'U}
- \DeclareTextCompositeCommand{\accvaria}{LGR}{\Upsilon}{`U}
- \DeclareTextCompositeCommand{\accdasia}{LGR}{\Omega}{<W}
- \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\Omega}{<`W}
- \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\Omega}{<'W}
- \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\Omega}{<\char126W}
- \DeclareTextCompositeCommand{\accpsili}{LGR}{\Omega}{>W}
- \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Omega}{>`W}
- \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Omega}{>'W}
- \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Omega}{>\char126W}
- \DeclareTextCompositeCommand{\acctonos}{LGR}{\Omega}{'W}
- \DeclareTextCompositeCommand{\accvaria}{LGR}{\Omega}{`W}
- \DeclareTextComposite{\accdialytika}{LGR}{\Iota}{219}
- \DeclareTextComposite{\accdialytika}{LGR}{\Upsilon}{223}
- \DeclareTextCompositeCommand{\LGR at hiatus}{LGR}{\Alpha}{\LGR at A@hiatus}
- \DeclareTextCompositeCommand{\LGR at hiatus}{LGR}{\Epsilon}{\LGR at E@hiatus}
-
-
-% .. References
-%
-% .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt
-% .. _alphabeta: alphabeta.sty.html
-% .. _lgrenc.def: lgrenc.def.html
Deleted: trunk/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta-tuenc.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta-tuenc.def 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta-tuenc.def 2023-09-12 20:09:52 UTC (rev 68249)
@@ -1,251 +0,0 @@
-% alphabeta-tuenc.def
-% ===================
-% Composite definitions for XeTeX and LuaTeX
-% ******************************************
-%
-% :Copyright: © 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.
-% :Identification:
-% ::
-
-\ProvidesFile{alphabeta-tuenc}
-[2020/10/30 2.0 Composite definitions for XeTeX and LuaTeX]
-
-% :Abstract:
-% Composite definitions for ``alphabeta.sty`` with XeTeX and LuaTeX.
-%
-% :Changelog:
-% .. class:: borderless
-%
-% ====== ========== ========================================================
-% 0.1 2013-09-12 initial version
-% 0.1.1 2013-10-01 remove clashing defs for legacy characters with oxia.
-% 0.11.2 2014-09-04 documentation update
-% 0.14 2020-02-28 rename to ``alphabeta-tuenc.def``,
-% use ``\UTFencname`` instead of ``\LastDeclaredEncoding``
-% 1.0 2020-09-25 New package version. No changes in this file.
-% 2.0 2020-10-30 Use ``\UnicodeEncodingName`` instead of ``\UTFencname``.
-% ====== ========== ========================================================
-%
-%
-% The alphabeta_ package re-defines the math macros for Greek letters to work
-% in both, text and math mode, so that Greek letters can be specified with
-% the established command names in text, too.
-%
-% The NFSS TextComposite mechanism looks for the next token without expanding
-% it. In order to let compositions like ``\>"\alpha`` work as expected we
-% define TextComposites with the `letter name commands`.
-%
-% This file expands the font encoding definitions in tuenc-greek.def_ with
-% composite commands for use with Unicode fonts. It is sourced by alphabeta_
-% under XeTeX/LuaTeX.
-%
-% Greek and Coptic
-% ~~~~~~~~~~~~~~~~
-% ::
-
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Alpha}{Ά}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Epsilon}{Έ}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Eta}{Ή}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Iota}{Ί}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Omicron}{Ό}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Upsilon}{Ύ}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\Omega}{Ώ}
-\DeclareTextCompositeCommand{\accdialytikatonos}{\UnicodeEncodingName}{\iota}{ΐ}
-
-\DeclareTextCompositeCommand{\"}{\UnicodeEncodingName}{\Iota}{Ϊ}
-\DeclareTextCompositeCommand{\"}{\UnicodeEncodingName}{\Upsilon}{Ϋ}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\alpha}{ά}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\epsilon}{έ}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\eta}{ή}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\iota}{ί}
-\DeclareTextCompositeCommand{\accdialytikatonos}{\UnicodeEncodingName}{\upsilon}{ΰ}
-
-\DeclareTextCompositeCommand{\"}{\UnicodeEncodingName}{\iota}{ϊ}
-\DeclareTextCompositeCommand{\"}{\UnicodeEncodingName}{\upsilon}{ϋ}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\omicron}{ό}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\upsilon}{ύ}
-\DeclareTextCompositeCommand{\'}{\UnicodeEncodingName}{\omega}{ώ}
-
-
-% Greek Extended
-% ~~~~~~~~~~~~~~
-% Postfix ypogegrammeni cannot be second part of composite defs.
-% ::
-
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\alpha}{ἀ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\alpha}{ἁ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\alpha}{ἂ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\alpha}{ἃ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\alpha}{ἄ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\alpha}{ἅ}
-\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\alpha}{ἆ}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\alpha}{ἇ}
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Alpha}{Ἀ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Alpha}{Ἁ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Alpha}{Ἂ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Alpha}{Ἃ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Alpha}{Ἄ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Alpha}{Ἅ}
-\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\Alpha}{Ἆ}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Alpha}{Ἇ}
-
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\epsilon}{ἐ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\epsilon}{ἑ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\epsilon}{ἒ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\epsilon}{ἓ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\epsilon}{ἔ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\epsilon}{ἕ}
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Epsilon}{Ἐ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Epsilon}{Ἑ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Epsilon}{Ἒ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Epsilon}{Ἓ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Epsilon}{Ἔ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Epsilon}{Ἕ}
-
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\eta}{ἠ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\eta}{ἡ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\eta}{ἢ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\eta}{ἣ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\eta}{ἤ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\eta}{ἥ}
-\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\eta}{ἦ}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\eta}{ἧ}
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Eta}{Ἠ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Eta}{Ἡ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Eta}{Ἢ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Eta}{Ἣ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Eta}{Ἤ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Eta}{Ἥ}
-\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\Eta}{Ἦ}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Eta}{Ἧ}
-
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\iota}{ἰ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\iota}{ἱ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\iota}{ἲ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\iota}{ἳ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\iota}{ἴ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\iota}{ἵ}
-\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\iota}{ἶ}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\iota}{ἷ}
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Iota}{Ἰ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Iota}{Ἱ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Iota}{Ἲ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Iota}{Ἳ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Iota}{Ἴ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Iota}{Ἵ}
-\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\Iota}{Ἶ}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Iota}{Ἷ}
-
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\omicron}{ὀ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\omicron}{ὁ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\omicron}{ὂ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\omicron}{ὃ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\omicron}{ὄ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\omicron}{ὅ}
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Omicron}{Ὀ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Omicron}{Ὁ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Omicron}{Ὂ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Omicron}{Ὃ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Omicron}{Ὄ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Omicron}{Ὅ}
-
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\upsilon}{ὐ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\upsilon}{ὑ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\upsilon}{ὒ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\upsilon}{ὓ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\upsilon}{ὔ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\upsilon}{ὕ}
-\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\upsilon}{ὖ}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\upsilon}{ὗ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Upsilon}{Ὑ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Upsilon}{Ὓ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Upsilon}{Ὕ}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Upsilon}{Ὗ}
-
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\omega}{ὠ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\omega}{ὡ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\omega}{ὢ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\omega}{ὣ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\omega}{ὤ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\omega}{ὥ}
-\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\omega}{ὦ}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\omega}{ὧ}
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\Omega}{Ὠ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Omega}{Ὡ}
-\DeclareTextCompositeCommand{\accpsilivaria}{\UnicodeEncodingName}{\Omega}{Ὢ}
-\DeclareTextCompositeCommand{\accdasiavaria}{\UnicodeEncodingName}{\Omega}{Ὣ}
-\DeclareTextCompositeCommand{\accpsilioxia}{\UnicodeEncodingName}{\Omega}{Ὤ}
-\DeclareTextCompositeCommand{\accdasiaoxia}{\UnicodeEncodingName}{\Omega}{Ὥ}
-\DeclareTextCompositeCommand{\accpsiliperispomeni}{\UnicodeEncodingName}{\Omega}{Ὦ}
-\DeclareTextCompositeCommand{\accdasiaperispomeni}{\UnicodeEncodingName}{\Omega}{Ὧ}
-
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\alpha}{ὰ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\epsilon}{ὲ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\eta}{ὴ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\iota}{ὶ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\omicron}{ὸ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\upsilon}{ὺ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\omega}{ὼ}
-
-\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\alpha}{ᾰ}
-\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\alpha}{ᾱ}
-\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\alpha}{ᾶ}
-\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\alpha}{ᾶ}
-\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\Alpha}{Ᾰ}
-\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\Alpha}{Ᾱ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Alpha}{Ὰ}
-\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Alpha}{Ὰ}
-
-\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\eta}{ῆ}
-\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\eta}{ῆ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Epsilon}{Ὲ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Eta}{Ὴ}
-\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Epsilon}{Ὲ}
-\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Eta}{Ὴ}
-
-\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\iota}{ῐ}
-\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\iota}{ῑ}
-\DeclareTextCompositeCommand{\accdialytikavaria}{\UnicodeEncodingName}{\iota}{ῒ}
-\DeclareTextCompositeCommand{\accdialytikatonos}{\UnicodeEncodingName}{\iota}{ΐ}
-\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\iota}{ῖ}
-\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\iota}{ῖ}
-\DeclareTextCompositeCommand{\accdialytikaperispomeni}{\UnicodeEncodingName}{\iota}{ῗ}
-\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\Iota}{Ῐ}
-\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\Iota}{Ῑ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Iota}{Ὶ}
-\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Iota}{Ὶ}
-
-\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\upsilon}{ῠ}
-\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\upsilon}{ῡ}
-\DeclareTextCompositeCommand{\accdialytikavaria}{\UnicodeEncodingName}{\upsilon}{ῢ}
-\DeclareTextCompositeCommand{\accdialytikatonos}{\UnicodeEncodingName}{\upsilon}{ΰ}
-\DeclareTextCompositeCommand{\accpsili}{\UnicodeEncodingName}{\rho}{ῤ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\rho}{ῥ}
-\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\upsilon}{ῦ}
-\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\upsilon}{ῦ}
-\DeclareTextCompositeCommand{\accdialytikaperispomeni}{\UnicodeEncodingName}{\upsilon}{ῧ}
-\DeclareTextCompositeCommand{\u}{\UnicodeEncodingName}{\Upsilon}{Ῠ}
-\DeclareTextCompositeCommand{\=}{\UnicodeEncodingName}{\Upsilon}{Ῡ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Upsilon}{Ὺ}
-\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Upsilon}{Ὺ}
-\DeclareTextCompositeCommand{\accdasia}{\UnicodeEncodingName}{\Rho}{Ῥ}
-
-\DeclareTextCompositeCommand{\~}{\UnicodeEncodingName}{\omega}{ῶ}
-\DeclareTextCompositeCommand{\accperispomeni}{\UnicodeEncodingName}{\omega}{ῶ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Omicron}{Ὸ}
-\DeclareTextCompositeCommand{\`}{\UnicodeEncodingName}{\Omega}{Ὼ}
-\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Omicron}{Ὸ}
-\DeclareTextCompositeCommand{\accvaria}{\UnicodeEncodingName}{\Omega}{Ὼ}
-
-% .. References
-%
-% .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt
-% .. _alphabeta: alphabeta.sty.html
-% .. _tuenc-greek.def: tuenc-greek.def.html
-%
-% .. fix scaling in mobile browsers
-% .. meta::
-% :viewport: width=device-width, initial-scale=1
Modified: trunk/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta.sty 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta.sty 2023-09-12 20:09:52 UTC (rev 68249)
@@ -3,9 +3,9 @@
% Greek symbols in text and math
% ******************************
%
-% :Version: 2.2.1 (changelog_)
+% :Version: 2.5 (changelog_)
%
-% :Copyright: © 2010, 2020 Günter Milde
+% :Copyright: © 2010, 2020, 2023 Günter Milde
%
% :Licence: This work may be distributed and/or modified under the
% conditions of the `LaTeX Project Public License`_, either
@@ -27,8 +27,9 @@
% math mode, so that Greek letters can be specified with the established
% command names in text, too.
%
-% If used together with the ``utf8`` option of inputenc_, literal Unicode
-% characters can be used for Greek symbols in mathematical formulas.
+% 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.
%
% .. Attention::
% The macros work well in any font encoding for single symbols.
@@ -39,7 +40,7 @@
% Therefore, Greek text should be written with the help of Babel_ or
% Polyglossia_ (setting the language to ``greek``) or wrapped in the
% provided ``ensuregreek`` macro. Using Babel_ or Polyglossia_ also helps
-% to ensure proper hyphenation.
+% to ensure correct hyphenation and case changes.
%
%
% Usage
@@ -47,16 +48,12 @@
%
% .. code:: latex
%
-% \usepackage{alphabeta}
+% \usepackage[<options>]{alphabeta}
%
-% The greek-inputenc_ package provides support for Unicode (utf-8) input
-% of Greek characters with 8-bit TeX and the inputenc_ package:
+% The package provides the same options__ as textalpha_.
%
-% .. code:: latex
+% __ textalpha.sty.html#options
%
-% \usepackage[utf-8]{inputenc}
-% \usepackage{alphabeta}
-%
% Conflicts
% ----------
%
@@ -77,7 +74,7 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{alphabeta}
- [2023/03/08 2.2.1 macros for Greek letters in text and math]
+ [2023-09-12 2.5 macros for Greek letters in text and math]
% Requirements
@@ -84,24 +81,19 @@
% ------------
%
% This package extends the `textalpha <textalpha.sty.html>`_ package.
+% (Just like `alphabeta`, `textalpha`_ is part of greek-fontenc_.)
% Package options are passed on to `textalpha`::
\RequirePackageWithOptions{textalpha}
-% Just like `alphabeta`, `textalpha` is part of greek-fontenc_.
-%
% This package requires the e-TeX_ extensions (i.e. a not too old TeX
% distribution) for the ``\ifdefined`` test.
%
-% It uses the ``\TextOrMath`` test from the fixltx2e_ standard LaTeX package.
-% ``fixltx2e`` is loaded by default since TeXLive 2015. In case of an
-% ``\TextOrMath undefined`` error, load it in the document preamble via
+% It uses the ``\TextOrMath`` test (in the LaTeX kernel since 2015).
+% In case of an ``\TextOrMath undefined`` error, load the
+% ``fixltx2e`` package.
%
-% .. code:: latex
%
-% \usepackage{fixltx2e}
-%
-%
% Postpone the re-definitions
% ---------------------------
%
@@ -110,7 +102,11 @@
\AtBeginDocument{
+% save @-catcode, allow @ in command names::
+\edef\RestoreAtCatcode{\catcode`@=\the\catcode`@\relax}%
+\makeatletter
+
% Save math macros
% ----------------
%
@@ -150,7 +146,6 @@
\let\mathvarrho\varrho
\let\mathsigma\sigma
\let\mathvarsigma\varsigma
-\let\mathfinalsigma\varsigma
\let\mathtau\tau
\let\mathupsilon\upsilon
\let\mathphi\phi
@@ -162,7 +157,10 @@
\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
@@ -187,14 +185,21 @@
% 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.
%
-% Greek Alphabet:
+% Greek Alphabet
+% ''''''''''''''
%
% 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
% ``\epsilon`` and ``phi``, this means that the selected symbol variant
% differs in text vs. math mode. Use ``\varepsilon`` and ``\varphi`` (see
-% section `variant shape symbols`_ below) to select the GREEK LETTER ...”
+% section `variant shape symbols`_ below) to select the "GREEK LETTER ..."
% in both, text and math mode.
+%
+% Macros for letters that can take diacritical marks and are used in text
+% and math mode are defined with ``\DeclareTextCommandDefault`` to ensure
+% the selection of pre-composed characters and correct case changes with
+% ``\MakeUppercase`` and ``\MakeLowercase``.
+%
% ::
\providecommand*{\Alpha}{\textAlpha}
@@ -216,21 +221,21 @@
\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}}
@@ -238,16 +243,16 @@
\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}}
+\DeclareTextCommandDefault{\omega}{\TextOrMath{\textomega}{\mathomega}}
% Archaic letters
@@ -261,7 +266,8 @@
\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} % Ϡ
@@ -304,36 +310,353 @@
\providecommand*{\varkappa}{\textkappasymbol}
\fi
\providecommand*{\kappasymbol}{\varkappa}
-% \Theta/\varTheta are not a symbol variants but upright/italic shape of Theta
+% ..symbol != var.. (in "amsmath", \varTheta is italic shape of \Theta)
+\ifdefined\mathvarTheta
+ \renewcommand*{\varTheta}{\TextOrMath{\textTheta}{\mathvarTheta}}
+\else
+ \providecommand*{\varTheta}{\textTheta} % Θ
+\fi
\providecommand*{\Thetasymbol}{\textThetasymbol} % ϴ
-% TextCompositeCommands for the generic macros
-% --------------------------------------------
+% TextCompositeCommands for the letter-name macros
+% ------------------------------------------------
%
% The NFSS TextComposite mechanism looks for the next token without expanding
% it. In order to let compositions like ``\ensuregreek{\'\Alpha}`` or
-% ``\ensuregreek{\>"\alpha}`` work as expected we define TextComposites with the
-% `letter name commands`. (Composition only works if the active font encoding
-% is LGR). ::
+% ``\ensuregreek{\>"\alpha}`` work as expected we define TextComposites with
+% the `letter name commands`.
+%
+% 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.
+%
+%
+% Select pre-composed characters.
+% '''''''''''''''''''''''''''''''
+%
+% Required by LGR and PU.
+%
+% With TU, most pre-composed characters are selected by the the engine.
+% (Actually by the `Harfbuzz` renderer which is default for XeTeX and can
+% be selected with fontspec for LuaTeX). ::
+\newcommand*{\alphabeta at select@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}
+}
+
+% Drop "capital" accents
+% ''''''''''''''''''''''
+%
+% Definitions in babel-greek_ let ``\MakeUppercase`` convert standard accents
+% ``\'``, ``\` ``, ``\~``, and ``\"`` to "capital" versions.
+%
+% In LGR, the "capital" accents are generally dropped. In PU and TU, they
+% must be kept on Latin letters but dropped from Greek letters::
+
+\newcommand*{\alphabeta at drop@capital at accents}[1]{
+ \DeclareTextCompositeCommand{\accACUTE}{#1}{\Alpha }{\alphabeta at alpha@hiatus}
+ \DeclareTextCompositeCommand{\accACUTE}{#1}{\Epsilon}{\alphabeta at epsilon@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 }
+}
+
+% Hiatus feature
+% ''''''''''''''
+%
+% Look ahead and place a diaeresis on Ι or Υ.
+% Leads to errors in PU. ::
+
+\newcommand*{\alphabeta at hiatus@composites}[1]{
+ \DeclareTextCommand{\alphabeta at alpha@hiatus}{#1}{%
+ \csname LGR at ifnextchar\endcsname {\Iota}{\Alpha\"}{%
+ \csname LGR at ifnextchar\endcsname {\Upsilon}{\Alpha\"}{\Alpha}%
+ }%
+ }
+ \DeclareTextCommand{\alphabeta at epsilon@hiatus}{#1}{%
+ \csname LGR at ifnextchar\endcsname {\Iota}{\Epsilon\"}{%
+ \csname LGR at ifnextchar\endcsname {\Upsilon}{\Epsilon\"}{\Epsilon}%
+ }%
+ }
+ \DeclareTextCompositeCommand{\LGR at hiatus}{#1}{\Alpha}{\alphabeta at alpha@hiatus}
+ \DeclareTextCompositeCommand{\LGR at hiatus}{#1}{\Epsilon}{\alphabeta at epsilon@hiatus}
+}
+
+
+% Composites for TU
+% '''''''''''''''''
+%
+% 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. ::
+
\@ifl at aded{def}{tuenc-greek}{
- \input{alphabeta-tuenc.def}
+ \DeclareUnicodeComposite{\~}{\alpha }{"1FB6} % ᾶ
+ \DeclareUnicodeComposite{\~}{\eta }{"1FC6} % ῆ
+ \DeclareUnicodeComposite{\~}{\iota }{"1FD6} % ῖ
+ \DeclareUnicodeComposite{\~}{\upsilon}{"1FE6} % ῦ
+ \DeclareUnicodeComposite{\~}{\omega }{"1FF6} % ῶ
+
+ \alphabeta at drop@capital at accents{\UnicodeEncodingName}
+ \alphabeta at hiatus@composites{\UnicodeEncodingName}
}{}
+
+
+% Composites for LGR
+% ''''''''''''''''''
+% ::
+
\@ifl at aded{def}{lgrenc}{
- \input{alphabeta-lgr.def}
+ \alphabeta at select@precomposed{LGR}
+ \alphabeta at hiatus@composites{LGR}
}{}
+% Composites for PU
+% '''''''''''''''''
+%
+% Composite commands in PDF strings work only, if aliases set up with
+% ``DeclareTextCommandDefault`` are also defined for the PU font encoding::
+
+\@ifl at 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}
+
+% Now load composite defs::
+
+ \alphabeta at select@precomposed{PU}
+ \alphabeta at drop@capital at accents{PU}
+
+% The hiatus feature leads to errors in PU::
+
+ \DeclareTextCompositeCommand{\LGR at hiatus}{PU}{\Alpha}{\textAlpha}
+ \DeclareTextCompositeCommand{\LGR at hiatus}{PU}{\Epsilon}{\textEpsilon}
+ % fix ``\'\alpha`` and ``\'\epsilon`` (\'{\alpha} works):
+ \DeclareTextCompositeCommand{\accACUTE}{PU}{\Alpha }{\textAlpha}
+ \DeclareTextCompositeCommand{\accACUTE}{PU}{\Epsilon}{\textEpsilon}
+}{}
+
+% -------------------------------------------
+
+% Drop auxiliary definitions to free memory::
+
+\renewcommand*{\alphabeta at select@precomposed }{\relax}
+\renewcommand*{\alphabeta at drop@capital at accents}{\relax}
+\renewcommand*{\alphabeta at hiatus@composites }{\relax}
+
+
+% Case changing
+% -------------
+%
+% We need to extend the case-mapping ``\@uclclist`` for characters that are
+% defined with ``\DeclareTextCommandDefault``.
+%
+% The definition of an auxiliary, self-resetting macro makes this idempotent
+% (only the first use of this function will expand the ``@uclclist``).
+% The second and third lines are TeX's way of writing ``@uclclist += …``.
+%
+% Since 2022, ``\MakeUppercase`` expects the default for ambiguous mappings
+% in first position, before, the default was in last position.
+% ::
+
+\providecommand*\alphabeta at update@uclclist{%
+ \expandafter\def\expandafter\@uclclist\expandafter{%
+ \@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 at update@uclclist\relax
+}
+
+% Expand the @uclclist using the just defined macro::
+
+\alphabeta at update@uclclist
+
+
% Re-definition for Greek Unicode input in math mode
% --------------------------------------------------
%
-% Check with ``\ifdefined`` for the definition of
-% ``\DeclareUnicodeCharacter``. In contrast to ``\@ifdefined``, this works
-% without side-effects. It makes the package dependent on the `e-TeX`_
-% extensions but these are standard in all current TeX distributions anyway.
-%
-% Map Greek characters that are also defined in math mode to the generic
+% Map Greek characters that are also defined in math mode to the letter-name
% macros::
\ifdefined\DeclareUnicodeCharacter
@@ -365,7 +688,7 @@
\DeclareUnicodeCharacter{03BE}{\xi} % ξ
\DeclareUnicodeCharacter{03C0}{\pi} % π
\DeclareUnicodeCharacter{03C1}{\rho} % ρ
- \DeclareUnicodeCharacter{03C2}{\varsigma} % ς
+ \DeclareUnicodeCharacter{03C2}{\finalsigma} % ς
\DeclareUnicodeCharacter{03C3}{\sigma} % σ
\DeclareUnicodeCharacter{03C4}{\tau} % τ
\DeclareUnicodeCharacter{03C5}{\upsilon} % υ
@@ -380,11 +703,11 @@
\DeclareUnicodeCharacter{03DD}{\digamma} % ϝ
\DeclareUnicodeCharacter{03F1}{\rhosymbol} % ϱ
\DeclareUnicodeCharacter{03F5}{\epsilonsymbol} % ϵ $\epsilon$
-
\fi
% ::
+\RestoreAtCatcode
} % close the \AtBeginDocument macro
@@ -407,6 +730,14 @@
% 1.0 2020/09/25 New package version. No changes in this file.
% 2.0 2020/10/13 Provide ``\Koppa``.
% 2.2.1 2023-03-08 Documentation update.
+% 2.5 2023-09-12 Fixes for ``\MakeUppercase`` / ``\MakeLowercase``.
+% .. Text mode alias ``\varTheta`` → ``\Theta``.
+% .. Overwrite legacy `babel-greek` alias ``\qoppa`` (ϟ)
+% with ``\textqoppa`` (ϙ).
+% .. Inline ``alphabeta-tuenc.def`` and ``alphabeta-lgr.def``
+% (dropping redundant composite definitions).
+% .. Composite definitions to select pre-composed characters
+% in PU (PDF strings).
% ====== =========== ========================================================
%
%
@@ -415,9 +746,9 @@
% .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt
% .. _CB Fonts: https://ctan.org/pkg/cbgreek-complete
% .. _Babel: https://ctan.org/pkg/babel
+% .. _babel-greek: https://ctan.org/pkg/babel-greek
% .. _e-TeX: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=etex
% .. _greek-fontenc: https://ctan.org/pkg/greek-fontenc
% .. _greek-inputenc: https://ctan.org/pkg/greek-inputenc
-% .. _inputenc: https://ctan.org/pkg/inputenc
% .. _fixltx2e: https://ctan.org/pkg/fixltx2e
% .. _Polyglossia: https://ctan.org/pkg/polyglossia
Modified: trunk/Master/texmf-dist/tex/latex/greek-fontenc/greek-fontenc.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/greek-fontenc/greek-fontenc.def 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/tex/latex/greek-fontenc/greek-fontenc.def 2023-09-12 20:09:52 UTC (rev 68249)
@@ -4,7 +4,7 @@
% Common Greek font encoding definitions
% ======================================
%
-% :Version: 2.4 (changelog_)
+% :Version: 2.5 (changelog_)
%
% :Copyright: © 2013 -- 2023 Günter Milde
%
@@ -31,7 +31,7 @@
% ::
\ProvidesFile{greek-fontenc.def}
- [2023-08-15 2.4 Common Greek font encoding definitions]
+ [2023-09-12 2.5 Common Greek font encoding definitions]
% ensuregreek, greekscript
% ~~~~~~~~~~~~~~~~~~~~~~~~
@@ -68,11 +68,11 @@
% \var... matching GREEK ... SYMBOL
\DeclareTextCommand{\textvarbeta}{\LastDeclaredEncoding}{\textbetasymbol} % ϐ
\DeclareTextCommand{\textvarkappa}{\LastDeclaredEncoding}{\textkappasymbol} % ϰ
-\DeclareTextCommand{\textvarTheta}{\LastDeclaredEncoding}{\textThetasymbol} % ϴ
\DeclareTextCommand{\textvartheta}{\LastDeclaredEncoding}{\textthetasymbol} % ϑ
\DeclareTextCommand{\textvarpi}{\LastDeclaredEncoding}{\textpisymbol} % ϖ
\DeclareTextCommand{\textvarrho}{\LastDeclaredEncoding}{\textrhosymbol} % ϱ
% \var... matching GREEK LETTER ...
+\DeclareTextCommand{\textvarTheta}{\LastDeclaredEncoding}{\textTheta} % Θ
\DeclareTextCommand{\textvarepsilon}{\LastDeclaredEncoding}{\textepsilon} % ε
\DeclareTextCommand{\textvarphi}{\LastDeclaredEncoding}{\textphi} % φ
\DeclareTextCommand{\textvarsigma}{\LastDeclaredEncoding}{\textfinalsigma} % ς
@@ -103,7 +103,7 @@
% Two Unicode code points and names for one character::
\DeclareTextCommand{\accoxia}{\LastDeclaredEncoding}{\acctonos}
-\DeclareTextCommand{\accdialytikaoxia}{\LastDeclaredEncoding}{\accdialyikatonos}
+\DeclareTextCommand{\accdialytikaoxia}{\LastDeclaredEncoding}{\accdialytikatonos}
\DeclareTextCommand{\acckoronis}{\LastDeclaredEncoding}{\accpsili}
% Symbol macros for the breathings:
@@ -248,46 +248,39 @@
% Also define the combinations with "capital" accent macros::
-\providecommand\IfFormatAtLeastTF{\@ifl at t@r\fmtversion} % new in 2020
-\IfFormatAtLeastTF{2022/06/01}{
- \ProvideTextCommand{\accACUTE}{\LastDeclaredEncoding}{\@tabacckludge '}
- \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{"}{\accdialytika}
- \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{<}{\LGR at accdropped}
- \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{>}{\LGR at hiatus}
- \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika}
- \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\LGR at hiatus}{\LGR at hiatus}
- \DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\LGR at accdropped}{\LGR at accdropped}
+\ProvideTextCommand{\accACUTE}{\LastDeclaredEncoding}{\@tabacckludge '}
+\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{<}{\LGR at accdropped}
+\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{>}{\LGR at hiatus}
+\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{"}{\accdialytika}
+\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika}
+\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\LGR at hiatus}{\LGR at hiatus}
+\DeclareTextCompositeCommand{\accACUTE}{\LastDeclaredEncoding}{\LGR at accdropped}{\LGR at accdropped}
- \ProvideTextCommand{\accGRAVE}{\LastDeclaredEncoding}{\@tabacckludge`}
- \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{"}{\accdialytika}
- \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{<}{\LGR at accdropped}
- \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{>}{\LGR at accdropped}
- \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika}
- \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\LGR at hiatus}{\LGR at hiatus}
- \DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\LGR at accdropped}{\LGR at accdropped}
+\ProvideTextCommand{\accGRAVE}{\LastDeclaredEncoding}{\@tabacckludge`}
+\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{<}{\LGR at accdropped}
+\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{>}{\LGR at accdropped}
+\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{"}{\accdialytika}
+\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika}
+\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\LGR at hiatus}{\LGR at hiatus}
+\DeclareTextCompositeCommand{\accGRAVE}{\LastDeclaredEncoding}{\LGR at accdropped}{\LGR at accdropped}
- \ProvideTextCommand{\accTILDE}{\LastDeclaredEncoding}{\@tabacckludge~}
- \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{"}{\accdialytika}
- \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika}
- \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{>}{\LGR at accdropped}
- \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{<}{\LGR at accdropped}
- \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\LGR at hiatus}{\LGR at accdropped}
- \DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\LGR at accdropped}{\LGR at accdropped}
+\ProvideTextCommand{\accTILDE}{\LastDeclaredEncoding}{\@tabacckludge~}
+\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{>}{\LGR at accdropped}
+\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{<}{\LGR at accdropped}
+\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{"}{\accdialytika}
+\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\accDIAERESIS}{\accdialytika}
+\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\LGR at hiatus}{\LGR at accdropped}
+\DeclareTextCompositeCommand{\accTILDE}{\LastDeclaredEncoding}{\LGR at accdropped}{\LGR at 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{\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 at accdropped}{\LastDeclaredEncoding}{\@firstofone}
- \DeclareTextCompositeCommand{\LGR at accdropped}{\LastDeclaredEncoding}{'}{\LGR at accdropped}
- \DeclareTextCompositeCommand{\LGR at accdropped}{\LastDeclaredEncoding}{`}{\LGR at accdropped}
-}{} % else do nothing
-
% .. _ at uclclist:
%
% Case changing
@@ -327,9 +320,9 @@
%
% The definition of an auxiliary, self-resetting macro makes this idempotent
% (only the first use of this function will expand the ``@uclclist``).
-% The second and third lines are TeX' way of writing ``@uclclist += …``
+% The second and third lines are TeX's way of writing ``@uclclist += …``
%
-% The new ``\MakeUppercase`` expects the default for ambiguous mappings
+% Since 2022, ``\MakeUppercase`` expects the default for ambiguous mappings
% in first position, the old in last position.
%
% The ``\LGR@…`` auxiliary macros are defined below.
@@ -338,78 +331,80 @@
\providecommand*\update at uclc@with at greek{%
\expandafter\def\expandafter\@uclclist\expandafter{%
\@uclclist
- \accdasia\LGR at accdropped
- \accdasiaoxia\LGR at hiatus
- \accdasiavaria\LGR at accdropped
+ \accdasia \LGR at accdropped
+ \accdasiaoxia \LGR at hiatus
+ \accdasiavaria \LGR at accdropped
\accdasiaperispomeni\LGR at accdropped
- \accpsili\LGR at hiatus
- \accpsilioxia\LGR at hiatus
- \accpsilivaria\LGR at hiatus
+ \accpsili \LGR at hiatus
+ \accpsilioxia \LGR at hiatus
+ \accpsilivaria \LGR at hiatus
\accpsiliperispomeni\LGR at accdropped
- \acctonos\LGR at hiatus
- \accoxia\LGR at hiatus
- \accvaria\LGR at accdropped
- \accdialytikatonos\LGR at accDialytika
- \accdialytikavaria\LGR at accDialytika
+ \acctonos \LGR at hiatus
+ \accoxia \LGR at hiatus
+ \accvaria \LGR at accdropped
+ \accdialytikatonos \LGR at accDialytika
+ \accdialytikaoxia \LGR at accDialytika
+ \accdialytikavaria \LGR at accDialytika
\accdialytikaperispomeni\LGR at accDialytika
- \accperispomeni\LGR at accdropped
- \LGR at ypogegrammeni\prosgegrammeni
- \textalpha \textAlpha
- \textbeta \textBeta
+ \accperispomeni \LGR at accdropped
+ \LGR at ypogegrammeni \prosgegrammeni
+ \textalpha \textAlpha
+ \textbeta \textBeta
\textbetasymbol \textBeta
\textvarbeta \textBeta
- \textgamma \textGamma
- \textdelta \textDelta
- \textepsilon \textEpsilon
+ \textgamma \textGamma
+ \textdelta \textDelta
+ \textepsilon \textEpsilon
\textepsilonsymbol \textEpsilon
\textvarepsilon \textEpsilon
- \textzeta \textZeta
- \texteta \textEta
- \texttheta \textTheta
+ \textzeta \textZeta
+ \texteta \textEta
+ \texttheta \textTheta
\texttheta \textThetasymbol
\texttheta \textvarTheta
\textthetasymbol \textTheta
\textvartheta \textTheta
- \textiota \textIota
- \textkappa \textKappa
+ \textiota \textIota
+ \textkappa \textKappa
\textkappasymbol \textKappa
\textvarkappa \textKappa
- \textlambda \textLambda
- \textmu \textMu
- \textnu \textNu
- \textxi \textXi
- \textomicron \textOmicron
- \textpi \textPi
- \textpisymbol \textPi
- \textvarpi \textPi
- \textrho \textRho
+ \textlambda \textLambda
+ \textmu \textMu
+ \textnu \textNu
+ \textxi \textXi
+ \textomicron \textOmicron
+ \textpi \textPi
+ \textpisymbol \textPi
+ \textvarpi \textPi
+ \textrho \textRho
\textvarrho \textRho
\textrhosymbol \textRho
- \textautosigma \textSigma
- \textfinalsigma \textSigma
- \textvarsigma \textSigma
- \textsigma \textSigma
- \texttau \textTau
- \textupsilon \textUpsilon
- \textphi \textPhi
- \textphisymbol \textPhi
- \textvarphi \textPhi
- \textchi \textChi
- \textpsi \textPsi
- \textomega \textOmega
- \textkoppa \textKoppa
- \textqoppa \textQoppa
- \textvarstigma \LGR at Stigma
- \textstigma \textStigma
- \textsampi \textSampi
- \textdigamma \textDigamma
+ \textautosigma \textSigma
+ \textfinalsigma \textSigma
+ \textvarsigma \textSigma
+ \textsigma \textSigma
+ \texttau \textTau
+ \textupsilon \textUpsilon
+ \textphi \textPhi
+ \textphisymbol \textPhi
+ \textvarphi \textPhi
+ \textchi \textChi
+ \textpsi \textPsi
+ \textomega \textOmega
+ \textkoppa \textKoppa
+ \textqoppa \textQoppa
+ \textstigma \textStigma
+ \textvarstigma \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
+ \textbeta \textBeta
+ \texttheta \textTheta
+ \textkappa \textKappa
+ \textpi \textPi
+ \textrho \textRho
+ \textautosigma \textSigma
+ \textstigma \textStigma
}%
\let\update at uclc@with at greek\relax
}
@@ -428,7 +423,9 @@
% where the character ``~`` maps to a no-break space.
% ::
-\DeclareTextCommand{\LGR at accdropped}{\LastDeclaredEncoding}[1]{#1}
+\ProvideTextCommand{\LGR at accdropped}{\LastDeclaredEncoding}{\@firstofone}
+\DeclareTextCompositeCommand{\LGR at accdropped}{\LastDeclaredEncoding}{'}{\LGR at accdropped}
+\DeclareTextCompositeCommand{\LGR at accdropped}{\LastDeclaredEncoding}{`}{\LGR at accdropped}
\DeclareTextCompositeCommand{\LGR at accdropped}{\LastDeclaredEncoding}{~}{\LGR at accdropped}
% Keep dialytika: Define a dummy alias so that downcasing with
@@ -439,19 +436,13 @@
\DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\LGR at hiatus}{\accdialytika}
\DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\LGR at accdropped}{\accdialytika}
-% The prosgegrammeni (adscript iota) is used only with capital letters.
+% The prosgegrammeni (adscript iota) is used only with capital letters.
% We define a dummy macro to enable the conversion of ``\prosgegrammeni``
-% to ``\ypogegrammeni`` (subscript iota) but not vice versa::
+% to ``\ypogegrammeni`` (subscript iota) but not vice versa::
\DeclareTextCommand{\LGR at ypogegrammeni}{\LastDeclaredEncoding}{\ypogegrammeni}
-% Prevent downcasing ``\textStigma`` to the stigma variant ``\textvarstigma``
-% (only available in LGR). This happened sometimes with the post-2022/06
-% ``\MakeLowercase``::
-\DeclareTextCommand{\LGR at Stigma}{\LastDeclaredEncoding}{\textStigma}
-
-
% Hiatus
% """"""
%
@@ -520,6 +511,9 @@
% 2.3 2023-06-01 @uclclist entries for symbol variants.
% 2.4 2023-08-15 Fix @uclclist_ for ambiguous mappings.
% .. Composite commands for "captital" macros and ``~``.
+% 2.5 2023-09-12 ``\textvarTheta`` is now an alias for ``\textTheta``
+% (the math command `\varTheta` set the *letter* Theta
+% in italic shape).
% ====== ============ ========================================================
%
%
Modified: trunk/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def 2023-09-12 20:09:52 UTC (rev 68249)
@@ -63,6 +63,7 @@
% 2.3 2023-06-01 Fix Unicode errors with "new" ``\MakeUppercase``.
% 2.4 2023-08-15 Add LGR-specific definitions for "capital" accent
% for the ``\MakeUppercase`` fix in babel-greek_.
+% 2.5 2023-09-12 Small formatting and documentation fixes.
% ====== ============ ========================================================
%
% Usage
@@ -102,7 +103,7 @@
% ::
\ProvidesFile{lgrenc.def}
-[2023-08-15 2.4 LGR Greek font encoding definitions]
+[2023-09-12 2.5 LGR Greek font encoding definitions]
% Copyright © 2010 -- 2023 Günter Milde
% This file is part of the "greek-fontenc" package.
% It may be distributed and/or modified under the
@@ -260,8 +261,8 @@
\PackageError{greek-fontenc}{character \string#1 not available \MessageBreak
in 8-bit TeX}
{Use XeTeX/LuaTeX if you need to distinguish the symbol from the letter.\MessageBreak
- The package `textalpha' with `normalize-symbols' maps the GREEK SYMBOL\MessageBreak
- character to the corresponding GREEK LETTER.\MessageBreak
+ The `normalize-symbols' option of babel-greek or package `textalpha'\MessageBreak
+ maps the GREEK SYMBOL character to the corresponding GREEK LETTER.\MessageBreak
Press <return> to proceed (dropping the symbol from the document).}
}
@@ -269,8 +270,8 @@
\PackageError{greek-fontenc}{character \string#1 not available in text mode}
{Use #2 or XeTeX/LuaTeX if you need to distinguish\MessageBreak
the symbol from the letter.\MessageBreak
- The package `textalpha' with `normalize-symbols' maps the GREEK SYMBOL\MessageBreak
- character to the corresponding GREEK LETTER.\MessageBreak
+ The `normalize-symbols' option of babel-greek or package `textalpha'\MessageBreak
+ maps the GREEK SYMBOL character to the corresponding GREEK LETTER.\MessageBreak
Press <return> to proceed (dropping the symbol from the document).}
}
@@ -866,31 +867,32 @@
% letters without pre-composed uppercase version
% """"""""""""""""""""""""""""""""""""""""""""""
%
-% The default \MakeUppercase (2022-version) emits "composing" Unicode in
-% characters for letters with diacriticals but no matching pre-composed
-% capital equivalent. The fix requires a LaTeX version 2023 or later::
+% The default ``\MakeUppercase`` (2022-version) emits "composing" Unicode
+% characters for letters with diacritics but no matching pre-composed
+% capital equivalent. We drop diacritics to prevent compilation errors.
+% The ``\DeclareUppercaseMapping`` macro is new in the 2023 LaTeX release::
\ifdefined\DeclareUppercaseMapping
- \DeclareUppercaseMapping{"0390}{\accdialytikatonos{\textiota}} % ΐ
- \DeclareUppercaseMapping{"03B0}{\accdialytikatonos{\textupsilon}} % ΰ
- \DeclareUppercaseMapping{"1F50}{\accpsili{\textupsilon}} % ὐ
- \DeclareUppercaseMapping{"1F52}{\accpsilivaria{\textupsilon}} % ὒ
- \DeclareUppercaseMapping{"1F54}{\accpsilioxia{\textupsilon}} % ὔ
- \DeclareUppercaseMapping{"1F56}{\accpsiliperispomeni{\textupsilon}} % ὖ
- \DeclareUppercaseMapping{"1FB6}{\accperispomeni{\textalpha}} % ᾶ
+ \DeclareUppercaseMapping{"0390}{\accdialytikatonos{\textiota}} % ΐ
+ \DeclareUppercaseMapping{"03B0}{\accdialytikatonos{\textupsilon}} % ΰ
+ \DeclareUppercaseMapping{"1F50}{\accpsili{\textupsilon}} % ὐ
+ \DeclareUppercaseMapping{"1F52}{\accpsilivaria{\textupsilon}} % ὒ
+ \DeclareUppercaseMapping{"1F54}{\accpsilioxia{\textupsilon}} % ὔ
+ \DeclareUppercaseMapping{"1F56}{\accpsiliperispomeni{\textupsilon}} % ὖ
+ \DeclareUppercaseMapping{"1FB6}{\accperispomeni{\textalpha}} % ᾶ
\DeclareUppercaseMapping{"1FB7}{\accperispomeni{\textalpha}\ypogegrammeni} % ᾷ
- \DeclareUppercaseMapping{"1FC6}{\accperispomeni{\texteta}} % ῆ
+ \DeclareUppercaseMapping{"1FC6}{\accperispomeni{\texteta}} % ῆ
\DeclareUppercaseMapping{"1FC7}{\accperispomeni{\texteta}\ypogegrammeni} % ῇ
- \DeclareUppercaseMapping{"1FD2}{\accdialytikavaria{\textiota}} % ῒ
- \DeclareUppercaseMapping{"1FD3}{\accdialytikatonos{\textiota}} % ΐ
- \DeclareUppercaseMapping{"1FD6}{\accperispomeni{\textiota}} % ῖ
- \DeclareUppercaseMapping{"1FD7}{\accdialytikaperispomeni{\textiota}} % ῗ
- \DeclareUppercaseMapping{"1FE2}{\accdialytikavaria{\textupsilon}} % ῢ
- \DeclareUppercaseMapping{"1FE3}{\accdialytikatonos{\textupsilon}} % ΰ
- \DeclareUppercaseMapping{"1FE4}{\accpsili{\textrho}} % ῤ
- \DeclareUppercaseMapping{"1FE6}{\accperispomeni{\textupsilon}} % ῦ
- \DeclareUppercaseMapping{"1FE7}{\accdialytikaperispomeni{\textupsilon}} % ῧ
- \DeclareUppercaseMapping{"1FF6}{\accperispomeni{\textomega}} % ῶ
+ \DeclareUppercaseMapping{"1FD2}{\accdialytikavaria{\textiota}} % ῒ
+ \DeclareUppercaseMapping{"1FD3}{\accdialytikatonos{\textiota}} % ΐ
+ \DeclareUppercaseMapping{"1FD6}{\accperispomeni{\textiota}} % ῖ
+ \DeclareUppercaseMapping{"1FD7}{\accdialytikaperispomeni{\textiota}} % ῗ
+ \DeclareUppercaseMapping{"1FE2}{\accdialytikavaria{\textupsilon}} % ῢ
+ \DeclareUppercaseMapping{"1FE3}{\accdialytikatonos{\textupsilon}} % ΰ
+ \DeclareUppercaseMapping{"1FE4}{\accpsili{\textrho}} % ῤ
+ \DeclareUppercaseMapping{"1FE6}{\accperispomeni{\textupsilon}} % ῦ
+ \DeclareUppercaseMapping{"1FE7}{\accdialytikaperispomeni{\textupsilon}} % ῧ
+ \DeclareUppercaseMapping{"1FF6}{\accperispomeni{\textomega}} % ῶ
\DeclareUppercaseMapping{"1FF7}{\accperispomeni{\textomega}\ypogegrammeni} % ῷ
\fi
Modified: trunk/Master/texmf-dist/tex/latex/greek-fontenc/puenc-greek.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/greek-fontenc/puenc-greek.def 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/tex/latex/greek-fontenc/puenc-greek.def 2023-09-12 20:09:52 UTC (rev 68249)
@@ -24,6 +24,8 @@
% 2.2 2023-02-28 Add compatibility definitions for hyperref.
% 2.2.1 2023-03-08 Documentation update.
% 2.4 2023-08-15 Print σ, not ς with ``textautosigma`` dummy definition.
+% 2.5 2023-09-12 Composite definitions for "capital" diacritics to fix
+% ``\MakeUppercase`` in PDF strings.
% ====== =========== =======================================================
%
% .. contents::
@@ -34,7 +36,7 @@
% ::
\ProvidesFile{puenc-greek.def}
- [2023-08-15 2.4 Greek LICRs for PDF strings]
+ [2023-09-12 2.5 Greek LICRs for PDF strings]
% Diacritics
@@ -107,7 +109,7 @@
% Without coptic and archaic letters (except the ones used in Greek numerals).
% ::
-% NR Unicode Name % PU name (alias in greek-fontenc.def)
+% NR Unicode Name % legacy PU name (alias in greek-fontenc.def)
\DeclareTextCommand{\textdexiakeraia}{PU}{\83\164} % ʹ \textnumeralsigngreek
\DeclareTextCommand{\textaristerikeraia}{PU}{\83\165} % ͵ \textnumeralsignlowergreek
@@ -465,6 +467,42 @@
\DeclareTextCommand{\textpentemuria}{PU}{𐅇} % "10147 GREEK ACROPHONIC ATTIC FIFTY THOUSAND
+% UPPERCASE
+% ---------
+%
+% Greek letters drop diacritics (eccept dialytika and sub-iota) in UPPERCASE.
+%
+% Babel-Greek introduces macros for "capital accents" in release 1.13.3.
+% Here, we add definitions to drop diacritics in uppercase::
+
+\DeclareTextCompositeCommand{\accACUTE}{PU}{\textAlpha }{\textAlpha}
+\DeclareTextCompositeCommand{\accACUTE}{PU}{\textEpsilon}{\textEpsilon}
+\DeclareTextCompositeCommand{\accACUTE}{PU}{\textEta }{\textEta}
+\DeclareTextCompositeCommand{\accACUTE}{PU}{\textIota }{\textIota}
+\DeclareTextCompositeCommand{\accACUTE}{PU}{\textOmicron}{\textOmicron}
+\DeclareTextCompositeCommand{\accACUTE}{PU}{\textUpsilon}{\textUpsilon}
+\DeclareTextCompositeCommand{\accACUTE}{PU}{\textOmega }{\textOmega}
+
+\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textAlpha }{\textAlpha}
+\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textEpsilon}{\textEpsilon}
+\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textEta }{\textEta}
+\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textIota }{\textIota}
+\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textOmicron}{\textOmicron}
+\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textUpsilon}{\textUpsilon}
+\DeclareTextCompositeCommand{\accGRAVE}{PU}{\textOmega }{\textOmega}
+
+\DeclareTextCompositeCommand{\accTILDE}{PU}{\textAlpha }{\textAlpha}
+\DeclareTextCompositeCommand{\accTILDE}{PU}{\textEta }{\textEta}
+\DeclareTextCompositeCommand{\accTILDE}{PU}{\textIota }{\textIota}
+\DeclareTextCompositeCommand{\accTILDE}{PU}{\textUpsilon}{\textUpsilon}
+\DeclareTextCompositeCommand{\accTILDE}{PU}{\textOmega }{\textOmega}
+
+% The "hiatus" feature does not work with PU (Alpha/Epsilon is dropped!)::
+
+\DeclareTextCompositeCommand{\LGR at hiatus}{PU}{\textAlpha }{\textAlpha}
+\DeclareTextCompositeCommand{\LGR at hiatus}{PU}{\textEpsilon}{\textEpsilon}
+
+
% .. References
%
% .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt
Modified: trunk/Master/texmf-dist/tex/latex/greek-fontenc/textalpha.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/greek-fontenc/textalpha.sty 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/tex/latex/greek-fontenc/textalpha.sty 2023-09-12 20:09:52 UTC (rev 68249)
@@ -3,7 +3,7 @@
% Greek symbols in text
% *********************
%
-% :Version: 2.4 (changelog_)
+% :Version: 2.5 (changelog_)
%
% :Copyright: © 2010, 2023 Günter Milde
%
@@ -113,7 +113,7 @@
% ::
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{textalpha}[2023-08-15 2.4 macros for Greek letters in text]
+\ProvidesPackage{textalpha}[2023-09-12 2.5 macros for Greek letters in text]
% Options
@@ -181,6 +181,8 @@
% Psili) are input as < and >. Provide the corresponding NFSS macro accents.
% (Used below for LGR, TU, and PU, if these font encodings are defined)::
+\providecommand*{\IfFormatAtLeastTF}[3]{#3} % new in 2020
+
\newcommand{\textalpha at define@breathings}[1]{
\DeclareTextCommand{\<}{#1}{\accdasia}
\DeclareTextCommand{\>}{#1}{\accpsili}
@@ -192,8 +194,13 @@
\DeclareTextCompositeCommand{\<}{#1}{`}{\accdasiavaria}
\DeclareTextCompositeCommand{\<}{#1}{~}{\accdasiaperispomeni}
+ \IfFormatAtLeastTF{2022/06/01}{}{% else
+ \DeclareTextCompositeCommand{\<}{#1}{^^9f}{\LGR at hiatus}
+ \DeclareTextCompositeCommand{\>}{#1}{^^9f}{\LGR at hiatus}
+ }
+
% Also define "mixed" composites (required due to the fix for
-% ``\MakeUppercse`` below::
+% ``\MakeUppercase`` below::
% \MakeUppercse: \>~a, \<~a
% \DeclareTextCompositeCommand{\accpsili}{#1}{~}{\accpsiliperispomeni}
@@ -234,8 +241,6 @@
\ifdefined \UnicodeEncodingName % set by LaTeX for Unicode-aware engines
\input{tuenc-greek.def}
\textalpha at define@breathings{\UnicodeEncodingName}
- \DeclareTextCompositeCommand{\<}{\UnicodeEncodingName}{^^9f}{\LGR at hiatus}
- \DeclareTextCompositeCommand{\>}{\UnicodeEncodingName}{^^9f}{\LGR at hiatus}
\else
\@ifl at aded{def}{lgrenc}
{}
@@ -248,11 +253,7 @@
% Add setup for breathings::
\@ifl at aded{def}{lgrenc}
- {\textalpha at define@breathings{LGR}
- % Hiatus feature (see greek-fontenc.def and babel-greek (greek.ldf))
- \DeclareTextCompositeCommand{\<}{LGR}{^^9f}{\LGR at hiatus}
- \DeclareTextCompositeCommand{\>}{LGR}{^^9f}{\LGR at hiatus}
- }
+ {\textalpha at define@breathings{LGR}}
{}
% The package hyperref_ defines the PU font encoding and adds some
@@ -385,7 +386,7 @@
\DeclareTextSymbolDefault{\textkappa}{LGR}
\DeclareTextSymbolDefault{\textlambda}{LGR}
\DeclareTextSymbolDefault{\textmu}{LGR}
-\DeclareTextSymbolDefault{\textmugreek}{LGR} % (puenc.def)
+\DeclareTextSymbolDefault{\textmugreek}{LGR} % (puenc.def)
\DeclareTextSymbolDefault{\textnu}{LGR}
\DeclareTextSymbolDefault{\textxi}{LGR}
\DeclareTextSymbolDefault{\textomicron}{LGR}
@@ -392,8 +393,8 @@
\DeclareTextSymbolDefault{\textpi}{LGR}
\DeclareTextSymbolDefault{\textrho}{LGR}
\DeclareTextSymbolDefault{\textsigma}{LGR}
-\DeclareTextSymbolDefault{\textvarsigma}{LGR}
-\DeclareTextSymbolDefault{\textfinalsigma}{LGR} % alias for \textvarsigma
+\DeclareTextSymbolDefault{\textfinalsigma}{LGR}
+\DeclareTextSymbolDefault{\textvarsigma}{LGR} % alias for \textfinalsigma
\DeclareTextSymbolDefault{\textautosigma}{LGR} % char 115 in LGR
\DeclareTextSymbolDefault{\texttau}{LGR}
\DeclareTextSymbolDefault{\textupsilon}{LGR}
@@ -486,6 +487,7 @@
\DeclareTextAccentDefault{\accdasia}{LGR}
\DeclareTextAccentDefault{\accpsili}{LGR}
\DeclareTextAccentDefault{\acctonos}{LGR}
+\DeclareTextAccentDefault{\accoxia}{LGR}
\DeclareTextAccentDefault{\accvaria}{LGR}
\DeclareTextAccentDefault{\accperispomeni}{LGR}
\DeclareTextAccentDefault{\accdialytika}{LGR}
@@ -603,6 +605,7 @@
% 2.2.2 2023-03-17 Don't map active `;` to ``\textsemicolon`` in math mode.
% 2.4 2023-08-16 Map character 00B5 MICRO SIGN to ``\textmicro``.
% .. Fix upcasing of Greek letters with ``\<`` and ``\>``.
+% 2.5 2023-09-12 Support the ``\accoxia`` alias.
% ====== =========== ========================================================
%
%
Modified: trunk/Master/texmf-dist/tex/latex/greek-fontenc/tuenc-greek.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/greek-fontenc/tuenc-greek.def 2023-09-12 20:08:59 UTC (rev 68248)
+++ trunk/Master/texmf-dist/tex/latex/greek-fontenc/tuenc-greek.def 2023-09-12 20:09:52 UTC (rev 68249)
@@ -3,7 +3,7 @@
% Greek LICR definitions for XeTeX and LuaTeX
% *******************************************
%
-% :Version: 2.4 (changelog_)
+% :Version: 2.5 (changelog_)
%
% :Copyright: © 2013 -- 2023 Günter Milde
%
@@ -51,9 +51,15 @@
% ::
\ProvidesFile{tuenc-greek.def}
- [2023-08-15 2.4 Greek LICRs for XeTeX and LuaTeX]
+ [2023-09-12 2.5 Greek LICRs for XeTeX and LuaTeX]
+% Auxiliary command (modeled after definitions in ``tuenc.def``)::
+
+\providecommand*{\DeclareUnicodeCompositeCommand}[2]{%
+ \DeclareTextCompositeCommand{#1}{\UnicodeEncodingName}{#2}
+}
+
% Greek Diacritics
% ----------------
%
@@ -165,117 +171,74 @@
% 037D GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
\DeclareTextSymbol{\texterotimatiko}\UnicodeEncodingName{"003B} % use SEMICOLON, not 037E GREEK QUESTION MARK
-\DeclareUnicodeComposite{\acctonos} {} {"0384} % ΄ GREEK TONOS
-\DeclareUnicodeComposite{\accdialytikatonos}{} {"0385} % ΅ GREEK DIALYTIKA TONOS
-\DeclareUnicodeComposite{\'} {\textAlpha} {"0386} % Ά
-\DeclareTextSymbol{\textanoteleia} \UnicodeEncodingName{"00B7} % use MIDDLE DOT, not 0387 GREEK ANO TELEIA
-\DeclareUnicodeComposite{\'} {\textEpsilon}{"0388} % Έ
-\DeclareUnicodeComposite{\'} {\textEta} {"0389} % Ή
-\DeclareUnicodeComposite{\'} {\textIota} {"038A} % Ί
-\DeclareUnicodeComposite{\'} {\textOmicron}{"038C} % Ό
-\DeclareUnicodeComposite{\'} {\textUpsilon}{"038E} % Ύ
-\DeclareUnicodeComposite{\'} {\textOmega} {"038F} % Ώ
-% repeat with named accents (LuaTeX does not normalize to pre-composed chars):
-\DeclareUnicodeComposite{\acctonos} {\textAlpha} {"0386} % Ά
-\DeclareUnicodeComposite{\acctonos} {\textEpsilon}{"0388} % Έ
-\DeclareUnicodeComposite{\acctonos} {\textEta} {"0389} % Ή
-\DeclareUnicodeComposite{\acctonos} {\textIota} {"038A} % Ί
-\DeclareUnicodeComposite{\acctonos} {\textOmicron}{"038C} % Ό
-\DeclareUnicodeComposite{\acctonos} {\textUpsilon}{"038E} % Ύ
-\DeclareUnicodeComposite{\acctonos} {\textOmega} {"038F} % Ώ
-\DeclareUnicodeComposite{\accdialytikatonos}{\textiota} {"0390} % ΐ
+\DeclareUnicodeComposite{\acctonos} {} {"0384} % ΄ GREEK TONOS
+\DeclareUnicodeComposite{\accdialytikatonos}{} {"0385} % ΅ GREEK DIALYTIKA TONOS
-\DeclareTextSymbol{\textAlpha }\UnicodeEncodingName{"0391} % Α
-\DeclareTextSymbol{\textBeta }\UnicodeEncodingName{"0392} % Β
-\DeclareTextSymbol{\textGamma }\UnicodeEncodingName{"0393} % Γ
-\DeclareTextSymbol{\textDelta }\UnicodeEncodingName{"0394} % Δ
-\DeclareTextSymbol{\textEpsilon}\UnicodeEncodingName{"0395} % Ε
-\DeclareTextSymbol{\textZeta }\UnicodeEncodingName{"0396} % Ζ
-\DeclareTextSymbol{\textEta }\UnicodeEncodingName{"0397} % Η
-\DeclareTextSymbol{\textTheta }\UnicodeEncodingName{"0398} % Θ
-\DeclareTextSymbol{\textIota }\UnicodeEncodingName{"0399} % Ι
-\DeclareTextSymbol{\textKappa }\UnicodeEncodingName{"039A} % Κ
-\DeclareTextSymbol{\textLambda }\UnicodeEncodingName{"039B} % Λ
-\DeclareTextSymbol{\textMu }\UnicodeEncodingName{"039C} % Μ
-\DeclareTextSymbol{\textNu }\UnicodeEncodingName{"039D} % Ν
-\DeclareTextSymbol{\textXi }\UnicodeEncodingName{"039E} % Ξ
-\DeclareTextSymbol{\textOmicron}\UnicodeEncodingName{"039F} % Ο
-\DeclareTextSymbol{\textPi }\UnicodeEncodingName{"03A0} % Π
-\DeclareTextSymbol{\textRho }\UnicodeEncodingName{"03A1} % Ρ
-\DeclareTextSymbol{\textSigma }\UnicodeEncodingName{"03A3} % Σ
-\DeclareTextSymbol{\textTau }\UnicodeEncodingName{"03A4} % Τ
-\DeclareTextSymbol{\textUpsilon}\UnicodeEncodingName{"03A5} % Υ
-\DeclareTextSymbol{\textPhi }\UnicodeEncodingName{"03A6} % Φ
-\DeclareTextSymbol{\textChi }\UnicodeEncodingName{"03A7} % Χ
-\DeclareTextSymbol{\textPsi }\UnicodeEncodingName{"03A8} % Ψ
-\DeclareTextSymbol{\textOmega }\UnicodeEncodingName{"03A9} % Ω
+\DeclareTextSymbol{\textanoteleia }\UnicodeEncodingName{"00B7} % use MIDDLE DOT, not 0387 GREEK ANO TELEIA
-\DeclareUnicodeComposite{\"} {\textIota} {"03AA} % Ϊ
-\DeclareUnicodeComposite{\"} {\textIota} {"03AA} % Ϊ
-\DeclareUnicodeComposite{\"} {\textUpsilon}{"03AB} % Ϋ
-\DeclareUnicodeComposite{\'} {\textalpha} {"03AC} % ά
-\DeclareUnicodeComposite{\'} {\textepsilon}{"03AD} % έ
-\DeclareUnicodeComposite{\'} {\texteta} {"03AE} % ή
-\DeclareUnicodeComposite{\'} {\textiota} {"03AF} % ί
-% repeat with named accents (LuaTeX does not normalize to pre-composed chars):
-\DeclareUnicodeComposite{\accdialytika} {\textIota} {"03AA} % Ϊ
-\DeclareUnicodeComposite{\accdialytika} {\textIota} {"03AA} % Ϊ
-\DeclareUnicodeComposite{\accdialytika} {\textUpsilon}{"03AB} % Ϋ
-\DeclareUnicodeComposite{\acctonos} {\textalpha} {"03AC} % ά
-\DeclareUnicodeComposite{\acctonos} {\textepsilon}{"03AD} % έ
-\DeclareUnicodeComposite{\acctonos} {\texteta} {"03AE} % ή
-\DeclareUnicodeComposite{\acctonos} {\textiota} {"03AF} % ί
-\DeclareUnicodeComposite{\accdialytikatonos}{\textupsilon}{"03B0} % ΰ
+\DeclareTextSymbol{\textAlpha }\UnicodeEncodingName{"0391} % Α
+\DeclareTextSymbol{\textBeta }\UnicodeEncodingName{"0392} % Β
+\DeclareTextSymbol{\textGamma }\UnicodeEncodingName{"0393} % Γ
+\DeclareTextSymbol{\textDelta }\UnicodeEncodingName{"0394} % Δ
+\DeclareTextSymbol{\textEpsilon }\UnicodeEncodingName{"0395} % Ε
+\DeclareTextSymbol{\textZeta }\UnicodeEncodingName{"0396} % Ζ
+\DeclareTextSymbol{\textEta }\UnicodeEncodingName{"0397} % Η
+\DeclareTextSymbol{\textTheta }\UnicodeEncodingName{"0398} % Θ
+\DeclareTextSymbol{\textIota }\UnicodeEncodingName{"0399} % Ι
+\DeclareTextSymbol{\textKappa }\UnicodeEncodingName{"039A} % Κ
+\DeclareTextSymbol{\textLambda }\UnicodeEncodingName{"039B} % Λ
+\DeclareTextSymbol{\textMu }\UnicodeEncodingName{"039C} % Μ
+\DeclareTextSymbol{\textNu }\UnicodeEncodingName{"039D} % Ν
+\DeclareTextSymbol{\textXi }\UnicodeEncodingName{"039E} % Ξ
+\DeclareTextSymbol{\textOmicron }\UnicodeEncodingName{"039F} % Ο
+\DeclareTextSymbol{\textPi }\UnicodeEncodingName{"03A0} % Π
+\DeclareTextSymbol{\textRho }\UnicodeEncodingName{"03A1} % Ρ
+\DeclareTextSymbol{\textSigma }\UnicodeEncodingName{"03A3} % Σ
+\DeclareTextSymbol{\textTau }\UnicodeEncodingName{"03A4} % Τ
+\DeclareTextSymbol{\textUpsilon }\UnicodeEncodingName{"03A5} % Υ
+\DeclareTextSymbol{\textPhi }\UnicodeEncodingName{"03A6} % Φ
+\DeclareTextSymbol{\textChi }\UnicodeEncodingName{"03A7} % Χ
+\DeclareTextSymbol{\textPsi }\UnicodeEncodingName{"03A8} % Ψ
+\DeclareTextSymbol{\textOmega }\UnicodeEncodingName{"03A9} % Ω
-\DeclareTextSymbol{\textalpha }\UnicodeEncodingName{"03B1} % α
-\DeclareTextSymbol{\textbeta }\UnicodeEncodingName{"03B2} % β
-\DeclareTextSymbol{\textgamma }\UnicodeEncodingName{"03B3} % γ
-\DeclareTextSymbol{\textdelta }\UnicodeEncodingName{"03B4} % δ
-\DeclareTextSymbol{\textepsilon }\UnicodeEncodingName{"03B5} % ε
-\DeclareTextSymbol{\textzeta }\UnicodeEncodingName{"03B6} % ζ
-\DeclareTextSymbol{\texteta }\UnicodeEncodingName{"03B7} % η
-\DeclareTextSymbol{\texttheta }\UnicodeEncodingName{"03B8} % θ
-\DeclareTextSymbol{\textiota }\UnicodeEncodingName{"03B9} % ι
-\DeclareTextSymbol{\textkappa }\UnicodeEncodingName{"03BA} % κ
-\DeclareTextSymbol{\textlambda }\UnicodeEncodingName{"03BB} % λ
-\DeclareTextSymbol{\textmu }\UnicodeEncodingName{"03BC} % μ % \textmugreek
-\DeclareTextSymbol{\textnu }\UnicodeEncodingName{"03BD} % ν
-\DeclareTextSymbol{\textxi }\UnicodeEncodingName{"03BE} % ξ
-\DeclareTextSymbol{\textomicron }\UnicodeEncodingName{"03BF} % ο
-\DeclareTextSymbol{\textpi }\UnicodeEncodingName{"03C0} % π
-\DeclareTextSymbol{\textrho }\UnicodeEncodingName{"03C1} % ρ
-\DeclareTextSymbol{\textfinalsigma}\UnicodeEncodingName{"03C2} % ς % final sigma
-\DeclareTextSymbol{\textsigma }\UnicodeEncodingName{"03C3} % σ
-\DeclareTextSymbol{\texttau }\UnicodeEncodingName{"03C4} % τ
-\DeclareTextSymbol{\textupsilon }\UnicodeEncodingName{"03C5} % υ
-\DeclareTextSymbol{\textphi }\UnicodeEncodingName{"03C6} % φ
-\DeclareTextSymbol{\textchi }\UnicodeEncodingName{"03C7} % χ
-\DeclareTextSymbol{\textpsi }\UnicodeEncodingName{"03C8} % ψ
-\DeclareTextSymbol{\textomega }\UnicodeEncodingName{"03C9} % ω
+\DeclareTextSymbol{\textalpha }\UnicodeEncodingName{"03B1} % α
+\DeclareTextSymbol{\textbeta }\UnicodeEncodingName{"03B2} % β
+\DeclareTextSymbol{\textgamma }\UnicodeEncodingName{"03B3} % γ
+\DeclareTextSymbol{\textdelta }\UnicodeEncodingName{"03B4} % δ
+\DeclareTextSymbol{\textepsilon }\UnicodeEncodingName{"03B5} % ε
+\DeclareTextSymbol{\textzeta }\UnicodeEncodingName{"03B6} % ζ
+\DeclareTextSymbol{\texteta }\UnicodeEncodingName{"03B7} % η
+\DeclareTextSymbol{\texttheta }\UnicodeEncodingName{"03B8} % θ
+\DeclareTextSymbol{\textiota }\UnicodeEncodingName{"03B9} % ι
+\DeclareTextSymbol{\textkappa }\UnicodeEncodingName{"03BA} % κ
+\DeclareTextSymbol{\textlambda }\UnicodeEncodingName{"03BB} % λ
+\DeclareTextSymbol{\textmu }\UnicodeEncodingName{"03BC} % μ % \textmugreek
+\DeclareTextSymbol{\textnu }\UnicodeEncodingName{"03BD} % ν
+\DeclareTextSymbol{\textxi }\UnicodeEncodingName{"03BE} % ξ
+\DeclareTextSymbol{\textomicron }\UnicodeEncodingName{"03BF} % ο
+\DeclareTextSymbol{\textpi }\UnicodeEncodingName{"03C0} % π
+\DeclareTextSymbol{\textrho }\UnicodeEncodingName{"03C1} % ρ
+\DeclareTextSymbol{\textfinalsigma }\UnicodeEncodingName{"03C2} % ς % final sigma
+\DeclareTextSymbol{\textsigma }\UnicodeEncodingName{"03C3} % σ
+\DeclareTextSymbol{\texttau }\UnicodeEncodingName{"03C4} % τ
+\DeclareTextSymbol{\textupsilon }\UnicodeEncodingName{"03C5} % υ
+\DeclareTextSymbol{\textphi }\UnicodeEncodingName{"03C6} % φ
+\DeclareTextSymbol{\textchi }\UnicodeEncodingName{"03C7} % χ
+\DeclareTextSymbol{\textpsi }\UnicodeEncodingName{"03C8} % ψ
+\DeclareTextSymbol{\textomega }\UnicodeEncodingName{"03C9} % ω
-\DeclareUnicodeComposite{\"}{\textiota}{"03CA} % ϊ
-\DeclareUnicodeComposite{\"}{\textupsilon}{"03CB} % ϋ
-\DeclareUnicodeComposite{\'}{\textomicron}{"03CC} % ό
-\DeclareUnicodeComposite{\'}{\textupsilon}{"03CD} % ύ
-\DeclareUnicodeComposite{\'}{\textomega}{"03CE} % ώ
-\DeclareUnicodeComposite{\accdialytika}{\textiota}{"03CA} % ϊ
-\DeclareUnicodeComposite{\accdialytika}{\textupsilon}{"03CB} % ϋ
-\DeclareUnicodeComposite{\acctonos}{\textomicron}{"03CC} % ό
-\DeclareUnicodeComposite{\acctonos}{\textupsilon}{"03CD} % ύ
-\DeclareUnicodeComposite{\acctonos}{\textomega}{"03CE} % ώ
-
% Archaic letters (still used in Greek numerals)::
-\DeclareTextSymbol{\textQoppa }\UnicodeEncodingName{"03D8} % Ϙ
-\DeclareTextSymbol{\textqoppa }\UnicodeEncodingName{"03D9} % ϙ
-\DeclareTextSymbol{\textStigma }\UnicodeEncodingName{"03DA} % Ϛ
-\DeclareTextSymbol{\textstigma }\UnicodeEncodingName{"03DB} % ϛ
-\DeclareTextSymbol{\textDigamma }\UnicodeEncodingName{"03DC} % Ϝ
-\DeclareTextSymbol{\textdigamma }\UnicodeEncodingName{"03DD} % ϝ
-\DeclareTextSymbol{\textKoppa }\UnicodeEncodingName{"03DE} % Ϟ in LGR identic to \textkoppa
-\DeclareTextSymbol{\textkoppa }\UnicodeEncodingName{"03DF} % ϟ \koppa, \textqoppa [sic!]
-\DeclareTextSymbol{\textSampi }\UnicodeEncodingName{"03E0} % Ϡ
-\DeclareTextSymbol{\textsampi }\UnicodeEncodingName{"03E1} % ϡ
+\DeclareTextSymbol{\textQoppa }\UnicodeEncodingName{"03D8} % Ϙ
+\DeclareTextSymbol{\textqoppa }\UnicodeEncodingName{"03D9} % ϙ
+\DeclareTextSymbol{\textStigma }\UnicodeEncodingName{"03DA} % Ϛ
+\DeclareTextSymbol{\textstigma }\UnicodeEncodingName{"03DB} % ϛ
+\DeclareTextSymbol{\textDigamma }\UnicodeEncodingName{"03DC} % Ϝ
+\DeclareTextSymbol{\textdigamma }\UnicodeEncodingName{"03DD} % ϝ
+\DeclareTextSymbol{\textKoppa }\UnicodeEncodingName{"03DE} % Ϟ in LGR identic to \textkoppa
+\DeclareTextSymbol{\textkoppa }\UnicodeEncodingName{"03DF} % ϟ \koppa, \textqoppa [sic!]
+\DeclareTextSymbol{\textSampi }\UnicodeEncodingName{"03E0} % Ϡ
+\DeclareTextSymbol{\textsampi }\UnicodeEncodingName{"03E1} % ϡ
% Symbol variants::
@@ -300,264 +263,86 @@
% Greek Extended
% ~~~~~~~~~~~~~~
%
-% We skip definitions for characters "... WITH OXIA", because they would
-% overwrite the definitions for "... WITH TONOS" in the `Greek and Coptic`
-% block.
-%
+% spacing diacritics
+% """"""""""""""""""
% ::
-\DeclareUnicodeComposite{\accpsili }{\textalpha}{"1F00} % ἀ
-\DeclareUnicodeComposite{\accdasia }{\textalpha}{"1F01} % ἁ
-\DeclareUnicodeComposite{\accpsilivaria }{\textalpha}{"1F02} % ἂ
-\DeclareUnicodeComposite{\accdasiavaria }{\textalpha}{"1F03} % ἃ
-\DeclareUnicodeComposite{\accpsilioxia }{\textalpha}{"1F04} % ἄ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textalpha}{"1F05} % ἅ
-\DeclareUnicodeComposite{\accpsiliperispomeni}{\textalpha}{"1F06} % ἆ
-\DeclareUnicodeComposite{\accdasiaperispomeni}{\textalpha}{"1F07} % ἇ
-\DeclareUnicodeComposite{\accpsili }{\textAlpha}{"1F08} % Ἀ
-\DeclareUnicodeComposite{\accdasia }{\textAlpha}{"1F09} % Ἁ
-\DeclareUnicodeComposite{\accpsilivaria }{\textAlpha}{"1F0A} % Ἂ
-\DeclareUnicodeComposite{\accdasiavaria }{\textAlpha}{"1F0B} % Ἃ
-\DeclareUnicodeComposite{\accpsilioxia }{\textAlpha}{"1F0C} % Ἄ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textAlpha}{"1F0D} % Ἅ
-\DeclareUnicodeComposite{\accpsiliperispomeni}{\textAlpha}{"1F0E} % Ἆ
-\DeclareUnicodeComposite{\accdasiaperispomeni}{\textAlpha}{"1F0F} % Ἇ
-
-\DeclareUnicodeComposite{\accpsili }{\textepsilon}{"1F10} % ἐ
-\DeclareUnicodeComposite{\accdasia }{\textepsilon}{"1F11} % ἑ
-\DeclareUnicodeComposite{\accpsilivaria }{\textepsilon}{"1F12} % ἒ
-\DeclareUnicodeComposite{\accdasiavaria }{\textepsilon}{"1F13} % ἓ
-\DeclareUnicodeComposite{\accpsilioxia }{\textepsilon}{"1F14} % ἔ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textepsilon}{"1F15} % ἕ
-\DeclareUnicodeComposite{\accpsili }{\textEpsilon}{"1F18} % Ἐ
-\DeclareUnicodeComposite{\accdasia }{\textEpsilon}{"1F19} % Ἑ
-\DeclareUnicodeComposite{\accpsilivaria }{\textEpsilon}{"1F1A} % Ἒ
-\DeclareUnicodeComposite{\accdasiavaria }{\textEpsilon}{"1F1B} % Ἓ
-\DeclareUnicodeComposite{\accpsilioxia }{\textEpsilon}{"1F1C} % Ἔ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textEpsilon}{"1F1D} % Ἕ
-
-\DeclareUnicodeComposite{\accpsili }{\texteta}{"1F20} % ἠ
-\DeclareUnicodeComposite{\accdasia }{\texteta}{"1F21} % ἡ
-\DeclareUnicodeComposite{\accpsilivaria }{\texteta}{"1F22} % ἢ
-\DeclareUnicodeComposite{\accdasiavaria }{\texteta}{"1F23} % ἣ
-\DeclareUnicodeComposite{\accpsilioxia }{\texteta}{"1F24} % ἤ
-\DeclareUnicodeComposite{\accdasiaoxia }{\texteta}{"1F25} % ἥ
-\DeclareUnicodeComposite{\accpsiliperispomeni}{\texteta}{"1F26} % ἦ
-\DeclareUnicodeComposite{\accdasiaperispomeni}{\texteta}{"1F27} % ἧ
-\DeclareUnicodeComposite{\accpsili }{\textEta}{"1F28} % Ἠ
-\DeclareUnicodeComposite{\accdasia }{\textEta}{"1F29} % Ἡ
-\DeclareUnicodeComposite{\accpsilivaria }{\textEta}{"1F2A} % Ἢ
-\DeclareUnicodeComposite{\accdasiavaria }{\textEta}{"1F2B} % Ἣ
-\DeclareUnicodeComposite{\accpsilioxia }{\textEta}{"1F2C} % Ἤ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textEta}{"1F2D} % Ἥ
-\DeclareUnicodeComposite{\accpsiliperispomeni}{\textEta}{"1F2E} % Ἦ
-\DeclareUnicodeComposite{\accdasiaperispomeni}{\textEta}{"1F2F} % Ἧ
-
-\DeclareUnicodeComposite{\accpsili }{\textiota}{"1F30} % ἰ
-\DeclareUnicodeComposite{\accdasia }{\textiota}{"1F31} % ἱ
-\DeclareUnicodeComposite{\accpsilivaria }{\textiota}{"1F32} % ἲ
-\DeclareUnicodeComposite{\accdasiavaria }{\textiota}{"1F33} % ἳ
-\DeclareUnicodeComposite{\accpsilioxia }{\textiota}{"1F34} % ἴ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textiota}{"1F35} % ἵ
-\DeclareUnicodeComposite{\accpsiliperispomeni}{\textiota}{"1F36} % ἶ
-\DeclareUnicodeComposite{\accdasiaperispomeni}{\textiota}{"1F37} % ἷ
-\DeclareUnicodeComposite{\accpsili }{\textIota}{"1F38} % Ἰ
-\DeclareUnicodeComposite{\accdasia }{\textIota}{"1F39} % Ἱ
-\DeclareUnicodeComposite{\accpsilivaria }{\textIota}{"1F3A} % Ἲ
-\DeclareUnicodeComposite{\accdasiavaria }{\textIota}{"1F3B} % Ἳ
-\DeclareUnicodeComposite{\accpsilioxia }{\textIota}{"1F3C} % Ἴ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textIota}{"1F3D} % Ἵ
-\DeclareUnicodeComposite{\accpsiliperispomeni}{\textIota}{"1F3E} % Ἶ
-\DeclareUnicodeComposite{\accdasiaperispomeni}{\textIota}{"1F3F} % Ἷ
-
-\DeclareUnicodeComposite{\accpsili }{\textomicron}{"1F40} % ὀ
-\DeclareUnicodeComposite{\accdasia }{\textomicron}{"1F41} % ὁ
-\DeclareUnicodeComposite{\accpsilivaria }{\textomicron}{"1F42} % ὂ
-\DeclareUnicodeComposite{\accdasiavaria }{\textomicron}{"1F43} % ὃ
-\DeclareUnicodeComposite{\accpsilioxia }{\textomicron}{"1F44} % ὄ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textomicron}{"1F45} % ὅ
-\DeclareUnicodeComposite{\accpsili }{\textOmicron}{"1F48} % Ὀ
-\DeclareUnicodeComposite{\accdasia }{\textOmicron}{"1F49} % Ὁ
-\DeclareUnicodeComposite{\accpsilivaria }{\textOmicron}{"1F4A} % Ὂ
-\DeclareUnicodeComposite{\accdasiavaria }{\textOmicron}{"1F4B} % Ὃ
-\DeclareUnicodeComposite{\accpsilioxia }{\textOmicron}{"1F4C} % Ὄ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textOmicron}{"1F4D} % Ὅ
-
-\DeclareUnicodeComposite{\accpsili }{\textupsilon}{"1F50} % ὐ
-\DeclareUnicodeComposite{\accdasia }{\textupsilon}{"1F51} % ὑ
-\DeclareUnicodeComposite{\accpsilivaria }{\textupsilon}{"1F52} % ὒ
-\DeclareUnicodeComposite{\accdasiavaria }{\textupsilon}{"1F53} % ὓ
-\DeclareUnicodeComposite{\accpsilioxia }{\textupsilon}{"1F54} % ὔ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textupsilon}{"1F55} % ὕ
-\DeclareUnicodeComposite{\accpsiliperispomeni}{\textupsilon}{"1F56} % ὖ
-\DeclareUnicodeComposite{\accdasiaperispomeni}{\textupsilon}{"1F57} % ὗ
-\DeclareUnicodeComposite{\accdasia }{\textUpsilon}{"1F59} % Ὑ
-\DeclareUnicodeComposite{\accdasiavaria }{\textUpsilon}{"1F5B} % Ὓ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textUpsilon}{"1F5D} % Ὕ
-\DeclareUnicodeComposite{\accdasiaperispomeni}{\textUpsilon}{"1F5F} % Ὗ
-
-\DeclareUnicodeComposite{\accpsili }{\textomega}{"1F60} % ὠ
-\DeclareUnicodeComposite{\accdasia }{\textomega}{"1F61} % ὡ
-\DeclareUnicodeComposite{\accpsilivaria }{\textomega}{"1F62} % ὢ
-\DeclareUnicodeComposite{\accdasiavaria }{\textomega}{"1F63} % ὣ
-\DeclareUnicodeComposite{\accpsilioxia }{\textomega}{"1F64} % ὤ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textomega}{"1F65} % ὥ
-\DeclareUnicodeComposite{\accpsiliperispomeni}{\textomega}{"1F66} % ὦ
-\DeclareUnicodeComposite{\accdasiaperispomeni}{\textomega}{"1F67} % ὧ
-\DeclareUnicodeComposite{\accpsili }{\textOmega}{"1F68} % Ὠ
-\DeclareUnicodeComposite{\accdasia }{\textOmega}{"1F69} % Ὡ
-\DeclareUnicodeComposite{\accpsilivaria }{\textOmega}{"1F6A} % Ὢ
-\DeclareUnicodeComposite{\accdasiavaria }{\textOmega}{"1F6B} % Ὣ
-\DeclareUnicodeComposite{\accpsilioxia }{\textOmega}{"1F6C} % Ὤ
-\DeclareUnicodeComposite{\accdasiaoxia }{\textOmega}{"1F6D} % Ὥ
-\DeclareUnicodeComposite{\accpsiliperispomeni}{\textOmega}{"1F6E} % Ὦ
-\DeclareUnicodeComposite{\accdasiaperispomeni}{\textOmega}{"1F6F} % Ὧ
-
-\DeclareUnicodeComposite{\`} {\textalpha} {"1F70} % ὰ
-\DeclareUnicodeComposite{\`} {\textepsilon}{"1F72} % ὲ
-\DeclareUnicodeComposite{\`} {\texteta} {"1F74} % ὴ
-\DeclareUnicodeComposite{\`} {\textiota} {"1F76} % ὶ
-\DeclareUnicodeComposite{\`} {\textomicron}{"1F78} % ὸ
-\DeclareUnicodeComposite{\`} {\textupsilon}{"1F7A} % ὺ
-\DeclareUnicodeComposite{\`} {\textomega} {"1F7C} % ὼ
-% repeat with named accents (LuaTeX does not normalize to pre-composed chars):
-\DeclareUnicodeComposite{\accvaria} {\textalpha} {"1F70} % ὰ
-\DeclareUnicodeComposite{\accvaria} {\textepsilon}{"1F72} % ὲ
-\DeclareUnicodeComposite{\accvaria} {\texteta} {"1F74} % ὴ
-\DeclareUnicodeComposite{\accvaria} {\textiota} {"1F76} % ὶ
-\DeclareUnicodeComposite{\accvaria} {\textomicron}{"1F78} % ὸ
-\DeclareUnicodeComposite{\accvaria} {\textupsilon}{"1F7A} % ὺ
-\DeclareUnicodeComposite{\accvaria} {\textomega} {"1F7C} % ὼ
-
-% Skipping pre-composed characters with mute iota (misleadingly named
-% … WITH PROSGEGRAMMENI): letter + ``\ypogegrammeni`` is normalized
-% to the pre-composed character. ::
-
-\DeclareUnicodeComposite{\u} {\textalpha} {"1FB0} % ᾰ
-\DeclareUnicodeComposite{\=} {\textalpha} {"1FB1} % ᾱ
-% ᾲ
-% ᾳ
-% ᾴ
-\DeclareUnicodeComposite{\accperispomeni} {\textalpha} {"1FB6} % ᾶ
-\DeclareUnicodeComposite{\~} {\textalpha} {"1FB6} % ᾶ
-% ᾷ
-\DeclareUnicodeComposite{\u} {\textAlpha} {"1FB8} % Ᾰ
-\DeclareUnicodeComposite{\=} {\textAlpha} {"1FB9} % Ᾱ
-\DeclareUnicodeComposite{\`} {\textAlpha} {"1FBA} % Ὰ
-\DeclareUnicodeComposite{\accvaria} {\textAlpha} {"1FBA} % Ὰ
-% ᾼ
-\DeclareUnicodeComposite{\accpsili} {} {"1FBD} % ᾽
+% 1FBD GREEK KORONIS -> psili % ᾽
\DeclareTextSymbol{\prosgegrammeni}\UnicodeEncodingName {"1FBE} % ι
\DeclareUnicodeComposite{\accpsili} {} {"1FBF} % ᾿
\DeclareUnicodeComposite{\accperispomeni} {} {"1FC0} % ῀
\DeclareUnicodeComposite{\accdialytikaperispomeni}{} {"1FC1} % ῁
-% ῂ
-% ῃ
-% ῄ
-\DeclareUnicodeComposite{\accperispomeni} {\texteta} {"1FC6} % ῆ
-\DeclareUnicodeComposite{\~} {\texteta} {"1FC6} % ῆ
-% ῇ
-\DeclareUnicodeComposite{\`} {\textEpsilon}{"1FC8} % Ὲ
-\DeclareUnicodeComposite{\accvaria} {\textEpsilon}{"1FC8} % Ὲ
-\DeclareUnicodeComposite{\`} {\textEta} {"1FCA} % Ὴ
-\DeclareUnicodeComposite{\accvaria} {\textEta} {"1FCA} % Ὴ
-% ῌ
+
\DeclareUnicodeComposite{\accpsilivaria} {} {"1FCD} % ῍
\DeclareUnicodeComposite{\accpsilioxia} {} {"1FCE} % ῎
\DeclareUnicodeComposite{\accpsiliperispomeni} {} {"1FCF} % ῏
-\DeclareUnicodeComposite{\u} {\textiota} {"1FD0} % ῐ
-\DeclareUnicodeComposite{\=} {\textiota} {"1FD1} % ῑ
-\DeclareUnicodeComposite{\accdialytikavaria} {\textiota} {"1FD2} % ῒ
-\DeclareUnicodeComposite{\accdialytikaoxia} {\textiota} {"1FD3} % ΐ
-\DeclareUnicodeComposite{\accperispomeni} {\textiota} {"1FD6} % ῖ
-\DeclareUnicodeComposite{\~} {\textiota} {"1FD6} % ῖ
-\DeclareUnicodeComposite{\~} {ι} {"1FD6} % ῖ
-\DeclareUnicodeComposite{\accdialytikaperispomeni}{\textiota} {"1FD7} % ῗ
-\DeclareUnicodeComposite{\u} {\textIota} {"1FD8} % Ῐ
-\DeclareUnicodeComposite{\=} {\textIota} {"1FD9} % Ῑ
-\DeclareUnicodeComposite{\`} {\textIota} {"1FDA} % Ὶ
-\DeclareUnicodeComposite{\accvaria} {\textIota} {"1FDA} % Ὶ
\DeclareUnicodeComposite{\accdasiavaria} {} {"1FDD} % ῝
\DeclareUnicodeComposite{\accdasiaoxia} {} {"1FDE} % ῞
\DeclareUnicodeComposite{\accdasiaperispomeni} {} {"1FDF} % ῟
-\DeclareUnicodeComposite{\u} {\textupsilon}{"1FE0} % ῠ
-\DeclareUnicodeComposite{\=} {\textupsilon}{"1FE1} % ῡ
-\DeclareUnicodeComposite{\accdialytikavaria} {\textupsilon}{"1FE2} % ῢ
-\DeclareUnicodeComposite{\accdialytikaoxia} {\textupsilon}{"1FE3} % ΰ
-\DeclareUnicodeComposite{\accpsili} {\textrho} {"1FE4} % ῤ
-\DeclareUnicodeComposite{\accdasia} {\textrho} {"1FE5} % ῥ
-\DeclareUnicodeComposite{\~} {\textupsilon}{"1FE6} % ῦ
-\DeclareUnicodeComposite{\accperispomeni} {\textupsilon}{"1FE6} % ῦ
-\DeclareUnicodeComposite{\accdialytikaperispomeni}{\textupsilon}{"1FE7} % ῧ
-\DeclareUnicodeComposite{\u} {\textUpsilon}{"1FE8} % Ῠ
-\DeclareUnicodeComposite{\=} {\textUpsilon}{"1FE9} % Ῡ
-\DeclareUnicodeComposite{\`} {\textUpsilon}{"1FEA} % Ὺ
-\DeclareUnicodeComposite{\accvaria} {\textUpsilon}{"1FEA} % Ὺ
-% Ύ
-\DeclareUnicodeComposite{\accdasia} {\textRho} {"1FEC} % Ῥ
\DeclareUnicodeComposite{\accdialytikavaria} {} {"1FED} % ῭
\DeclareUnicodeComposite{\accdialytikaoxia} {} {"1FEE} % ΅
% `
-
-% ῲ
-% ῳ
-% ῴ
-\DeclareUnicodeComposite{\accperispomeni} {\textomega} {"1FF6} % ῶ
-\DeclareUnicodeComposite{\~} {\textomega} {"1FF6} % ῶ
-% ῷ
-\DeclareUnicodeComposite{\`} {\textOmicron}{"1FF8} % Ὸ
-\DeclareUnicodeComposite{\accvaria} {\textOmicron}{"1FF8} % Ὸ
-\DeclareUnicodeComposite{\`} {\textOmega} {"1FFA} % Ὼ
-\DeclareUnicodeComposite{\accvaria} {\textOmega} {"1FFA} % Ὼ
-% ῼ
\DeclareUnicodeComposite{\accoxia} {} {"1FFD} % ´
\DeclareUnicodeComposite{\accdasia} {} {"1FFE} % ῾
+
% Perispomeni and tilde accent
% """"""""""""""""""""""""""""
%
-% XeTeX and LuaTeX (since 2022) convert letters followed by combining
+% XeTeX normalizes letters followed by combining
% characters to a pre-composed character, if there is an equivalent
-% pre-composed character.
+% pre-composed character (Unicode normalization NFC).
+% With LuaTeX NFC is provided by the \emph{Harfbuzz} renderer
+% (select with the ``[Renderer=Harfbuzz]`` option of the `fontspec`_
+% font selection commands or the `uninormalize`_ package.
%
% The ``\accperispomeni`` macro expands to COMBINING GREEK PERISPOMENI
% while the standard short accent macro ``\~`` uses the COMBINING TILDE.
% Only <Greek letter> + COMBINING GREEK PERISPOMENI is considered
% equivalent to the pre-composed <Greek letter> WITH PERISPOMENI.
-% Composite definitions for ``\~`` select the pre-composed character
-%
-% TODO: don't use literal Unicode characters if ``\inputencodingname``
-% is defined and not "lutf8" to prevent errors with legacy 8-bit documents
-% read with "luainputenc.sty" (cf. test-licr-input.tex).
-% ::
+% Therefore, we define composite definitions for ``\~``::
-\DeclareUnicodeComposite{\~}{α}{"1FB6} % ᾶ
-\DeclareUnicodeComposite{\~}{η}{"1FC6} % ῆ
-\DeclareUnicodeComposite{\~}{ι}{"1FD6} % ῖ
-\DeclareUnicodeComposite{\~}{ι}{"1FD6} % ῖ
-\DeclareUnicodeComposite{\~}{υ}{"1FE6} % ῦ
-\DeclareUnicodeComposite{\~}{ω}{"1FF6} % ῶ
+\DeclareUnicodeComposite{\~}{\textalpha }{"1FB6} % ᾶ
+\DeclareUnicodeComposite{\~}{\texteta }{"1FC6} % ῆ
+\DeclareUnicodeComposite{\~}{\textiota }{"1FD6} % ῖ
+\DeclareUnicodeComposite{\~}{\textupsilon}{"1FE6} % ῦ
+\DeclareUnicodeComposite{\~}{\textomega }{"1FF6} % ῶ
-% If there is no pre-composed Capital letter with perispomeni,
-% we want no perispomeni with ``\MakeUppercase``.
-% (These definitions may be redundant with the new (2022/06)
-% implementation of ``\MakeUppercase``.) ::
+% There are no pre-composed capital letters with perispomeni
+% (the perispomeni is not used on initial letters and normally
+% dropped in UPPERCASE_).
+% However, it is kept with the pre-2022 ``\MakeUppercase`` and in documents
+% that don't load `babel-greek`_ (or an old babel-greek or use the
+% modifier ``local-MakeUppercase-fixes``)::
-\DeclareUnicodeComposite{\~}{\textAlpha} {"0391} % Α
-\DeclareUnicodeComposite{\~}{Α} {"0391} % Α
-\DeclareUnicodeComposite{\~}{\textEta} {"0397} % Η
-\DeclareUnicodeComposite{\~}{Η} {"0397} % Η
-\DeclareUnicodeComposite{\~}{\textIota} {"0399} % Ι
-\DeclareUnicodeComposite{\~}{Ι} {"0399} % Ι
-\DeclareUnicodeComposite{\~}{\textUpsilon}{"03A5} % Υ
-\DeclareUnicodeComposite{\~}{Υ} {"03A5} % Υ
-\DeclareUnicodeComposite{\~}{\textOmega} {"03A9} % Ω
-\DeclareUnicodeComposite{\~}{Ω} {"03A9} % Ω
+\DeclareUnicodeCompositeCommand{\~}{\textAlpha }{\accperispomeni\textAlpha}
+\DeclareUnicodeCompositeCommand{\~}{\textEta }{\accperispomeni\textEta}
+\DeclareUnicodeCompositeCommand{\~}{\textIota }{\accperispomeni\textIota}
+\DeclareUnicodeCompositeCommand{\~}{\textUpsilon}{\accperispomeni\textUpsilon}
+\DeclareUnicodeCompositeCommand{\~}{\textOmega }{\accperispomeni\textOmega}
+% Using literal Unicode chars leads to errors in LuaTeX's 8-bit compatibility
+% mode. OTOH, composite definitions do a literal check, so we cannot use
+% a replacement::
+\@ifl at aded{sty}{luainputenc}{}{% else
+ \DeclareUnicodeComposite{\~}{α}{"1FB6} % ᾶ
+ \DeclareUnicodeComposite{\~}{η}{"1FC6} % ῆ
+ \DeclareUnicodeComposite{\~}{ι}{"1FD6} % ῖ
+ \DeclareUnicodeComposite{\~}{υ}{"1FE6} % ῦ
+ \DeclareUnicodeComposite{\~}{ω}{"1FF6} % ῶ
+
+ \DeclareUnicodeCompositeCommand{\~}{Α}{\accperispomeni Α}
+ \DeclareUnicodeCompositeCommand{\~}{Η}{\accperispomeni Η}
+ \DeclareUnicodeCompositeCommand{\~}{Ι}{\accperispomeni Ι}
+ \DeclareUnicodeCompositeCommand{\~}{Υ}{\accperispomeni Υ}
+ \DeclareUnicodeCompositeCommand{\~}{Ω}{\accperispomeni Ω}
+}
+
+
% Letterlike Symbols
% ~~~~~~~~~~~~~~~~~~
% ::
@@ -582,45 +367,61 @@
%
% Greek letters drop diacritics (eccept dialytika and sub-iota) in UPPERCASE.
%
-% Babel-Greek indroduces macros for "capital accents" in 1.13.3.
+% Babel-Greek introduces macros for "capital accents" in release 1.13.3.
% Here, we add definitions to drop diacritics in uppercase::
-\providecommand\IfFormatAtLeastTF{\@ifl at t@r\fmtversion} % new in 2020
-\IfFormatAtLeastTF{2022/06/01}{
- \DeclareTextCompositeCommand{\accACUTE}{TU}{\textAlpha }{\LGR at A@hiatus}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{\textEpsilon}{\LGR at E@hiatus}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{\textEta }{Η}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{\textIota }{Ι}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{\textOmicron}{Ο}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{\textUpsilon}{Υ}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{\textOmega }{Ω}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{Α}{\LGR at A@hiatus}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{Ε}{\LGR at E@hiatus}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{Η}{Η}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{Ι}{Ι}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{Ο}{Ο}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{Υ}{Υ}
- \DeclareTextCompositeCommand{\accACUTE}{TU}{Ω}{Ω}
+\DeclareUnicodeCompositeCommand{\accACUTE}{\textAlpha }{\LGR at A@hiatus}
+\DeclareUnicodeCompositeCommand{\accACUTE}{\textEpsilon}{\LGR at E@hiatus}
+\DeclareUnicodeComposite{\accACUTE}{\textEta }{"0397} % Η
+\DeclareUnicodeComposite{\accACUTE}{\textIota }{"0399} % Ι
+\DeclareUnicodeComposite{\accACUTE}{\textOmicron}{"039F} % Ο
+\DeclareUnicodeComposite{\accACUTE}{\textUpsilon}{"03A5} % Υ
+\DeclareUnicodeComposite{\accACUTE}{\textOmega }{"03A9} % Ω
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textAlpha }{Α}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textEpsilon}{Ε}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textEta }{Η}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textIota }{Ι}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textOmicron}{Ο}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textUpsilon}{Υ}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{\textOmega }{Ω}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{Α}{Α}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ε}{Ε}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{Η}{Η}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ι}{Ι}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ο}{Ο}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{Υ}{Υ}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ω}{Ω}
- \DeclareTextCompositeCommand{\accGRAVE}{TU}{Ω}{Ω}
+\DeclareUnicodeComposite{\accGRAVE}{\textAlpha }{"0391} % Α
+\DeclareUnicodeComposite{\accGRAVE}{\textEpsilon}{"0395} % Ε
+\DeclareUnicodeComposite{\accGRAVE}{\textEta }{"0397} % Η
+\DeclareUnicodeComposite{\accGRAVE}{\textIota }{"0399} % Ι
+\DeclareUnicodeComposite{\accGRAVE}{\textOmicron}{"039F} % Ο
+\DeclareUnicodeComposite{\accGRAVE}{\textUpsilon}{"03A5} % Υ
+\DeclareUnicodeComposite{\accGRAVE}{\textOmega }{"03A9} % Ω
- \DeclareTextCompositeCommand{\LGR at hiatus}{TU}{Α}{\LGR at A@hiatus}
- \DeclareTextCompositeCommand{\LGR at hiatus}{TU}{Ε}{\LGR at E@hiatus}
+\DeclareUnicodeComposite{\accTILDE}{\textAlpha }{"0391} % Α
+\DeclareUnicodeComposite{\accTILDE}{\textEta }{"0397} % Η
+\DeclareUnicodeComposite{\accTILDE}{\textIota }{"0399} % Ι
+\DeclareUnicodeComposite{\accTILDE}{\textUpsilon}{"03A5} % Υ
+\DeclareUnicodeComposite{\accTILDE}{\textOmega }{"03A9} % Ω
+% Repeat with literal Unicode as base character
+% (fails in LuaTeX's 8-bit compatibility mode)::
+
+\@ifl at aded{sty}{luainputenc}{}{% else
+ \DeclareUnicodeCompositeCommand{\accACUTE}{Α}{\LGR at A@hiatus}
+ \DeclareUnicodeCompositeCommand{\accACUTE}{Ε}{\LGR at E@hiatus}
+ \DeclareUnicodeComposite{\accACUTE}{Η}{"0397} % Η
+ \DeclareUnicodeComposite{\accACUTE}{Ι}{"0399} % Ι
+ \DeclareUnicodeComposite{\accACUTE}{Ο}{"039F} % Ο
+ \DeclareUnicodeComposite{\accACUTE}{Υ}{"03A5} % Υ
+ \DeclareUnicodeComposite{\accACUTE}{Ω}{"03A9} % Ω
+
+ \DeclareUnicodeComposite{\accGRAVE}{Α}{"0391} % Α
+ \DeclareUnicodeComposite{\accGRAVE}{Ε}{"0395} % Ε
+ \DeclareUnicodeComposite{\accGRAVE}{Η}{"0397} % Η
+ \DeclareUnicodeComposite{\accGRAVE}{Ι}{"0399} % Ι
+ \DeclareUnicodeComposite{\accGRAVE}{Ο}{"039F} % Ο
+ \DeclareUnicodeComposite{\accGRAVE}{Υ}{"03A5} % Υ
+ \DeclareUnicodeComposite{\accGRAVE}{Ω}{"03A9} % Ω
+
+ \DeclareUnicodeComposite{\accTILDE}{Α}{"0391} % Α
+ \DeclareUnicodeComposite{\accTILDE}{Η}{"0397} % Η
+ \DeclareUnicodeComposite{\accTILDE}{Ι}{"0399} % Ι
+ \DeclareUnicodeComposite{\accTILDE}{Υ}{"03A5} % Υ
+ \DeclareUnicodeComposite{\accTILDE}{Ω}{"03A9} % Ω
+
+ \DeclareUnicodeCompositeCommand{\LGR at hiatus}{Α}{\LGR at A@hiatus}
+ \DeclareUnicodeCompositeCommand{\LGR at hiatus}{Ε}{\LGR at E@hiatus}
+}
+
% The new (2022) implementation of ``\MakeUppercase`` drops accents from
% literal Unicode input (if the text language is set to Greek with Babel).
%
@@ -628,6 +429,8 @@
% ``\lccode`` and ``\uccode`` corrections from the xgreek_ package by
% Apostolos Syropoulos::
+\providecommand\IfFormatAtLeastTF{\@ifl at t@r\fmtversion} % new in 2020
+\IfFormatAtLeastTF{2022/06/01}{
}{% else
\global\lccode"0370="0371 \global\uccode"0370="0370
\global\lccode"0371="0371 \global\uccode"0371="0370
@@ -1013,6 +816,10 @@
% 2.2.1 2023-03-08 Documentation update.
% 2.4 2023-08-15 Fix behaviour of composite diacritics.
% .. Composite commands for "captital" macros.
+% 2.5 2023-09-12 Drop composite definitions duplicating the Unicode
+% NFC transformation.
+% .. Skip definitions requiring literal UTF8 chars in
+% LuaTeX's 8-bit compatibility mode.
% ====== =========== ========================================================
%
%
@@ -1027,6 +834,7 @@
% .. _grnumalt: https://ctan.org/pkg/grnumalt
% .. _inputenc: https://ctan.org/pkg/inputenc
% .. _textalpha: textalpha.sty.html
+% .. _uninormalize: https://ctan.org/pkg/uninormalize
% .. _xgreek: https://ctan.org/pkg/xgreek
% .. _xunicode: https://ctan.org/pkg/xunicode
%
More information about the tex-live-commits
mailing list.