summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/engrec
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/engrec
Initial commit
Diffstat (limited to 'macros/latex/contrib/engrec')
-rw-r--r--macros/latex/contrib/engrec/LISEZMOI49
-rw-r--r--macros/latex/contrib/engrec/Makefile121
-rw-r--r--macros/latex/contrib/engrec/README43
-rw-r--r--macros/latex/contrib/engrec/engrec.dtx472
-rw-r--r--macros/latex/contrib/engrec/engrec.ins55
-rw-r--r--macros/latex/contrib/engrec/engrec.pdfbin0 -> 281508 bytes
6 files changed, 740 insertions, 0 deletions
diff --git a/macros/latex/contrib/engrec/LISEZMOI b/macros/latex/contrib/engrec/LISEZMOI
new file mode 100644
index 0000000000..48218b4278
--- /dev/null
+++ b/macros/latex/contrib/engrec/LISEZMOI
@@ -0,0 +1,49 @@
+% -*- coding: utf-8 -*-
+% Time-stamp: <2008-05-07T19:42:06 (cest) [yvon sur hypatie]>
+
+ENGREC 1.1 2008-05-07
+Édition du cinquantenaire
+
+Ce lot comprend
+------------------------------------------------------------
+% le module lui-même
+engrec.sty
+% documentation bilingue OnlyDescription
+engrec.pdf
+% pour *nix make
+Makefile
+% sources
+engrec.dtx engrec.ins
+% partie anglaise
+README
+% partie française
+LISEZMOI % ce fichier
+
+------------------------------------------------------------
+ DESCRIPTION :
+
+Deux macros \engrec et \EnGrec pour numéroter, par exemple
+des listes, avec des minuscules ou des majuscules grecques.
+Leur syntaxe est celle de \alph.
+------------------------------------------------------------
+
+Pour utilisateur *nix :
+make help
+pour obtenir de l’aide
+
+============================================================
+ CHANGEMENTS.
+============================================================
+ENGREC 1.1 2008-05-07
+
+Requiert amstext et non plus tout amsmath
+Utilise \ensuremath{...} au lieu de $...$
+
+------------------------------------------------------------
+
+ENGREC 1 2004-05-20
+1re version publique.
+
+--
+Yvon Henel, le TeXnicien de surface
+le.texnicien.de.surface@wanadoo.fr
diff --git a/macros/latex/contrib/engrec/Makefile b/macros/latex/contrib/engrec/Makefile
new file mode 100644
index 0000000000..ada9b1ac72
--- /dev/null
+++ b/macros/latex/contrib/engrec/Makefile
@@ -0,0 +1,121 @@
+# ---------------------------------------------------------------
+# Makefile for the modroman package by Y. Henel
+# modified version of the Makefile of the kerntest package
+# many thanks to Harald Harders whose kerntest.xml I have also
+# hacked to obtain my modroman.xml
+# ---------------------------------------------------------------
+PKGNAME = engrec
+VERSION=1-1 # Edition du cinquantenaire
+
+TEX= \
+ $(PKGNAME).sty \
+
+DOC= \
+ $(PKGNAME).pdf \
+ LISEZMOI \
+ README
+
+SOURCE= \
+ Makefile \
+ $(PKGNAME).dtx \
+ $(PKGNAME).ins \
+
+PRODUITS = \
+ $(PKGNAME).sty \
+ $(PKGNAME).pdf \
+
+DECHETS = \
+ $(PKGNAME).glo \
+ $(PKGNAME).gls \
+ $(PKGNAME).idx \
+ $(PKGNAME).ilg \
+ $(PKGNAME).ind \
+ $(PKGNAME).aux \
+ $(PKGNAME).log \
+ $(PKGNAME).toc
+
+REPERTS = \
+ doc \
+ tex \
+ source
+
+# ---------------------------------------------------------------
+
+.SUFFIXES: .sty .ins .dtx .dvi .ps .pdf
+
+# ---------------------------------------------------------------
+.ins.sty:
+ latex $<
+
+.dtx.pdf:
+ pdflatex $<
+ makeindex -s gind.ist $(*D)/$(*F)
+ makeindex -s gglo.ist -o $(*D)/$(*F).gls $(*D)/$(*F).glo
+ pdflatex $<
+
+.tex.pdf:
+ pdflatex $<
+ pdflatex $<
+
+# ---------------------------------------------------------------
+
+all: $(PKGNAME).sty $(PKGNAME).pdf
+
+help:
+ @-echo "************************************************************"
+ @-echo "* *"
+ @-echo "* Choisir une des options : *"
+ @-echo "* 'all' -> engrec.sty *"
+ @-echo "* 'doc' pour la documentation *"
+ @-echo "* 'doc' for the documentation *"
+ @-echo "* 'sty' -> engrec.sty *"
+ @-echo "* 'dist'-> engrec.sty & doc *"
+ @-echo "* 'clean' petit nettoyage *"
+ @-echo "* 'distclean' (encore plus propre) *"
+ @-echo "* *"
+ @-echo "************************************************************"
+
+dist: all clean
+
+# ---------------------------------------------------------------
+
+clean:
+ @-rm -f $(DECHETS)
+ @-rm -f *~
+
+distclean: clean
+ @-rm -f $(PRODUITS)
+
+# ---------------------------------------------------------------
+
+texlive: all clean
+ @-rm -rf $(REPERTS)
+ @-mkdir -p tex/latex/$(PKGNAME)
+ @-mkdir -p doc/latex/$(PKGNAME)
+ @-mkdir -p source/latex/$(PKGNAME)
+ @-cp $(TEX) tex/latex/$(PKGNAME)
+ @-cp $(DOC) doc/latex/$(PKGNAME)
+ @-cp $(SOURCE) source/latex/$(PKGNAME)
+ @-mkdir -p $(PKGNAME)
+ @-cp $(DOC) ./$(PKGNAME)
+ @-cp $(SOURCE) ./$(PKGNAME)
+
+# ---------------------------------------------------------------
+
+zip: texlive
+ @-rm -f $(PKGNAME).zip
+ @-zip -r $(PKGNAME) $(REPERTS)
+ @-rm -rf $(REPERTS)
+ @mv $(PKGNAME).zip $(PKGNAME).tds.zip
+ @zip -r $(PKGNAME) $(PKGNAME)
+ @zip -r $(PKGNAME) $(PKGNAME).tds.zip
+ @-rm -rf $(PKGNAME)
+ @-rm -f $(PKGNAME).tds.zip
+
+# ---------------------------------------------------------------
+
+$(PKGNAME).sty: $(PKGNAME).ins $(PKGNAME).dtx
+doc: $(PKGNAME).ins $(PKGNAME).pdf
+# ---------------------------------------------------------------
+# echu e an abaden
+# Le \TeX nicien de surface 2008-05-04
diff --git a/macros/latex/contrib/engrec/README b/macros/latex/contrib/engrec/README
new file mode 100644
index 0000000000..c791bf9970
--- /dev/null
+++ b/macros/latex/contrib/engrec/README
@@ -0,0 +1,43 @@
+% Time-stamp: <2008-05-07T19:38:51 (cest) [yvon sur hypatie]>
+ENGREC 1.1 2008-05-07
+50th anniversary edition
+------------------------------------------------------------
+This bundle should contain:
+------------------------------------------------------------
+% the package itself
+engrec.sty
+% bilingual OnlyDescription documentation
+engrec.pdf
+% for *nix make
+Makefile
+% sources
+engrec.dtx engrec.ins
+% english only part
+README % this file
+% french only part
+LISEZMOI
+------------------------------------------------------------
+Description:
+Two macros \engrec and \EnGrec to enumerate, for example
+some lists, with lower case or upper case greek letters.
+They have the syntax of \alph.
+------------------------------------------------------------
+For *nix users:
+make help
+for help!
+
+============================================================
+ CHANGES.
+============================================================
+ENGREC 1.1 2008-05-07
+50th anniversary edition
+
+Requires package amstext instead of amsmath
+Uses \ensuremath{...} instead of $...$
+------------------------------------------------------------
+ENGREC 1 2004-05-20
+1st public version.
+
+--
+Yvon Henel, le TeXnicien de surface
+le.texnicien.de.surface@wanadoo.fr
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:
diff --git a/macros/latex/contrib/engrec/engrec.ins b/macros/latex/contrib/engrec/engrec.ins
new file mode 100644
index 0000000000..5aeaf890e6
--- /dev/null
+++ b/macros/latex/contrib/engrec/engrec.ins
@@ -0,0 +1,55 @@
+%%% 2004-05-22
+%%
+%% 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.
+%%
+\input docstrip.tex
+\keepsilent
+\preamble
+This is a generated file.
+
+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.
+\endpreamble
+\askforoverwritefalse
+\generate{\file{engrec.sty}{\from{engrec.dtx}{package}}}
+
+\obeyspaces
+\Msg{**********************************************************************}
+\Msg{* Pour finir l'installation vous devez placer *}
+\Msg{* le fichier suivant dans un dossier parcouru par TeX. *}
+\Msg{* *}
+\Msg{* engrec.sty *}
+\Msg{* *}
+\Msg{* Pour produire la documentation faire : *}
+\Msg{* pdflatex engrec.dtx *}
+\Msg{* makeindex -s gind engrec *}
+\Msg{* makeindex -s gglo -o engrec.gls engrec.glo *}
+\Msg{* pdflatex engrec.dtx *}
+\Msg{* *}
+\Msg{* puis placez engrec.pdf dans un dossier de documentation *}
+\Msg{* comme par exemple texmf-local/doc/latex/engrec *}
+\Msg{* *}
+\Msg{* TeXez dans la joie ! *}
+\Msg{**********************************************************************}
+\endbatchfile
diff --git a/macros/latex/contrib/engrec/engrec.pdf b/macros/latex/contrib/engrec/engrec.pdf
new file mode 100644
index 0000000000..8501782cd0
--- /dev/null
+++ b/macros/latex/contrib/engrec/engrec.pdf
Binary files differ