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
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
|
greek-fontenc
#############
Greek font encoding definition files
************************************
:Author: Günter Milde
:Date: 2014-12-25
:Copyright: © 2013 Günter Milde <milde@users.sf.net>
: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.
:Abstract: `LaTeX internal character representation` (LICR) macros are a
verbose but failsafe 7-bit ASCII encoding that works unaltered
under both, 8-bit TeX and XeTeX/LuaTeX. Use cases are macro
definitions and generated text
This package provides `Greek LICR macros`_ and encoding
definition files for `Greek text font encodings`_ for use with
fontenc_ (8-bit TeX) or fontspec_ (XeTeX/LuaTeX).
Included are also the LaTeX packages textalpha_ and alphabeta_.
.. note:: The LICR macro names for Greek symbols are chosen pending
endorsement by the TeX community and related packages.
Names for archaic characters, accents/diacritics, and
punctuation may change in future versions.
News
====
.. class:: borderless
====== =========== ==========================================================
0.9 2013-07-03 greek-fontenc.def_ "outsourced" from lgrxenc.def
.. experimental files xunicode-greek.sty and
greek-euenc.def_: LICRs for XeTeX/LuaTeX.
0.9.1 2013-07-18 Bugfix: wrong breathings psilioxia -> dasiaoxia.
0.9.2 2013-07-19 Bugfix: Disable composite defs starting with char macro,
.. fix "hiatus" handling.
0.9.3 2013-07-24 Fix "input" path in xunicode-greek and greek-euenc.def.
0.9.4 2013-09-10 greek-fontenc.sty: Greek text font encoding setup package,
.. remove xunicode-greek.sty.
0.10 2013-09-13 textalpha.sty_ and alphabeta.sty_ moved here from lgrx and
updated to work with XeTeX/LuaTeX.
.. greek-fontenc.sty removed (obsoleted by textalpha.sty).
0.10.1 2013-10-01 Bugfix in greek-euenc.def_ and alphabeta-euenc.def_.
0.11 2013-11-28 Compatibility with Xe/LuaTeX in 8-bit mode,
.. ``\greekscript`` TextCommand.
0.11.1 2013-12-01 Fix identification of ``greek-euenc.def``.
0.11.2 2014-09-04 Documentation update, remove duplicate code.
0.12 2014-12-25 Fix auxiliary macro names in `textalpha`.
.. Conservative naming: move definition of ``\<`` and ``\>``
from ``greek-fontenc.def`` to ``textalpha.sty``
(Bugreport David Kastrup).
Documentation update.
0.13 2015-09-04 Support for `symbol variants`_,
.. ``keep-semicolon`` option in textalpha_,
.. ``\lccode``/``\uccode`` corrections for Unicode
(from Apostolos Syropoulos’ xgreek_) in greek-euenc_,
.. Do not convert ``\ypogegrammeni`` to ``\prosgegrammeni``
with ``\MakeUppercase``.
0.13.1 2015-12-07 Fix `rho with dasia bug`__ in lgrenc.def (Linus Romer).
0.13.2 2016-02-05 Support for standard Unicode text font encoding "TU"
(new in fontspec v2.5a).
====== =========== ==========================================================
__ http://tex.stackexchange.com/questions/281631/greek-small-rho-with-dasia-and-also-psili-problem-with-accent-and-lgr-encodin
TeX files
=========
`<greek-fontenc.def>`_
`Common Greek font encoding definitions <greek-fontenc.def.html>`_.
.. _LGR font encoding definition file:
`<lgrenc.def>`_
`LGR Greek font encoding definitions <lgrenc.def.html>`_.
This file is the successor of the basic LGR encoding definition file which
comes with babel_'s Greek support and of ``lgrxenc.def`` from the now
obsolete lgrx_ bundle.
.. _textalpha:
`<textalpha.sty>`_
`Greek symbols in text <textalpha.sty.html>`_
independent of font encoding and TeX engine.
.. _alphabeta:
`<alphabeta.sty>`_
Generic macros for `Greek symbols in text and math <alphabeta.sty.html>`_.
`<alphabeta-euenc.def>`_
`Composite definitions with XeTeX/LuaTeX. <alphabeta-euenc.def.html>`_.
.. _greek-euenc:
`<greek-euenc.def>`_
`Font setup for Greek with XeTeX/LuaTeX <greek-euenc.def.html>`_.
Requires euenc_.
Literate source files were converted with PyLit_ to reStructuredText_ and
with Docutils_ to the HTML documentation.
Documentation and test documents
================================
`<textalpha-doc.tex>`__, `<textalpha-doc.pdf>`_
`The textalpha package`.
`<alphabeta-doc.tex>`__ `<alphabeta-doc.pdf>`_
`The alphabeta package`.
`<lgrenc-test.tex>`_, `<lgrenc-test.pdf>`_
Test and usage example.
`<greek-euenc-doc.tex>`_, `<greek-euenc-doc.pdf>`_
Example for use of the Greek LICR definitions with XeTeX or
LuaTeX.
`<greekhyperref.tex>`_, `<greekhyperref.pdf>`_
`Greek script in PDF metadata`.
The package hyperref_ defines the PU font encoding which also supports
(monotonic) Greek.
Experimental files
==================
These files are still in development and will eventually be moved to/merged
with other packages or removed in future versions:
`<lgr2licr.lua>`_
`LGR Transcription to Greek LICR transformation <lgr2licr.lua.html>`_
Installation
============
If possible, get this package from your distribution using its installation
manager.
Otherwise, make sure LaTeX can find the package and definition files:
* Download and unpack greek-fontenc.zip_.
* Copy/Move/Link files ending in ``.def`` or ``.sty`` to a suitable place in
the “TeX Directory Structure” (TDS_) and run ``texhash``, or place them in
the current working directory (e.g. for testing).
Usage
=====
There are many alternatives to use the Greek font encoding setup
provided by this package, e.g.:
* Ensure support for Greek characters in text mode with textalpha_ ::
\usepackage{textalpha}
eventually with the normalize-symbols_ option to handle `symbol
variants`_ ::
\usepackage[normalize-symbols]{textalpha}
and/or the keep-semicolon_ option to use the `semicolon as erotimatiko`_
also in LGR ::
\usepackage[normalize-symbols,keep-semicolon]{textalpha}
This sets up LICR macros for Greek text charactes under both, 8-bit TeX
and Xe-/LuaTeX.
For details see `<textalpha-doc.tex>`_ and `<textalpha-doc.pdf>`_ (8-bit
TeX) as well as `<greek-euenc-doc.tex>`_ and `<greek-euenc-doc.pdf>`_
(XeTeX/LuaTeX).
.. _normalize-symbols: textalpha.sty.html#normalize-symbols
.. _keep-semicolon: textalpha.sty.html#keep-semicolon
.. _semicolon as erotimatiko: textalpha.sty.html#semicolon-as-erotimatiko
* To use the short macro names (``\alpha`` ... ``\Omega``) known from math
mode in both, text and math mode, write ::
\usepackage{alphabeta}
For details see `<alphabeta-doc.tex>`_ and `<alphabeta-doc.pdf>`_.
* Use the ``greek`` option with Babel_::
\usepackage[greek]{babel}
This automatically loads ``lgrenc.def`` with 8-bit TeX and
``greek-euenc.def`` with XeTeX/LuaTeX and provides localized auto-strings,
hyphenation and other localizations (see babel-greek_).
Babel can be used together with textalpha_ or alphabeta_.
* Declare LGR via fontenc_. For example, specify T1 (8-bit
Latin) as default font encoding and LGR for Greek with ::
\usepackage[LGR,T1]{fontenc}
Note that without textalpha_ or alphabeta_, Greek text macros work
only if the current font encoding supports Greek. See [fntguide]_ for
details and `<lgrenc-test.tex>`_ for an example.
* 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_ or alphabeta_, e.g. ::
\usepackage[LGR]{fontenc}
\usepackage{fontspec}
\setmainfont{Linux Libertine O} % Latin Modern does not support Greek
\setsansfont{Linux Biolinum O}
\usepackage{textalpha}
See `<greek-euenc-doc.tex>`_, `<greek-euenc-doc.pdf>`_ and
`<lgrenc-test.tex>`_, `<lgrenc-test.pdf>`_.
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 EU1_ , EU2_ and PU (hyperref_).
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
encoding definition file`_.
Fonts in this encoding include the `CB fonts`_ (matching CM),
grtimes_ (Greek Times), Kerkis_ (matching URW Bookman), and the `GFS font
collection`_. Setup of these fonts as Greek variant to matching Latin fonts
is facilitated by the substitutefont_ package.
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 [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).
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).
EU1
---
Unicode font encoding set up by euenc_ for XeTeX and indirectly loaded by
fontspec_. `greek-fontenc` adds support for the Greek script (see
greek-euenc_).
EU2
---
Unicode font encoding set up by euenc_ for XeTeX and indirectly loaded by
fontspec_. `greek-fontenc` adds support for the Greek script (see
greek-euenc_).
Greek LICR macros
=================
This package provides LaTeX internal character representations (LICR macros)
for Greek letters and diacritics. Macro names were selected based on the
following considerations:
letters and symbols
-------------------
* The fntguide_ (section 6.4 Naming conventions) recommends:
Where possible, text symbols should be named as ``\text`` followed
by the **Adobe glyph name**: for example ``\textonequarter`` or
``\textsterling``. Similarly, math symbols should be named as
``\math`` followed by the glyph name, for example
``\mathonequarter`` or ``\mathsterling``.
Problem:
The `Adobe Glyph List For New Fonts`_ has names for many glyphs in the
`Greek and Coptic` Unicode block, but not for `Greek extended`. The
`Adobe Glyph List`_ (for existing fonts) lists additional glyph names
used in older fonts. However, these are not intended for active use.
* If there exists a **math-mode macro** for a symbol, the corresponding text
macro could be formed by prepending ``text``.
Example:
The glyph name for the GREEK SMALL LETTER FINAL SIGMA is ``sigma1``,
the corresponding math-macro is ``\varsigma``. The text symbol is
made available as ``\textvarsigma``.
Problem:
The math macros for the `symbol variants`_ ``\varepsilon`` and
``\varphi`` map to characters named "GREEK SMALL *LETTER* ...", while
``\vartheta``, ``\varkappa``, ``\varrho``, and ``\varpi`` map to "GREEK
... *SYMBOL*" Unicode characters. (See also section 5.5.3 of the
unicode-math_ documentation.)
* 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
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:
* drop "LETTER" if the name remains unique,
* drop "GREEK" if the name remains unique,
* use capitalized name for capital letters, lowercase for "SMALL" letters
and drop "SMALL",
* concatenate
* Omit the "text" prefix for macros that do not have a math counterpart?
Pro:
+ Simpler,
+ ease of use (less typing, better readability of source text),
+ many established text macro names without "text",
+ ``text`` prefix does **not** mark a macro as encoding-specific or
"inserting a glyph". There are e.g. font-changing macros (``\textbf``,
``\textit``) and encoding-changing macros (``\textgreek``,
``\textcyr``).
+ There are examples of encoding-specific macros
without the ``text``-prefix, especially for letters, see encguide_.
Contra:
- Less consistent,
- possible name clashes
- ``text`` prefix marks a macro as confined to text (as opposed to math)
mode,
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_)
accent macros
-------------
* standard accent macros (``\DeclareTextAccent`` definitions in
``latex/base/...``) are one-symbol macros (``\' \" ... \u \v ...``) .
* ``tipa.sty``, xunicode_, and ucs_ use the "text" prefix also for accents.
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
characters.
* textcomp (ts1enc.def) defines ``\capital...`` accents (i.e. without
``text`` prefix).
Currently, `greek-fontenc` uses for diacritics:
- Greek names like in Unicode, and ``ucsencs.def``, and
- the prefix ``\acc`` to distinguish the macros as `TextAaccent` and reduce
the risc of name clashes (cf. ``\@tabacckludge``).
For the end-user "symbol macros" (``\~ \' \` \" \< \> \"' ...``) are
provided. (The non-standard macros ``\<`` and ``\>`` only with
textalpha_ or alphabeta_.)
symbol variants
---------------
See also http://en.wikipedia.org/wiki/Greek_alphabet#Glyph_variants
Mathematical notation distinguishes variant shapes for beta (β|ϐ), theta
(θ|ϑ), phi (φ|ϕ), pi (π|ϖ), kappa (κ|ϰ), rho (ρ|ϱ), Theta (Θ|ϴ), and epsilon
(ε|ϵ). The variations have no syntactic meaning in Greek text and Greek
text fonts use the shape variants indiscriminately.
Unicode defines separate code points for the symbol variants for use in
mathematical context. However, they are sometimes also used in place of the
corresponding letter characters in Unicode-encoded text.
The variant shapes are not given separate code-points in the LGR_ font
encoding.
In mathematical mode, TeX supports the distinction between θ|ϑ, π|ϖ, φ|ϕ,
ρ|ϱ, and ε|ϵ with ``\var<lettername>`` macros. However, the mapping of
letter/symbol in Unicode to "normal"/variant in TeX is inconsistent
and variant macros for ϴ ϐ, and ϰ are not available without additional
packages (e.g. amssymb_ provides ϰ as ``\varkappa``).
`greek-fontenc` provides ``\text<lettername>symbol`` LICR macros for these
characters:
* With Unicode fonts, the macros select the GREEK
<lettername> SYMBOL``.
* With LGR encoded fonts, they report an error by default and are mapped to
the corresponding letter with the ``normalize-symbols`` option of
textalpha_ and alphabeta_ (loosing the distinction between the shape
variants).
References
----------
An alternative, more complete set of short mnemonic character names is
the `XML Entity Definitions for Characters`_ W3C Recommendation from
01 April 2010.
For glyph names of the LGR encoding see, e.g., ``CB.enc`` by Apostolos
Syropoulos and ``xl-lgr.enc`` from the libertine_ (legacy) package.
``lgr.cmap`` provides a mapping to Unicode characters.
A full set of ``\text*`` symbol macros is defined in ``ucsencs.def``
from the ucs_ package.
Aliases from ``puenc.def`` ensure that the hyperref_ package can convert
Greek text in "LICR encoding" to a PDF-string (utf-8 encoded input is used
as-is).
.. [fntguide] LaTeX3 Project Team, `LaTeX2ε font selection`, 2005.
http://mirror.ctan.org/macros/latex/doc/fntguide.pdf
.. [encguide] Frank Mittelbach, Robin Fairbairns, Werner Lemberg,
LaTeX3 Project Team, `LaTeX font encodings`, 2006.
http://mirror.ctan.org/macros/latex/doc/encguide.pdf
.. [greek-usage] Apostolos Syropoulos, `Writing Greek with the greek option
of the babel package`, 1997.
http://www.tug.org/texlive/Contents/live/texmf-dist/doc/generic/babel/greek-usage.pdf
.. [cbfonts] Claudio Beccari, `The CB Greek fonts`, Εὔτυπον, τεῦχος № 21, 2008.
http://www.eutypon.gr/eutypon/pdf/e2008-21/e21-a01.pdf
.. [teubner-doc] Claudio Beccari, ``teubner.sty``
`An extension to the greek option of the babel package`, 2011.
http://mirror.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf
.. [babel-patch] Werner Lemberg, `Unicode support for the Greek LGR
encoding` Εὔτυπον, τεῦχος № 20, 2008.
http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf
.. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt
.. _PyLit: http://pypi.python.org/pypi/pylit
.. _reStructuredText: http://docutils.sourceforge.net/rst.html
.. _Docutils: http://docutils.sourceforge.net/rst.html
.. _TDS: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds
.. _Adobe Glyph List For New Fonts:
http://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/aglfn.txt
.. _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
.. _XML Entity Definitions for Characters:
http://www.w3.org/TR/xml-entity-names/
.. _CB Fonts: http://www.ctan.org/pkg/cbgreek-complete
.. _GFS font collection: http://www.ctan.org/pkg/gfs
.. _Kerkis: http://www.ctan.org/pkg/kerkis
.. _amssymb: http://www.ctan.org/pkg/amsfonts
.. _babel: http://www.ctan.org/pkg/babel
.. _babel-greek: http://www.ctan.org/pkg/babel-greek
.. _euenc: http://www.ctan.org/pkg/euenc
.. _fontenc: http://www.ctan.org/pkg/fontenc
.. _fontspec: http://www.ctan.org/pkg/fontspec
.. _greek-fontenc.zip: http://mirrors.ctan.org/language/greek/greek-fontenc.zip
.. _grtimes: http://www.ctan.org/pkg/grtimes
.. _hyperref: http://www.ctan.org/pkg/hyperref
.. _ibycus-babel: http://www.ctan.org/pkg/ibycus-babel
.. _ibygrk: http://www.ctan.org/pkg/ibygrk
.. _lgrx: http://www.ctan.org/pkg/lgrx
.. _libertine: http://www.ctan.org/pkg/libertine-legacy
.. _substitutefont: http://www.ctan.org/pkg/substitutefont
.. _teubner: http://www.ctan.org/pkg/teubner
.. _unicode-math: http://www.ctan.org/pkg/unicode-math
.. _ucs: http://www.ctan.org/pkg/unicode
.. _xgreek: http://www.ctan.org/pkg/xgreek
.. _xunicode: http://www.ctan.org/pkg/xunicode
|