diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/lgrx/README')
-rw-r--r-- | Master/texmf-dist/doc/latex/lgrx/README | 321 |
1 files changed, 192 insertions, 129 deletions
diff --git a/Master/texmf-dist/doc/latex/lgrx/README b/Master/texmf-dist/doc/latex/lgrx/README index cb4a68cee1e..302cf95bc23 100644 --- a/Master/texmf-dist/doc/latex/lgrx/README +++ b/Master/texmf-dist/doc/latex/lgrx/README @@ -1,71 +1,138 @@ .. -*- rst-mode -*- -.. sectnum:: - :depth: 1 - -Greek text with the `LGR` font encoding +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 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. + +: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. Development takes place at the Sourceforge__. + +__ http://www.ctan.org/tex-archive/macros/latex/contrib/lgrx +__ http://milde.users.sourceforge.net/LGR/ + +.. Note:: + + The TeXLive 2012 pre-release contains the Unicode definition file + ``lgrenc.dfu`` in the documentation instead of the TEXPATH. To enable + `Greek Unicode support`_, update via `tlmgr` or place a copy in the + TEXPATH «by hand». + See http://tug.org/pipermail/tex-live/2012-June/031757.html .. contents:: -State of the Art -================ -Up to now, there is no agreement on a Greek standard font encoding -(reserved name `T7`) because the restrictions for general text encodings -are too severe for typesetting polytonic Greek. +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 + + :`<lgrx.pdf>`_: user documentation, source `<lgrx.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 +========== -The `LGR` font encoding is the de-facto standard for typesetting Greek with +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 +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.pdf__, teubner-doc.pdf__, or -`The CB Greek fonts`__). +font (see [greek-usage]_, [teubner-doc]_, [cbfonts]_). -__ http://www.tug.org/texlive/Contents/live/texmf-dist/doc/generic/babel/greek-usage.pdf -__ http://www.ctan.org/tex-archive/macros/latex/contrib/teubner/teubner-doc.pdf -__ http://www.eutypon.gr/eutypon/pdf/e2008-21/e21-a01.pdf +\*OT7 +~~~~~ -.. compound:: +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: - The name `LGR` does not reflect status of this font encoding due to - historical reasons. The encguide_ classifies encodings starting with `L` - as "local". Indeed, `LGR` started as a local encoding for the `CB Greek - fonts` by Claudio Beccari. Later, Apostolos Syropoulos advanced it to the - default font encoding for the `Babel`_ package's ``greek`` option. The - correct 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. - * It is an 'old' encoding. - * It implements a Latin transscription 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. - However, due to the fact that this 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 +------------------------------- -Problems -======== +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 examples - linked below or the `LGR` documentation linked above). +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: @@ -77,7 +144,7 @@ Problems 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 ``\~`` +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 @@ -85,14 +152,11 @@ Problems 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 never got applied.) - -6. The LGR transliteration does not work for PDF bookmarks. + 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.) - -.. _babel patch: http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf +6. The LGR transliteration does not work for PDF metadata. .. [#tildehack] Problem 3 can be solved by the simple one-liner :: @@ -100,121 +164,120 @@ Problems \DeclareTextSymbol{\~}{LGR}{126} which results in ``\~`` inserting a plain tilde character if the - font encoding is `LGR`. + 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:: + 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. - - -lgrxenc.def: Comprehensive font encoding definitions -==================================================== - -``lgrxenc.def`` is an alternative to the rudimentary `LGR` font -definition file ``lgrenc.def`` which comes with Babel_'s Greek -support. It defines accent macros for the `LGR` font encoding 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}``). - -:Source: `<lgrxenc.def>`_, `<lgrxenc.def.html>`__ -:Doc: `<lgrxenc.tex>`__, `<lgrxenc.pdf>`__ -:Tests: `<lgrxenc-test.tex>`__, `<lgrxenc-test.pdf>`__ - -Usage ------ - -To prevent confusion with Babel_'s ``lgrenc.def``, this file is named -``lgrxenc.def``. Load it by calling fontenc_ with the ``LGRx`` option. + `babel` option. -Example: - Select font encodings `T1` (as default) and `LGR` (with the comprehensive - font encoding definitions) - ``\usepackage[LGRx,T1]{fontenc}`` +Components of the `lgrx` bundle +=============================== -.. Attention:: The name of the font encoding defined by the option ``LGRx`` - is **not** `LGRx` but `LGR`. Therefore, ``LGRx`` may not be the - last option (as fontenc uses the last option to select the default font - encoding). To set `LGR` as as default font encoding specify both, - `LGRx` and `LGR`, e.g. +The `lgrx` bundle comprises tools that help typesetting Greek script +with (8-bit) LaTeX in Greek as well as multi-lingual documents. - ``\usepackage[LGRx,T1,LGR]{fontenc}`` +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 macros for Greek characters the LGR font encoding 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}``). -lgrenc.dfu: Greek Unicode support -================================= +For usage and documentation see the literal source lgrxenc.def.html_, the +user manual lgrx.pdf_, and the test document lgrxenc-test.pdf_. -Standards-compatible UTF-8 support for Greek based on the comprehensive -font encoding definitions. +.. [#fdf] See [fntguide_, section 5] for a definition of `encoding definition + files`. -Cooperates with hyperref_ to enable Greek characters in section headers and -PDF bookmarks without the need for ``\texorpdfstring``. +Greek Unicode support +--------------------- -:Source: `<lgrenc.dfu>`__, `<lgrenc.dfu.html>`__ -:Example: `<greek-unicode.tex>`__, `<greek-unicode.pdf>`__ +``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``. -Usage ------ +See the literal source lgrenc.dfu.html_ and the test document +greek-unicode.pdf_. -Requires comprehensive font encoding definitions from ``lgrxenc.def``: +Macros for Greek in text +------------------------ - ``\usepackage[LGRx,T1]{fontenc}`` % define LGR and T1 encodings - ``\usepackage[utf8]{inputenc}`` % standard UTF-8 input encoding +``textalpha.sty`` defines ``\textalpha``, ``\textbeta`` ... macros for Greek +letters in text that work in any font encoding and alias macros for +compatibility with existing packages. With this package, Unicode input of +Greek letters works in any font encoding, too. -Unless combined with the textalpha_ package, text containing Greek Unicode -characters must be marked as requiring the LGR font encoding (either -directly or by setting the language to ``greek`` or ``polutonikogreek``). -This is a feature of inputenc_'s standard utf8 support, similar to the -behaviour for, e.g., Cyrillic characters. +.. _limitations: +However, in any font encoding except LGR: -.. _textalpha: +* 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). -textalpha.sty: Macros for Greek in text -======================================= +See the literal source textalpha.sty.html_ and textalpha-test.pdf_ for +details on usage, limitations, and recommended workarounds. -Macros for Greek letters in text that work in any font encoding (see the -example below for limitations) and alias macros for compatibility with -existing packages. +Generic macros for Greek letters +-------------------------------- -Cooperates with hyperref_ and bookmark_ to enable Greek characters in -section headers and PDF bookmarks without the need for ``\texorpdfstring``. +``alphabeta.sty`` allows you to use ``\alpha``, ``\beta``, ... in both, text +and math. For this, the math macros are redefined with the help of +``\TextOrMath`` from the standard package fixltx2e_. -.. note:: +See the literal source alphabeta.sty.html_ and the test document +alphabeta-test.pdf_. - The package was renamed from `textgreek` to `textalpha` to prevent - confusion with the textgreek_ package by Leonard Michlmayr. -:Source: `<textalpha.sty>`__, `<textalpha.sty.html>`__ -:Example: `<textalpha-test.tex>`__, `<textalpha-test.pdf>`__ -:Bookmarks: `<greekhyperref.tex>`__, `<greekhyperref.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 -.. References - ========== .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt -.. _CB Fonts: http://www.ctan.org/pkg/cbgreek-complete -.. _grtimes: http://www.ctan.org/pkg/grtimes -.. _GFS font collection: http://www.ctan.org/pkg/gfs -.. _Kerkis: http://www.ctan.org/pkg/kerkis -.. _substitutefont: http://www.ctan.org/pkg/substitutefont -.. _encguide: http://tug.ctan.org/tex-archive/macros/latex/doc/encguide.pdf -.. _Babel: http://www.ctan.org/pkg/babel -.. _fontenc: http://www.ctan.org/pkg/fontenc -.. _inputenc: http://www.ctan.org/pkg/inputenc -.. _textgreek: http://www.ctan.org/pkg/textgreek -.. _hyperref: http://www.ctan.org/pkg/hyperref -.. _bookmark: http://www.ctan.org/pkg/bookmark +.. _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 |