From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Mon, 2 Sep 2019 13:46:59 +0900
Subject: Initial commit

---
 macros/latex/contrib/engrec/engrec.dtx | 472 +++++++++++++++++++++++++++++++++
 1 file changed, 472 insertions(+)
 create mode 100644 macros/latex/contrib/engrec/engrec.dtx

(limited to 'macros/latex/contrib/engrec/engrec.dtx')

diff --git a/macros/latex/contrib/engrec/engrec.dtx b/macros/latex/contrib/engrec/engrec.dtx
new file mode 100644
index 0000000000..ecaac44b0f
--- /dev/null
+++ b/macros/latex/contrib/engrec/engrec.dtx
@@ -0,0 +1,472 @@
+% \iffalse meta-comment
+% -*- mode: LaTeX; coding: iso-8859-15 -*-
+% Time-stamp: <2008-05-07T21:09:22 (cest) [yvon sur hypatie]>
+% Copyright (C) 2004, 2008 by Yvon Henel 
+% dit «le TeXnicien de surface» <le.texnicien.de.surface@wanadoo.fr>
+% ------------------------------------------------------------------
+% 
+% This file may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.2
+% of this license or (at your option) any later version.
+% The latest version of this license is in:
+%
+%    http://www.latex-project.org/lppl.txt
+%
+% and version 1.2 or later is part of all distributions of LaTeX 
+% version 1999/12/01 or later.
+% \fi
+%
+% \iffalse
+%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<package>\def\PackageName{engrec}  
+%<package>\def\fileversion{v1.1}  
+%<package>\def\filedate{2008/05/07} 
+%<package>\def\fileinfo{fichier engrec.sty par Le TeXnicien de surface}
+%<package>\ProvidesPackage{engrec}
+%<package>   [\filedate\space\fileversion\space\fileinfo] 
+%<*driver>
+\documentclass[a4paper]{ltxdoc}
+\usepackage[latin9]{inputenc}
+\usepackage[T1]{fontenc}  
+\usepackage{engrec}[2008/05/07]
+\usepackage{xspace,url,multicol,ifthen}
+\IfFileExists{lmodern.sty}{\usepackage{lmodern}}{}
+\usepackage[english,frenchb]{babel}
+% commentez la ligne suivante pour avoir un document avec le code
+\OnlyDescription
+% comment out the preceding line to obtain the full code 
+% with explanations in French only, sorry.
+\EnableCrossrefs         
+\CodelineIndex
+\RecordChanges
+\makeatletter
+%%% quelques redéfinition de commande de la classe ltxdoc.cls ou de
+%%% l'extension doc.sty pour une documentation en français.
+\GlossaryPrologue{%
+  \section*{{Changements -- Changes}}%
+  \markboth{{Changements -- Changes}}{{Changements -- Changes}}}
+\IndexPrologue{\section*{Index}\markboth{Index}{Index}%
+  \begin{Morciau}\selectlanguage{french}
+    Les nombres en italique renvoient à la page où l'entrée est
+    décrite ; les nombres soulignés renvoient à la ligne de code de la
+    définition ; les nombres en caractères romains renvoient à la
+    ligne de code où l'entrée est utilisée.\EnAnglais Numbers
+    written in italic refer to the page where the corresponding
+    entry is described; numbers underlined refer to the code line of
+    the definition; numbers in roman refer to the code line where
+    the entry is used.\end{Morciau}}
+\renewcommand{\SpecialMainEnvIndex}[1]{%
+  \@bsphack\special@index{%
+    #1\actualchar
+    {\string\ttfamily\space#1}
+    (environnement)%
+    \encapchar main}%
+  \special@index{environnements:\levelchar{%
+      \string\ttfamily\space#1}\encapchar
+    main}\@esphack}
+\makeatother
+\def\generalname{Général -- General}
+%%% fin de la francisation
+\setlength{\columnseprule}{0.5pt}
+\setlength{\multicolsep}{6pt plus 2.0pt minus 1.5pt}
+\def\FraTitre{\relax}
+\def\EngTitre{\relax}
+\newcommand{\TraiteTitre}[1]{\TraiteTitreAux#1/ZZZ}
+\def\TraiteTitreAux#1/#2/ZZZ{\def\FraTitre{\TitreMorciau{#1}}%
+  \ifthenelse{\equal{#2}{}}{\def\LarGuMent{#1}}{\def\LarGuMent{#2}}
+  \def\EngTitre{\TitreMorciau{\LarGuMent}}}
+\newcommand{\TitreMorciau}[1]{\paragraph{#1}}
+\newenvironment{Morciau}[1][ZXZXZ]{\begin{multicols}{2}%
+    \selectlanguage{french}%
+    \ifthenelse{\equal{#1}{ZXZXZ}}{\relax}{\TraiteTitre{#1}\FraTitre}}%
+  {\end{multicols}}   
+\newcommand{\EnAnglais}{\columnbreak\mbox{}
+  \par\selectlanguage{english}\EngTitre} 
+\newcommand{\NomDeModule}[1]{\texttt{#1.sty}\xspace}
+\newcommand{\fctt}{\texttt{fr.comp.text.tex}\xspace}
+\newcommand{\Sourire}{\texttt{;-)}\xspace}
+%%% fin de la personalisation
+\begin{document}
+  \DocInput{engrec.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{444}
+%
+% \CharacterTable
+%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%   Digits        \0\1\2\3\4\5\6\7\8\9
+%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%   Dollar        \$     Percent       \%     Ampersand     \&
+%   Acute accent  \'     Left paren    \(     Right paren   \)
+%   Asterisk      \*     Plus          \+     Comma         \,
+%   Minus         \-     Point         \.     Solidus       \/
+%   Colon         \:     Semicolon     \;     Less than     \<
+%   Equals        \=     Greater than  \>     Question mark \?
+%   Commercial at \@     Left bracket  \[     Backslash     \\
+%   Right bracket \]     Circumflex    \^     Underscore    \_
+%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%   Right brace   \}     Tilde         \~}
+%
+% \GetFileInfo{engrec.sty}
+%
+% \changes{v1}{2004/05/20}{1\iere version publique. 1st public version.} 
+% \changes{v1.1}{2008/05/04}{Recquiert \texttt{amstext} au lieu de
+% \texttt{amsmath}. Demands \texttt{amstext} instead of \texttt{amsmath}.}
+% \changes{v1.1}{2008/05/04}{Utilise \cs{ensuremath}. Uses \cs{ensuremath}.}
+%
+% \DoNotIndex{\newcommand,\newenvironment,\i,\ae,\oe,\DeclareOption,^^A
+%   \alpha, \beta, \gamma, \delta, \epsilon,^^A
+%   \varepsilon, \zeta, \eta, \theta, \vartheta, \iota, \kappa,^^A
+%   \lambda, \mu, \nu, \xi, \pi, \varpi, \rho, \varrho, \sigma,^^A
+%   \varsigma, \tau, \upsilon, \phi, \varphi, \chi, \psi, \omega,^^A
+%   \upalpha, \upbeta, \upgamma, \updelta, \upepsilon,^^A
+%   \upvarepsilon, \upzeta, \upeta, \uptheta, \upvartheta, \upiota, \upkappa,^^A
+%   \uplambda, \upmu, \upnu, \upxi, \uppi, \upvarpi, \uprho, \upvarrho, \upsigma,^^A
+%   \upvarsigma, \uptau, \upupsilon, \upphi, \upvarphi, \upchi, \uppsi, \upomega,^^A
+%   \Delta, \Gamma, \Theta, \Lambda, \Xi, \Pi, \Phi, \Psi \Sigma,^^A
+%   \Upsilon, \ExecuteOptions, \providecommand, \newif,^^A  
+%   \fi, \if, \or, \ifnum,\ifcase, \def, \expandafter,^^A
+%   \RequirePackage, \@ctrerr, \ProcessOptions,\relax,^^A
+%   \text, \textup \csname, \endcsname, \value, \else, \Omega, \ensuremath}
+% 
+% \title{Le module \textsf{engrec}\thanks{Ce document correspond au
+%                   fichier \textsf{engrec}~\fileversion, du \filedate. Édition
+%                   du cinquantenaire.}\\ 
+% The package \textsf{engrec}\thanks{Corresponds to the
+%                   file \textsf{engrec}~\fileversion, dated \filedate. 50th
+%                   anniversary edition.}}
+% 
+% \author{Le \TeX nicien de surface\thanks{%
+%                 \texttt{le.texnicien.de.surface@wanadoo.fr}}}  
+%
+% \maketitle
+%
+%\section{Introduction}
+%\label{secIntro}
+% \begin{Morciau}[Macros~publiques/Public~Macros]
+% Deux macros \cs{engrec} et \cs{EnGrec} pour numéroter, par exemple
+% des listes, avec des minuscules ou des majuscules grecques. Leur
+% syntaxe est celle de \cs{alph}.
+% \EnAnglais
+% Two macros  \cs{engrec} and \cs{EnGrec} to enumerate, for example
+% some lists, with lower case or upper case greek letters. They have
+% the syntax of \cs{alph}.
+% \end{Morciau}
+% \begin{Morciau}[Syntaxe/Syntax]
+%   \cs{engrec}\marg{compteur} \cs{EnGrec}\marg{compteur}
+%   \EnAnglais
+%   \cs{engrec}\marg{counter}\\  \cs{EnGrec}\marg{counter}
+% \end{Morciau}
+% \begin{Morciau}[Options/]
+% Le module admet des options qui permettent de selectionner la
+% forme des caractères à variante. \texttt{toto} étant égal à
+% \texttt{epsilon} ou \texttt{theta} ou \texttt{pi} ou \texttt{rho}
+% ou \texttt{sigma} ou \texttt{phi}, l'option \texttt{vartoto}
+% sélectionne la lettre grecque minuscule \cs{vartoto} et s'oppose à
+% l'option \texttt{toto} qui sélectionne \cs{toto}.
+% \EnAnglais
+% The package has options which enable us to select the shape of the
+% greek lower case character with variant. Let \texttt{toto} be equal
+% to \texttt{epsilon} or \texttt{theta} or \texttt{pi} or \texttt{rho}
+% or \texttt{sigma} or \texttt{phi}, the option \texttt{vartoto}
+% selects the greek lower case character \cs{vartoto} and is the
+% opposite of the option \texttt{toto} which selects \cs{toto}. 
+% \end{Morciau}
+% \begin{Morciau}[Minuscules~droites/Upright~Lowercases]
+% Le module admet aussi l'option \texttt{upgreek} qui charge
+% \NomDeModule{upgreek} pour fournir des minuscules grecques droites. Cette
+% option s'oppose à \texttt{slgreek}, option par défaut.
+% \EnAnglais
+% The package has also option \texttt{upgreek} which loads \NomDeModule{upgreek}
+% to provide upright lower case greek characters. That option is the opposite of
+% the default \texttt{slgreek}.
+% \end{Morciau}
+% \begin{Morciau}[Avec~fourier.sty/With~fourier.sty]
+% Il admet enfin l'option \texttt{upright} qui règle le cas du \emph{omicron} et
+% doit être utilisée lorsque l'on charge \NomDeModule{fourier} avec l'option
+% \texttt{upright}. Cette option s'oppose à \texttt{sloped}, prise par défaut.
+% \EnAnglais
+% It has also option \texttt{upright} which takes care of the
+% \emph{omicron} and must be used when one loads \NomDeModule{fourier}
+% with option \texttt{upright}. This option is the opposite of the
+% default \texttt{sloped}.
+% \end{Morciau}
+% \begin{Morciau}   
+% La façon la plus simple de passer cette option est alors d'utiliser\\
+% \cs{DocumentClass}[\texttt{upright}$\cdots$]\marg{classe}\\ plutôt que de
+% charger et \NomDeModule{fourier} et \NomDeModule{engrec} avec, tous deux,
+% l'option \texttt{upright}.
+% \EnAnglais
+% The easiest way of selecting that option is to use\\
+% \cs{DocumentClass}[\texttt{upright}$\cdots$]\marg{class}\\ instead of
+% loading and \NomDeModule{fourier} and \NomDeModule{engrec} both with option
+% \texttt{upright}.  
+% \end{Morciau}
+% \begin{Morciau}[\text{Options~par~défaut}/\text{Default~Options}]
+% \texttt{varepsilon}, \texttt{theta}, \texttt{pi}, \texttt{rho},
+% \texttt{sigma}, \texttt{varphi}, \texttt{sloped}, \texttt{slgreek}. 
+% \EnAnglais
+% \texttt{varepsilon}, \texttt{theta}, \texttt{pi}, \texttt{rho},
+% \texttt{sigma}, \texttt{varphi}, \texttt{sloped}, \texttt{slgreek}. 
+% \end{Morciau}
+% \begin{Morciau}[Module~chargé/Loaded~Package]
+% Ce module nécessite \NomDeModule{amstext} dont il utilise la
+% commande \cs{text} pour définir les macros comme \cs{Alpha} qui sont
+% les  \og noms \fg des majuscules grecques qui n'en ont pas 
+% d'habitude car leur forme est semblable à celle d'une lettre
+% latine : {\ttfamily Alpha, Beta, Epsilon, Zeta, Eta, Iota,
+% Mu, Nu, Omicron, Rho, Tau, Chi}. Par exemple \cs{Alpha} est égale à 
+% \EnAnglais
+% This package requires \NomDeModule{amstext} for it uses \cs{text}
+% defined there to create macros such as \cs{Alpha} which are the
+% `names' of the upper case greek letters which have usually no names
+% since their shape is similar to the shape of a latin character,
+% viz.: {\ttfamily Alpha, Beta, Epsilon, Zeta, Eta, Iota, Mu, Nu,
+% Omicron, Rho, Tau, Chi}. \cs{Alpha}, e. g., is equal to
+% \end{Morciau}
+% \hspace*{\stretch{1}}\cs{text}|{|\cs{rmfamily}\cs{upshape}| A}|\hspace*{\stretch{1}}
+% \begin{Morciau}[omicron/] 
+% Il définit également la minuscule \texttt{omicron}. 
+% \cs{omicron} est définie comme ci-dessous  et
+% apparaît comme $\omicron$. Il en donne une version toujours droite avec
+% \cs{upomicron} : \upomicron. 
+% \EnAnglais
+% The lower case \texttt{omicron} is also provided by \cs{omicron} and
+% defined as shown below which is printed
+% $\omicron$. There is also an always upright version with
+% \cs{upomicron}:~\upomicron.  
+% \end{Morciau}
+% \hspace*{\stretch{1}}\cs{text}|{|\cs{rmfamily}\cs{itshape}| o}|\hspace*{\stretch{1}}
+% \begin{Morciau}[Le code/The Code] 
+% Le code des macros \cs{engrec}, \cs{EnGrec} et des macros
+% auxiliaires associées |\@grec| et |\@Grec| est repris quasi verbatim
+% de \texttt{latex.ltx}. 
+% \EnAnglais
+% The code of macros \cs{engrec}, \cs{EnGrec} and of associated
+% auxiliary macros |\@grec| and |\@Grec| is taken, almost verbatim,
+% from \texttt{latex.ltx}.  
+% \end{Morciau}
+%
+% \section{Utilisation -- Usage}
+% \begin{Morciau}[Exemple/Example]
+% On crée un compteur, on l'initialise à 1, on en fait écrire la valeur par
+% \cs{engrec} puis on l'augmente de 1 et on fait écrire sa valeur par
+% \cs{engrec} 24 fois grace à \cs{whiledo} de \texttt{ifthen}. Puis la même
+% chose avec \cs{EnGrec}.   
+% \EnAnglais
+% We create a counter, initialise it to 1, make \cs{engrec} write its value then
+% we add 1 and write its value with \cs{engrec} 24 times with the help of
+% \cs{whiledo} from \texttt{ifthen}. Then the same with \cs{EnGrec}. 
+% \end{Morciau}
+% \bgroup \setlength{\parindent}{0pt}
+% |\newcounter{montruc} \setcounter{montruc}{1}|\\
+% |\whiledo{\value{montruc}<25}{\engrec{montruc} \stepcounter{montruc}}|
+% 
+% \newcounter{montruc} \setcounter{montruc}{1} 
+% \whiledo{\value{montruc}<25}{\engrec{montruc} \stepcounter{montruc}}
+%
+% |\newcounter{montruc} \setcounter{montruc}{1}|\\
+% |\whiledo{\value{montruc}<25}{\EnGrec{montruc} \stepcounter{montruc}}|
+% 
+% \setcounter{montruc}{1} 
+% \whiledo{\value{montruc}<25}{\EnGrec{montruc} \stepcounter{montruc}}
+% \egroup
+%^^A  
+% \StopEventually{}
+% \section{Le code}
+% \label{secCode}
+% On dit boujour, puis on définit les huit tests qui correspondent aux
+% six paires d'options possibles.  
+% \iffalse
+%<*package>
+% \fi
+%    \begin{macrocode}
+\newif\if@varepsilon
+\newif\if@vartheta
+\newif\if@varpi
+\newif\if@varrho
+\newif\if@varsigma
+\newif\if@varphi
+\newif\if@upomicron  
+\newif\if@upgreek    
+%    \end{macrocode}
+% On définit les options. Chacune fixe à \texttt{true} ou
+% \texttt{false} le booléen correspondant.
+%    \begin{macrocode}
+\DeclareOption{upright}{\@upomicrontrue}
+\DeclareOption{sloped}{\@upomicronfalse}
+\DeclareOption{upgreek}{\@upgreektrue}
+\DeclareOption{slgreek}{\@upgreekfalse}
+\DeclareOption{varepsilon}{\@varepsilontrue}
+\DeclareOption{epsilon}{\@varepsilonfalse}
+\DeclareOption{vartheta}{\@varthetatrue}
+\DeclareOption{theta}{\@varthetafalse}
+\DeclareOption{varpi}{\@varpitrue}
+\DeclareOption{pi}{\@varpifalse}
+\DeclareOption{varrho}{\@varrhotrue}
+\DeclareOption{rho}{\@varrhofalse}
+\DeclareOption{varsigma}{\@varsigmatrue}
+\DeclareOption{sigma}{\@varsigmafalse}
+\DeclareOption{varphi}{\@varphitrue}
+\DeclareOption{phi}{\@varphifalse}
+%    \end{macrocode}
+% On exécute les options par défaut. 
+%    \begin{macrocode}
+\ExecuteOptions{varepsilon,theta,pi,rho,sigma,varphi,sloped,slgreek}
+\ProcessOptions\relax
+%    \end{macrocode}
+% On charge le module \NomDeModule{amstext} qui fournit la macro \cs{text}.
+%    \begin{macrocode}
+\RequirePackage{amstext}
+%    \end{macrocode}
+% On charge le module \NomDeModule{upgreek} si l'option \texttt{upgreek} a été
+% choisie. 
+%    \begin{macrocode}
+\if@upgreek \RequirePackage{upgreek}\fi
+%    \end{macrocode}
+% 
+% \begin{macro}{\Alpha}
+% On définit les macros  \og manquantes \fg de telle sorte que chaque
+% lettre grecque ait sa macro. On utilise \cs{providecommand} au cas
+% où un module se chargerait de les définir. On fixe la famille romaine et la
+% forme droite avec \cs{rmfamily} et \cs{upshape}. 
+% \changes{v1.1}{2008/05/07}{Fixe la forme romain droit. Fix roman upshape.}
+% 
+%    \begin{macrocode} 
+\providecommand{\Alpha}{\text{\rmfamily\upshape A}}
+\providecommand{\Beta}{\text{\rmfamily\upshape B}}
+\providecommand{\Epsilon}{\text{\rmfamily\upshape E}}
+\providecommand{\Zeta}{\text{\rmfamily\upshape Z}}
+\providecommand{\Eta}{\text{\rmfamily\upshape H}}
+\providecommand{\Iota}{\text{\rmfamily\upshape I}}
+\providecommand{\Kappa}{\text{\rmfamily\upshape K}}
+\providecommand{\Mu}{\text{\rmfamily\upshape M}}
+\providecommand{\Nu}{\text{\rmfamily\upshape N}}
+\providecommand{\Omicron}{\text{\rmfamily\upshape O}}
+\providecommand{\Rho}{\text{\rmfamily\upshape P}}
+\providecommand{\Tau}{\text{\rmfamily\upshape T}}
+\providecommand{\Chi}{\text{\rmfamily\upshape X}}
+\providecommand{\omicron}{\text{\rmfamily\itshape o}}
+\providecommand{\upomicron}{\text{\rmfamily\upshape o}}
+%    \end{macrocode}
+% \end{macro}
+% \begin{macro}{\engrec}
+% Le code est copié sur celui de \cs{alph} dans \texttt{latex.ltx}. 
+%    \begin{macrocode}
+\def\engrec#1{\expandafter\@grec\csname c@#1\endcsname}
+%    \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@grec}
+% Le code est copié sur celui de |\@alph| dans \texttt{latex.ltx} avec les
+% interventions des options. On utilise \cs{ensuremath} au lieu de |$ $| pour
+% permettre l'utilisation au milieu des mathématiques.
+%    \begin{macrocode}
+\if@upgreek 
+\def\@grec#1{%
+  \ifcase#1\or 
+  \ensuremath{\upalpha}\or 
+  \ensuremath{\upbeta}\or
+  \ensuremath{\upgamma}\or 
+  \ensuremath{\updelta}\or 
+  \if@varepsilon \ensuremath{\upvarepsilon}\else \ensuremath{\upepsilon}\fi \or
+  \ensuremath{\upzeta}\or 
+  \ensuremath{\upeta}\or 
+  \if@vartheta \ensuremath{\upvartheta}\else \ensuremath{\uptheta}\fi \or
+  \ensuremath{\upiota}\or 
+  \ensuremath{\upkappa}\or 
+  \ensuremath{\uplambda}\or
+  \ensuremath{\upmu}\or 
+  \ensuremath{\upnu}\or 
+  \ensuremath{\upxi}\or
+  \ensuremath{\upomicron}\or 
+  \if@varpi \ensuremath{\upvarpi}\else \ensuremath{\uppi}\fi \or 
+  \if@varrho \ensuremath{\upvarrho}\else \ensuremath{\uprho}\fi \or 
+  \if@varsigma \ensuremath{\upvarsigma}\else \ensuremath{\upsigma}\fi \or 
+  \ensuremath{\uptau}\or 
+  \ensuremath{\upupsilon}\or
+  \if@varphi \ensuremath{\upvarphi}\else \ensuremath{\upphi}\fi \or
+  \ensuremath{\upchi}\or 
+  \ensuremath{\uppsi}\or
+  \ensuremath{\upomega}\else
+  \@ctrerr\fi}%
+\else
+\def\@grec#1{%
+  \ifcase#1\or 
+  \ensuremath{\alpha}\or 
+  \ensuremath{\beta}\or
+  \ensuremath{\gamma}\or 
+  \ensuremath{\delta}\or 
+  \if@varepsilon \ensuremath{\varepsilon}\else \ensuremath{\epsilon}\fi \or
+  \ensuremath{\zeta}\or 
+  \ensuremath{\eta}\or 
+  \if@vartheta \ensuremath{\vartheta}\else \ensuremath{\theta}\fi \or 
+  \ensuremath{\iota}\or
+  \ensuremath{\kappa}\or 
+  \ensuremath{\lambda}\or 
+  \ensuremath{\mu}\or
+  \ensuremath{\nu}\or 
+  \ensuremath{\xi}\or 
+  \if@upomicron \ensuremath{\upomicron}\else \ensuremath{\omicron}\fi\or 
+  \if@varpi \ensuremath{\varpi}\else \ensuremath{\pi}\fi \or 
+  \if@varrho \ensuremath{\varrho}\else \ensuremath{\rho}\fi \or 
+  \if@varsigma \ensuremath{\varsigma}\else \ensuremath{\sigma}\fi \or 
+  \ensuremath{\tau}\or
+  \ensuremath{\upsilon}\or 
+  \if@varphi \ensuremath{\varphi}\else \ensuremath{\phi}\fi \or 
+  \ensuremath{\chi}\or 
+  \ensuremath{\psi}\or
+  \ensuremath{\omega}\else
+  \@ctrerr\fi}
+\fi
+%    \end{macrocode}
+% \end{macro}
+% \begin{macro}{\EnGrec}
+% Le code est encore copié sur celui de \cs{alph} dans \texttt{latex.ltx}. 
+%    \begin{macrocode}
+\def\EnGrec#1{\expandafter\@Grec\csname c@#1\endcsname}
+%    \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@Grec} 
+% C'est encore pareil. Ici, pas de variante pour les majuscules.
+%    \begin{macrocode}
+\def\@Grec#1{%
+  \ifcase#1\or
+  \ensuremath{\Alpha}\or
+  \ensuremath{\Beta}\or
+  \ensuremath{\Gamma}\or
+  \ensuremath{\Delta}\or
+  \ensuremath{\Epsilon}\or
+  \ensuremath{\Zeta}\or
+  \ensuremath{\Eta}\or
+  \ensuremath{\Theta}\or
+  \ensuremath{\Iota}\or
+  \ensuremath{\Kappa}\or
+  \ensuremath{\Lambda}\or
+  \ensuremath{\Mu}\or
+  \ensuremath{\Nu}\or
+  \ensuremath{\Xi}\or
+  \ensuremath{\Omicron}\or
+  \ensuremath{\Pi}\or
+  \ensuremath{\Rho}\or
+  \ensuremath{\Sigma}\or
+  \ensuremath{\Tau}\or
+  \ensuremath{\Upsilon}\or
+  \ensuremath{\Phi}\or
+  \ensuremath{\Chi}\or
+  \ensuremath{\Psi}\or
+  \ensuremath{\Omega}\else
+  \@ctrerr\fi}
+%    \end{macrocode}
+% \end{macro}
+% \iffalse
+%</package>
+% \fi
+% \Finale \PrintChanges\PrintIndex
+\endinput
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: t
+%%% End: 
-- 
cgit v1.2.3

