Directory tex-archive/macros/latex/contrib/lgrx
.. -*- rst-mode -*-
Greek text with the LGR font encoding
***************************************
:Copyright: © 2010 Günter Milde
: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: The LGR font encoding is the de-facto standard for Greek
typesetting with (8-bit) LaTeX. However, the encoding definition
file that ships with babel_ misses many of the definitions common
since the advent of the NFSS [fntguide]_.
The `lgrx` bundle provides packages and definitions for
typesetting Greek text with fonts in the LGR encoding. It works
for both, monotonic and polytonic Greek, independent of the
`babel` package.
The bundle is available from CTAN__ and included in
TeXLive 2012.
__ http://www.ctan.org/pkg/lgrx
.. Note::
The TeXLive 2012 pre-release contains the Unicode definition file
``lgrenc.dfu`` in the documentation instead of the TEXPATH. To enable
`utf-8 support for Greek`_, update via `tlmgr` or place a copy in the
TEXPATH «by hand».
See http://tug.org/pipermail/tex-live/2012-June/031757.html
.. contents::
Manifest
========
The lgrx bundle consists of the following LaTeX files:
LaTeX files:
:lgrxenc.def: comprehensive LGR encoding definition file
:lgrenc.dfu: support for Unicode input
:textalpha.sty: ``\text...`` macros for Greek letters in non-Greek text
:alphabeta.sty: Greek letters with ``\alpha``, ``\beta``, ... in text
and math
Literal sources:
`<lgrxenc.def.html>`_, `<lgrenc.dfu.html>`_,
`<textalpha.sty.html>`_, `<alphabeta.sty.html>`_
Documentation and test documents:
.. class:: run-in
:`<diacritics.pdf>`_: `Greek diacritics with standard accent macros`
source `<diacritics.tex>`__
:`<greekhyperref.pdf>`_: `Greek script in PDF metadata`,
source `<greekhyperref.tex>`__
:`<greek-unicode.pdf>`_: `Greek Unicode with lgrenc.dfu`,
source `<greek-unicode.tex>`__
:`<lgrxenc-test.pdf>`_: source `<lgrxenc-test.tex>`__
:`<textalpha-test.pdf>`_: source `<textalpha-test.tex>`__
:`<alphabeta-test.pdf>`_: source `<alphabeta-test.tex>`__
Motivation
==========
Greek font encodings
--------------------
Unicode
~~~~~~~
The Unicode standard allows fonts that comprise glyphs from (almost) all
known scripts. With the TeX engines XeTeX or LuaTeX, typesetting Greek with
LaTeX is as easy as finding a font that contains Greek letters and setting
it up with fontspec_. Beware, that you must not use the ``greek`` or
``polutonikogreek`` options of the babel_ package. The `babel` replacement
polyglossia_ provides Greek language support for XeLaTeX/LuaLaTeX.
If you go this way, you don't need the lgrx bundle.
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. 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 generates Greek characters via an ASCII
transliteration. This enables simple input with a Latin keyboard.
Characters with diacritics are selected by ligature definitions in the
font (see [greek-usage]_, [teubner-doc]_, [cbfonts]_).
A major drawback of this 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 explicite
language-switch is required. This problem can only be solved via a
font-encoding comprising Latin and Greek like the hypothetic T7_ or Unicode
(with XeTeX or LuaTeX).
\*OT7
~~~~~
The name LGR does not reflect status of this font encoding due to historical
reasons. [encguide]_ classifies encodings starting with `L` as "local".
Indeed, LGR started as a local encoding for the `CB fonts`_ by Claudio
Beccari. Later, Apostolos Syropoulos advanced it to the default font
encoding for the `babel` package's ``greek`` option. A better name would be
OT7:
* It is an 'old' encoding.
* It implements a Latin transcription for a non-Latin script like the
OT2 encoding.
* It is not confined to 128 bit but OT4 shows that this is no
absolute requirement for an `OT` encoding.
However, due to the fact that the LGR font encoding has been used under its
current name for a long time, the name will not change for compatibility
reasons.
Problems with the default setup
-------------------------------
The `lgrx` budle adresses a set of problems with the LGR font encoding as
set up by `babel`:
1. Ligatures with prefix notation prevent kerning (see the example document
lgrxenc-test.pdf_ and [teubner-doc]_).
2. Sub-optimal results with the standard accent macros:
* no combined accents,
* accents above (instead of before) capital letters,
* pre-composed characters are not used.
3. The tilde character ``~`` is used for a non-breaking space by
default. Therefore the transliteration for the *perispomeni* accent is
not available without re-definition of this character. [#tildehack]_
4. The ``polutonikogreek`` `babel` option redefines both, ``~`` and ``\~``
to produce accents via input ligatures (restricted to the language
setting instead of the font encoding). This prevents the placing of a
tilde-accent on non-supported characters like in *niño* if the language
is set to polytonic Greek, even if ``\textlatin`` is used. [#poluhack]_
5. There is no Unicode support with `inputenc`_'s ``utf8`` option.
The `ucs` package contributed by Dominique Unruh provides Unicode support
with the ``utf8x`` option. A babel patch by Werner Lemberg for Greek
Unicode support [lemberg2008]_ never got applied.)
6. The LGR transliteration does not work for PDF metadata.
.. [#tildehack] Problem 3 can be solved by the simple one-liner ::
\DeclareTextSymbol{\~}{LGR}{126}
which results in ``\~`` inserting a plain tilde character if the
font encoding is LGR.
Drawback: you cannot place a ~-accent on Greek characters except the
ones supported by an input ligature.
.. [#poluhack] Fortunately, LaTeX saves copies of the accent macros: ``\~``
is an alias of ``\a~`` (which is an alias of ``\@tabacckludge~``), so it
can be restored after loading `babel` with::
\addto\extraspolutonikogreek{\renewcommand*{\~}{\a~}}
\addto\extrasgreek{\renewcommand*{\~}{\a~}}
With this addition, both the comprehensive font encoding definitions and
the workaround [#tildehack]_ also work with the ``polutonikogreek``
`babel` option.
Components of the `lgrx` bundle
===============================
The `lgrx` bundle comprises tools that help typesetting Greek script
with (8-bit) LaTeX in Greek as well as multi-lingual documents.
Comprehensive font encoding definition file
-------------------------------------------
``lgrxenc.def`` is an alternative to the rudimentary LGR encoding definition
file [#fdf]_ ``lgrenc.def`` which comes with babel_'s Greek support. It
defines LICR macros for Greek characters that select pre-composed glyphs if
possible and places the diacritics according to Greek typesetting rules
else. Combined accents can be specified as backslash + transliteration
(``\~>a``) or iteratively (``\~\>{a}``).
For usage and documentation see the literal source lgrxenc.def.html_, the
user manual diacritics.pdf_, and the test document lgrxenc-test.pdf_.
.. [#fdf] See [fntguide_, section 5] for a definition of `encoding definition
files`.
UTF-8 support for Greek
-----------------------
``lgrenc.dfu`` provides standards-compatible UTF-8 support for Greek based
on the comprehensive font encoding definitions. It is compatible with
hyperref_ enabling Greek characters in PDF metadata without the need for
``\texorpdfstring``.
See the literal source lgrenc.dfu.html_ and the test document
greek-unicode.pdf_.
Text macros for Greek symbols
-----------------------------
``textalpha.sty`` makes the ``\textalpha``, ``\textbeta`` ... macros as well
as the ``\ensuregreek`` command aviable in any font encoding. With this
package, Unicode input of Greek letters works in any font encoding, too.
.. _limitations:
However, in any font encoding except LGR:
* there is no kerning between Greek characters,
* composition of diacritics (like ``\Dasia\Tonos``) fails,
* accent macros do not select precomposed characters
(pre-composed Unicode literals work fine).
See the literal source textalpha.sty.html_ and textalpha-test.pdf_ for
details on usage, limitations, and recommended workarounds.
Generic macros for Greek symbols
--------------------------------
``alphabeta.sty`` allows you to use ``\alpha``, ``\beta``, ... in both, text
and math mode. For this, the math macros are redefined with the help of
``\TextOrMath`` from the standard package fixltx2e_.
See the literal source alphabeta.sty.html_ and the test document
alphabeta-test.pdf_.
References
==========
.. [fntguide] LaTeX3 Project Team, `LaTeX 2ε 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
.. [lemberg2008] 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
.. _CB Fonts: http://mirror.ctan.org/help/Catalogue/entries/cbgreek-complete.html
.. _grtimes: http://mirror.ctan.org/help/Catalogue/entries/grtimes.html
.. _GFS font collection: http://mirror.ctan.org/help/Catalogue/entries/gfs.html
.. _Kerkis: http://mirror.ctan.org/help/Catalogue/entries/kerkis.html
.. _substitutefont: http://mirror.ctan.org/help/Catalogue/entries/substitutefont.html
.. _babel: http://mirror.ctan.org/help/Catalogue/entries/babel.html
.. _fontenc: http://mirror.ctan.org/help/Catalogue/entries/fontenc.html
.. _inputenc: http://mirror.ctan.org/help/Catalogue/entries/inputenc.html
.. _fontspec: http://mirror.ctan.org/help/Catalogue/entries/fontspec.html
.. _polyglossia: http://mirror.ctan.org/help/Catalogue/entries/polyglossia.html
.. _textgreek: http://mirror.ctan.org/help/Catalogue/entries/textgreek.html
.. _fixltx2e: http://mirror.ctan.org/help/Catalogue/entries/fixltx2e.html
.. _hyperref: http://mirror.ctan.org/help/Catalogue/entries/hyperref.html
.. _bookmark: http://mirror.ctan.org/help/Catalogue/entries/bookmark.html
Files
| Name | Size | Date | Notes |
|---|---|---|---|
8-bit-greek.txt |
6624 | 2013-04-12 04:37:14 | |
README |
11774 | 2013-05-07 01:39:18 | |
README.html |
37162 | 2013-05-07 01:41:10 | |
alphabeta-test.pdf |
252870 | 2013-05-06 11:45:11 | |
alphabeta-test.tex |
7021 | 2013-05-06 04:49:58 | |
alphabeta.sty |
15073 | 2013-05-06 05:16:04 | |
alphabeta.sty.html |
32225 | 2013-05-07 01:41:41 | |
diacritics.pdf |
257523 | 2013-05-06 11:42:10 | |
diacritics.tex |
6402 | 2013-05-06 11:42:10 | |
greek-unicode.pdf |
212317 | 2013-05-06 11:45:44 | |
greek-unicode.tex |
13824 | 2013-05-06 11:27:09 | |
greekhyperref.pdf |
224351 | 2013-05-06 11:45:49 | |
greekhyperref.tex |
4514 | 2013-03-21 02:21:24 | |
lgrenc.dfu |
31260 | 2013-05-07 01:30:57 | |
lgrenc.dfu.html |
50600 | 2013-05-07 01:42:14 | |
lgrxenc-test.pdf |
234392 | 2013-05-06 11:47:20 | |
lgrxenc-test.tex |
10719 | 2013-05-06 03:34:03 | |
lgrxenc.def |
52467 | 2013-05-07 01:35:17 | |
lgrxenc.def.html |
82690 | 2013-05-07 01:42:26 | |
textalpha-test.pdf |
176862 | 2013-05-06 11:50:10 | |
textalpha-test.tex |
6419 | 2013-05-07 01:44:18 | |
textalpha.sty |
11624 | 2013-05-07 01:42:41 | |
textalpha.sty.html |
29239 | 2013-05-07 01:42:44 |
Download the complete
contents of this directory in one zip archive
(1.4M).
lgrx – Greek text with the LGR font encoding
The LGRx bundle provides packages and definitions for typesetting Greek text with fonts in the LGR encoding, the de-facto standard set by babel. It includes a comprehensive font definition file, support for Unicode input and macros for Greek letters in non-Greek text.
| Documentation |
Greek diacritics with standard accent commands Greek diacritics with standard accent commands Providing Greek symbols in text Using inputenc for Unicode Greek characters Using hyperref with Greek characters Readme |
| Version | 0.7 |
| License | The LaTeX Project Public License 1.3 |
| Maintainer | Günter Milde |
| Contained in | TeXLive as lgrx |
| MiKTeX as lgrx | |
| Topics |
input encoding support for TeX engines support for typesetting Greek |
