diff options
Diffstat (limited to 'macros/latex/contrib/babel-contrib/greek/test-greeknumeral.tex')
-rw-r--r-- | macros/latex/contrib/babel-contrib/greek/test-greeknumeral.tex | 236 |
1 files changed, 236 insertions, 0 deletions
diff --git a/macros/latex/contrib/babel-contrib/greek/test-greeknumeral.tex b/macros/latex/contrib/babel-contrib/greek/test-greeknumeral.tex new file mode 100644 index 0000000000..f60bcaff75 --- /dev/null +++ b/macros/latex/contrib/babel-contrib/greek/test-greeknumeral.tex @@ -0,0 +1,236 @@ +\documentclass[a4paper]{scrartcl} + +% Load font packages depending on engine: +\ifdefined\luatexversion + \usepackage{fontspec} +\fi +\ifdefined\XeTeXrevision + \usepackage{fontspec} +\fi +\ifdefined \UTFencname % set by "fontspec.sty" + % Latin Modern misses most Greek characters. + \setmainfont{DejaVu Serif} + \setsansfont{DejaVu Sans} +\else + \usepackage[LGR,T1]{fontenc} + \usepackage[utf8]{inputenc} + \usepackage{lmodern} + % \usepackage{kerkis} % missing glyphs (Qoppa, in sans serif also koppa, Koppa) + % \usepackage{dejavu} missing glyphs (qoppa, Qoppa, Sampi) + % \usepackage{epigrafica} # many missing glyphs + % \usepackage{gentium} % missing glyphs (Qoppa, Sampi) + % \usepackage{gfsdidot} % sampi in place of qoppa, missing sampi Sampi + % \usepackage{gfsartemisia} % sampi in place of qoppa, missing sampi Sampi + % \usepackage{libertinegc} + % \usepackage{noto} + % \usepackage{OldStandard} + % \usepackage{roboto} +\fi + + +% Greek script support with textalpha (greek-fontec) or babel-greek: + +% \usepackage{textalpha} +\usepackage[greek,english]{babel} + +% Save the unpatched version +\let\origgreeknumeral\greeknumeral +\let\origGreeknumeral\Greeknumeral + +% uncomment, if you prefer Qoppa for Koppa +% \let\textKoppa\textQoppa +% \let\textkoppa\textqoppa + + +% Hyperref +% default PDFstring encoding is PD1 without Greek support: +% \usepackage[unicode]{hyperref} +% With option unicode, there is partial Greek support (no polytonic) +\usepackage[unicode]{hyperref} + + +\DeclareTextCommand{\greekscript}{PU}{} +\DeclareTextCommand{\ensuregreek}{PU}[1]{#1} +% Greek LICR names from "greek-fontenc" +\DeclareTextCommand{\textdexiakeraia}{PU}{\83\164}% U+0374 +\DeclareTextCommand{\textaristerikeraia}{PU}{\83\165}% U+0375 +\DeclareTextCommand{\textQoppa}{PU}{\83\330}% U+03D8 +\DeclareTextCommand{\textqoppa}{PU}{\83\331}% U+03D9 +\DeclareTextCommand{\textStigma}{PU}{\83\332}% U+03DA +\DeclareTextCommand{\textstigma}{PU}{\83\333}% U+03DB +\DeclareTextCommand{\textDigamma}{PU}{\83\334}% U+03DC +\DeclareTextCommand{\textdigamma}{PU}{\83\335}% U+03DD +\DeclareTextCommand{\textKoppa}{PU}{\83\336}% U+03DE +\DeclareTextCommand{\textkoppa}{PU}{\83\337}% U+03DF +\DeclareTextCommand{\textSampi}{PU}{\83\340}% U+03E0 +\DeclareTextCommand{\textsampi}{PU}{\83\341}% U+03E1 +% TODO: support polytonic Greek (Greek Extended Unicode block) + + + +\begin{document} + +% \textuppercase{Grüße} + +% \selectlanguage{greek} +% \selectlanguage{english} + + +\section{Test Hyperref-safe implementation of Greek numerals} + +Every number is set in 4 versions: + +1: lowercase Babel, +2: lowercase Hyperref-patched, + +3: uppercase Babel, +4: uppercase Hyperref-patched, + + +\DeclareRobustCommand{\numeraltest}[1]{ + \origgreeknumeral{#1} + \ensuregreek{\greeknumeral{#1}}\ + \origGreeknumeral{#1} + \ensuregreek{\Greeknumeral{#1}} +} + + +\noindent single numerals + +1-5 +\numeraltest{1} +\numeraltest{2} +\numeraltest{3} +\numeraltest{4} +\numeraltest{5} + +6-9 +\numeraltest{6} +\numeraltest{7} +\numeraltest{8} +\numeraltest{9} + +10-50 +\numeraltest{10} +\numeraltest{20} +\numeraltest{30} +\numeraltest{40} +\numeraltest{50} + +60-90 +\numeraltest{60} +\numeraltest{70} +\numeraltest{80} +\numeraltest{90} + +100-500 +\numeraltest{100} +\numeraltest{200} +\numeraltest{300} +\numeraltest{400} +\numeraltest{500} + +600-900 +\numeraltest{600} +\numeraltest{700} +\numeraltest{800} +\numeraltest{900} + +1000-5000 +\numeraltest{1000} +\numeraltest{2000} +\numeraltest{3000} +\numeraltest{4000} +\numeraltest{5000} + +6000-9000 +\numeraltest{6000} +\numeraltest{7000} +\numeraltest{8000} +\numeraltest{9000} + +10 000 - 900 000 +\numeraltest{10000} +\numeraltest{20000} +\numeraltest{800000} +\numeraltest{900000} + +\noindent compound numbers + +123-323 +\numeraltest{123} +\numeraltest{223} +\numeraltest{323} + +445-645 +\numeraltest{445} +\numeraltest{545} +\numeraltest{645} + +767-967 +\numeraltest{767} +\numeraltest{867} +\numeraltest{967} + +967021 \numeraltest{967021} + +\noindent outside of bounds + +Negative and zero +\greeknumeral{-1} +% \Greeknumeral{-1} +\greeknumeral{0} +%\Greeknumeral{0} + +Too large: +\greeknumeral{1000000} +% \Greeknumeral{1000000} + +\paragraph{Discussion} + +The new implementation gives identical results. + +\section{Greek numerals in PDF bookmarks} + +\section{ + \numeraltest{1} + \numeraltest{90} + \numeraltest{200} +} + +\section{ + \numeraltest{1000} + \numeraltest{90000} + \numeraltest{200000} +} +\section{ + \numeraltest{24} + \numeraltest{96} +} + +\section{ + \numeraltest{96} + \numeraltest{263} +} + +\section{ + \numeraltest{4695} +} + +\section{Original numeral: + \greekscript{\origgreeknumeral{1293}} + % \greekscript{\origGreeknumeral{1293}} +} + +Babels original lower case version works fine in text. However, use in a +section heading results in spurious numeral marks (dexia keraia) in the +PDF bookmark. and the warning +\begin{verbatim} + Package hyperref Warning: Token not allowed in a PDF string (Unicode): + (hyperref) removing `\@ifnextchar' on input line 353. +\end{verbatim} + +The upper case version fails because MakeUpercase is not defined for +PDFstrings. + +\end{document}, |