summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/paresse
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/paresse
Initial commit
Diffstat (limited to 'macros/latex/contrib/paresse')
-rw-r--r--macros/latex/contrib/paresse/LISEZMOI52
-rw-r--r--macros/latex/contrib/paresse/Makefile203
-rw-r--r--macros/latex/contrib/paresse/README54
-rw-r--r--macros/latex/contrib/paresse/paresse-doc.dtx796
-rw-r--r--macros/latex/contrib/paresse/paresse-en.pdfbin0 -> 477661 bytes
-rw-r--r--macros/latex/contrib/paresse/paresse-ex-en.pdfbin0 -> 93880 bytes
-rw-r--r--macros/latex/contrib/paresse/paresse-ex-fr.pdfbin0 -> 93596 bytes
-rw-r--r--macros/latex/contrib/paresse/paresse-fr.pdfbin0 -> 503633 bytes
-rw-r--r--macros/latex/contrib/paresse/paresse.dtx752
-rw-r--r--macros/latex/contrib/paresse/paresse.ins64
-rw-r--r--macros/latex/contrib/paresse/paresse.pdfbin0 -> 489776 bytes
-rw-r--r--macros/latex/contrib/paresse/paresse.sty112
-rw-r--r--macros/latex/contrib/paresse/paresseold.sto97
-rw-r--r--macros/latex/contrib/paresse/paresseutf8.sto140
14 files changed, 2270 insertions, 0 deletions
diff --git a/macros/latex/contrib/paresse/LISEZMOI b/macros/latex/contrib/paresse/LISEZMOI
new file mode 100644
index 0000000000..178de1082a
--- /dev/null
+++ b/macros/latex/contrib/paresse/LISEZMOI
@@ -0,0 +1,52 @@
+% -*- coding: utf-8 -*-
+% Time-stamp: <2013-02-16 10:25:05 novatux>
+
+======================================================================
+
+PARESSE version 4.1 2013/02/16
+
+======================================================================
+
+Ce lot comprend
+
+LISEZMOI % ce fichier
+README % la version anglaise
+
+Makefile % pour les utilisateurs de *nix
+paresse.dtx % fichier source
+paresse.ins % fichier d'installation
+paresse.sty % le fichier de l'extension
+paresseold.sto % fichier d'option
+paresseutf8.sto % fichier d'option
+
+
+paresse.pdf % code documenté en anglais
+paresse-fr.pdf % documentation française
+paresse-en.pdf % documentation anglaise
+paresse-ex-fr.pdf % exemple en français
+paresse-ex-en.pdf % le même en anglais
+
+paresse-TEST.zip
+% archive contenant les fichiers de test:
+ ex-com-utf8-tame.tex
+ ex-com-utf8-wild.tex
+ test-latex-8bits-tame.tlx
+ test-latex-8bits-wild.tlx
+ test-latex-utf8-tame.tlx
+ test-latex-utf8-wild.tlx
+ test-lualatex-tame.llx
+ test-lualatex-wild.llx
+ test-xelatex-tame.xlx
+ test-xelatex-wild.xlx
+
+paresse.tds.zip % l'archive conforme à la TDS
+
+======================================================================
+
+Cette extension est faite pour taper « facilement » les lettres
+grecques avec un minimum d'effort ;) Elle ne concerne que les
+lettres grecques qui ont un nom de macro comme \alpha ou \Omega.
+
+--
+Le \TeX nicien de surface
+Yvon.Henel@wanadoo.fr
diff --git a/macros/latex/contrib/paresse/Makefile b/macros/latex/contrib/paresse/Makefile
new file mode 100644
index 0000000000..c36bb56210
--- /dev/null
+++ b/macros/latex/contrib/paresse/Makefile
@@ -0,0 +1,203 @@
+# ---------------------------------------------------------------
+# Time-stamp: <2013-02-16 10:51:17 novatux>
+# Makefile for the paresse 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 paresse.xml
+# ---------------------------------------------------------------
+PKGNAME=paresse
+VERSION=4.1
+
+TESTSRCUTIL= \
+ ex-com-utf8-tame.tex \
+ ex-com-utf8-wild.tex \
+
+TESTSRCTEX= \
+ test-latex-8bits-tame.tlx \
+ test-latex-8bits-wild.tlx \
+ test-latex-utf8-tame.tlx \
+ test-latex-utf8-wild.tlx \
+ test-lualatex-tame.llx \
+ test-lualatex-wild.llx \
+ test-xelatex-tame.xlx \
+ test-xelatex-wild.xlx
+
+TESTSRC= \
+ $(TESTSRCUTIL) \
+ $(TESTSRCTEX)
+
+SOURCE= Makefile \
+ $(PKGNAME).dtx \
+ $(PKGNAME)-doc.dtx \
+ $(PKGNAME).ins \
+ LISEZMOI \
+ README
+
+PDFDOC= $(PKGNAME).pdf \
+ $(PKGNAME)-fr.pdf \
+ $(PKGNAME)-en.pdf \
+ $(PKGNAME)-ex-fr.pdf \
+ $(PKGNAME)-ex-en.pdf
+
+PDFDOCSUP = \
+ test-latex-8bits-tame.pdf \
+ test-latex-8bits-wild.pdf \
+ test-latex-utf8-tame.pdf \
+ test-latex-utf8-wild.pdf \
+ test-lualatex-tame.pdf \
+ test-lualatex-wild.pdf \
+ test-xelatex-tame.pdf \
+ test-xelatex-wild.pdf
+
+SRCDOC= $(PKGNAME)-doc.dtx
+
+TEXDOC= $(PKGNAME)-fr.ltx \
+ $(PKGNAME)-en.ltx \
+ $(PKGNAME)-ex-fr.elx \
+ $(PKGNAME)-ex-en.elx
+
+CTANDOC= $(PDFDOC)
+
+DECHETS= \
+ $(TEXDOC)\
+ $(PDFDOC)\
+ $(PDFDOCSUP)
+
+REPERTS = \
+ doc \
+ tex \
+ source
+
+TEX = $(PKGNAME).sty \
+ $(PKGNAME)utf8.sto \
+ $(PKGNAME)old.sto
+
+GARBAGE= $(wildcard *.aux)\
+ $(wildcard *.log)\
+ $(wildcard *.toc)\
+ $(wildcard *.out)\
+ $(wildcard *.glo)\
+ $(wildcard *.gls)\
+ $(wildcard *.ilg)\
+ $(wildcard *.ind)\
+ $(wildcard *.idx)\
+ $(wildcard *.hd)\
+ $(wildcard *.ltx)\
+ $(wildcard *.elx)\
+ $(wildcard *~)
+
+# ---------------------------------------------------------------
+
+.SUFFIXES: .sty .ins .dtx .pdf .ltx .tex .llx .xlx .tlx .elx
+
+# ---------------------------------------------------------------
+.ins.sty:
+ latex $<
+
+.dtx.pdf:
+ pdflatex $<
+ pdflatex $<
+ makeindex -s gind.ist $(*D)/$(*F)
+ makeindex -s gglo.ist -o $(*D)/$(*F).gls $(*D)/$(*F).glo
+ pdflatex $<
+
+.ltx.pdf:
+ pdflatex $<
+ pdflatex $<
+ makeindex -s gind.ist $(*D)/$(*F)
+ pdflatex $<
+
+.elx.pdf:
+ pdflatex $<
+ pdflatex $<
+
+.tlx.pdf:
+ pdflatex $<
+
+.llx.pdf:
+ lualatex $<
+
+.xlx.pdf:
+ xelatex $<
+
+# ---------------------------------------------------------------
+
+all: $(PKGNAME).sty $(PDFDOC) $(PDFDOCSUP)\
+ $(TEXDOC) $(PKGNAME).ins
+
+# ---------------------------------------------------------------
+
+help:
+ @-echo "******************************************************"
+ @-echo "** Choisir une des options : *"
+ @-echo "== Choose one of the options: *"
+ @-echo "** 'all' pour produire tous les fichiers *"
+ @-echo "== 'all' to produce all the files *"
+ @-echo "** 'clean' suppression des fichiers auxiliaires *"
+ @-echo "== 'clean' delete the auxiliary files *"
+ @-echo "** 'distclean' pour ne conserver que les sources *"
+ @-echo "== 'distclean' to keep only the sources *"
+ @-echo "******************************************************"
+
+# ---------------------------------------------------------------
+
+dist: all clean
+
+# ---------------------------------------------------------------
+
+clean:
+ @-rm -f $(GARBAGE)
+
+distclean: clean
+ @-rm -f $(DECHETS)
+ @-rm -f $(TEX)
+ @-rm -f common.tex
+
+# ---------------------------------------------------------------
+
+texlive: dist
+ @-rm -rf $(REPERTS)
+ @-mkdir -p tex/latex/$(PKGNAME)
+ @-mkdir -p doc/latex/$(PKGNAME)
+ @-mkdir -p source/latex/$(PKGNAME)
+ @-mkdir -p TEST
+ @-cp $(TEX) tex/latex/$(PKGNAME)
+ @-cp $(CTANDOC) doc/latex/$(PKGNAME)
+ @-cp $(SOURCE) source/latex/$(PKGNAME)
+ @-cp $(TESTSRC) TEST
+ @-zip -r $(PKGNAME)-TEST TEST/
+ @-mv $(PKGNAME)-TEST.zip source/latex/$(PKGNAME)/
+ @-rm -rf TEST/
+ @-mkdir -p $(PKGNAME)
+ @-cp $(CTANDOC) ./$(PKGNAME)
+ @-cp $(SOURCE) ./$(PKGNAME)
+ @-cp $(TEX) ./$(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
+
+# ---------------------------------------------------------------
+
+ctan: zip distclean
+
+# ---------------------------------------------------------------
+
+doc: $(PKGNAME).ins $(PKGNAME).pdf $(PKGNAME)-doc.dtx
+
+$(PKGNAME).sty: $(PKGNAME).ins $(PKGNAME).dtx
+$(TEXDOC): $(PKGNAME).ins $(PKGNAME).dtx $(PKGNAME)-doc.dtx
+$(PDFDOC): $(TEXDOC)
+# ---------------------------------------------------------------
+# echu e an abaden
+# Le \TeX nicien de surface 2011/04/17, 2013/02/16
+
+
diff --git a/macros/latex/contrib/paresse/README b/macros/latex/contrib/paresse/README
new file mode 100644
index 0000000000..d26dabd892
--- /dev/null
+++ b/macros/latex/contrib/paresse/README
@@ -0,0 +1,54 @@
+% Time-stamp: <2013-02-16 10:28:53 novatux>
+
+======================================================================
+
+PARESSE version 4.1 2013/02/16
+
+======================================================================
+
+This bundle should contain
+
+README % this file
+LISEZMOI % French version
+
+Makefile % for *nix users
+paresse.dtx
+paresse.ins
+paresse.sty % the style file
+paresseold.sto % style option file
+paresseutf8.sto % style option file
+
+paresse.pdf % code documented in English
+paresse-en.pdf % English documentation
+paresse-fr.pdf % French documentation
+paresse-ex-en.pdf % English Example
+paresse-ex-fr.pdf % French Example
+
+paresse-TEST.zip
+% archive containing files for test:
+ ex-com-utf8-tame.tex
+ ex-com-utf8-wild.tex
+ test-latex-8bits-tame.tlx
+ test-latex-8bits-wild.tlx
+ test-latex-utf8-tame.tlx
+ test-latex-utf8-wild.tlx
+ test-lualatex-tame.llx
+ test-lualatex-wild.llx
+ test-xelatex-tame.xlx
+ test-xelatex-wild.xlx
+
+paresse.tds.zip % the tds compliant archive
+
+======================================================================
+
+This package provides a means of typing "easily" greek letters
+with the least possible effort ;) It takes care only of the
+letters which have a macro name as \alpha or \Omega.
+
+======================================================================
+
+Happy TeXing and all that.
+
+--
+Le \TeX nicien de surface
+le.texnicien.de.surface@wanadoo.fr
diff --git a/macros/latex/contrib/paresse/paresse-doc.dtx b/macros/latex/contrib/paresse/paresse-doc.dtx
new file mode 100644
index 0000000000..5bb0512419
--- /dev/null
+++ b/macros/latex/contrib/paresse/paresse-doc.dtx
@@ -0,0 +1,796 @@
+% \iffalse meta-comment
+%-*- coding: iso-8859-15 -*-
+% Time-stamp: <2013-02-16 10:40:24 novatux>
+% --------------------------------------------------------------------
+%
+% Copyright (C) 2011, 2013
+% by Yvon Henel alias 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
+%<*doc>
+\documentclass[a4paper]{ltxdoc}
+\usepackage[latin1]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage[tame]{paresse}
+\usepackage{xspace,url,array,ifthen,hologo}
+\IfFileExists{lmodern.sty}{\usepackage{lmodern}}{}
+%<fr>\usepackage[english,frenchb]{babel}
+%<en>\usepackage[frenchb,english]{babel}
+\usepackage[colorlinks=true,
+ linkcolor=blue,
+ urlcolor=blue,
+ citecolor=blue]{hyperref}
+\input{common}
+\makeatletter
+\newcommand\DescribeOption[1]{\@bsphack \marginpar{\raggedleft
+ \textsc{#1}}\index{#1 (option)}\@esphack}
+\newcommand*\PS{\texttt{\S}\xspace}
+\newcommand*\PSVerb[1]{\texttt{\S #1}}
+%<*fr>
+\GlossaryPrologue{%
+ \section*{{Changements}}
+ \markboth{{Changements}}{{Changements}}}
+\IndexPrologue{%
+ \section*{Index}\markboth{Index}{Index}%
+ 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.}
+\def\generalname{Général}
+\def\SpecialMainEnvIndex#1{%
+ \@bsphack\special@index{%
+ #1\actualchar
+ {\string\ttfamily\space#1}
+ (environnement)%
+ \encapchar main}%
+ \special@index{environnements:\levelchar#1\actualchar{%
+ \string\ttfamily\space#1}\encapchar
+ main}\@esphack}
+\makeatother
+\newcommand{\CAD}{c.-à-d.\xspace}
+%</fr>
+\newcommand{\TO}{\textemdash\ \ignorespaces}
+\newcommand{\TF}{\unskip\ \textemdash\xspace}
+\newcommand\BOP{\discretionary{}{}{}}
+\newcommand\Option[1]{\textsc{#1}}
+\newcommand\Pkg[1]{\textsf{#1}}
+\newcommand\NOUVO[1][1]{%
+ \ifthenelse
+ {\equal{#1}{5}}
+ {\marginpar{\hspace*{\stretch{1}}%
+ \textbf{N (v5)}\hspace*{.5em}}}%
+ {}}
+
+
+\EnableCrossrefs
+\CodelineIndex
+
+\begin{document}
+
+%<*fr>
+\title{Le module \Pkg{paresse}\thanks{Ce document correspond au
+ fichier \Pkg{paresse}~\fileversion, du \filedate.}}
+%</fr>
+%<*en>
+\title{The package \Pkg{paresse}\thanks{This document corresponds
+ to the file \Pkg{paresse}~\fileversion, dated \filedate.}
+ \mbox{}\thanks{English translation by the author. Any comment
+ about the translation is welcome.}}
+%</en>
+\author{Le \TeX nicien de surface\\
+ \href{mailto:le.texnicien.de.surface@wanadoo.fr}%
+ {le.texnicien.de.surface@wanadoo.fr}}
+\maketitle{}
+
+%<*fr>
+\begin{abstract}
+ Ce module, reprenant un exemple de T.~\textsc{Lachand-Robert}
+ dans~\cite{tlachand}, fournit un moyen de taper des lettres grecques
+ isolées à l'aide du caractère \PS actif et redéfini. Au lieu de
+ |\(\alpha\)| ou tape |§a| pour obtenir \(\alpha\).
+
+ \textbf{Important} : Il doit être chargé \textbf{après}
+ \Pkg{inputenc} si ce dernier est utilisé. De plus, il faut que le
+ signe § soit une lettre pour \TeX.
+
+ Le fichier \texttt{paresse.pdf} contient le code commenté en
+ anglais.
+\end{abstract}
+\begin{otherlanguage}{english}
+ \begin{abstract}
+ This is the French documentation for the final user of the package
+ \Pkg{paresse}. The English documentation for the final user is
+ available in the file \texttt{paresse-en.pdf}.
+ \end{abstract}
+\end{otherlanguage}
+%</fr>
+%<*en>
+\begin{abstract}
+ This package implements an example from T.~\textsc{Lachand-Robert}
+ in~\cite{tlachand}. It provides a means of typing isolated greek
+ letters with the character § activated and redefined. Instead of
+ |\(\alpha\)| one types |§a| to obtain \(\alpha\).
+
+\end{abstract}
+\begin{otherlanguage}{french}
+ \begin{abstract}
+ La documentation française pour l'utilisateur de l'extension
+ \Pkg{paresse} est désormais disponible sous le nom de
+ \texttt{paresse-fr.pdf}.
+
+ Le fichier \texttt{paresse.pdf} contient le code commenté en
+ anglais.
+ \end{abstract}
+\end{otherlanguage}
+%</en>
+
+\tableofcontents{}
+
+\newpage
+
+%<fr>\section{Introduction}
+%<en>\section{Introduction}
+
+%<*fr>
+Cette extension ne fournit qu'un accès \og rapide et économique \fg
+aux lettres grecques qui s'obtiennent à l'aide d'une macro comme
+\cs{alpha} ou \cs{Omega}. Elle fournit un environnement et une commande
+qui permettent d'utiliser § pour taper ces lettres. Un \cs{ensuremath}
+nous dispense de nous placer explicitement \TO c'est-à-dire en
+tapant |$ $| ou bien |\( \)| ou encore |\[ \]| ou tout autre chose
+ayant le même effet\TF en mode mathématique pour obtenir une lettre
+grecque.
+%</fr>
+%<*en>
+This package provides only a `quick and low-cost' access to greek
+letters which one can obtain with a macro such as \cs{alpha} or
+\cs{Omega}. It provides also an environment and a macro which make
+possible the use of § to type in those letters. Because of an
+\cs{ensuremath} we are not bound to explicitly enter ---i.e. by typing
+|$ $| or |\( \)| or else |\[ \]| or anything whatsoever with the same
+effect--- mathematics mode to obtain a greek letter.
+%</en>
+
+%<*fr>
+L'idée de la méthode est due à T.~\textsc{Lachand-Robert} et est
+exposée dans~\cite{tlachand}. Je n'ai fait qu'ajouter le
+\cs{ensuremath} bien agréable pour l'écriture de macros.
+%</fr>
+%<*en>
+The idea of the method is from T.~\textsc{Lachand-Robert} and
+described in~\cite{tlachand}. I have just add the \cs{ensuremath} which
+is so agreeable to write macros.
+%</en>
+
+%<*fr>
+Bien entendu, on \textbf{ne} dispose \textbf{pas} de macros pour la
+minuscule omicron ni pour les majuscules alpha, beta\dots{} qui
+s'obtiennent à l'aide des latines romaines de même
+apparence\footnote{Je ne ferai aucune remarque sur les problèmes de
+ codage que cela pose.}. Je ne me suis pas senti le courage ni la
+force de fournir une solution qui permettent d'obtenir dans une
+formule baignant dans un texte en italique gras un alpha majuscule
+droit, romain, \&c.
+%</fr>
+%<*en>
+There is \emph{no} macros for the lowercase omicron nor for the
+uppercase alpha, beta\dots{} that one can obtain with the latin roman
+letters with the same look. I have not had the courage nor the
+strength to build a solution which would provide a means of obtaining
+an upright uppercase alpha in a math formula enbedded in an italic
+boldfaced text.
+%</en>
+
+%<*fr>
+Pour finir cette introduction, glosons le nom de cette
+extension. |paresse| vient de ce que le signe § indique un \og
+paragraphe \fg en ayant une forme lointainement apparentée au
+S et n'a donc aucun lien avec le \emph{défaut} si fréquent,
+encore que, à bien y réfléchir\dots
+%</fr>
+%<*en>
+Even if the meaning of the French `paresse' is just `lazyness' I would
+like to enphasize that the name of this package comes from the fact
+that the sign § can be used to point at a paragraph and looks like an
+S. So there is no connection between the name and the not unfrequent
+sin of the same (French) name\dots{} or maybe\dots{}
+%</en>
+
+
+%<fr>\section{Pourquoi une 4\ieme version?}
+%<en>\section{Why a 4th Version?}
+
+%<*fr>
+Je ne sais plus bien à quelle occasion \TO l'age et les pannes de
+machine avec \og crachage\fg de disque aidant\TF et encore moins quand
+\TO si ce n'est que cela remonte à plus d'un an maintenant\TF
+Christian \textsc{Tellechea} me faisait part de son désir d'utiliser
+\Pkg{paresse} avec des sources codées en utf-8 sous \hologo{LaTeX} \TO
+et non \hologo{XeLaTeX} ou \hologo{LuaLaTeX}.
+
+Une discussion s'engagea, Christian me fit parvenir du matériel en
+ordre de marche. Il me fit même cadeau de deux versions, la deuxième
+améliorant la reconnaissance du codage déclaré avec
+\Pkg{inputenc}. Toutefois, je procrastinais. Il se peut que ma vie
+personnelle et mon travail aient interféré avec le développement de
+cette extension.
+
+Enfin, voici la chose.
+%</fr>
+%<*en>
+I don't remember exactly on what occasion \TO age, disk crash and
+computer mishap aiding\TF and even less when \TO more than a year ago,
+I'm afraid\TF Christian \textsc{Tellechea} wrote me that he would be
+glad to use \Pkg{paresse} in his utf-8 encoded sources with
+\hologo{LaTeX} \TO not with \hologo{XeLaTeX} nor \hologo{LuaLaTeX}.
+
+We exchanged emails, Christian sent me working material. He even made
+me the gift of two versions, the second better for the identification
+of the encoding passed, as an option, to \Pkg{inputenc}. However I
+procrastinated. My personal life and my job may have interfered with
+the development of this package.
+
+At last, here is the thing.
+%</en>
+
+%<*fr>
+Le plus nouveau devrait échapper à l'utilisateur de \hologo{LuaLaTeX}
+ou \hologo{XeLaTeX} et même de \hologo{LaTeX} chargeant \Pkg{inputenc}
+avec une option comme \texttt{latin1} ou \texttt{latin9}. Cependant,
+désormais, on peut utiliser cette extension avec \hologo{LaTeX} en
+chargeant \Pkg{inputenc} avec l'option \texttt{utf8}.
+%</fr>
+%<*en>
+The newest feature should escape the user of \hologo{LuaLaTeX}
+or \hologo{XeLaTeX} and even of \hologo{LaTeX} loading \Pkg{inputenc}
+with an option such as \texttt{latin1} or \texttt{latin9}. However,
+henceforth, one can use this package with \hologo{LaTeX} loading
+\Pkg{inputenc} with option \texttt{utf8}.
+%</en>
+
+%<*fr>
+J'ai profité de cette nouvelle version pour ajouter une macro en \PS:
+\NOUVO\PSVerb{Z} qui produit \S, symbole déjà accessible par |\S|, ce qui
+fait que je n'ose pas vraiment parler de \og raccourci\fg.
+%</fr>
+%<*en>
+I take advantage of this new version to add a \PS-macro:
+\NOUVO\PSVerb{Z} which produces \S, symbol already available with
+|\S|, so I don't dare to present it as a real ``shortcut''.
+%</en>
+
+%<fr>\section{Pourquoi une 3\ieme version?}
+%<en>\section{Why a 3rd Version?}
+
+%<*fr>
+C'est par courriel que Claudio \textsc{Beccari} m'a signalé très
+aimablement qu'il existait un codage de l'alphabet grec en lettres
+latines près de 15~ans avant que je ne commette cette extension. Ce
+codage était dû à Sylvio \textsc{Levi} qui l'avait mis au point, alors
+qu'il dessinait les premières fontes grecques pour \TeX, en s'appuyant
+sur la correspondance entre les claviers américain et grec. Il me
+faisait remarquer à juste titre que si quelqu'un avait pris l'habitude
+du codage de Sylvio \textsc{Levi}, il préférerait conserver ses
+habitudes pour \Pkg{paresse}.
+%</fr>
+%<*en>
+With a mail Claudio \textsc{Beccari} kindly informed me that there was
+an encoding of the greek alphabet with latin letters some 15~years
+before I commited this extension. This encoding was devised by Sylvio
+\textsc{Levi} who, at the time, was designing the first greek font for
+\TeX, using the correspondance between greek and US keyboard. Claudio
+wrote to me, and I can't but agree with him, that if one is used to
+\textsc{Levi}'s encoding, one would rather keep one's habit in order
+to use \Pkg{paresse}.
+%</en>
+
+%<*fr>
+J'ai donc décidé de fournir un nouveau couple d'options exclusives
+l'une de l'autre que j'ai nommées, pour l'une, \Option{legacy} ---
+pour \og héritage\fg --- qui assure le codage originel de cette
+extension et qui est active par défaut et, pour l'autre, \Option{Levi}
+qui assure le codage de Sylvio \textsc{Levi}.
+%</fr>
+%<*en>
+I, then, decided to provide a new couple of mutually exclusive
+options: the first one is \Option{legacy} with which one obtain the
+original encoding of this extension and which is active by default,
+the other one is \Option{Levi} which provides Sylvio \textsc{Levi}'s
+encoding.
+%</en>
+
+%<*fr>
+J'en profite pour faire quelques changements cosmétiques:
+désormais toutes les macros internes \emph{secrètes} ont un nom qui
+commence par \cs{GA@};
+le fichier |.dtx| est réorganisé pour faciliter la tache de
+traduction de la documentation.
+%</fr>
+%<*en>
+I take advantage of this update to make some cosmetic changes: from
+now on all inner \emph{secret} macros have a name which begins with
+\cs{GA@}; the |.dtx| file is reorganised to facilitate the translation
+of the documentation.
+%</en>
+
+%<fr>\section{Utilisation}
+%<en>\section{Usage}
+
+%<*fr>
+On charge cette extension avec |\usepackage{paresse}| \textbf{après}
+l'extension \Pkg{inputenc} quand on utilise \hologo{LaTeX}. Il faut
+que la \og caractère \fg § soit reconnu par \TeX\ comme une lettre. On
+pourra, par exemple, utiliser l'option |latin1| de \Pkg{inputenc} pour
+obtenir cela.
+
+On obtiendra le même comportement, à l'exception signalée
+page~\pageref{restriction} près, avec \Pkg{inputenc} et l'option
+\texttt{utf8}.\NOUVO
+
+Il n'y a pas ce genre de restriction quand on travaille avec
+\hologo{LuaLaTeX} ou \hologo{XeLaTeX} sur un source codé en
+UTF-8.\NOUVO
+%</fr>
+%<*en>
+One loads the package with |\usepackage{paresse}| \textbf{after} the
+package \Pkg{inputenc} when using \hologo{LaTeX}. The sign § must be
+recognised as a letter by \TeX. On can use for instance \Pkg{inputenc}
+with option |latin1| for such a purpose.
+
+One will obtain the same behaviour, but for the exception
+pointed out on page~\pageref{restriction}, with \Pkg{inputenc} and
+option \texttt{utf8}.\NOUVO
+
+There is no such restriction when one compiles with \hologo{LuaLaTeX}
+or \hologo{XeLaTeX} a source encoded in UTF-8.\NOUVO
+%</en>
+
+%<*fr>
+Par défaut, l'extension est chargée avec l'option |wild| ce qui
+signifie que les macros de la forme |§a| sont disponibles. Si l'on
+préfère, on peut passer à |paresse| l'option \Option{tame} avec
+|\usepackage[tame]{paresse}|. Il faut alors utiliser la commande
+\cs{ActiveLaParesse} ou l'environnement |ParesseActive| pour utiliser
+les macros en §.
+%</fr>
+%<*en>
+By default the package is loaded with option |wild| and so the macros
+such as |§a| are immediately available. If one prefers one can choose
+the option \Option{tame} by writing |\usepackage[tame]{paresse}|. One
+must then use the command \cs{ActiveLaParesse} or the environment
+|ParesseActive| to use the `§-macros'.
+%</en>
+
+%<*fr>
+Lorsque la \og paresse est active \fg, il suffit de taper |§a| pour
+obtenir \(\alpha\). On a de même accès à toutes les lettres grecques
+auxquelles sont consacrées une macro comme \cs{alpha},
+voyez~\ref{codageorig} et~\ref{codagelevi}. On obtient, de même,
+\(\alpha^{\beta}\) avec |\(§a^{§b}\)| lorsque § est active.
+%</fr>
+%<*en>
+When `paresse' is active, one has just to type |§a| in to obtain
+\(\alpha\). One has access, by the same means, to all the other greek
+letters to which a macro is devoted such as \cs{alpha}, see the
+tables~\ref{codageorig} and~\ref{codagelevi}. One obtains
+\(\alpha^{\beta}\) with |\(§a^{§b}\)| when § is active.
+%</en>
+
+%<*fr>
+On notera que les accolades sont optionelles et qu'on obtient un
+résultat identique avec |\(§a^§b\)|, \textbf{à moins que} l'on utilise
+un source codé en utf-8 avec \hologo{LaTeX}.\label{restriction}
+%</fr>
+%<*en>
+One will note that the curly braces are \emph{not} compulsory and that
+one obtains the same result with just |\(§a^§b\)| \textbf{unless} one
+uses a utf-8 encoded source with \hologo{LaTeX}.\label{restriction}
+%</en>
+
+%<fr>\subsection{Les options}
+%<en>\subsection{Options}
+
+\begin{itemize}
+%<*fr>
+\item \Option{tame}\DescribeOption{tame / wild} s'oppose à
+ \Option{wild} qui est l'option par défaut. Lorsque \Option{tame}
+ règne, il \textbf{faut} un environnement |ParesseActive| ou une
+ commande \cs{ActiveLaParesse} pour utiliser les macros à §.
+%</fr>
+%<*en>
+\item \Option{tame}\DescribeOption{tame / wild} is the contrary of
+ \Option{wild} which is the option by default. When \Option{tame}
+ reigns, one \textbf{must} use an environment |ParesseActive| or a
+ command \cs{ActiveLaParesse} in order to use the §-macros.
+%</en>
+
+
+%<*fr>
+\item \Option{Levi}\DescribeOption{legacy / Levi} s'oppose à
+ \Option{legacy} qui est l'option par défaut. Avec l'option
+ \Option{legacy} on utilise le codage \og originel\fg de
+ \Pkg{paresse.sty} tel que le donne la
+ table~\ref{codageorig}. Sinon, le codage est celui défini par Sylvio
+ \textsc{Levi}, cf. la table~\ref{codagelevi}.
+%</fr>
+%<*en>
+\item \Option{Levi}\DescribeOption{legacy / Levi} is the
+ contrary of \Option{legacy} which is the default. With
+ \Option{legacy} one uses the original encoding of
+ \Pkg{paresse.sty} as it is given by the
+ table~\ref{codageorig}. If the option \Option{Levi} is enforced, one
+ uses the Sylvio \textsc{Levi} encoding, see the
+ table~\ref{codagelevi}.
+%</en>
+
+%<*fr>
+\item \Option{ttau}\DescribeOption{ttau / ttheta} s'oppose à
+ \Option{ttheta} qui est l'option par défaut. Lorsque \Option{ttheta}
+ est active |§t| donne \(\theta\) dans le cas contraire |§t| donne
+ \(\tau\). En tous cas, \(\theta\) est accessible par |§v| et
+ \(\tau\) par |§y|. Cette option est inopérante si l'option
+ \Option{Levi} a été choisie.
+%</fr>
+%<*en>
+\item \Option{ttau}\DescribeOption{ttau / ttheta} is the contrary of
+ \Option{ttheta} which is selected by default. When \Option{ttheta}
+ is active |§t| gives \(\theta\) in the contrary |§t| gives
+ \(\tau\). In all cases, \(\theta\) is given by |§v| and \(\tau\) by
+ |§y|. That option is ineffective when one has chosen
+ \Option{Levi}.
+%</en>
+
+%<*fr>
+ \textbf{Remarque :} quand l'option \Option{legacy} a été choisie,
+ \(\Theta\) est obtenu par |§V| de manière \og régulière \fg et
+ \emph{également} par |§T| quelle que soit l'option choisie. Dans
+ le cas de l'option \Option{Levi}, |§V| ne correspond à aucune lettre
+ grecque.
+%</fr>
+%<*en>
+\textbf{Remark:} when one has chosen the option
+\Option{legacy}, \(\Theta\) is `regularly' obtained with |§V| and
+\emph{also} with |§T| whatever is the chosen option. In the case of
+the option \Option{Levi}, |§V| doesn't correspond to any greek letter.
+%</en>
+
+%<*fr>
+\item \Option{epsilon}\DescribeOption{epsilon / varepsilon} s'oppose à
+ \Option{varepsilon} qui est l'option par défaut. Avec
+ \Option{epsilon}, |§e| donne \(\epsilon\) sinon |§e| donne
+ \(\varepsilon\).
+%</fr>
+%<*en>
+\item \Option{epsilon}\DescribeOption{epsilon / varepsilon} is the
+ contrary of \Option{varepsilon} which is selected by default. With
+ \Option{epsilon}, |§e| gives \(\epsilon\) otherwise |§e| gives
+ \(\varepsilon\).
+%</en>
+
+%<*fr>
+\item Se comportent comme le couple \Option{epsilon},
+ \Option{varepsilon} les couples suivants \Option{theta} et
+ \Option{vartheta} ; \Option{pi} et \Option{varpi} ; \Option{rho} et
+ \Option{varrho} ; \Option{sigma} et \Option{varsigma} \og |§s| donne
+ \(\varsigma\)\fg; \Option{phi} et \Option{varphi}.
+%</fr>
+%<*en>
+\item The following `couples' behave as \Option{epsilon},
+ \Option{varepsilon}: \Option{theta} and \Option{vartheta};
+ \Option{pi} and \Option{varpi}; \Option{rho} and \Option{varrho};
+ \Option{sigma} and \Option{varsigma}; \Option{phi} and
+ \Option{varphi}.
+%</en>
+\end{itemize}
+
+%<*fr>
+Par défaut on a \Option{varepsilon}, \Option{theta}, \Option{pi},
+\Option{rho}, \Option{sigma}, \Option{varphi}, \Option{wild} et
+\Option{legacy}. Cela assure que cette version~3, se comporte,
+par défaut, comme la précédente.
+%</fr>
+%<*en>
+The default options are \Option{varepsilon}, \Option{theta},
+\Option{pi}, \Option{rho}, \Option{sigma}, \Option{varphi},
+\Option{wild} and \Option{legacy}. That ensures that this 3rd
+version behaves, by default, as the preceding one.
+%</en>
+
+%<fr>\subsection{Commandes et environnement}
+%<en>\subsection{Commands and Environment}
+
+\DescribeMacro{\makeparesseletter}
+%<*fr>
+Cette macro donne au \og caractère \fg § le catcode d'une
+lettre. Après cela, on peut se servir de § dans un nom de macro, par
+exemple. C'est le pendant de \cs{makeatletter}.
+%</fr>
+%<*en>
+This command gives the letter-catcode to the `character' §. After that
+one can use § in the name of a macro, for instance. It corresponds to
+the well-known |\makeatletter|.
+%</en>
+
+\DescribeMacro{\makeparesseother}
+%<*fr>
+Cette macro donne au caractère § le catcode \emph{other}. C'est le \og
+contraire \fg de la précédente. Cela équivaut au \cs{makeatother}.
+
+Cette macro est inactive avec un codage utf-8 sous
+\hologo{LaTeX}. Elle n'aurait d'ailleurs pas vraiment de sens. Son
+utilisation produit un avertissement dans le fichier |.log|.
+%</fr>
+%<*en>
+This macro gives the catcode \emph{other} to the character §. It is
+the `contrary' of the preceding one. It corresponds to |\makeatother|.
+
+This macro is inactivated when one uses a utf-8 encoding with
+\hologo{LaTeX}. In such a case it wouldn't have a clear meaning. When
+used it issues a warning in the |.log| file.
+%</en>
+
+\DescribeMacro{\ActiveLaParesse}
+%<*fr>
+Cette macro active le caractère § et permet ainsi d'accéder aux
+macros dont le nom commence par § comme |§a|. Pour une liste de ces
+macros et leurs significations, voyez les tableaux~\ref{codageorig}
+et~\ref{codagelevi}.
+%</fr>
+%<*en>
+This macro makes § active and thus enable one to access the macros the
+name of which begins with § such as |§a|. A list of these macros and
+theirs meanings is given in the tables~\ref{codageorig}
+and~\ref{codagelevi}.
+%</en>
+
+\DescribeEnv{ParesseActive}
+%<*fr>
+Dans cet environnement le caractère § est actif ce qui permet
+d'utiliser les macros en §. On utilisera cet environnement si l'on
+veut utiliser les macros quand on a chargé l'extension
+\Pkg{paresse} avec l'option \texttt{tame}.
+%</fr>
+%<*en>
+In this environment § is active and one can use the §-macros. One
+could use this environment if one want to use the §-macros when the
+package \texttt{paresse.sty} is loaded whith the option \texttt{tame}.
+%</en>
+
+%<fr>\subsection{Tableaux des macros}
+%<en>\subsection{Tables of the Macros}
+
+%<fr>\subsubsection{Codage originel de \Pkg{paresse.sty}}
+%<en>\subsubsection{\Pkg{paresse.sty}'s Original Encoding}
+
+%<*fr>
+C'est le codage actif lorsque l'on a choisit l'option \Option{legacy} qui
+est l'option par défaut.
+%</fr>
+%<*en>
+This is the active encoding when one choses the option \Option{legacy}
+which is the default.
+%</en>
+
+\begin{center}\Large
+\begin{ParesseActive} \label{codageorig}
+\begin{tabular}{*4{||>{\ttfamily \§}c|c}||}\hline
+a & §a & b & §b & g & §g & d & §d\\ \hline
+e & §e & z & §z & h & §h & v & §v\\ \hline
+i & §i & k & §k & l & §l & m & §m\\ \hline
+n & §n & x & §x & p & §p & r & §r\\ \hline
+s & §s & y & §y & u & §u & f & §f\\ \hline
+c & §c & q & §q & w & §w &\multicolumn{1}{c|}{}&\\ \hline\hline
+G & §G & D & §D & V & §V & L & §L\\ \hline
+X & §X & P & §P & S & §S & U & §U\\ \hline
+F & §F & Q & §Q & W & §W & Z & §Z\\ \hline
+\end{tabular}
+\end{ParesseActive}
+\end{center}
+
+%<*fr>
+\paragraph{Remarques : } à l'exception de {\ActiveLaParesse §v, §y
+et §q} les lettres utilisées dans les noms des macros sont chargées
+de vertu mnémotechniques \texttt{:-)} et les majuscules grecques
+s'obtiennent à l'aide de la majuscule correspondante.
+%</fr>
+%<*en>
+\paragraph{Remarks : } all the latin letters used in the name of the
+§-macros, but for {\ActiveLaParesse §v, §y and §q}, are loaded with
+reminiscences, I hope \texttt{:-)} and the greek uppercases are
+obtained with the (latin) corresponding uppercases.
+%</en>
+
+\pagebreak[4]
+
+%<fr>\subsubsection{Codage de Sylvio \textsc{Levi}}
+%<en>\subsubsection{Sylvio \textsc{Levi}'s Encoding}
+
+%<*fr>
+On active ce codage avec l'option \Option{Levi}.
+%</fr>
+%<*en>
+One make this encoding active with the option \Option{Levi}.
+%</en>
+
+\begin{center}\Large
+\begin{ParesseActive} \label{codagelevi}
+\begin{tabular}{*4{||>{\ttfamily \§}c|c}||}\hline
+a & §a & b & §b & g & §g & d & §d\\ \hline
+e & §e & z & §z & h & §h & j & §v\\ \hline
+i & §i & k & §k & l & §l & m & §m\\ \hline
+n & §n & x & §x & p & §p & r & §r\\ \hline
+s & §s & t & §y & u & §u & f & §f\\ \hline
+q & §c & y & §q & w & §w & c & \(\varsigma\)\\ \hline\hline
+G & §G & D & §D & J & §V & L & §L\\ \hline
+X & §X & P & §P & S & §S & U & §U\\ \hline
+F & §F & Y & §Q & W & §W & Z & §Z\\ \hline
+\end{tabular}
+\end{ParesseActive}
+\end{center}
+
+%<*fr>
+Le codage de Sylvio \textsc{Levi} donne accès directement à \cs{varsigma}
+(\(\varsigma\)) avec |§c| et ne diffère du codage originel que pour
+les lettres {\ActiveLaParesse §v, §y, §c et §q}. Voici un résumé de
+ces différences:
+%</fr>
+%<*en>
+Sylvio \textsc{Levi}'s encoding gives a direct acces to \cs{varsigma}
+(\(\varsigma\)) with |§c| and is different from the original encoding
+just for the letters {\ActiveLaParesse §v, §y, §c et §q}. Here is a
+summary of theses differences:
+%</en>
+
+\begin{center}
+\newcommand\CT[1]{\multicolumn{1}{c|}{\texttt{#1}}}
+\begin{ParesseActive}
+\begin{tabular}{|l|*{7}{c|}}\hline
+%<fr>lettres grecques
+%<en>greek letters
+& §v & §y & §c & §q & §V & §Q & \(\varsigma\)\\\hline
+%<fr>codage originel
+%<en>original encoding
+&\CT{\§v/\§t}&\CT{\§y/\§t}&\CT{\§c}
+&\CT{\§q}&\CT{\§V/\§T}&\CT{\§Q}& --- \\\hline
+%<fr>codage de S. \textsc{Levi}
+%<en>S. \textsc{Levi}'s encoding
+&\CT{\§j}&\CT{\§t}&\CT{\§q}&\CT{\§y}
+&\CT{\§J}&\CT{\§Y} & \CT{\§c}\\\hline
+\end{tabular}
+\end{ParesseActive}
+\end{center}
+
+\begin{thebibliography}{99}
+%<fr>\addcontentsline{toc}{section}{Bibliographie}
+%<en>\addcontentsline{toc}{section}{References}
+\bibitem{tlachand} T.~\textsc{Lachand-Robert}.
+\emph{La maîtrise de \TeX{} et \LaTeX{}}.
+Masson, Paris, Milan, Barcelone, \oldstylenums{1995}.\\
+\textsc{isbn} : \texttt{2-225-84832-7}.
+\end{thebibliography}
+\PrintIndex
+\end{document}
+%</doc>
+%<*exemple>
+\documentclass[a4paper,12pt]{article}
+\usepackage[latin1]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage[tame]{paresse}
+% \usepackage{amsmath}
+\usepackage{xspace,array,fancyvrb}
+%<fr>\usepackage[frenchb]{babel}
+%<en>\usepackage[english]{babel}
+\IfFileExists{lmodern.sty}{\usepackage{lmodern}}{}
+\setlength{\parindent}{0pt}
+\newcommand\BOP{\discretionary{}{}{}}
+\begin{document}
+\pagestyle{empty}
+\begin{center}\large
+%<fr>Exemples d'utilisation de l'extension \texttt{paresse}.\\
+%<en>Examples of \texttt{paresse} package usage.\\
+ le \TeX nicien de surface\\
+ 2011-04-19
+\end{center}
+
+%<*fr>
+Ce fichier charge
+% les extensions \texttt{amsmath} et,
+l'extension \texttt{lmodern}
+si elle est disponible localement.%, \texttt{lmodern}.
+
+\textbf{Attention}: l'extension \texttt{paresse} est chargée avec
+l'option \texttt{tame} pour montrer l'utilisation de la commande
+\verb!\ActiveLaParesse! et de l'environnement
+\verb!Pares!\BOP\verb!se!\BOP\verb!Ac!\BOP\verb!tive!.
+%</fr>
+%<*en>
+This file loads %the \texttt{amsmath} package and,
+the \texttt{lmodern} package if it locally exists.
+
+\textbf{Caution}: the \texttt{paresse} package is loaded with the
+option \texttt{tame} to show the usage of macro
+\verb!\ActiveLaParesse! and environment \verb!ParesseActive!.
+%</en>
+
+\vspace{\baselineskip}
+
+%<fr>Avec la commande \verb!\ActiveLaParesse! pour activer le caractère §.
+%<en>With the macro \verb!\ActiveLaParesse! to make the § character active.
+%<*fr>
+\begin{Verbatim}[frame=single]
+{\ActiveLaParesse
+\(§a^{§b}_{§g}\) et encore \(§D^§a_§d\)
+}
+\end{Verbatim}
+%</fr>
+%<*en>
+\begin{Verbatim}[frame=single]
+{\ActiveLaParesse
+\(§a^{§b}_{§g}\) and also \(§D^§a_§d\)
+}
+\end{Verbatim}
+%</en>
+%<fr>pour obtenir :
+%<en>to obtain:
+{\ActiveLaParesse \(§a^{§b}_{§g}\)
+%<fr> et encore
+%<en> and also
+\(§D^§a_§d\)}
+\vspace{\baselineskip}
+
+%<fr>Avec l'environnement \verb!ParesseActive!.
+%<en>With the environment \verb!ParesseActive!.
+
+\begin{Verbatim}[frame=single]
+\begin{ParesseActive}\large
+\begin{tabular}{*4{||>{\ttfamily \§}c|c}||} \hline
+a & §a & b & §b & g & §g & d & §d\\ \hline
+e & §e & z & §z & h & §h & v & §v\\ \hline
+...
+X & §X & P & §P & S & §S & U & §U\\ \hline
+F & §F & Q & §Q & W & §W & Z & §Z\\ \hline
+\end{tabular}
+\end{ParesseActive}
+\end{Verbatim}
+
+\medskip
+
+\begin{center}
+\begin{ParesseActive}\large
+\begin{tabular}{*4{||>{\ttfamily \§}c|c}||} \hline
+a & §a & b & §b & g & §g & d & §d\\ \hline
+e & §e & z & §z & h & §h & v & §v\\ \hline
+i & §i & k & §k & l & §l & m & §m\\ \hline
+n & §n & x & §x & p & §p & r & §r\\ \hline
+s & §s & y & §y & u & §u & f & §f\\ \hline
+c & §c & q & §q & w & §w &\multicolumn{1}{c|}{}& \\ \hline\hline
+G & §G & D & §D & V & §V & L & §L\\ \hline
+X & §X & P & §P & S & §S & U & §U\\ \hline
+F & §F & Q & §Q & W & §W & Z & §Z\\ \hline
+\end{tabular}
+\end{ParesseActive}
+\end{center}
+\end{document}
+%</exemple>
+% \fi
+\endinput
+%%% Local Variables:
+%%% mode: doctex
+%%% fill-column: 70
+%%% coding: iso-8859-15
+%%% TeX-master: t
+%%% End:
diff --git a/macros/latex/contrib/paresse/paresse-en.pdf b/macros/latex/contrib/paresse/paresse-en.pdf
new file mode 100644
index 0000000000..707e4cf90b
--- /dev/null
+++ b/macros/latex/contrib/paresse/paresse-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/paresse/paresse-ex-en.pdf b/macros/latex/contrib/paresse/paresse-ex-en.pdf
new file mode 100644
index 0000000000..01364d627e
--- /dev/null
+++ b/macros/latex/contrib/paresse/paresse-ex-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/paresse/paresse-ex-fr.pdf b/macros/latex/contrib/paresse/paresse-ex-fr.pdf
new file mode 100644
index 0000000000..e0af60738e
--- /dev/null
+++ b/macros/latex/contrib/paresse/paresse-ex-fr.pdf
Binary files differ
diff --git a/macros/latex/contrib/paresse/paresse-fr.pdf b/macros/latex/contrib/paresse/paresse-fr.pdf
new file mode 100644
index 0000000000..b2444884bd
--- /dev/null
+++ b/macros/latex/contrib/paresse/paresse-fr.pdf
Binary files differ
diff --git a/macros/latex/contrib/paresse/paresse.dtx b/macros/latex/contrib/paresse/paresse.dtx
new file mode 100644
index 0000000000..7b413fdbcb
--- /dev/null
+++ b/macros/latex/contrib/paresse/paresse.dtx
@@ -0,0 +1,752 @@
+% \iffalse meta-comment
+%-*- coding: iso-8859-15 -*-
+% Time-stamp: <2013-02-16 10:32:18 novatux>
+% --------------------------------------------------------------------
+%
+% Copyright (C) 2011, 2013
+% by Yvon Henel alias 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]
+%<*common>
+\def\fileversion{v4.1}
+\def\filedate{2013/02/16}
+\def\fileinfo{fichier paresse par le TeXnicien de surface}
+%</common>
+%<*package>
+\ProvidesPackage{paresse}
+ [\filedate\space\fileversion\space\fileinfo]
+%</package>
+% \fi
+% \iffalse
+%<*driver>
+\documentclass[a4paper]{ltxdoc}
+\usepackage[latin1]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage[tame]{paresse}
+\usepackage{xspace,url,array, ifthen}
+\IfFileExists{lmodern.sty}{\usepackage{lmodern}}{}
+\usepackage[frenchb,english]{babel}
+\usepackage{hypdoc,hologo}
+
+\newcommand*\PS{\texttt{\S}\xspace}
+\newcommand*\PSVerb[1]{\texttt{\S #1}}
+\newcommand\BOP{\discretionary{}{}{}}
+\newcommand\Option[1]{\textsc{#1}}
+\newcommand\Pkg[1]{\textsf{#1}}
+\newcommand\NOUVO[1][1]{%
+ \ifthenelse
+ {\equal{#1}{4.1}}
+ {\marginpar{\hspace*{\stretch{1}}%
+ \textbf{N (v4.1)}\hspace*{.5em}}}%
+ {}}
+
+% commentez la ligne suivante pour avoir un document avec le code
+% \OnlyDescription
+% comment the preceding line to obtain a document with the code
+% puis cherchez \StopEventually pour d'éventuels réglages
+% then look for \StopEventually to make a bit of setup
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+
+\begin{document}
+ \DocInput{paresse.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{592}
+%
+% \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 \~}
+%
+%
+% \changes{v0.0}{2004/02/07}{New name, some redefinitions,
+% first public version}
+% \changes{v1}{2004/04/17}{Documentation updated}
+% \changes{v1a}{2005/03/01}{Correction of a bug in Infofile which prevented the loading of the package}
+% \changes{v2}{2008/08/13}{A useless macro is deleted}
+% \changes{v2}{2008/08/13}{Documentation reorganised}
+% \changes{v2}{2008/08/13}{New wrapping to provide a tds.zip.}
+% \changes{v2.1}{2008/08/16}{Correction of a bug in Infofile, once again}
+% \changes{v3}{2010/03/19}{Option for Sylvio \textsc{Levi}'s encoding}
+% \changes{v4}{2011/04/16}{Documentation of the code in English}
+% \changes{v4}{2011/04/16}{paresse goes utf8}
+% \changes{v4.1}{2013/02/16}{Using skeyval-bc instead of (moving forward) skeyval}
+%
+% \GetFileInfo{paresse.sty}
+%
+% \DoNotIndex{\newcommand,\newenvironment,\i,\ae,\oe,\DeclareOption,^^A
+% \ifthenelse,\if,\else,\fi,\tr@@c,\ExecuteOptions,\ProcessOptions,^^A
+% \relax,\MessageBreak,\CurrentOption,\RequirePackage,\PackageError,^^A
+% \def,\endinput,\let,\boolean,\newboolean,\setboolean,\renewcommand,^^A
+% \afterassignment,\global,\aftergroup,\bgroup,\egroup,\csname,^^A
+% \endcsname,\emph,\catcode,\space,\string,\next,\active,\rmfamily,\rule,^^A
+% \textsl,\upshape, \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
+% \Delta, \Gamma, \Theta, \Lambda, \Xi, \Pi, \Sigma, \Upsilon, ^^A
+% \ExecuteOptionsX,\ProcessOptionsX,\DeclareOptionX,^^A
+% \DeclareUnicodeCharacter, \parse@XML@charref, ^^A
+% \parse@UTFviii@a, \parse@UTFviii@b, \AtBeginDocument, ^^A
+% \@eha, \@firstofone, \@gobble,\@toks, \@latex@error, ^^A
+% \begingroup, \endgroup, \gdef, \IeC, \ifcat, \ifcsname, ^^A
+% \ifluatex, \ifxetex, \iftogoff, \iftogon, \UTFviii@tmp, ^^A
+% \UTFviii@four@octets, \UTFviii@three@octets, \UTFviii@two@octets,^^A
+% \ifx, \the, \wlog, \togoff, \togon, \@ifpackageloaded, ^^A
+% \expandafter, \futurelet, \makeatletter, \makeatother, ^^A
+% \inputencodingname, \InputIfFileExists, \PackageInfo,^^A
+% \PackageWarning, \newtog, \ProvidesFile, \PS, \PSVerb, ^^A
+% \stop, \S, \usepackage, \temp@a, \define@bitogkeys, ^^A
+% \Phi, \Psi, \Omega, \newif, \ifnum, \count@, \ensuremath, ^^A
+% \~, \", \^} ^^A
+%
+% \title{The package \Pkg{paresse}\thanks{This document corresponds
+% to file \Pkg{paresse.sty}~\fileversion, dated \filedate.}}
+% \author{Le \TeX nicien de surface\\
+% \href{mailto:le.texnicien.de.surface@wanadoo.fr}%
+% {le.texnicien.de.surface@wanadoo.fr}}
+%
+% \maketitle
+% \begin{abstract}
+% This package implements an example from T.~\textsc{Lachand-Robert}
+% in~\cite{tlachand}. It provides a means of typing isolated greek
+% letters with the character \PS activated and redefined. Instead of
+% |\(\alpha\)| one types \PSVerb{a} to obtain \(\alpha\).
+%
+% \textbf{Important}: You have to load it \textbf{after} the
+% \Pkg{inputenc} package if the latter is used. Moreover the sign
+% \PS must be a letter for \TeX.
+%
+% \textbf{New}: with this version~4, one can use this package even
+% with utf8-encoded source for \hologo{LaTeX}, \hologo{LuaLaTeX}, or
+% \hologo{XeLaTeX}.
+%
+% The English documentation for the final user of the package
+% \Pkg{paresse} is available in the file \texttt{paresse-en.pdf}.
+%
+% \end{abstract}
+% \begin{otherlanguage}{french}
+% \begin{abstract}
+% Ce module, reprenant un exemple de T.~\textsc{Lachand-Robert}
+% dans~\cite{tlachand}, fournit un moyen de taper des lettres
+% grecques isolées à l'aide du caractère \PS actif et redéfini. Au
+% lieu de |\(\alpha\)| ou tape \PSVerb{a} pour obtenir
+% \(\alpha\).
+%
+% \textbf{Important} : Il doit être chargé \textbf{après}
+% \Pkg{inputenc} si ce dernier est utilisé. De plus, il faut
+% que le signe \PS soit une lettre pour \TeX.
+%
+% \textbf{Nouveau}: avec cette version~4, on peut utiliser cette
+% extension même dans un source codé en utf-8 avec \hologo{LaTeX},
+% \hologo{LuaLaTeX} ou \hologo{XeLaTeX}.
+%
+% La documentation française pour l'utilisateur de l'extension
+% \Pkg{paresse} est disponible sous le nom de
+% \texttt{paresse-fr.pdf}.
+% \end{abstract}
+% \end{otherlanguage}
+%
+% \tableofcontents{}
+%
+% \StopEventually{
+% \begin{thebibliography}{99}
+% \addcontentsline{toc}{section}{Bibliographie}
+% \bibitem{tlachand} T.~\textsc{Lachand-Robert}.
+% \emph{La maîtrise de \TeX{} et \LaTeX{}}.
+% Masson, Paris, Milan, Barcelone, \oldstylenums{1995}.\\
+% \textsc{isbn} : \texttt{2-225-84832-7}.
+% \end{thebibliography}
+% \PrintChanges \PrintIndex}
+% \iffalse
+%<*package>
+% \fi
+% \section{The code}
+%
+%
+% \subsection{The sty file}
+%
+% From the 4th version, I have used \Pkg{skeyval} for it provides
+% toggle-keys. But times are a-changing and so is \Pkg{skeyval}.
+% From this version 4.1, I use \Pkg{skeyval-bc} which retains the old
+% ways of \Pkg{skeyval}. \Pkg{skeyval-bc} loads \Pkg{xkeyval} the
+% macros of which I use to manage options.
+%
+% \Pkg{ifluatex} and \Pkg{ifxetex} are required to take care of
+% \hologo{LuaLaTeX} and \hologo{XeLaTeX} respectively.
+%
+% \begin{macrocode}
+\RequirePackage{skeyval-bc}
+\RequirePackage{ifluatex}
+\RequirePackage{ifxetex}
+% \end{macrocode}
+%
+% With \cmd{\define@bitogkeys}, from \Pkg{skeyval-bc}, I define nine
+% pairs of complementary toggle keys. If one of the pair is set to
+% \texttt{true}, the other will be automatically set to \texttt{false}
+% and vice-versa.
+% \begin{macrocode}
+\define@bitogkeys[GA]{paresse.sty}[GA@]{legacy}[true]{levi}{}{}
+\define@bitogkeys[GA]{paresse.sty}[GA@]{wild}[true]{tame}{}{}
+\define@bitogkeys[GA]{paresse.sty}[GA@]{ttau}[true]{ttheta}{}{}
+\define@bitogkeys[GA]{paresse.sty}[GA@]{varepsilon}[true]{epsilon}{}{}
+\define@bitogkeys[GA]{paresse.sty}[GA@]{varphi}[true]{phi}{}{}
+\define@bitogkeys[GA]{paresse.sty}[GA@]{pi}[true]{varpi}{}{}
+\define@bitogkeys[GA]{paresse.sty}[GA@]{sigma}[true]{varsigma}{}{}
+\define@bitogkeys[GA]{paresse.sty}[GA@]{rho}[true]{varrho}{}{}
+\define@bitogkeys[GA]{paresse.sty}[GA@]{theta}[true]{vartheta}{}{}
+% \end{macrocode}
+%
+% I set the behaviour of the package in case of an unknown option
+% with \cmd{\DeclareOptionX*}, from \Pkg{xkeyval}.
+% \begin{macrocode}
+\DeclareOptionX*{\PackageError{paresse} {The option "\CurrentOption"
+ is not known!\MessageBreak The default options are:\MessageBreak
+ legacy, varepsilon, theta, pi, rho, sigma, and varphi.}%
+ {Choose between `wild' (for an active Paresse in all the document)
+ \MessageBreak and `tame', so that the character obtained by
+ \string\S\MessageBreak prints the section symbol \string\S).
+ \MessageBreak See the documentation for other options.}}
+% \end{macrocode}
+%
+% The default options are: |legacy|, |wild|, |varepsilon|,
+% |theta|, |pi|, |rho|, |sigma|, and |varphi|.
+% \changes{v3}{2010/03/20}{Default option |legacy| added}
+% \begin{macrocode}
+\ExecuteOptionsX[GA]{legacy,wild,varepsilon,theta,pi,rho,sigma,varphi}
+\ProcessOptionsX[GA]\relax
+% \end{macrocode}
+%
+% The prefix of the \emph{secret} macros of this package is
+% |GA@|. Here I define the macros which will print the correct
+% character according to the chosen options. \cs{iftogon} is provided
+% by \Pkg{skeyval-bc}.
+% \begin{macrocode}
+\iftogon{GA@varepsilon}{%
+ \def\GA@epsilon{\varepsilon}}{\def\GA@epsilon{\epsilon}}
+\iftogon{GA@vartheta}{\def\GA@theta{\vartheta}}{\def\GA@theta{\theta}}
+\iftogon{GA@varpi}{\def\GA@pi{\varpi}}{\def\GA@pi{\pi}}
+\iftogon{GA@varrho}{\def\GA@rho{\varrho}}{\def\GA@rho{\rho}}
+\iftogon{GA@varsigma}{\def\GA@sigma{\varsigma}}{\def\GA@sigma{\sigma}}
+\iftogon{GA@varphi}{\def\GA@phi{\varphi}}{\def\GA@phi{\phi}}
+% \end{macrocode}
+%
+%
+% I test the engine, it it is \hologo{XeTeX} or \hologo{LuaTeX}, the
+% file \texttt{paresseold.sto} is loaded.
+% \begin{macrocode}
+\ifluatex
+ \PackageInfo{paresse}{compiling with luatex}
+ \InputIfFileExists{paresseold.sto}{%
+ \PackageInfo{paresse}{paresseold loaded}}{%
+ \PackageInfo{paresse}{paresseold not loaded}}
+\else
+ \ifxetex
+ \PackageInfo{paresse}{compiling with xetex}
+ \InputIfFileExists{paresseold.sto}{%
+ \PackageInfo{paresse}{paresseold loaded}}{%
+ \PackageInfo{paresse}{paresseold not loaded}}
+ \else
+% \end{macrocode}
+% We arrive here if the working engine is good old \hologo{TeX} (in
+% fact, good not so old \hologo{eTeX} I hope for some things could
+% depend on \hologo{eTeX}-nical internals).
+%
+% First some useful macros to take care of the encoding. The macros
+% have been given to me by Christian \textsc{Tellechea} I do heartily
+% thank for his kindness.
+%
+% The first one takes care of problems of encoding.
+% \begin{macrocode}
+\newcommand\encoding@error{%
+ \@latex@error{%
+ paresse needs inputenc loaded with option "utf8"
+ or option such as "latin1" (8 bits encodign).}{}\stop}
+% \end{macrocode}
+% The second checks that \Pkg{inputenc} has been loaded before
+% \Pkg{paresse}.
+% \begin{macrocode}
+\@ifpackageloaded{inputenc}\relax
+{\PackageError{paresse}{%
+ Please, load inputenc package before paresse}{%
+ With LaTeX, "paresse" needs to know the encoding to work well and so
+ the package "inputenc" must be loaded, with \string\usepackage, before
+ loading "paresse" itself}}
+% \end{macrocode}
+% The test for \Pkg{inputenc} and encoding is delayed at the beginning
+% of the document where all things about encoding should be settled.
+% \begin{macrocode}
+\AtBeginDocument{%
+ \@ifpackageloaded{inputenc}\find@encoding\encoding@error}
+% \end{macrocode}
+% I create a new toggle |GA@utf8| and set it to \texttt{false}. It
+% will be used later to chose the correct action.
+% \begin{macrocode}
+\newtog[GA@]{utf8}[false]
+% \end{macrocode}
+% A bit of code to find the declared encoding and set up the toggle
+% |GA@utf8| accordingly. There again work by Christian
+% \textsc{Tellechea}.
+% \begin{macrocode}
+\newcommand\find@encoding{%
+ \begingroup
+ \def\utf@encoding{utf8}%
+ \def\temp@a{\togoff{GA@utf8}%
+ \PackageInfo{paresse}{8-bit encoding expected\@gobble}}
+ \ifx\utf@encoding\inputencodingname
+ \def\temp@a{\togon{GA@utf8}%
+ \PackageInfo{paresse}{utf8 encoding detected\@gobble}}
+ \fi
+ \expandafter\endgroup\temp@a}
+% \end{macrocode}
+%
+% The main action is then delayed at the beginning of the document for
+% reasons already given above. In case the utf8 encoding has been
+% detected, the file \texttt{paresseutf8.sto} is loaded, otherwise it
+% is \texttt{paresseold.sto} once again.
+%
+% \cs{makeatletter} is needed to mimic the loading of a \texttt{sty}
+% file for, at the beginning of the document, |@| is no more a
+% letter. Naturally, we must revert |@| to its non-letter status at
+% the end of the loading.
+% \begin{macrocode}
+\AtBeginDocument{%
+ \makeatletter
+ \iftogoff{GA@utf8}{%
+ \InputIfFileExists{paresseold.sto}{%
+ \PackageInfo{paresse}{old loaded\@gobble}}{%
+ \PackageError{paresse}{paresseold.sto not found}{%
+ The package "paresse" needs to load the file "paresseold.sto"
+ but can't find it. Something seems to be broken in your TeX
+ system}}}{%
+ \InputIfFileExists{paresseutf8.sto}{%
+ \PackageInfo{paresse}{utf8 loaded\@gobble}}{%
+ \PackageError{paresse}{paresseutf8 not found}{%
+ The package "paresse" needs to load the file "paresseutf8.sto"
+ but can't find it. Something seems to be broken in your TeX
+ system}}}
+ \makeatother}
+\fi
+\fi
+% \end{macrocode}
+%
+% And that's all for the main file.
+% \iffalse
+%</package>
+% \fi
+% \iffalse
+%<*oldpack>
+% \fi
+%
+%\subsection{The file paresseold.sto}
+%
+% This file will be loaded in all cases except when the working engine is
+% \hologo{LaTeX} with |[utf8]{inputenc}| loaded. |^^a7| is \TeX nical
+% code for the character I type, on my French keypad, with key \S.
+%
+% This is almost the content of the version~3 of
+% \texttt{paresse.sty}. The changes are the use of toggles provided by
+% \Pkg{skeyval-bc} and the appearance of \PSVerb{Z} to obtain \S ---
+% which is always available through \cs{S}\footnote{So could I speak
+% of \PSVerb{Z} in terms of ``shortcut''?}.
+%
+% \begin{macrocode}
+\ProvidesFile{paresseold.sto}
+% \end{macrocode}
+% Presentations made, I save the current category code (catcode) of
+% the character \PS and its definition in \cs{GA@LaVieilleParesse}.
+% \begin{macrocode}
+\count@=\catcode`\^^a7
+\let\GA@LaVieilleParesse= ^^a7
+% \end{macrocode}
+% For sake of convienience, \PS is def'ed as |\S|.
+% \begin{macrocode}
+\def\^^a7{\S}
+% \end{macrocode}
+%
+% Come some end-user macros. \cs{makeparesseletter} changes the
+% \DescribeMacro{\makeparesseletter} catcode of \PS to~\(11\) which is
+% the code of letter and \DescribeMacro{\makeparesseother}
+% \cs{makeparesseother} changes that code to~\(12\) the code of other
+% characters.
+% \begin{macrocode}
+\newcommand{\makeparesseletter}{\catcode `\^^a7=11\relax}
+\newcommand{\makeparesseother}{\catcode `\^^a7=12\relax}
+% \end{macrocode}
+% \cs{GA@MakeParesseActive} is an internal macro to activate \PS.
+% \DescribeMacro{\GA@MakeParesseActive}
+% Then come two macros to activate \PS for the remaining part of the
+% file. On of them is applied according to the catcode of \PS at the
+% beginning --- catcode saved in |\count@|.
+% \begin{macrocode}
+\newcommand{\GA@MakeParesseActive}{\catcode `\^^a7=\active}
+\def\GA@ActiveLaParessexii{\catcode `\^^a7=\active}
+\def\GA@ActiveLaParessexiii{\catcode `\^^a7=\active
+ \def^^a7##1{\ensuremath{\csname \string^^a7##1\endcsname}}}
+\ifnum\count@=12
+ \let\GA@ActiveLaParesse \GA@ActiveLaParessexii
+\else
+ \let\GA@ActiveLaParesse \GA@ActiveLaParessexiii
+\fi
+% \end{macrocode}
+%
+% It's time to provide one end-user macro and one environment useful
+% \DescribeMacro{\ActiveLaParesse}
+% \DescribeEnv{ParesseActive}
+% when the package has been loaded with option \Option{tame} to
+% locally activate \PS.
+% \begin{macrocode}
+\newcommand{\ActiveLaParesse}{\GA@ActiveLaParesse}
+\newenvironment{ParesseActive}{\GA@ActiveLaParesse}{}
+% \end{macrocode}
+%
+% Now come the definitions of the meanings of the \PS-macros. For
+% these definitions to work, \PS is made a letter.
+% \begin{macrocode}
+\makeparesseletter
+\def\^^a7a {\alpha}
+\def\^^a7b {\beta}
+\def\^^a7g {\gamma}
+\def\^^a7d {\delta}
+\def\^^a7e {\GA@epsilon}
+\def\^^a7z {\zeta}
+\def\^^a7h {\eta}
+\def\^^a7i {\iota}
+\def\^^a7k {\kappa}
+\def\^^a7l {\lambda}
+\def\^^a7m {\mu}
+\def\^^a7n {\nu}
+\def\^^a7x {\xi}
+\def\^^a7p {\GA@pi}
+\def\^^a7r {\GA@rho}
+\def\^^a7s {\GA@sigma}
+\def\^^a7u {\upsilon}
+\def\^^a7f {\GA@phi}
+\def\^^a7w {\omega}
+% \end{macrocode}
+% In case of option \Option{legacy}, definitions of \PSVerb{v},
+% \PSVerb{y}, \PSVerb{c}, and \PSVerb{q} as in the first two versions
+% of this package.
+% \begin{macrocode}
+\iftogon{GA@legacy}{%
+ \def\^^a7v {\GA@theta}
+ \def\^^a7y {\tau}
+ \def\^^a7c {\chi}
+ \def\^^a7q {\psi}
+% \end{macrocode}
+% Care is taken of options \Option{ttau} and \Option{ttheta}.
+% \begin{macrocode}
+ \iftogon{GA@ttau}{\def\^^a7t {\tau}}{\def\^^a7t {\GA@theta}}}{%
+% \end{macrocode}
+% Definitions of the same \PSVerb{v}, \PSVerb{y}, \PSVerb{c}, and
+% \PSVerb{q} with option \Option{levi}. In that case, options
+% \Option{ttau} and \Option{ttheta} are no-op.
+% \begin{macrocode}
+ \def\^^a7j {\GA@theta}
+ \def\^^a7t {\tau}
+ \def\^^a7q {\chi}
+ \def\^^a7y {\psi}
+ \def\^^a7c {\varsigma}}
+% \end{macrocode}
+% Upper case letters are treated thence:
+% \begin{macrocode}
+\def\^^a7G {\Gamma}
+\def\^^a7D {\Delta}
+\def\^^a7L {\Lambda}
+\def\^^a7P {\Pi}
+\def\^^a7S {\Sigma}
+\def\^^a7U {\Upsilon}
+\def\^^a7F {\Phi}
+\def\^^a7X {\Xi}
+\def\^^a7W {\Omega}
+% \end{macrocode}
+% Once again \Option{legacy} vs. \Option{levi}:
+% \begin{macrocode}
+\iftogon{GA@legacy}{%
+ \def\^^a7V {\Theta}
+ \def\^^a7T {\Theta}
+ \def\^^a7Q {\Psi}
+}{%
+ \def\^^a7J {\Theta}
+ \def\^^a7Y {\Psi}
+}%
+% \changes{va4}{2011/04/17}{\PSVerb{Z} added to produce \PS}
+\def\^^a7Z {\S}
+% \end{macrocode}
+%
+% The end is near! \PS is made active and the \PS-macros defined. This
+% is old code --- directly from~\cite{tlachand}.
+% \begin{macrocode}
+\catcode `\^^a7=\active
+\def^^a7#1{\ensuremath{\csname \string^^a7#1\endcsname}}
+% \end{macrocode}
+% In case option \Option{tame} is chosen, \PS is given its first
+% catcode and meaning back.
+% \begin{macrocode}
+\iftogon{GA@tame}{%
+ \catcode`\^^a7=\count@
+ \ifnum\count@=13 \let ^^a7=\GA@LaVieilleParesse \fi
+}%
+% \end{macrocode}
+%
+% And that's all for \texttt{paresseold.sto}.
+%
+% \iffalse
+%</oldpack>
+% \fi
+% \iffalse
+%<*utf8pack>
+% \fi
+%
+%\subsection{The file paresseutf8.sto}
+%
+% This part is brand new. It deals with the document encoded in utf8
+% via |\usepackage[utf8]{fontenc}| and compiled with \hologo{LaTeX}.
+%
+% It is at the request of Christian \textsc{Tellechea} that this
+% package now deals with such source. Most of the macros of this part
+% were created by the same Christian.
+%
+% First a bit of identification
+% \begin{macrocode}
+\ProvidesFile{paresseutf8.sto}
+% \end{macrocode}
+% followed by code partially taken from \texttt{utf8.def} for I wanted
+% to implement the option \Option{tame} and, to do so, needed to
+% redeclare the character \PS. Four macros are used in such a
+% redeclaration and they are made unavailable outside preamble in
+% \texttt{utf8.def}.
+%
+% The original \cs{DeclareUnicodeCharacter} depends on
+% \cs{parse@XML@charref} which itself depends on \cs{parse@UTFviii@a}
+% and \cs{parse@UTFviii@b}. Those two last macros are defined in terms
+% of accessible macros. Therefore, I first create an alias of the last
+% two and then define \cs{declareunicodecharacter} and
+% \cs{GA@parse@XML@charref} in terms of the \emph{localised} version
+% of \cs{parse@UTFviii@a} and \cs{parse@UTFviii@b}.
+%
+% To be on the safe side, I repeat the invocations of catcode of
+% \texttt{utf8.def}.
+% \begin{macrocode}
+\begingroup
+\catcode`\"=12
+\catcode`\<=12
+\catcode`\.=12
+\catcode`\,=12
+\catcode`\;=12
+\catcode`\!=12
+\catcode`\~=13
+\global\let\GA@parse@UTFviii@a=\parse@UTFviii@a
+\global\let\GA@parse@UTFviii@b=\parse@UTFviii@b
+\gdef\declareunicodecharacter#1#2{%
+ \count@"#1\relax
+ \wlog{\space\space Redefining Unicode char U+#1 (decimal \the\count@)}%
+ \begingroup
+ \GA@parse@XML@charref
+ \def\UTFviii@two@octets##1##2{\csname u8:##1\string##2\endcsname}%
+ \def\UTFviii@three@octets##1##2##3{\csname u8:##1%
+ \string##2\string##3\endcsname}%
+ \def\UTFviii@four@octets##1##2##3##4{\csname u8:##1%
+ \string##2\string##3\string##4\endcsname}%
+ \expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter
+ \expandafter
+ \gdef\UTFviii@tmp{\IeC{#2}}%
+ \endgroup}
+\gdef\GA@parse@XML@charref{%
+ \ifnum\count@<"A0\relax
+ \PackageError{inputenc}{Cannot\space define\space Unicode\space
+ char\space value\space <\space 00A0}\@eha
+ \else\ifnum\count@<"800\relax
+ \GA@parse@UTFviii@a,%
+ \GA@parse@UTFviii@b C\UTFviii@two@octets.,%
+ \else\ifnum\count@<"10000\relax
+ \GA@parse@UTFviii@a;%
+ \GA@parse@UTFviii@a,%
+ \GA@parse@UTFviii@b E\UTFviii@three@octets.{,;}%
+ \else
+ \GA@parse@UTFviii@a;%
+ \GA@parse@UTFviii@a,%
+ \GA@parse@UTFviii@a!%
+ \GA@parse@UTFviii@b F\UTFviii@four@octets.{!,;}%
+ \fi
+ \fi
+\fi}
+\endgroup
+% \end{macrocode}
+% Here ends the \emph{localisation}.
+%
+% I provide the same macros as in the preceding case but in such a
+% context \cs{makeparesseother} doesn't make sense. It just produces a
+% warning.
+% \begin{macrocode}
+\newcommand{\makeparesseletter}{\DeclareUnicodeCharacter{00A7}\S}
+\newcommand{\makeparesseother}{%
+ \PackageWarning{paresse}{%
+ Command \string\makeparesseother disabled}{%
+ The command \string\makeparesseother would have been meaningless
+ in the current context}}
+% \end{macrocode}
+%
+% The end-user macro \cs{ActiveLaParesse} and the corresponding
+% environment |ParesseActive|.
+%
+% The Unicode character of code \texttt{00A7} is made equal to the
+% macro \cs{@paresse}.
+% \begin{macrocode}
+\newcommand{\ActiveLaParesse}{\declareunicodecharacter{00A7}\@paresse}
+\newenvironment{ParesseActive}{\ActiveLaParesse}{}
+% \end{macrocode}
+%
+% It's time to prepare the definition of the \PS-macros. To begin with
+% we activate the character \PS.
+% \begin{macrocode}
+\ActiveLaParesse
+% \end{macrocode}
+%
+% And now for the \emph{working} code: when the paresse is active, the
+% byte \texttt{00A7} is an alias for \cs{@paresse} and, because of the
+% following, the code \cs{@paresse}\meta{token} is changed into
+% \cs{@i@paresse}\meta{token} with the side effect that \cs{@toks} is
+% let to \meta{token}.
+% \begin{macrocode}
+\def\@paresse{\futurelet\@toks\@i@paresse}
+% \end{macrocode}
+% Then if \meta{token}, now ``in'' \cs{@toks}, has the same category
+% than \texttt{a} --- hopefully a letter --- then we obtain
+% \cs{@ii@paresse} else \cs{S}.
+%
+% \begin{macrocode}
+\def\@i@paresse{%
+ \csname\ifcat a\@toks @ii@paresse\else S\fi\endcsname}
+% \end{macrocode}
+% At that point, the code which was \cs{@paresse}\meta{token} is
+% either \cs{S}\meta{token} or \cs{@ii@paresse} which awaits for an
+% argument. That argument will be the still present \meta{token}.
+%
+% If the command \cs{@paresse@}\meta{token} is defined then it does
+% its job, else we obtain \cs{S}\meta{token}.
+% \begin{macrocode}
+\def\@ii@paresse#1{%
+ \ifcsname @paresse@#1\endcsname
+ \csname @paresse@#1\endcsname\expandafter\@gobble
+ \else
+ \expandafter\@firstofone
+ \fi{\S#1}}
+% \end{macrocode}
+%
+% The next macro is used to define the \PS-macros.
+%
+% I have not used it in \texttt{paresseold.sto} for that definition
+% prevent a feature I'm attached to, to wit, obtaining
+% \(\alpha^{\beta}\) with |\(|\PSVerb{a}|^|\PSVerb{b}|\)|. I would
+% have been loath to force some of the users to change their until now
+% working sources.
+% \begin{macrocode}
+\def\define@paresse@car#1#2{%
+ \expandafter\def\csname @paresse@#1\endcsname{\ensuremath{#2}}}
+% \end{macrocode}
+%
+% From now on, there are just definitions of \PS-macros.
+%
+% The first one, \PSVerb{Z} is new.
+% \begin{macrocode}
+\define@paresse@car Z\S
+\define@paresse@car a\alpha
+\define@paresse@car b\beta
+\define@paresse@car g\gamma
+\define@paresse@car d\delta
+\define@paresse@car e\GA@epsilon
+\define@paresse@car z\zeta
+\define@paresse@car h\eta
+\define@paresse@car i\iota
+\define@paresse@car k\kappa
+\define@paresse@car l\lambda
+\define@paresse@car m\mu
+\define@paresse@car n\nu
+\define@paresse@car x\xi
+\define@paresse@car p\GA@pi
+\define@paresse@car r\GA@rho
+\define@paresse@car s\GA@sigma
+\define@paresse@car u\upsilon
+\define@paresse@car f\GA@phi
+\define@paresse@car w\omega
+\iftogon{GA@legacy}{%
+ \define@paresse@car v\GA@theta
+ \define@paresse@car y\tau
+ \define@paresse@car c\chi
+ \define@paresse@car q\psi
+ \iftogon{GA@ttau}{%
+ \define@paresse@car t\tau}{%
+ \define@paresse@car t\GA@theta}}{%
+ \define@paresse@car j\GA@theta
+ \define@paresse@car t\tau
+ \define@paresse@car q\chi
+ \define@paresse@car y\psi
+ \define@paresse@car c\varsigma}
+\define@paresse@car G\Gamma
+\define@paresse@car D\Delta
+\define@paresse@car L\Lambda
+\define@paresse@car P\Pi
+\define@paresse@car S\Sigma
+\define@paresse@car U\Upsilon
+\define@paresse@car F\Phi
+\define@paresse@car X\Xi
+\define@paresse@car W\Omega
+\iftogon{GA@legacy}{%
+ \define@paresse@car V\Theta
+ \define@paresse@car T\Theta
+ \define@paresse@car Q\Psi}{%
+ \define@paresse@car J\Theta
+ \define@paresse@car Y\Psi}%
+% \end{macrocode}
+%
+% At the end of the package, if the option \Option{tame} is chosen, \PS
+% is made a letter again.
+% \begin{macrocode}
+\iftogon{GA@tame}{\makeparesseletter}
+% \end{macrocode}
+%
+% And that's all for the file \texttt{paresseutf8.sto}.
+% \iffalse
+%</utf8pack>
+% \fi
+% \Finale
+\endinput
+%%% Local Variables:
+%%% mode: doctex
+%%% fill-column: 70
+%%% coding: iso-8859-15
+%%% TeX-master: t
+%%% End:
+
diff --git a/macros/latex/contrib/paresse/paresse.ins b/macros/latex/contrib/paresse/paresse.ins
new file mode 100644
index 0000000000..f5079fc407
--- /dev/null
+++ b/macros/latex/contrib/paresse/paresse.ins
@@ -0,0 +1,64 @@
+%%
+%% Copyright (C) 2011, 2013
+%% by Yvon Henel alias 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) 2011, 2013
+by Yvon Henel, alias 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{paresse.sty}{\from{paresse.dtx}{common,package}}
+ \file{paresseold.sto}{\from{paresse.dtx}{oldpack}}
+ \file{paresseutf8.sto}{\from{paresse.dtx}{utf8pack}}
+ \file{common.tex}{\from{paresse.dtx}{common}}
+ \file{paresse-en.ltx}{\from{paresse-doc.dtx}{doc,en}}
+ \file{paresse-fr.ltx}{\from{paresse-doc.dtx}{doc,fr}}
+ \file{paresse-ex-fr.elx}{\from{paresse-doc.dtx}{exemple,fr}}
+ \file{paresse-ex-en.elx}{\from{paresse-doc.dtx}{exemple,en}}
+ }
+\obeyspaces
+\Msg{*****************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* file into a directory searched by TeX: *}
+\Msg{* paresse.sty *}
+\Msg{*****************************************************************}
+\Msg{* Pour finir l'installation vous devez placer *}
+\Msg{* le fichier suivant dans un dossier parcouru par TeX: *}
+\Msg{* paresse.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation read the README file *}
+\Msg{* Pour produire la documentation lire le fichier LISEZMOI *}
+\Msg{* *}
+\Msg{** Happy TeXing **}
+\Msg{** TeXez dans la joie ! **}
+\Msg{*****************************************************************}
+\endbatchfile
diff --git a/macros/latex/contrib/paresse/paresse.pdf b/macros/latex/contrib/paresse/paresse.pdf
new file mode 100644
index 0000000000..fd9863db90
--- /dev/null
+++ b/macros/latex/contrib/paresse/paresse.pdf
Binary files differ
diff --git a/macros/latex/contrib/paresse/paresse.sty b/macros/latex/contrib/paresse/paresse.sty
new file mode 100644
index 0000000000..82e02574f6
--- /dev/null
+++ b/macros/latex/contrib/paresse/paresse.sty
@@ -0,0 +1,112 @@
+%%
+%% This is file `paresse.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% paresse.dtx (with options: `common,package')
+%% This is a generated file.
+%%
+%% Copyright (C) 2011, 2013
+%% by Yvon Henel, alias 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.
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\def\fileversion{v4.1}
+\def\filedate{2013/02/16}
+\def\fileinfo{fichier paresse par le TeXnicien de surface}
+\ProvidesPackage{paresse}
+ [\filedate\space\fileversion\space\fileinfo]
+\RequirePackage{skeyval-bc}
+\RequirePackage{ifluatex}
+\RequirePackage{ifxetex}
+\define@bitogkeys[GA]{paresse.sty}[GA@]{legacy}[true]{levi}{}{}
+\define@bitogkeys[GA]{paresse.sty}[GA@]{wild}[true]{tame}{}{}
+\define@bitogkeys[GA]{paresse.sty}[GA@]{ttau}[true]{ttheta}{}{}
+\define@bitogkeys[GA]{paresse.sty}[GA@]{varepsilon}[true]{epsilon}{}{}
+\define@bitogkeys[GA]{paresse.sty}[GA@]{varphi}[true]{phi}{}{}
+\define@bitogkeys[GA]{paresse.sty}[GA@]{pi}[true]{varpi}{}{}
+\define@bitogkeys[GA]{paresse.sty}[GA@]{sigma}[true]{varsigma}{}{}
+\define@bitogkeys[GA]{paresse.sty}[GA@]{rho}[true]{varrho}{}{}
+\define@bitogkeys[GA]{paresse.sty}[GA@]{theta}[true]{vartheta}{}{}
+\DeclareOptionX*{\PackageError{paresse} {The option "\CurrentOption"
+ is not known!\MessageBreak The default options are:\MessageBreak
+ legacy, varepsilon, theta, pi, rho, sigma, and varphi.}%
+ {Choose between `wild' (for an active Paresse in all the document)
+ \MessageBreak and `tame', so that the character obtained by
+ \string\S\MessageBreak prints the section symbol \string\S).
+ \MessageBreak See the documentation for other options.}}
+\ExecuteOptionsX[GA]{legacy,wild,varepsilon,theta,pi,rho,sigma,varphi}
+\ProcessOptionsX[GA]\relax
+\iftogon{GA@varepsilon}{%
+ \def\GA@epsilon{\varepsilon}}{\def\GA@epsilon{\epsilon}}
+\iftogon{GA@vartheta}{\def\GA@theta{\vartheta}}{\def\GA@theta{\theta}}
+\iftogon{GA@varpi}{\def\GA@pi{\varpi}}{\def\GA@pi{\pi}}
+\iftogon{GA@varrho}{\def\GA@rho{\varrho}}{\def\GA@rho{\rho}}
+\iftogon{GA@varsigma}{\def\GA@sigma{\varsigma}}{\def\GA@sigma{\sigma}}
+\iftogon{GA@varphi}{\def\GA@phi{\varphi}}{\def\GA@phi{\phi}}
+\ifluatex
+ \PackageInfo{paresse}{compiling with luatex}
+ \InputIfFileExists{paresseold.sto}{%
+ \PackageInfo{paresse}{paresseold loaded}}{%
+ \PackageInfo{paresse}{paresseold not loaded}}
+\else
+ \ifxetex
+ \PackageInfo{paresse}{compiling with xetex}
+ \InputIfFileExists{paresseold.sto}{%
+ \PackageInfo{paresse}{paresseold loaded}}{%
+ \PackageInfo{paresse}{paresseold not loaded}}
+ \else
+\newcommand\encoding@error{%
+ \@latex@error{%
+ paresse needs inputenc loaded with option "utf8"
+ or option such as "latin1" (8 bits encodign).}{}\stop}
+\@ifpackageloaded{inputenc}\relax
+{\PackageError{paresse}{%
+ Please, load inputenc package before paresse}{%
+ With LaTeX, "paresse" needs to know the encoding to work well and so
+ the package "inputenc" must be loaded, with \string\usepackage, before
+ loading "paresse" itself}}
+\AtBeginDocument{%
+ \@ifpackageloaded{inputenc}\find@encoding\encoding@error}
+\newtog[GA@]{utf8}[false]
+\newcommand\find@encoding{%
+ \begingroup
+ \def\utf@encoding{utf8}%
+ \def\temp@a{\togoff{GA@utf8}%
+ \PackageInfo{paresse}{8-bit encoding expected\@gobble}}
+ \ifx\utf@encoding\inputencodingname
+ \def\temp@a{\togon{GA@utf8}%
+ \PackageInfo{paresse}{utf8 encoding detected\@gobble}}
+ \fi
+ \expandafter\endgroup\temp@a}
+\AtBeginDocument{%
+ \makeatletter
+ \iftogoff{GA@utf8}{%
+ \InputIfFileExists{paresseold.sto}{%
+ \PackageInfo{paresse}{old loaded\@gobble}}{%
+ \PackageError{paresse}{paresseold.sto not found}{%
+ The package "paresse" needs to load the file "paresseold.sto"
+ but can't find it. Something seems to be broken in your TeX
+ system}}}{%
+ \InputIfFileExists{paresseutf8.sto}{%
+ \PackageInfo{paresse}{utf8 loaded\@gobble}}{%
+ \PackageError{paresse}{paresseutf8 not found}{%
+ The package "paresse" needs to load the file "paresseutf8.sto"
+ but can't find it. Something seems to be broken in your TeX
+ system}}}
+ \makeatother}
+\fi
+\fi
+\endinput
+%%
+%% End of file `paresse.sty'.
diff --git a/macros/latex/contrib/paresse/paresseold.sto b/macros/latex/contrib/paresse/paresseold.sto
new file mode 100644
index 0000000000..be2832354f
--- /dev/null
+++ b/macros/latex/contrib/paresse/paresseold.sto
@@ -0,0 +1,97 @@
+%%
+%% This is file `paresseold.sto',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% paresse.dtx (with options: `oldpack')
+%% This is a generated file.
+%%
+%% Copyright (C) 2011, 2013
+%% by Yvon Henel, alias 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.
+\ProvidesFile{paresseold.sto}
+\count@=\catcode`\^^a7
+\let\GA@LaVieilleParesse= ^^a7
+\def\^^a7{\S}
+\newcommand{\makeparesseletter}{\catcode `\^^a7=11\relax}
+\newcommand{\makeparesseother}{\catcode `\^^a7=12\relax}
+\newcommand{\GA@MakeParesseActive}{\catcode `\^^a7=\active}
+\def\GA@ActiveLaParessexii{\catcode `\^^a7=\active}
+\def\GA@ActiveLaParessexiii{\catcode `\^^a7=\active
+ \def^^a7##1{\ensuremath{\csname \string^^a7##1\endcsname}}}
+\ifnum\count@=12
+ \let\GA@ActiveLaParesse \GA@ActiveLaParessexii
+\else
+ \let\GA@ActiveLaParesse \GA@ActiveLaParessexiii
+\fi
+\newcommand{\ActiveLaParesse}{\GA@ActiveLaParesse}
+\newenvironment{ParesseActive}{\GA@ActiveLaParesse}{}
+\makeparesseletter
+\def\^^a7a {\alpha}
+\def\^^a7b {\beta}
+\def\^^a7g {\gamma}
+\def\^^a7d {\delta}
+\def\^^a7e {\GA@epsilon}
+\def\^^a7z {\zeta}
+\def\^^a7h {\eta}
+\def\^^a7i {\iota}
+\def\^^a7k {\kappa}
+\def\^^a7l {\lambda}
+\def\^^a7m {\mu}
+\def\^^a7n {\nu}
+\def\^^a7x {\xi}
+\def\^^a7p {\GA@pi}
+\def\^^a7r {\GA@rho}
+\def\^^a7s {\GA@sigma}
+\def\^^a7u {\upsilon}
+\def\^^a7f {\GA@phi}
+\def\^^a7w {\omega}
+\iftogon{GA@legacy}{%
+ \def\^^a7v {\GA@theta}
+ \def\^^a7y {\tau}
+ \def\^^a7c {\chi}
+ \def\^^a7q {\psi}
+ \iftogon{GA@ttau}{\def\^^a7t {\tau}}{\def\^^a7t {\GA@theta}}}{%
+ \def\^^a7j {\GA@theta}
+ \def\^^a7t {\tau}
+ \def\^^a7q {\chi}
+ \def\^^a7y {\psi}
+ \def\^^a7c {\varsigma}}
+\def\^^a7G {\Gamma}
+\def\^^a7D {\Delta}
+\def\^^a7L {\Lambda}
+\def\^^a7P {\Pi}
+\def\^^a7S {\Sigma}
+\def\^^a7U {\Upsilon}
+\def\^^a7F {\Phi}
+\def\^^a7X {\Xi}
+\def\^^a7W {\Omega}
+\iftogon{GA@legacy}{%
+ \def\^^a7V {\Theta}
+ \def\^^a7T {\Theta}
+ \def\^^a7Q {\Psi}
+}{%
+ \def\^^a7J {\Theta}
+ \def\^^a7Y {\Psi}
+}%
+\def\^^a7Z {\S}
+\catcode `\^^a7=\active
+\def^^a7#1{\ensuremath{\csname \string^^a7#1\endcsname}}
+\iftogon{GA@tame}{%
+ \catcode`\^^a7=\count@
+ \ifnum\count@=13 \let ^^a7=\GA@LaVieilleParesse \fi
+}%
+\endinput
+%%
+%% End of file `paresseold.sto'.
diff --git a/macros/latex/contrib/paresse/paresseutf8.sto b/macros/latex/contrib/paresse/paresseutf8.sto
new file mode 100644
index 0000000000..0f232d83c4
--- /dev/null
+++ b/macros/latex/contrib/paresse/paresseutf8.sto
@@ -0,0 +1,140 @@
+%%
+%% This is file `paresseutf8.sto',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% paresse.dtx (with options: `utf8pack')
+%% This is a generated file.
+%%
+%% Copyright (C) 2011, 2013
+%% by Yvon Henel, alias 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.
+\ProvidesFile{paresseutf8.sto}
+\begingroup
+\catcode`\"=12
+\catcode`\<=12
+\catcode`\.=12
+\catcode`\,=12
+\catcode`\;=12
+\catcode`\!=12
+\catcode`\~=13
+\global\let\GA@parse@UTFviii@a=\parse@UTFviii@a
+\global\let\GA@parse@UTFviii@b=\parse@UTFviii@b
+\gdef\declareunicodecharacter#1#2{%
+ \count@"#1\relax
+ \wlog{\space\space Redefining Unicode char U+#1 (decimal \the\count@)}%
+ \begingroup
+ \GA@parse@XML@charref
+ \def\UTFviii@two@octets##1##2{\csname u8:##1\string##2\endcsname}%
+ \def\UTFviii@three@octets##1##2##3{\csname u8:##1%
+ \string##2\string##3\endcsname}%
+ \def\UTFviii@four@octets##1##2##3##4{\csname u8:##1%
+ \string##2\string##3\string##4\endcsname}%
+ \expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter
+ \expandafter
+ \gdef\UTFviii@tmp{\IeC{#2}}%
+ \endgroup}
+\gdef\GA@parse@XML@charref{%
+ \ifnum\count@<"A0\relax
+ \PackageError{inputenc}{Cannot\space define\space Unicode\space
+ char\space value\space <\space 00A0}\@eha
+ \else\ifnum\count@<"800\relax
+ \GA@parse@UTFviii@a,%
+ \GA@parse@UTFviii@b C\UTFviii@two@octets.,%
+ \else\ifnum\count@<"10000\relax
+ \GA@parse@UTFviii@a;%
+ \GA@parse@UTFviii@a,%
+ \GA@parse@UTFviii@b E\UTFviii@three@octets.{,;}%
+ \else
+ \GA@parse@UTFviii@a;%
+ \GA@parse@UTFviii@a,%
+ \GA@parse@UTFviii@a!%
+ \GA@parse@UTFviii@b F\UTFviii@four@octets.{!,;}%
+ \fi
+ \fi
+\fi}
+\endgroup
+\newcommand{\makeparesseletter}{\DeclareUnicodeCharacter{00A7}\S}
+\newcommand{\makeparesseother}{%
+ \PackageWarning{paresse}{%
+ Command \string\makeparesseother disabled}{%
+ The command \string\makeparesseother would have been meaningless
+ in the current context}}
+\newcommand{\ActiveLaParesse}{\declareunicodecharacter{00A7}\@paresse}
+\newenvironment{ParesseActive}{\ActiveLaParesse}{}
+\ActiveLaParesse
+\def\@paresse{\futurelet\@toks\@i@paresse}
+\def\@i@paresse{%
+ \csname\ifcat a\@toks @ii@paresse\else S\fi\endcsname}
+\def\@ii@paresse#1{%
+ \ifcsname @paresse@#1\endcsname
+ \csname @paresse@#1\endcsname\expandafter\@gobble
+ \else
+ \expandafter\@firstofone
+ \fi{\S#1}}
+\def\define@paresse@car#1#2{%
+ \expandafter\def\csname @paresse@#1\endcsname{\ensuremath{#2}}}
+\define@paresse@car Z\S
+\define@paresse@car a\alpha
+\define@paresse@car b\beta
+\define@paresse@car g\gamma
+\define@paresse@car d\delta
+\define@paresse@car e\GA@epsilon
+\define@paresse@car z\zeta
+\define@paresse@car h\eta
+\define@paresse@car i\iota
+\define@paresse@car k\kappa
+\define@paresse@car l\lambda
+\define@paresse@car m\mu
+\define@paresse@car n\nu
+\define@paresse@car x\xi
+\define@paresse@car p\GA@pi
+\define@paresse@car r\GA@rho
+\define@paresse@car s\GA@sigma
+\define@paresse@car u\upsilon
+\define@paresse@car f\GA@phi
+\define@paresse@car w\omega
+\iftogon{GA@legacy}{%
+ \define@paresse@car v\GA@theta
+ \define@paresse@car y\tau
+ \define@paresse@car c\chi
+ \define@paresse@car q\psi
+ \iftogon{GA@ttau}{%
+ \define@paresse@car t\tau}{%
+ \define@paresse@car t\GA@theta}}{%
+ \define@paresse@car j\GA@theta
+ \define@paresse@car t\tau
+ \define@paresse@car q\chi
+ \define@paresse@car y\psi
+ \define@paresse@car c\varsigma}
+\define@paresse@car G\Gamma
+\define@paresse@car D\Delta
+\define@paresse@car L\Lambda
+\define@paresse@car P\Pi
+\define@paresse@car S\Sigma
+\define@paresse@car U\Upsilon
+\define@paresse@car F\Phi
+\define@paresse@car X\Xi
+\define@paresse@car W\Omega
+\iftogon{GA@legacy}{%
+ \define@paresse@car V\Theta
+ \define@paresse@car T\Theta
+ \define@paresse@car Q\Psi}{%
+ \define@paresse@car J\Theta
+ \define@paresse@car Y\Psi}%
+\iftogon{GA@tame}{\makeparesseletter}
+\endinput
+%%
+%% End of file `paresseutf8.sto'.