summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/greek-fontenc/greekhyperref.tex
blob: c15d8df5b7757eecd3d5cf1a2853e1ed73405a69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
\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{greek-fontenc} package allows input of Greek characters in a way
that ``reaches TeX's stomach'' and hence works in both, the main document as
well as in PDF strings (e.g. bookmarks). Hyperref's ``puenc.def`` font
encoding file defines LICR macros for monotonic Greek (Greek characters of
the ``Greek and Coptic'' unicode block).

All utf8-encoded literal Unicode characters work in PDF strings. With
\emph{greek-fontenc} and \emph{greek-inputenc}, this enables use of all
Greek character in text and PDF strings.

\section{Transcription: \ensuregreek{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.

Works, if the ``unicode'' or ``pdfencoding=auto'' option is given to hyperref.
(With the ``xpdf'' viewer, Greek letters are not shown in PDF bookmarks.)

The generic short macros from the \emph{alphabeta} package result in
hyperref warnings. See ``alphabeta-doc.tex`` and ``alphabeta-doc.pdf``
from the `lgrx` package for details an workarounds.


\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{}
  	   \ensuregreek{\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+\ensuregreek{...}+ (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{Literal Unicode input}
The following subsection headings contain all characters from the ``Greek
and Coptic'' and ``Greek Extended'' Unicode Blocks that are supported by the
LGR font encoding as literal Unicode characters.
\subsection{\GreekAndCoptic}
\subsection{\greekandcoptic}
\subsection{ἀἁἂἃἄἅἆἇἈἉἊἋἌἍἎἏ ἐἑἒἓἔἕἘἙἚἛἜἝ}
\subsection{ἠἡἢἣἤἥἦἧἨἩἪἫἬἭἮἯ ἰἱἲἳἴἵἶἷἸἹἺἻἼἽἾἿ}
\subsection{ὀὁὂὃὄὅὈὉὊὋὌὍ ὐὑὒὓὔὕὖὗὙὛὝὟ}
\subsection{ὠὡὢὣὤὥὦὧὨὩὪὫὬὭὮὯ ὰάὲέὴήὶίὸόὺύὼώ}
\subsection{ᾀᾁᾂᾃᾄᾅᾆᾇᾈᾉᾊᾋᾌᾍᾎᾏ ᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾞᾟ}
\subsection{ᾠᾡᾢᾣᾤᾥᾦᾧᾨᾩᾪᾫᾬᾭᾮᾯ ᾰᾱᾲᾳᾴᾶᾷᾸᾹᾺΆᾼ᾽ι᾿}
\subsection{῀῁ῂῃῄῆῇῈΈῊΉῌ῍῎῏ ῐῑῒΐῖῗῘῙῚΊ῝῞῟}
\subsection{ῠῡῢΰῤῥῦῧῨῩῪΎῬ῭΅` ῲῳῴῶῷῸΌῺΏῼ´῾}

\section{non-standard and combined diacritics: 
  \ensuregreek{\>\textalpha \'"\textalpha}}

Currently, there is no hyperref support for LICR input with non-standard
accents or combined diacritics characters. Input as literal precomposed
Unicode character works fine.

\section{Makeuppercase}

According to Greek typesetting conventions,
diacritics (except the dialytika) are dropped in ALL CAPS.

However, \verb|\Makeuppercase| is not supported in PDF-strings, so we
do not need to care for this.

\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 pre-composed Unicode characters. (Combining Unicode characters
do not work with inputenc and 8-bit LaTeX. This is a general restriction.)

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

\end{document}