\documentclass{article} % Test with various LGR-encoded fonts: \usepackage% {lmodern} % uses CB Fonts for Greek % {gfsartemisia} % {gfsbaskerville} % [default]{gfsbodoni} % [default]{gfscomplutum} % {gfsdidot} % [default]{gfsneohellenic} % {lmodern} \usepackage{gfsporson} \renewcommand*\rmdefault{porson} % [default]{gfssolomos} % {kerkis} % lacks some chars (\Stigma, \Sampi, double quotes) % {teubner} % \renewcommand{\ttdefault}{txtt} \usepackage{parskip} \usepackage{textcomp} \usepackage[LGR,T1]{fontenc} % Shortcut accent macros \< and \>: % % The Symbol macros for the breathings were % moved to ``textalpha.sty`` to avoid clashes with possible local % definitions of these macros. % % Local definition and setup: \DeclareTextCommand{\<}{LGR}{\accdasia} \DeclareTextCommand{\>}{LGR}{\accpsili} \DeclareTextCompositeCommand{\>}{LGR}{'}{\accpsilioxia} \DeclareTextCompositeCommand{\>}{LGR}{`}{\accpsilivaria} \DeclareTextCompositeCommand{\>}{LGR}{~}{\accpsiliperispomeni} \DeclareTextCompositeCommand{\<}{LGR}{'}{\accdasiaoxia} \DeclareTextCompositeCommand{\<}{LGR}{`}{\accdasiavaria} \DeclareTextCompositeCommand{\<}{LGR}{~}{\accdasiaperispomeni} % With XeTeX/LuaTeX, use Unicode for Latin script: \ifdefined\luatexversion \usepackage{fontspec}\else \ifdefined\XeTeXrevision \usepackage{fontspec}\else \usepackage[utf8]{inputenc} \fi \fi % This is experimental. The general advise is not to mix fontenc and fontspec. % One problem is that xunicode makes \nobreakspace font encoding specific % We provide a default: \DeclareTextCommandDefault{\nobreakspace}{\leavevmode\nobreak\ } % PDF hyperlinks: \usepackage[pdfencoding=auto]{hyperref} \usepackage{bookmark} \hypersetup{colorlinks=true,linkcolor=blue,urlcolor=blue,pdfencoding=auto} % font encoding switch declarations: \newcommand{\LGR}{\fontencoding{LGR}\selectfont} \newcommand{\Latin}{\fontencoding{\encodingdefault}\selectfont} \begin{document} \title{Test LGR font encoding definitions} \author{Günter Milde} % \date{} \maketitle The file lgrenc.def provides a comprehensive set of macros to typeset Greek with LGR encoded fonts. It works for both, monotonic and polytonic Greek, independent of the \emph{Babel} package. The example from \texttt{usage.tex} in \emph{babel-greek} input using the LICR macros: \begin{quote} \LGR \textTau\'\textiota{} \textphi\'\texteta\textiota\textfinalsigma\texterotimatiko{} \<\textIota\textdelta\`\textomega\textnu{} \>\textepsilon\textnu\texttheta\'\textepsilon\textdelta\textepsilon{} \textpi\textalpha\~\textiota\textdelta\'\' \>\textepsilon\textlambda\textepsilon\textupsilon\texttheta\'\textepsilon\textrho\textalpha\textnu\\ \texttau\`\textalpha\textfinalsigma{} \textpi\textlambda\texteta\textautosigma\'\textiota\textomicron\textnu{} \textNu\'\textupsilon\textmu\textphi\textalpha\textfinalsigma{} \textautosigma\texttau\textepsilon\textphi\textalpha\textnu\textomicron\~\textupsilon\textautosigma\textalpha\textnu{}, \textSigma\'\textomega\textautosigma\texttau\textrho\textalpha\texttau\textepsilon{},\\ \>\textepsilon\textrho\~\textomega\textnu{} \'\textalpha\textpi\~\texteta\textlambda\texttheta\textepsilon\textfinalsigma{} \textepsilon\>\textupsilon\texttheta\'\textupsilon\textfinalsigma\texterotimatiko{} \end{quote} \section{Symbols} See the source file \href{lgrenc-test.tex}{lgrenc-test.tex} for the macros used to access the symbols. \subsection{Generic text symbols} Latin: + - = < > -- --- \textbraceleft{} [ () ] \textbraceright{} % \textbackslash{} \textbar{} \textperthousand{} \textpertenthousand{} \textvisiblespace{} LGR: \LGR + - = \textless{} \textgreater{} -- --- \textbraceleft{} [ () ] \textbraceright{} % \textbackslash{} \textbar{} \textperthousand{} % \textpertenthousand{} \textvisiblespace{} \Latin (Per-mille symbol is missing in LGR.) Quotes:\footnote{% Single quotes need special attention to prevent conversion to accents. Test the input conventions: \LGR \textquoteleft{}a\textquoteright{} ``a'' \``a\'' \`\`a\'\' \Latin but not \LGR `a' 'e' "i"\Latin } % \Latin \guillemotleft{}a\guillemotright{} \LGR \guillemotleft{}a\guillemotright{}, % \Latin \textquoteleft{}a\textquoteright{} \LGR \textquoteleft{}a\textquoteright{}, % \Latin \textquotedblleft{}a\textquotedblright{} \LGR \textquotedblleft{}a\textquotedblright{} \Latin (double quotes wrong with Kerkis fonts) Single guillemots and base-quotes (\guilsinglleft{}a\guilsinglright{} \quotedblbase{}a\textquotedblright{} \quotesinglbase{}a\textquoteright{}) are missing in LGR. Ligature break up: AY fi \LGR AU "i $\mapsto$ \Latin A\textcompwordmark Y f\textcompwordmark i \LGR A\textcompwordmark U "\textcompwordmark i \Latin Spacing accent chars: % \Latin \textasciicircum a \LGR \textasciicircum a \textasciicircum i % using textsym glyph % \Latin \textasciitilde a \LGR \textasciitilde a \textasciitilde i % \Latin \textasciibreve a \LGR \textasciibreve a \textasciibreve i % \Latin \textasciimacron a \LGR \textasciimacron a \textasciimacron i % \Latin \textasciidieresis a \LGR \textasciidieresis a \textasciidieresis i % \Latin \textasciiacute a \LGR \textasciiacute a \textasciiacute i % \Latin \textasciigrave a \LGR \textasciigrave a \textasciigrave i \Latin Symbols for SI-units: \Latin 5\,\textmu{}m, 5\,k\textohm{}; \LGR 5\,\textmu{}{\Latin m}, 5\,{\Latin k}\textohm \Latin ; but never italic: 5\,$\mu$m \Latin Letter schwa and Euro symbol: % \textschwa (needs e.g. T3) \LGR \textschwa{}, \texteuro{} \Latin Some symbol definitions expect a Latin font.\emph{ babel-greek} redefines them with \verb|\latintext|, however this macro is not guaranteed to be defined, so it should not be used in a font encoding definition file. The textcomp.sty package provides coyright, registered, and trademark symbols for use with any font encodings. (Like any other Latin character, the ``sharp s'' (\ss) is not save to use when LGR is the active font encoding.) Latin: \textcopyright{} \textregistered{} \texttrademark{} \SS{} (uppercase of \ss). LGR (with textcomp): \LGR \textcopyright{} \textregistered{} \texttrademark{} \SS{} (\Latin uppercase of \LGR \ss). \Latin \subsection{Greek alphabet} Greek letters via Latin transcription and LICR macros: \begin{quote} \LGR \MakeUppercase{a b g d e z h j i k l m n x o p r s t u f q y w} a b g d e z h j i k l m n x o p r sv t u f q y w \textAlpha{} \textBeta{} \textGamma{} \textDelta{} \textEpsilon{} \textZeta{} \textEta{} \textTheta{} \textIota{} \textKappa{} \textLambda{} \textMu{} \textNu{} \textXi{} \textOmicron{} \textPi{} \textRho{} \textSigma{} \textTau{} \textUpsilon{} \textPhi{} \textChi{} \textPsi{} \textOmega{} \textalpha{} \textbeta{} \textgamma{} \textdelta{} \textepsilon{} \textzeta{} \texteta{} \texttheta{} \textiota{} \textkappa{} \textlambda{} \textmu{} \textnu{} \textxi{} \textomicron{} \textpi{} \textrho{} \textsigma{} \texttau{} \textupsilon{} \textphi{} \textchi{} \textpsi{} \textomega{} \end{quote} The small sigma is set with a different glyph if it ends a word: \begin{quote} \LGR \textsigma{} \Latin textsigma \\ \LGR \textfinalsigma{} \Latin textfinalsigma or textvarsigma \end{quote} In the Latin transcription, the letter `s' stands for \verb|\textautosigma| which automatically chooses the glyph according to the position. \subsection{Additional Greek symbols} \begin{quote} \LGR \textkoppa{} \Latin textkoppa \\ % ϟ \LGR \textqoppa{} \Latin textqoppa (archaic koppa) \\ % ϙ \LGR \textQoppa{} \Latin textQoppa (archaic Koppa) \\ % Ϙ \LGR \textstigma{} \Latin textstigma \\ % ϛ \LGR \textvarstigma{} \Latin textvarstigma \\ % no separate Unicode character \LGR \textStigma{} \Latin textStigma (Sigma-Tau-Ligature in CB-fonts)% \footnote{the name ``stigma'' originally applied to a medieval sigma-tau ligature, whose shape was confusingly similar to the cursive digamma} \\ % Ϛ \LGR \textsampi{} \Latin textsampi \\ % ϡ \LGR \textSampi{} \Latin textSampi \\ % Ϡ \LGR \textdigamma{} \Latin textdigamma \\ % ϝ (\digamma used by amsmath!) \LGR \textDigamma{} \Latin textDigamma \\ % Ϝ % numeral signs: http://en.wikipedia.org/wiki/Greek_numerals \LGR \textdexiakeraia{} \Latin textdexiakeraia | % ʹ \LGR \textnumeralsigngreek{} \Latin textnumeralsigngreek (Dexia keraia)\\ % ʹ \LGR \textaristerikeraia{} \Latin textaristerikeraia | % ͵ \LGR \textnumeralsignlowergreek{} \Latin textnumeralsignlowergreek (Aristeri keraia)\\ % ͵ \end{quote} \subsection{symbol variants} Mathematical notation distinguishes variant shapes for pi ($\pi|\varpi$), rho ($\rho|\varrho$), theta ($\theta|\vartheta$), beta, and kappa (characters for the latter two symbols are not included in TeX's math fonts). These variations have no syntactic meaning in Greek text and are not given code-points in the LGR encoding. Greek text fonts use the shape variants interchangeabely. \section{Diacritics} Capital Greek letters have Greek diacritics (except the dialytika and sub-iota) to the left (instead of above) and drop them if text is set in UPPERCASE. This is implemented for all combinations that are used in Greek texts (i.e. for which pre-composed Unicode character exist), but not for, e.g., \LGR\~W\Latin). % When a word is written entirely in capital letters, diacritics are % never used; the word Ἢ (or), is an exception to this rule because of % the need to distinguish it from the nominative feminine article Η. Different conventions exist for the treatment of the sub-iota with uppercase letters. The CB-Fonts use a capital Iota ``index'' (\LGR A|, H|, W|\Latin). LaTeX standard accents% \footnote{The ogonek (\emph{little hook}) accent \k{ } (\textbackslash k) is not defined in LGR.} (Latin, Greek, Greek Capitals $\mapsto$ UPPERCASE) \begin{quote} \`{a} \'{a} \~{a} \"{a} \^{a} \={a} \H{a} \.{a} \r{a} \u{a} \v{a} \b{a} \c{a} \d{a} \k{a} $\mapsto$ \MakeUppercase{% \`{a} \'{a} \~{a} \"{a} \^{a} \={a} \H{a} \.{a} \r{a} \u{a} \v{a} \b{a} \c{a} \d{a} \k{a} } \LGR \`{a} \'{a} \~{a} \"{a} \^{a} \={a} \H{a} \.{a} \r{a} \u{a} \v{a} \b{a} \c{a} \d{a} $\mapsto$ \MakeUppercase{% \`{a} \'{a} \~{a} \"{a} \^{a} \={a} \H{a} \.{a} \r{a} \u{a} \v{a} \b{a} \c{a} \d{a} } \`{A}\'{A}\~{A}\"{A} \^{A}\={A}\H{A}\.{A}\r{A}\u{A}\v{A} \b{A} \c{A} \d{A} $\mapsto$ \MakeUppercase{% \`{A}\'{A}\~{A}\"{A} \^{A}\={A}\H{A}\.{A}\r{A}\u{A}\v{A} \b{A} \c{A} \d{A} } \end{quote} Additional Greek diacritics (Greek, Greek Capitals% \footnote{The dialytika is not used on Initial letters.} % (\LGR \"'I \"`I \~"I) $\mapsto$ UPPERCASE) \begin{quote} \LGR \<{a} \>{e} \<\`{i} \'"i \`"i \~"i \`\>{h} \'<{o} \'>{o} \~\<{u} \~\>{w} a| $\mapsto$ \MakeUppercase{% \<{a} \>{e} \<\`{i} \'"i \`"i \~"i \`\>{h} \'<{o} \'>{o} \~\<{u} \~\>{w} a| } \<{A} \>{E} \<\`{I} \`\>{H} \'<{O} \'>{O} \~\<{U} \~\>{W} A| $\mapsto$ \MakeUppercase{% \<{A} \>{E} \<\`{I} \`\>{H} \'<{O} \'>{O} \~\<{U} \~\>{W} A| } \end{quote} \Latin Input variants and their conversion with MakeUppercase:% \begin{quote} \LGR \~>a \>\~a \~\>{a}, \~\~{h} \~>h \>~h \>\~h \~>h \~>h|, \~\~i \~>i, \~\~u \~>u, \~w, \\~w \~>w, \~a \>\~a \~\>{a}, \~\~{h} \~>h \>~h \>\~h \~>h \~>h|, \~\~i \~>i, \~\~u \~>u, \~w, \\~w \~>w, \~{\textepsilon} \"'{\textiota} \`>\texteta{} \'<{\textomicron} \~<{\textupsilon} \~>{\textomega} \<{\textAlpha} \>{\textEpsilon} \"{\textIota} \`>\textEta{} \'<{\textOmicron} \~<{\textUpsilon} \~>{\textOmega} \\ \MakeUppercase{% \<{\textalpha} \>{\textepsilon} \"'{\textiota} \`\>\texteta{} \'<{\textomicron} \~<{\textupsilon} \~>{\textomega} \<{\textAlpha} \>{\textEpsilon} \"{\textIota} \`>\textEta{} \'<{\textOmicron} \~<{\textUpsilon} \~>{\textOmega} } \<'A \<\'A \'u $\mapsto$ \LGR \MakeUppercase{\"~i \<~i \"~u \<~u \`>u} \Latin combined accent with tilde-accent macro: \LGR \"\~i \~"u $\mapsto$ \MakeUppercase{\"\~i \~"u} \end{quote} \Latin Accents input via the Latin transliteration are not dropped with MakeUppercase, unless Babel is loaded and the current language is Greek (because the required local re-definitions of the \texttt{uccode} are done in \texttt{greek.ldf} from the \emph{babel-greek} package). \begin{quote} \LGR 'a "i `a >a a |: \begin{quote} \begin{tabbing} COL1\quad \= COL2\quad \= COL3\quad \= COL4\quad \\ COL1 \> \> COL3 \\ Viele \> Gr\a"u\ss e \> \LGR \a<\textalpha{} \> \LGR \a>\textomega \end{tabbing} \end{quote} \Latin Combinations with named accents: \LGR \accdasia'a \accdasia`a \accdasia\~a. \Latin The dialytika must be kept in UPPERCASE, e.\,g. \begin{quote} % from http://diacritics.typo.cz/index.php?id=70 μαΐστρος -> ΜΑΪΣΤΡΟΣ. \LGR ma\"'istros $\mapsto$ \MakeUppercase{ma\"'istros} \Latin or % from teubner εὐζωΐα -> ΕΥΖΩΪΑ. \LGR e\>uzw\'"ia $\mapsto$ \MakeUppercase{e\>uzw\'"ia}. \end{quote} This is implemented for all input variants of diacritics with dialytika: \begin{quote} \LGR \"i \"'i \"`i \"\~i \"u \"'u \"`u \"\~u $\mapsto$ \MakeUppercase{\"i \"'i \"`i \"\~i \"u \"'u \"`u \"\~u}, \end{quote} Tonos and dasia mark a \emph{hiatus} (break-up of a diphthong) if placed on the first vowel of a diphthong ({\LGR \'ai, \'au, \'ei}). A dialytika must be placed on the second vowel if they are dropped: \LGR (\MakeUppercase{\'ai, \'au, \'ei}). \begin{quote} % from teubner: άυλος/ΑΫΛΟΣ \'aulos $\mapsto$ \MakeUppercase{\'aulos}, \>'aulos $\mapsto$ \MakeUppercase{\>'aulos}, % from http://diacritics.typo.cz/index.php?id=69 μάινα -> ΜΑΪΝΑ m\'aina $\mapsto$ \MakeUppercase{m\'aina}, % from http://de.wikipedia.org/wiki/Neugriechische_Orthographie#Das_Trema % κέικ, ἀυπνία/αϋπνία k\'eik, $\mapsto$ \MakeUppercase{k\'eik} \>aupn\'ia $\mapsto$ \MakeUppercase{\>aupn\'ia} \end{quote} \newpage \Latin Test the auto-hiatus feature for side-effects: \LGR \MakeUppercase{\'a b} (\Latin must keep space after A). Kerning (see the input): \LGR \newcommand\md{\textcompwordmark} \newcommand\MU{\MakeUppercase} \md \MU{ AO AY AI AU RA OA UA DU} [ \\ \<\md \MU{ \\md \MU{ \>AO \>AY \>AI \>AU \>RA \>OA U\>A D\>U} [ \\ \>'\md\MU{ \>'AO \>'AY \>'AI \>'AU \>'RA \>'OA U\>'A D\>'U} [ \\ \'\md \MU{ \'AO \'AY \'AI \'AU \'RA \'OA U\'A D\'U} [ \\ \>`\md\MU{ \>`AO \>`AY \>`AI \>`AU \>`RA \>`OA U\>`A D\>`U} [ \\ \<'\md\MU{ \<'AO \<'AY \<'AI \<'AU \<'RA \<'OA U\<'A D\<'U} [ \\ \`\md \MU{ \`AO \`AY \`AI \`AU \`RA \`OA U\`A D\`U} [ \\ \<`\md\MU{ \<`AO \<`AY \<`AI \<`AU \<`RA \<`OA U\<`A D\<`U} [ \\ \~\md \MU{ \~AO \~AY \~AI \~AU \~RA \~OA U\~A D\~U} [ \\ \~>\md\MU{ \~>AO \~>AY \~>AI \~>AU \~>RA \~>OA U\~>A D\~>U} [ \\ \~<\md\MU{ \~