\documentclass{article}
\usepackage{cmap} % fix search and cut-and-paste in PDF
\usepackage{parskip}
\usepackage{textcomp}
\usepackage{amsmath}
\usepackage{fixmath}
\usepackage{lmodern}
% \usepackage{gfsdidot}
% \usepackage{kerkis}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[colorlinks=true,linkcolor=blue,urlcolor=blue]{hyperref}
\hypersetup{unicode=true}
\usepackage{bookmark}
% No section numbers but PDF bookmarks for sections
\setcounter{secnumdepth}{0}

% load alphabeta after math setup and encoding setup!
\usepackage{alphabeta}

\begin{document}

\section{Test the \emph{alphabeta} package}

With the \emph{alphabeta} package, you can write Greek letters ``by name''
or as literal Unicode character in both, ``text'' and ``math'' mode. The
mode determines whether the letters are taken from the text or math font.
Just like Latin letters, the Greek counterparts are by default italic in
math (capital letters upright without \emph{fixmath} or \emph{isomath}) and
upright in text:

\begin{quote}
  Text: L \Lambda{} l \lambda, 
  emphasized text: \emph{L \Lambda{} l \lambda},
  math: $ L \ \Lambda \ l \ \lambda $
\end{quote}

So you can easily write a single Greek symbol (like \Psi{} or \mu{})
or \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$.

\section{Greek alphabet}

Greek letters via Latin transscription in LGR font encoding:

\begin{quote}
  \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}\\
  \ensuregreek{a b g d e z h j i k l m n x o p r s c t u f q y w}
\end{quote}

Greek letters via default macros in LGR font encoding:

\begin{quote} \ensuregreek{
  \Alpha{} \Beta{} \Gamma{} \Delta{} \Epsilon{} \Zeta{} \Eta{} \Theta{}
  \Iota{} \Kappa{} \Lambda{} \Mu{} \Nu{} \Xi{} \Omicron{} \Pi{} \Rho{}
  \Sigma{} \Tau{} \Upsilon{} \Phi{} \Chi{} \Psi{} \Omega{}
  \\
  \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{}
  }
\end{quote}

Greek letters via default macros in other font encoding (here T1):

\begin{quote}
  \Alpha{} \Beta{} \Gamma{} \Delta{} \Epsilon{} \Zeta{} \Eta{} \Theta{}
  \Iota{} \Kappa{} \Lambda{} \Mu{} \Nu{} \Xi{} \Omicron{} \Pi{} \Rho{}
  \Sigma{} \Tau{} \Upsilon{} \Phi{} \Chi{} \Psi{} \Omega{}
  \\
  \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{}
\end{quote}

Greek letters via Unicode input in T1 font encoding:

\begin{quote}
  ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ\\
  αβγδεζηθικλμνξοπρσςτυφχψω
\end{quote}

Greek letters in math (with ``fixmath"):
\begin{align*}
  &
  % \Alpha{} \Beta{}
  \Gamma{} \Delta{}
  % \Epsilon{} \Zeta{} \Eta{}
  \Theta{}
  % \Iota{} \Kappa{}
  \Lambda{}
  % \Mu{} \Nu{}
  \Xi{}
  % \Omicron{}
  \Pi{}
  % \Rho{}
  \Sigma{}
  % \Tau{}
  \Upsilon{} \Phi{}
  % \Chi{}
  \Psi{} \Omega{}
\\&
  \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{}
\end{align*}

There are no math macros for Greek letters wich exist with similar shape in
the Latin alphabet.
Unicode input in math mode is currently not supported:
\begin{align*} & Γ ΔΘΛΞΠΣΥ ΦΨ Ω \\
	       & αβγδεζηθικλμνξπρσςτ υφχψω 
\end{align*}

\section{
  \ensuregreek{\<\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).
As the hyperref packages "PU" encoding uses the \verb+\text...+ macros,
some diacritics are missing in the PDF data if the short macros are used
(dasia dropped at the start of the  heading in the PDF toc).

The generic macros result in warnings like
%
\begin{verbatim}
Package hyperref Warning: Token not allowed in a PDF string (Unicode):
(hyperref)                removing `\TextOrMath ' on input line 109.


Package hyperref Warning: Token not allowed in a PDF string (Unicode):
(hyperref)                removing `\mathlambda' on input line 109.
\end{verbatim}
%
that can savely be ignored.

\subsection{Greek in math $\sin^2\alpha$}

Ensure Greek in math continues to work in both text and PDF metadata:
$\Gamma = \frac{\sin\alpha}{\cos{\beta}}$.

\section{Diacritics}

Shortcuts as well as named macros are set up for use with
the Latin transcription.

Diacritics (except the dialytika) should placed
before capital letters and dropped with MakeUppercase:

\ensuregreek{
\<{\alpha} \>{\epsilon} \"'{\iota} \>`{\eta}
\'<{\omicron} \~<{\upsilon} \~>{\omega}
\\
\<{\Alpha} \>{\Epsilon} \"'{\Iota} \>`{\Eta}
\'<{\Omicron} \~<{\Upsilon} \~>{\Omega}
\\
\MakeUppercase{%
 \<{\alpha} \>{\epsilon} \"'{\iota} \>`\eta{}
 \'<{\omicron} \~<{\upsilon} \~>{\omega}
}}

\section{Limitations}

\begin{itemize}

\item Composition of diacritics (like \verb+\>\'+) fails in other font encodings:

      \<{\alpha} \>{\epsilon} \"'{\iota} \>`\eta{}
      \'<{\omicron} \~<{\upsilon} \~>{\omega}

\item Long names (like \verb+\accdasiaoxia+) work, 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{}}
      (LGR) vs. \accdasiaoxia\alpha{} (T1)

\item MakeUppercase fails with composite diacritics in other font encodings.
      % \MakeUppercase{%
      %  \<\alpha{} \>\epsilon{} \'\iota{} \`\eta{} \~\upsilon{}
      % }

\item There is no kerning between Greek letters, if the font encoding is not LGR:
      compare \ensuregreek{AUA} (LGR) to \Alpha\Upsilon\Alpha (T1). Because
      of this (and for proper hyphenation), use of the Babel package and
      correct language setting is recommended for Greek quotes.
      
\end{itemize}

The \verb+\ensuregreek+ TextCommandDefault ensures that the argument is
typeset with an LGR encoded font. This works with the Babel transscription
(\ensuregreek{logos}), keeps kerning (if the kerning pair is inside the
argument, \ensuregreek{\Alpha\Upsilon\Alpha}), and allows iterative accent
macros where pre-composed characters are selected
(\ensuregreek{\<'\alpha}).

The Unicode definitions in lgrenc.dfu use this to fix the handling of
diacritics in pre-composed accented Unicode literals so literal input of,
e.g., ἅ works in any font encoding (cf. greek-unicode.pdf).

\end{document}
