summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/lgrx/alphabeta-test.tex
blob: 2595de334ca96684b58458dd1a394fff76356921 (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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
\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" in
both, text and math. 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:

Text: L \Lambda{} l \lambda, math: $ L \ \Lambda \ l \ \lambda $,
emphasized: \emph{L \Lambda{} l \lambda}

\section{Greek alphabet}

Greek letters via Latin transscription in LGR font encoding:

\begin{quotation}
  \TextGreek{A B G D E Z H J I K L M N X O P R S T U F Q Y W}\\
  \TextGreek{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{quotation}

Greek letters via default macros in LGR font encoding:

\begin{quotation} \TextGreek{
  \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{quotation}

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

\begin{quotation}
  \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{quotation}


Greek letters in math (with ``fixmath") (there are no math macros for Greek
letters wich exist with similar shape in the Latin alphabet):

\[
  % \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{}
\]

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 an upright pi symbol like
$A = \text{\pi} r^2$ instead of $A = \pi r^2$.

\section{
  \TextGreek{\<\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+\TextGreek+ 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{Limitations}

\subsection{Kerning}

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

\subsection{Diacritics}

In LGR encoding, shortcuts as well as named macros are set up for use with
the Latin transcription.

Composition of diacritics (like \verb+\Dasia\Tonos+) fails in other
font encodings. Long names (like \verb+\DasiaOxia+) 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):
%
\TextGreek{\<'\alpha{} \Dasia\Tonos\alpha{} \DasiaOxia\alpha{}} \\
\DasiaOxia\alpha

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

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

However, this does not work with the generic macros (yet), as there are no
TextCompositeCommand declarations for them in lgrxenc.def.
TODO: add them in alphabeta.sty.

No kerning: (\TextGreek{ΑΥΑ} vs. ΑΥΑ), misplaced multiple (\TextGreek{ἅ} vs.
ἅ) or Titlecase accents (\TextGreek{Ά Έ Ή Ί} vs. Ά Έ Ή Ί) and strange effects
with MakeUppercase:

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

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

The Unicode definitions in lgrenc.dfu use this to fix the handling of
diacritics in pre-composed accented Unicode literals (see greek-unicode.pdf).

\end{document}