\documentclass{article}
\usepackage{fixltx2e} % LaTeX patches, \textsubscript
\usepackage{cmap} % fix search and cut-and-paste in Acrobat
\usepackage[LGR,T1]{fontenc}
\usepackage{lmodern}

\usepackage[greek,english]{babel}
\usepackage{alphabeta}
\usepackage[utf8]{inputenc}

\usepackage[unicode,colorlinks=true,linkcolor=blue]{hyperref}
\usepackage{bookmark}

% \pagestyle{headings}

\begin{document}

\title{Greek and hyperref}
\maketitle

\noindent
On 2010-11-05, Heiko Oberdiek wrote in comp.text.tex:
%
\begin{quote}
   \textbackslash 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
   don't reach TeX's stomach.
\end{quote}
%
The \emph{lgrx} bundle allows input of Greek characters that work in both,
the main document as well as in PDF strings (e.g. bookmarks).


\section{Transcription: \TextGreek{logos}, \foreignlanguage{greek}{logos}}

\textbackslash{}textgreek + LGR transcription or
Greek language (babel) + LGR transcription:
In the PDF-bookmark are Latin letters instead of Greek ones.


\section{Macros:
	    \textlambda\textomicron\textgamma\textomicron\textvarsigma{},
            \lambda\omicron\gamma\omicron\varsigma{},
	    λογος}

textalpha package with \textbackslash{}textgreek* macros,
alphabeta package with \textbackslash{}alpha ... \textbackslash{}Omega macros,
and literal Greek Unicode characters (using \textbackslash{}textgreek*
macros internally).

Works, if the "unicode" option is given to hyperref.
(With xpdf, Greek letters are not shown in PDF bookmarks.)

The generic short macros from the \emph{alphabeta} package result in
hyperref warnings:
\begin{verbatim}
  Package hyperref Warning: Token not allowed in a PDF string (Unicode):
  (hyperref)                removing `\TextOrMath ' on input line 44.

  Package hyperref Warning: Token not allowed in a PDF string (Unicode):
  (hyperref)                removing `\mathlambda' on input line 44.
\end{verbatim}
However, the warnings can be ignored and the output is OK.

\section{LGR + Macros: \foreignlanguage{greek}{
  \textlambda\textomicron\textgamma\textomicron\textvarsigma{}}}
  
LICR-macro input works also if the font encoding is LGR.

\section{%
  Kerning: \textAlpha\textUpsilon\textLambda{}
  	   \TextGreek{\textAlpha\textUpsilon\textLambda}
  	   \foreignlanguage{greek}{\textAlpha\textUpsilon\textLambda}%
}

Kerning is impossible if the font encoding is switched for every single
character. Wrap the Greek part in a command switching to LGR font encoding
to fix this, either \verb+\TextGreek{...}+ (with package textalpha) or
\verb+\foreignlanguage{greek}{...}+ (with babel).

% letters of the Greek and Coptic Unicode Block supported by LGR:
\newcommand{\GreekAndCoptic}{ʹ͵ͺ; ΄ ΅ Ά·ΈΉΊΌΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΪΫϘϚϜϠ}
\newcommand{\greekandcoptic}{άέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώϙϛϝϟϡ}

\section{Supported Unicode chars}
\subsection{\GreekAndCoptic}
\subsection{\greekandcoptic}
\subsection{ἀἁἂἃἄἅἆἇἈἉἊἋἌἍἎἏ ἐἑἒἓἔἕἘἙἚἛἜἝ}
\subsection{ἠἡἢἣἤἥἦἧἨἩἪἫἬἭἮἯ ἰἱἲἳἴἵἶἷἸἹἺἻἼἽἾἿ}
\subsection{ὀὁὂὃὄὅὈὉὊὋὌὍ ὐὑὒὓὔὕὖὗὙὛὝὟ}
\subsection{ὠὡὢὣὤὥὦὧὨὩὪὫὬὭὮὯ ὰάὲέὴήὶίὸόὺύὼώ}
\subsection{ᾀᾁᾂᾃᾄᾅᾆᾇᾈᾉᾊᾋᾌᾍᾎᾏ ᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾞᾟ}
\subsection{ᾠᾡᾢᾣᾤᾥᾦᾧᾨᾩᾪᾫᾬᾭᾮᾯ ᾰᾱᾲᾳᾴᾶᾷᾸᾹᾺΆᾼ᾽ι᾿}
\subsection{῀῁ῂῃῄῆῇῈΈῊΉῌ῍῎῏ ῐῑῒΐῖῗῘῙῚΊ῝῞῟}
\subsection{ῠῡῢΰῤῥῦῧῨῩῪΎῬ῭΅` ῲῳῴῶῷῸΌῺΏῼ´῾}

\section{non-standard and multi-accents: \TextGreek{\>a \'"a}}

Currently, there is no hyperref support for LICR input with non-standard
accents or multi-accented characters.

\section{Conclusion}

For Greek text parts in section headers use either literal Unicode
characters or macros. For multi-accented letters or non-standard accents,
use literal Unicode chars.

For proper kerning in the main document, combine this with the
\verb+\textgreek+ or \verb+\foreignlanguage{greek}+ macros.

\end{document}
