% alphabeta: Greek symbols in text and math % ***************************************** % % :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: Use ``\alpha, \beta, ...`` for Greek letters in text and math. % % :Identification: % :: \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{alphabeta} [2013/05/03 v0.2 macros for Greek letters in text and math] % This package is part of the lgrx_ bundle. % % Changelog: % .. class:: borderless % % ========== ===== ========================================================= % 2012-06-26 0.1 initial version % 2013-05-03 0.2 new accent macro names with lgrxenc.def 0.7 % ========== ===== ========================================================= % % Motivation % ========== % % By default, the ``\alpha, \beta, ...`` macros for Greek letters % are only valid in mathematical mode. % % The `textalpha` package provides a set of macros that can be used to % access Greek symbols from a font in LGR encoding (e.g. the `CB fonts`_) % without the need for an explicite font-encoding switch under the names % ``\textalpha, \textbeta``, ..., ``\textOmega``. % % With this package, the math macros are redefined to work in both, text and % math mode, so that Greek letters can be specified with the established % command names in text, too. % % Attention % While the macros work reasonably well for single letters, the automatic % font-encoding switches behind the doors interferes with the kerning % between the letters and replacement of accent+character with a % pre-composed character. % % Therefore, Greek text should be written with the help of babel_, setting % the language to either ``greek`` or ``polutonikogreek`` or wrapped in the % provided ``\ensuregreek`` macro. % % % Implementation % ============== % % This package extends the `textalpha` package:: \RequirePackage{textalpha} % It uses the ``\TextOrMath`` test from the fixltx2e_ standard LaTeX % package:: \RequirePackage{fixltx2e} % .. _fixltx2e: http://www.ctan.org/pkg/fixltx2e % % % Save math macros % ---------------- % % Provide an alias for the standard math commands:: \let\mathGamma\Gamma \let\mathDelta\Delta \let\mathTheta\Theta \let\mathLambda\Lambda \let\mathXi\Xi \let\mathPi\Pi \let\mathSigma\Sigma \let\mathUpsilon\Upsilon \let\mathPhi\Phi \let\mathPsi\Psi \let\mathOmega\Omega % \let\mathalpha\alpha \let\mathbeta\beta \let\mathgamma\gamma \let\mathdelta\delta \let\mathepsilon\epsilon \let\mathzeta\zeta \let\matheta\eta \let\maththeta\theta \let\mathiota\iota \let\mathkappa\kappa \let\mathlambda\lambda \let\mathmu\mu \let\mathnu\nu \let\mathxi\xi \let\mathpi\pi \let\mathrho\rho \let\mathsigma\sigma \let\mathvarsigma\varsigma \let\mathtau\tau \let\mathupsilon\upsilon \let\mathphi\phi \let\mathchi\chi \let\mathpsi\psi \let\mathomega\omega % Commands to access Greek letters by name % ---------------------------------------- % % For letters defined in math mode, the commands work in both, text and math. % % Some Greek letters look identic to Latin letters and can therefore not be % used as variable symbols in math formulas. These letters are not defined in % TeX's math mode, we define just an alias to the corrsponding ``\text...`` % command. % :: \newcommand{\Alpha}{\textAlpha} \newcommand{\Beta}{\textBeta} \renewcommand{\Gamma}{\TextOrMath{\textGamma}{\mathGamma}} \renewcommand{\Delta}{\TextOrMath{\textDelta}{\mathDelta}} \newcommand{\Epsilon}{\textEpsilon} \newcommand{\Zeta}{\textZeta} \newcommand{\Eta}{\textEta} \renewcommand{\Theta}{\TextOrMath{\textTheta}{\mathTheta}} \newcommand{\Iota}{\textIota} \newcommand{\Kappa}{\textKappa} \renewcommand{\Lambda}{\TextOrMath{\textLambda}{\mathLambda}} \newcommand{\Mu}{\textMu} \newcommand{\Nu}{\textNu} \renewcommand{\Xi}{\TextOrMath{\textXi}{\mathXi}} \newcommand{\Omicron}{\textOmicron} \renewcommand{\Pi}{\TextOrMath{\textPi}{\mathPi}} \newcommand{\Rho}{\textRho} \renewcommand{\Sigma}{\TextOrMath{\textSigma}{\mathSigma}} \newcommand{\Tau}{\textTau} \renewcommand{\Upsilon}{\TextOrMath{\textUpsilon}{\mathUpsilon}} \renewcommand{\Phi}{\TextOrMath{\textPhi}{\mathPhi}} \newcommand{\Chi}{\textChi} \renewcommand{\Psi}{\TextOrMath{\textPsi}{\mathPsi}} \renewcommand{\Omega}{\TextOrMath{\textOmega}{\mathOmega}} % \renewcommand{\alpha}{\TextOrMath{\textalpha}{\mathalpha}} \renewcommand{\beta}{\TextOrMath{\textbeta}{\mathbeta}} \renewcommand{\gamma}{\TextOrMath{\textgamma}{\mathgamma}} \renewcommand{\delta}{\TextOrMath{\textdelta}{\mathdelta}} \renewcommand{\epsilon}{\TextOrMath{\textepsilon}{\mathepsilon}} \renewcommand{\zeta}{\TextOrMath{\textzeta}{\mathzeta}} \renewcommand{\eta}{\TextOrMath{\texteta}{\matheta}} \renewcommand{\theta}{\TextOrMath{\texttheta}{\maththeta}} \renewcommand{\iota}{\TextOrMath{\textiota}{\mathiota}} \renewcommand{\kappa}{\TextOrMath{\textkappa}{\mathkappa}} \renewcommand{\lambda}{\TextOrMath{\textlambda}{\mathlambda}} \renewcommand{\mu}{\TextOrMath{\textmu}{\mathmu}} \renewcommand{\nu}{\TextOrMath{\textnu}{\mathnu}} \renewcommand{\xi}{\TextOrMath{\textxi}{\mathxi}} \newcommand{\omicron}{\textomicron} \renewcommand{\pi}{\TextOrMath{\textpi}{\mathpi}} \renewcommand{\rho}{\TextOrMath{\textrho}{\mathrho}} \renewcommand{\sigma}{\TextOrMath{\textsigma}{\mathsigma}} \renewcommand{\varsigma}{\TextOrMath{\textvarsigma}{\mathvarsigma}} \renewcommand{\tau}{\TextOrMath{\texttau}{\mathtau}} \renewcommand{\upsilon}{\TextOrMath{\textupsilon}{\mathupsilon}} \renewcommand{\phi}{\TextOrMath{\textphi}{\mathphi}} \renewcommand{\chi}{\TextOrMath{\textchi}{\mathchi}} \renewcommand{\psi}{\TextOrMath{\textpsi}{\mathpsi}} \renewcommand{\omega}{\TextOrMath{\textomega}{\mathomega}} % TextCompositeCommands for the generic macros % -------------------------------------------- % % The NFSS TextComposite mechanism looks for the next token without expanding % it. In order to let compositions like ``\TextGreek{\'\Alpha}`` or % ``\TextGreek{\>"\alpha}`` work as expected we define TextComposites with the % `letter name commands`. (Composition only works if the active font encoding % is LGR). :: \DeclareTextComposite{\accvaria}{LGR}{\alpha}{128} \DeclareTextComposite{\accdasia}{LGR}{\alpha}{129} \DeclareTextComposite{\accpsili}{LGR}{\alpha}{130} \DeclareTextComposite{\accdasiavaria}{LGR}{\alpha}{131} \DeclareTextComposite{\acctonos}{LGR}{\alpha}{136} \DeclareTextComposite{\accdasiaoxia}{LGR}{\alpha}{137} \DeclareTextComposite{\accpsilioxia}{LGR}{\alpha}{138} \DeclareTextComposite{\accpsilivaria}{LGR}{\alpha}{139} \DeclareTextComposite{\accperispomeni}{LGR}{\alpha}{144} \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\alpha}{145} \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\alpha}{146} \DeclareTextComposite{\accvaria}{LGR}{\eta}{152} \DeclareTextComposite{\accdasia}{LGR}{\eta}{153} \DeclareTextComposite{\accpsili}{LGR}{\eta}{154} \DeclareTextComposite{\acctonos}{LGR}{\eta}{160} \DeclareTextComposite{\accdasiaoxia}{LGR}{\eta}{161} \DeclareTextComposite{\accpsilioxia}{LGR}{\eta}{162} \DeclareTextComposite{\accdasiavaria}{LGR}{\eta}{163} \DeclareTextComposite{\accperispomeni}{LGR}{\eta}{168} \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\eta}{169} \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\eta}{170} \DeclareTextComposite{\accpsilivaria}{LGR}{\eta}{171} \DeclareTextComposite{\accvaria}{LGR}{\omega}{176} \DeclareTextComposite{\accdasia}{LGR}{\omega}{177} \DeclareTextComposite{\accpsili}{LGR}{\omega}{178} \DeclareTextComposite{\accdasiavaria}{LGR}{\omega}{179} \DeclareTextComposite{\acctonos}{LGR}{\omega}{184} \DeclareTextComposite{\accdasiaoxia}{LGR}{\omega}{185} \DeclareTextComposite{\accpsilioxia}{LGR}{\omega}{186} \DeclareTextComposite{\accpsilivaria}{LGR}{\omega}{187} \DeclareTextComposite{\accperispomeni}{LGR}{\omega}{192} \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\omega}{193} \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\omega}{194} \DeclareTextComposite{\accvaria}{LGR}{\iota}{200} \DeclareTextComposite{\accdasia}{LGR}{\iota}{201} \DeclareTextComposite{\accpsili}{LGR}{\iota}{202} \DeclareTextComposite{\accdasiavaria}{LGR}{\iota}{203} \DeclareTextComposite{\acctonos}{LGR}{\iota}{208} \DeclareTextComposite{\accdasiaoxia}{LGR}{\iota}{209} \DeclareTextComposite{\accpsilioxia}{LGR}{\iota}{210} \DeclareTextComposite{\accpsilivaria}{LGR}{\iota}{211} \DeclareTextComposite{\accperispomeni}{LGR}{\iota}{216} \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\iota}{217} \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\iota}{218} \DeclareTextComposite{\accdialytika}{LGR}{\iota}{240} \DeclareTextComposite{\accdialytikavaria}{LGR}{\iota}{241} \DeclareTextComposite{\accdialytikatonos}{LGR}{\iota}{242} \DeclareTextComposite{\accdialytikaperispomeni}{LGR}{\iota}{243} \DeclareTextComposite{\accvaria}{LGR}{\upsilon}{204} \DeclareTextComposite{\accdasia}{LGR}{\upsilon}{205} \DeclareTextComposite{\accpsili}{LGR}{\upsilon}{206} \DeclareTextComposite{\accdasiavaria}{LGR}{\upsilon}{207} \DeclareTextComposite{\acctonos}{LGR}{\upsilon}{212} \DeclareTextComposite{\accdasiaoxia}{LGR}{\upsilon}{213} \DeclareTextComposite{\accpsilioxia}{LGR}{\upsilon}{214} \DeclareTextComposite{\accpsilivaria}{LGR}{\upsilon}{215} \DeclareTextComposite{\accperispomeni}{LGR}{\upsilon}{220} \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\upsilon}{221} \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\upsilon}{222} \DeclareTextComposite{\accdialytika}{LGR}{\upsilon}{244} \DeclareTextComposite{\accdialytikavaria}{LGR}{\upsilon}{245} \DeclareTextComposite{\accdialytikatonos}{LGR}{\upsilon}{246} \DeclareTextComposite{\accdialytikaperispomeni}{LGR}{\upsilon}{247} \DeclareTextComposite{\accvaria}{LGR}{\epsilon}{224} \DeclareTextComposite{\accdasia}{LGR}{\epsilon}{225} \DeclareTextComposite{\accpsili}{LGR}{\epsilon}{226} \DeclareTextComposite{\accdasiavaria}{LGR}{\epsilon}{227} \DeclareTextComposite{\acctonos}{LGR}{\epsilon}{232} \DeclareTextComposite{\accdasiaoxia}{LGR}{\epsilon}{233} \DeclareTextComposite{\accpsilioxia}{LGR}{\epsilon}{234} \DeclareTextComposite{\accpsilivaria}{LGR}{\epsilon}{235} \DeclareTextComposite{\accvaria}{LGR}{\omicron}{228} \DeclareTextComposite{\accdasia}{LGR}{\omicron}{229} \DeclareTextComposite{\accpsili}{LGR}{\omicron}{230} \DeclareTextComposite{\accdasiavaria}{LGR}{\omicron}{231} \DeclareTextComposite{\acctonos}{LGR}{\omicron}{236} \DeclareTextComposite{\accdasiaoxia}{LGR}{\omicron}{237} \DeclareTextComposite{\accpsilioxia}{LGR}{\omicron}{238} \DeclareTextComposite{\accpsilivaria}{LGR}{\omicron}{239} \DeclareTextCompositeCommand{\accdasia}{LGR}{\Alpha}{A} \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Alpha}{>`A} \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Alpha}{>'A} \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Alpha}{>\char126A} \DeclareTextCompositeCommand{\acctonos}{LGR}{\Alpha}{'A} \DeclareTextCompositeCommand{\accvaria}{LGR}{\Alpha}{`A} \DeclareTextCompositeCommand{\accdasia}{LGR}{\Epsilon}{E} \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Epsilon}{>'E} \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Epsilon}{>`E} \DeclareTextCompositeCommand{\acctonos}{LGR}{\Epsilon}{'E} \DeclareTextCompositeCommand{\accvaria}{LGR}{\Epsilon}{`E} \DeclareTextCompositeCommand{\accdasia}{LGR}{\Eta}{H} \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Eta}{>`H} \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Eta}{>'H} \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Eta}{>\char126H} \DeclareTextCompositeCommand{\acctonos}{LGR}{\Eta}{'H} \DeclareTextCompositeCommand{\accvaria}{LGR}{\Eta}{`H} \DeclareTextCompositeCommand{\accdasia}{LGR}{\Iota}{I} \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Iota}{>`I} \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Iota}{>'I} \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Iota}{>\char126I} \DeclareTextCompositeCommand{\acctonos}{LGR}{\Iota}{'I} \DeclareTextCompositeCommand{\accvaria}{LGR}{\Iota}{`I} \DeclareTextCompositeCommand{\accdasia}{LGR}{\Omicron}{O} \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Omicron}{>`O} \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Omicron}{>'O} \DeclareTextCompositeCommand{\acctonos}{LGR}{\Omicron}{'O} \DeclareTextCompositeCommand{\accvaria}{LGR}{\Omicron}{`O} \DeclareTextCompositeCommand{\accdasia}{LGR}{\Upsilon}{W} \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\Omega}{>`W} \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\Omega}{>'W} \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\Omega}{>\char126W} \DeclareTextCompositeCommand{\acctonos}{LGR}{\Omega}{'W} \DeclareTextCompositeCommand{\accvaria}{LGR}{\Omega}{`W} \DeclareTextComposite{\accdialytika}{LGR}{\Iota}{219} \DeclareTextComposite{\accdialytika}{LGR}{\Upsilon}{223} \DeclareTextCompositeCommand{\@hiatus}{LGR}{\Alpha}{\A@hiatus} \DeclareTextCompositeCommand{\@hiatus}{LGR}{\Epsilon}{\E@hiatus} % .. References % ---------- % .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt % .. _CB Fonts: http://www.ctan.org/pkg/cbgreek-complete % .. _babel: http://www.ctan.org/cgi-bin/ctanPackageInformation.py?id=babel % .. _lgrx: http://www.ctan.org/pkg/lgrx % .. _fixltx2e: http://www.ctan.org/pkg/fixltx2e