diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/greek-fontenc/textalpha-test.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/greek-fontenc/textalpha-test.tex | 266 |
1 files changed, 266 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/textalpha-test.tex b/Master/texmf-dist/doc/latex/greek-fontenc/textalpha-test.tex new file mode 100644 index 00000000000..1a0f796faad --- /dev/null +++ b/Master/texmf-dist/doc/latex/greek-fontenc/textalpha-test.tex @@ -0,0 +1,266 @@ +\documentclass{article} +\usepackage{parskip} +\usepackage{booktabs} + +\usepackage{lmodern} +\usepackage{textcomp} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} + +\usepackage[pdfencoding=auto,colorlinks=true]{hyperref} +\usepackage{bookmark} +% hyperrefs PU encoding supports Greek LICR macros +\DeclareTextCommand{\ensuregreek}{PU}[1]{#1} + +\usepackage{textalpha} + +\begin{document} + +\title{The \emph{textalpha} package} +\author{Günter Milde} +\maketitle + +With the \emph{textalpha} package, you can easily write a single Greek +symbol (like \textPsi{} or \textmu{}) or a +\textlambda\textomicron\textgamma\textomicron\textvarsigma{} in non-Greek +text as well as ISO-conforming formulas with upright constants (like +\textpi): $A = \mbox{\textpi} r^2$ vs. $A = \pi r^2$. Input is possible via +LICR macros (\verb|\textalpha| \ldots \verb|\textOmega|) or (with +\emph{\href{http://www.ctan.org/pkg/greek-inputenc}{greek-inputenc}} and the +utf8 option to \emph{\href{http://www.ctan.org/pkg/inputenc}{inputenc}}) +Unicode literals. + +\section{Greek alphabet} + +Greek letters via Latin transcription in LGR font encoding: + +\begin{quote} + \ensuregreek{A B G D E Z H J I K L M N X O P R S T U F Q Y W}\\ + \ensuregreek{a b g d e z h j i k l m n x o p r sv c t u f q y w} +\end{quote} + +Greek letters via default macros in other font encoding (here T1): + +\begin{quote} + \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{} \textvarsigma{} \texttau{} \textupsilon{} + \textphi{} \textchi{} \textpsi{} \textomega{} +\end{quote} + +Archaic Greek letters and Greek punctuation + +\begin{quote} + \textDigamma + \textanoteleia + \textQoppa + \textSampi + \textStigma + \textnumeralsigngreek + \texterotimatiko + \\ + \textdigamma + \textkoppa + \textqoppa + \textsampi + \textstigma + \textnumeralsignlowergreek + \textvarstigma +\end{quote} + +Diacritics + +\begin{quote} + Symbol macros:% + \footnote{Composite diacritics require wrapping in + \texttt{\textbackslash ensuregreek}.} + \"{} \'{} \`{} \~{} \<{} \>{} \u{} \={} + \ensuregreek{\"~{} \"'{} \"`{} \<~{} \<`{} \<'{} \>~{} \>'{} \>`{}} + + Named macros: + \accdialytika{} + \acctonos{} + \accvaria{} + \accperispomeni{} + \accdasia{} + \accpsili{} + \ypogegrammeni{} + \prosgegrammeni{} + % + \accdialytikaperispomeni{} + \accdialytikatonos{} + \accdialytikavaria{} + \accdasiaperispomeni{} + \accdasiavaria{} + \accdasiaoxia{} + \accpsiliperispomeni{} + \accpsilioxia{} + \accpsilivaria{} + % + \accinvertedbrevebelow{} % == \textsubarch{} + \accbrevebelow{} + + +\end{quote} + + +\pagebreak{} + +\section{Greek Unicode characters in non-Greek text} + +With the \emph{textalpha} package and input encoding \texttt{utf8}, Greek +Unicode characters can be used in text with any font encoding. + +Kerning is preserved if the font encoding is LGR. This holds also for +pre-composed accented characters: \ensuregreek{AΫA}. + +All characters of the Greek and Coptic Unicode Block present in LGR via +literal Unicode input in T1 font encoding +(legend: * glyph missing in LGR): + +\begin{tabular}{rrrrrrrrrrrrrrrrr} +\toprule + & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & A & B & C & D & E & F\\ +\midrule +370 & * & * & * & * & ʹ & ͵ & * & * & & & ͺ & * & * & * & ; & \\ +380 & & & & & ΄ & ΅ & Ά & · & Έ & Ή & Ί & & Ό & & Ύ & Ώ\\ +390 & ΐ & Α & Β & Γ & Δ & Ε & Ζ & Η & Θ & Ι & Κ & Λ & Μ & Ν & Ξ & Ο\\ +3A0 & Π & Ρ & & Σ & Τ & Υ & Φ & Χ & Ψ & Ω & Ϊ & Ϋ & ά & έ & ή & ί\\ +3B0 & ΰ & α & β & γ & δ & ε & ζ & η & θ & ι & κ & λ & μ & ν & ξ & ο\\ +3C0 & π & ρ & ς & σ & τ & υ & φ & χ & ψ & ω & ϊ & ϋ & ό & ύ & ώ & \\ +3D0 & * & * & * & * & * & * & * & * & Ϙ & ϙ & Ϛ & ϛ & Ϝ & ϝ & * & ϟ\\ +3E0 & Ϡ & ϡ & * & * & * & * & * & * & * & * & * & * & * & * & * & *\\ +3F0 & * & * & * & * & * & * & * & * & * & * & * & * & * & * & * & *\\ +\bottomrule +\end{tabular} + +All characters of the Greek Extended Unicode Block via literal Unicode +input in T1 font encoding: + +\begin{tabular}{rrrrrrrrrrrrrrrrr} +\toprule + & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & A & B & C & D & E & F\\ +\midrule +1F00 & ἀ & ἁ & ἂ & ἃ & ἄ & ἅ & ἆ & ἇ & Ἀ & Ἁ & Ἂ & Ἃ & Ἄ & Ἅ & Ἆ & Ἇ\\ +1F10 & ἐ & ἑ & ἒ & ἓ & ἔ & ἕ & & & Ἐ & Ἑ & Ἒ & Ἓ & Ἔ & Ἕ & & \\ +1F20 & ἠ & ἡ & ἢ & ἣ & ἤ & ἥ & ἦ & ἧ & Ἠ & Ἡ & Ἢ & Ἣ & Ἤ & Ἥ & Ἦ & Ἧ\\ +1F30 & ἰ & ἱ & ἲ & ἳ & ἴ & ἵ & ἶ & ἷ & Ἰ & Ἱ & Ἲ & Ἳ & Ἴ & Ἵ & Ἶ & Ἷ\\ +1F40 & ὀ & ὁ & ὂ & ὃ & ὄ & ὅ & & & Ὀ & Ὁ & Ὂ & Ὃ & Ὄ & Ὅ & & \\ +1F50 & ὐ & ὑ & ὒ & ὓ & ὔ & ὕ & ὖ & ὗ & & Ὑ & & Ὓ & & Ὕ & & Ὗ\\ +1F60 & ὠ & ὡ & ὢ & ὣ & ὤ & ὥ & ὦ & ὧ & Ὠ & Ὡ & Ὢ & Ὣ & Ὤ & Ὥ & Ὦ & Ὧ\\ +1F70 & ὰ & ά & ὲ & έ & ὴ & ή & ὶ & ί & ὸ & ό & ὺ & ύ & ὼ & ώ & & \\ +1F80 & ᾀ & ᾁ & ᾂ & ᾃ & ᾄ & ᾅ & ᾆ & ᾇ & ᾈ & ᾉ & ᾊ & ᾋ & ᾌ & ᾍ & ᾎ & ᾏ\\ +1F90 & ᾐ & ᾑ & ᾒ & ᾓ & ᾔ & ᾕ & ᾖ & ᾗ & ᾘ & ᾙ & ᾚ & ᾛ & ᾜ & ᾝ & ᾞ & ᾟ\\ +1FA0 & ᾠ & ᾡ & ᾢ & ᾣ & ᾤ & ᾥ & ᾦ & ᾧ & ᾨ & ᾩ & ᾪ & ᾫ & ᾬ & ᾭ & ᾮ & ᾯ\\ +1FB0 & ᾰ & ᾱ & ᾲ & ᾳ & ᾴ & & ᾶ & ᾷ & Ᾰ & Ᾱ & Ὰ & Ά & ᾼ & ᾽ & ι & ᾿\\ +1FC0 & ῀ & ῁ & ῂ & ῃ & ῄ & & ῆ & ῇ & Ὲ & Έ & Ὴ & Ή & ῌ & ῍ & ῎ & ῏\\ +1FD0 & ῐ & ῑ & ῒ & ΐ & & & ῖ & ῗ & Ῐ & Ῑ & Ὶ & Ί & & ῝ & ῞ & ῟\\ +1FE0 & ῠ & ῡ & ῢ & ΰ & ῤ & ῥ & ῦ & ῧ & Ῠ & Ῡ & Ὺ & Ύ & Ῥ & ῭ & ΅ & `\\ +1FF0 & & & ῲ & ῳ & ῴ & & ῶ & ῷ & Ὸ & Ό & Ὼ & Ώ & ῼ & ´ & ῾ & \\ +\bottomrule +\end{tabular} + + +Combined Diacritics work ᾅ, diacritics (except diaeresis) are dropped with +MakeUppercase (μαΐστρος $\mapsto$ \MakeUppercase{μαΐστρος}). + + + +\section{PDF strings} + +With \emph{textalpha} and +\emph{\href{http://www.ctan.org/pkg/greek-inputenc}{greek-inputenc}}, there +are two options to get Greek letters in PDF strings: LICR macros and literal +Unicode input. + +\subsection{\textlambda\textomicron\textgamma\textomicron\textvarsigma{}, + λογος and \ensuregreek{logos}} + +The subsection title above uses: LICR macros, Unicode input and the LGR +transcription for the Greek word \ensuregreek{logos}. Check the table of +contents in the PDF viewer: LICR macros and Unicode literals work fine, the +Latin transcription remains Latin in the PDF metadata. + + +\section{Limitations} + +Because the internal font encoding switch interferes with other work behind +the scenes, kerning, diacritics and up/down-casing show problems if Greek +letters are used without explicit change of the font encoding. These +problems can be avoided by use of \emph{babel} and the correct language +setting (greek) or an explicit font encoding switch (e.g. +wrapping the Greek text in \verb|\ensuregreek|% +\footnote{The \texttt{\textbackslash ensuregreek} macro ensures the argument +is set in a font encoding supporting Greek. This can be used to fix these +problems without adverse side-effects if the active font encoding is already +LGR.}). + +\subsection{Diacritics} + +Composition of diacritics (like \verb|\accdasia\acctonos|) fails in other +font encodings. Long names (like \verb|\accdasiaoxia|) work, however they do +not select pre-composed characters. With LGR, pre-composed glyphs are chosen +if available (the difference becomes obvious if you drag-and-drop text from +the PDF version of this document): +% +\ensuregreek{\<'a \accdasia\acctonos a \accdasiaoxia a +\accdasiaoxia\textalpha} (LGR) vs. \accdasiaoxia\textalpha{} (T1). + +According to Greek typographical tradition, diacritics (except the +dialytika) are placed before capital letters in titlecase and dropped in +all-caps: +% +\begin{quote} + \ensuregreek{% + \<{\textalpha} \>{\textepsilon} \"'{\textiota} \`>\texteta{} + \'<{\textomicron} \~<{\textupsilon} \~>{\textomega} + \\ + \<{\textAlpha} \>{\textEpsilon} \"{\textIota} \`>\textEta{} + \'<{\textOmicron} \~<{\textUpsilon} \~>{\textOmega} + \\ + \MakeUppercase{% + \<{\textalpha} \>{\textepsilon} \"'{\textiota} \`\>\texteta{} + \'<{\textomicron} \~<{\textupsilon} \~>{\textomega}. + } + } +\end{quote} +% +This fails if the active font encoding is not LGR: +\ensuregreek{\'\textAlpha} (LGR) vs. \'\textAlpha (T1). +To overcome this, the \verb|\ensuregreek| macro is used in composite Unicode +character definitions: \ensuregreek{Ά} (LGR) = Ά (T1). + + +The dialytika marks a \emph{hiatus} (break-up of a diphthong). It must be +present in UPPERCASE even where it is redundant in lowercase (the hiatus can +also be marked by an accent on the first character of a diphthong). The +auto-hiatus feature works in LGR font encoding only: +\acctonos\textalpha\textupsilon{}, \acctonos\textepsilon\textiota{} $\mapsto$ +\MakeUppercase{\ensuregreek{ + \acctonos\textalpha\textupsilon{}, \acctonos\textepsilon\textiota{} +}} vs. +\MakeUppercase{ + \acctonos\textalpha\textupsilon{}, \acctonos\textepsilon\textiota{}% +}. + +Currently, the second vowel of the diphthong must be given as macro, not +Unicode literal if the auto-hiatus feature should work: +\ensuregreek{ἀ\textupsilon{}πνία} $\mapsto$ +\ensuregreek{\MakeUppercase{\ensuregreek{ἀ\textupsilon{}πνία}}} vs. +\ensuregreek{\MakeUppercase{\ensuregreek{ἀυπνία}}}. + +\subsection{Kerning} + +No kerning occurs between Greek characters in non-Greek text due to the +internal font encoding switch: compare +\ensuregreek{\textAlpha\textUpsilon\textAlpha} (LGR) to +\textAlpha\textUpsilon\textAlpha (T1). + +\end{document} |