% Test Babel's "ini" file for Greek % © 2023 Günter Milde % Setup for Greek with localisation from the "ini" files. \newcommand{\SETUP}{ \ifdefined\UnicodeEncodingName % set by XeTeX/LuaTeX \else % 8-bit TeX \usepackage{lmodern} \usepackage[LGR,T1]{fontenc} % \usepackage{textalpha} \ProvideTextCommandDefault{\greekscript}{\fontencoding{LGR}\selectfont \def\encodingdefault{\greekfontencoding}} \ProvideTextCommandDefault{\ensuregreek}[1]{\leavevmode{\greekscript ##1}} % Babel <= (3.84) misses the automatic font encoding switch to LGR % \addto\extrasgreek{\greekscript} % \addto\noextrasgreek{\latintext} \fi \usepackage[greek, english, provide*=*]{babel} \ifdefined\UnicodeEncodingName % set by XeTeX/LuaTeX \babelfont{rm}[Scale=0.92]{DejaVu Serif} % The "ini" Greek setup does not load extended Greek definitions for TU. % Load textalpha or provide dummy definitions: % \usepackage{textalpha} \ProvideTextCommand{\ensuregreek}{TU}[1]{##1} \ProvideTextCommand{\greekscript}{TU}{} \ProvideTextCommand{\textalpha}{TU}{only with the \pkgref{textalpha} package} \ProvideTextCommand{\textOmega}{TU}{} \fi \usepackage{hyperref} \hypersetup{unicode, colorlinks=true,linkcolor=blue,urlcolor=blue} % fallbacks for commands defined in babel-greek: \providecommand*\greekfontencoding{not set} % \providecommand*\lgrfont[1]{\cs{lgrfont} \emph{missing}} \ProvideTextCommandDefault{\textampersand}{\&} \providecommand*\greeknumeral[1]{\{##1\}} } \newcommand{\SETUPDOC}{% This test uses Babel's built-in Greek support (``ini'' file, cf. \href{https://latex3.github.io/babel/guides/locale-greek.html} {Babel>Locales>Greek}). The following problems can be easily fixed by loading the \emph{textalpha} package. \begin{itemize} \item Accents not dropped with old (pre 2022/06) \cs{MakeUppercase}. \item Greek LICR macros unknown in TU. \end{itemize} The new 2023/02/10 \cs{MakeUppercase} code fixes the UPPERCASE of Greek Unicode literals (including a fix for the ``hiatus'' problem). } \input{test-greek.tex}