summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-04-20 01:03:05 +0000
committerKarl Berry <karl@freefriends.org>2011-04-20 01:03:05 +0000
commit251fba88ba88c1933446fe148caa2329687c5b17 (patch)
treeabfad81ed357be918aea697297354a941d0871ab /Master/texmf-dist/source/latex
parent695bdab05077ae6db369ce39763e4c69bc49d737 (diff)
paresse (19apr11)
git-svn-id: svn://tug.org/texlive/trunk@22131 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r--Master/texmf-dist/source/latex/paresse/Makefile152
-rw-r--r--Master/texmf-dist/source/latex/paresse/paresse-doc.dtx791
-rw-r--r--Master/texmf-dist/source/latex/paresse/paresse.dtx1536
-rw-r--r--Master/texmf-dist/source/latex/paresse/paresse.ins41
4 files changed, 1394 insertions, 1126 deletions
diff --git a/Master/texmf-dist/source/latex/paresse/Makefile b/Master/texmf-dist/source/latex/paresse/Makefile
deleted file mode 100644
index 8e8dad4c02f..00000000000
--- a/Master/texmf-dist/source/latex/paresse/Makefile
+++ /dev/null
@@ -1,152 +0,0 @@
-# ---------------------------------------------------------------
-# 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=3
-
-SOURCE= \
- Makefile \
- $(PKGNAME).dtx \
- $(PKGNAME).ins \
- LISEZMOI \
- README
-
-PDFDOC= \
- $(PKGNAME).pdf \
- $(PKGNAME)-fr.pdf \
- $(PKGNAME)-en.pdf \
- $(PKGNAME)-ex-fr.pdf \
- $(PKGNAME)-ex-en.pdf \
- $(PKGNAME)-fourier-fr.pdf \
- $(PKGNAME)-fourier-en.pdf \
-
-
-SRCDOC= \
- $(PKGNAME).dtx
-
-TEXDOC= \
- $(PKGNAME)-fr.tex \
- $(PKGNAME)-en.tex \
- $(PKGNAME)-ex-fr.tex \
- $(PKGNAME)-ex-en.tex \
- $(PKGNAME)-fourier-fr.tex \
- $(PKGNAME)-fourier-en.tex \
-
-DOC= \
- $(PDFDOC)\
- $(SRCDOC)\
- $(TEXDOC)
-
-CTANDOC= \
- $(PDFDOC)
-
-DECHETS = \
- $(TEXDOC)\
- $(PDFDOC)
-
-REPERTS = \
- doc \
- tex \
- source
-
-TEX = $(PKGNAME).sty
-
-
-# ---------------------------------------------------------------
-
-.SUFFIXES: .sty .ins .dtx .pdf
-
-# ---------------------------------------------------------------
-.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 $<
-
-.tex.pdf:
- pdflatex $<
- pdflatex $<
-
-# ---------------------------------------------------------------
-
-all: $(PKGNAME).sty $(PDFDOC)\
- $(TEXDOC) $(PKGNAME).ins
-
-
-# produce rename
-
-produce: $(PKGNAME).sty $(PDFDOC)\
- $(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 *.{out,glo,gls,idx,ilg,ind,aux,log,toc}
- @-rm -f *~
-
-distclean: clean
- @-rm -f $(DECHETS)
- @-rm -f $(PKGNAME).sty
-
-# ---------------------------------------------------------------
-
-texlive: dist
- @-rm -rf $(REPERTS)
- @-mkdir -p tex/latex/$(PKGNAME)
- @-mkdir -p doc/latex/$(PKGNAME)
- @-mkdir -p source/latex/$(PKGNAME)
- @-cp $(TEX) tex/latex/$(PKGNAME)
- @-cp $(CTANDOC) doc/latex/$(PKGNAME)
- @-cp $(TEXDOC) doc/latex/$(PKGNAME)
- @-cp $(SOURCE) source/latex/$(PKGNAME)
- @-mkdir -p $(PKGNAME)
- @-cp $(CTANDOC) ./$(PKGNAME)
- @-cp $(SOURCE) ./$(PKGNAME)
- @-cp $(PKGNAME).sty ./$(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
-
-# ---------------------------------------------------------------
-
-$(PKGNAME).sty: $(PKGNAME).ins $(PKGNAME).dtx
-doc: $(PKGNAME).ins $(PKGNAME).pdf
-$(TEXDOC): $(PKGNAME).ins $(PKGNAME).dtx
-$(PDFDOC): $(TEXDOC)
-# ---------------------------------------------------------------
-# echu e an abaden
-# Le \TeX nicien de surface 2010/03/21
diff --git a/Master/texmf-dist/source/latex/paresse/paresse-doc.dtx b/Master/texmf-dist/source/latex/paresse/paresse-doc.dtx
new file mode 100644
index 00000000000..d0798aee819
--- /dev/null
+++ b/Master/texmf-dist/source/latex/paresse/paresse-doc.dtx
@@ -0,0 +1,791 @@
+% \iffalse meta-comment
+%-*- coding: iso-8859-15 -*-
+% Time-stamp: <2011-04-19 17:59:41 yvon>
+% --------------------------------------------------------------------
+%
+% Copyright (C) 2011
+% 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{%
+ \marginpar{\hspace*{\stretch{1}}%
+ \textbf{N (v4)}\hspace*{.5em}}\xspace}
+
+\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\\
+\url{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\) otherwide |§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/Master/texmf-dist/source/latex/paresse/paresse.dtx b/Master/texmf-dist/source/latex/paresse/paresse.dtx
index 87cd632d60c..5a1b6a47287 100644
--- a/Master/texmf-dist/source/latex/paresse/paresse.dtx
+++ b/Master/texmf-dist/source/latex/paresse/paresse.dtx
@@ -1,14 +1,14 @@
% \iffalse meta-comment
%-*- coding: iso-8859-15 -*-
-% Time-stamp: <2010-03-21 14:57:16 yvon>
+% Time-stamp: <2011-04-19 17:31:53 yvon>
% --------------------------------------------------------------------
%
-% Copyright (C) 2004, 2008, 2010 by Yvon Henel
-% dit « le TeXnicien de surface » <le.texnicien.de.surface@wanadoo.fr>
+% Copyright (C) 2011
+% 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.
@@ -22,12 +22,17 @@
%
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<package|doc>\def\fileversion{v3}
-%<package|doc>\def\filedate{2010/03/21}
-%<package>\def\fileinfo{fichier paresse.dtx par le TeXnicien de surface}
-%<package>\ProvidesPackage{paresse}
-%<package> [\filedate\space\fileversion\space\fileinfo]
-%
+%<*common>
+\def\fileversion{v4}
+\def\filedate{2011/04/19}
+\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}
@@ -35,61 +40,34 @@
\usepackage[tame]{paresse}
\usepackage{xspace,url,array, ifthen}
\IfFileExists{lmodern.sty}{\usepackage{lmodern}}{}
-\usepackage[english,frenchb]{babel}
-\usepackage[colorlinks=true,
- linkcolor=blue,
- urlcolor=blue,
- citecolor=blue]{hyperref}
+\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{%
+ \marginpar{\hspace*{\stretch{1}}%
+ \textbf{N (v4)}\hspace*{.5em}}\xspace}
% 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
-\EnableCrossrefs
+% then look for \StopEventually to make a bit of setup
+\EnableCrossrefs
\CodelineIndex
\RecordChanges
-\makeatletter
-%%% <francisation>
-\makeatletter
-\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}
-\newcommand\DescribeOption[1]{\@bsphack \marginpar{\raggedleft
- \textsc{#1}}\index{#1 (option)}\@esphack}
-\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
-%%% </francisation>
-\newcommand{\TO}{\textemdash\ \ignorespaces}
-\newcommand{\TF}{\unskip\ \textemdash\xspace}
-\newcommand{\CAD}{c.-à-d.\xspace}
-\newcommand\BOP{\discretionary{}{}{}}
-\newcommand\Option[1]{\textsc{#1}}
-\newcommand\MODULE[1]{\textsf{#1}}
-\newcommand\NOUVO{%
- \marginpar{\hspace*{\stretch{1}}%
- \textbf{N (v3)}\hspace*{.5em}}\xspace}
\begin{document}
\DocInput{paresse.dtx}
\end{document}
%</driver>
% \fi
%
-% \CheckSum{332}
+% \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
@@ -108,73 +86,89 @@
% Right brace \} Tilde \~}
%
%
-% \changes{v0.0}{2004/02/07}{Nouveau nom, quelques redéfinitions,
-% première version publique.}
-% \changes{v1}{2004/04/17}{Mise à jour de la documentation.}
-% \changes{v1a}{2005/03/01}{Correction d'une erreur dans Infofile qui
-% empéchait le chargement du module.}
-% \changes{v2}{2008/08/13}{Suppression d'une macro inutile.}
-% \changes{v2}{2008/08/13}{Réorganisation de la documentation.}
-% \changes{v2}{2008/08/13}{Réemballage pour fournir un tds.zip.}
-% \changes{v2.1}{2008/08/16}{Correction d'une erreur dans Infofile qui
-% empéchait le chargement du module. Une fois encore!}
-% \changes{v3}{2010/03/19}{Option pour codage de Sylvio \textsc{Levi}.}
+% \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}
%
% \GetFileInfo{paresse.sty}
%
-% \DoNotIndex{\newcommand,\newenvironment,\i,\ae,\oe,\DeclareOption,%
-% \ifthenelse,\if,\else,\fi,\tr@@c,\ExecuteOptions,\ProcessOptions,%
-% \relax,\MessageBreak,\CurrentOption,\RequirePackage,\PackageError,%
-% \def,\endinput,\let,\boolean,\newboolean,\setboolean,\renewcommand,%
-% \afterassignment,\global,\aftergroup,\bgroup,\egroup,\csname,%
-% \endcsname,\emph,\catcode,\space,\string,\next,\active,\rmfamily,\rule,%
-% \textsl,\upshape, \alpha, \beta, \gamma, \delta, \epsilon, %
-% \varepsilon, \zeta, \eta, \theta, \vartheta, \iota, \kappa, %
-% \lambda, \mu, \nu, \xi, \pi, \varpi, \rho, \varrho, \sigma, %
-% \varsigma, \tau, \upsilon, \phi, \varphi, \chi, \psi, \omega, %
-% \Delta, \Gamma, \Theta, \Lambda, \Xi, \Pi, \Sigma, \Upsilon, %
-% \Phi, \Psi, \Omega, \newif, \ifnum, \count@, \ensuremath} %
+% \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{Le module \MODULE{paresse}\thanks{Ce document correspond au
-% fichier \MODULE{paresse.sty}~\fileversion, du \filedate, édition du
-% cinquantenaire.}}
+% \title{The package \Pkg{paresse}\thanks{This document corresponds
+% to file \Pkg{paresse.sty}~\fileversion, dated \filedate.}}
% \author{Le \TeX nicien de surface\\
% \url{le.texnicien.de.surface@wanadoo.fr}}
%
% \maketitle
% \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 actif et
-% redéfini. Au lieu de |\(\alpha\)| ou tape |§a| pour obtenir
-% \(\alpha\).
+% 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} : Il doit être chargé \textbf{après}
-% \MODULE{inputenc} si ce dernier est utilisé. De plus, il faut que
-% le signe § soit une lettre pour \TeX.
+% \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}.
%
-% La documentation française pour l'utilisateur de l'extension
-% \MODULE{paresse} est désormais disponible sous le nom de
-% \texttt{paresse-fr}.
% \end{abstract}
-% \begin{otherlanguage}{english}
+% \begin{otherlanguage}{french}
% \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\).
+% 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}: You have to load it \textbf{after} the
-% \MODULE{inputenc} package if the latter is used. Moreover the
-% sign § must be a letter for \TeX.
+% \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.
%
-% The English documentation for the final user of the package
-% \MODULE{paresse} is available in the file \texttt{paresse-en}.
+% \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}.
%
-% The code documentation is in French only. Sorry. But nonetheless,
-% in case you really want it, look at the \texttt{.dtx} file and
-% find \cs{OnlyDescription} as usual.
+% 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}
%
@@ -192,907 +186,555 @@
% \iffalse
%<*package>
% \fi
-% \section{Le code}
-% Le code est fourni presque sans commentaire. J'espère qu'il est
-% assez clair. Cela dit, il ressemble beaucoup à celui de
-% l'extension |engpron| du même \emph{auteur}.
-%
-% Ici j'utilise |\def| à outrance pour récupérer les
-% redéfinitions des macros faites par des extensions comme
-% |fourier|\footnote{Mes remerciements à Michel \textsc{Bovani}
-% pour ses conseils sur \url{fr.comp.text.tex}.}.
-%
-% On dit bonjour. On définit quelques variables booléennes et on
-% fixe leur valeur par défaut. On traite les options et on crie
-% si l'une d'elles n'est pas connue.
+% \section{The code}
+%
+%
+% \subsection{The sty file}
+%
+% From this 4th version, I use \Pkg{skeyval} for it provides
+% toggle-keys. \Pkg{skeyval} 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}
-\newif\ifGA@optiontame
-\newif\ifGA@optiontau
-\newif\ifGA@optionvareps
-\newif\ifGA@optionvartheta
-\newif\ifGA@optionvarrho
-\newif\ifGA@optionvarsigma
-\newif\ifGA@optionvarphi
-\newif\ifGA@optionvarpi
+\RequirePackage{skeyval}
+\RequirePackage{ifluatex}
+\RequirePackage{ifxetex}
% \end{macrocode}
-% \changes{v3}{2010/03/19}{pour l'option Levi}
+%
+% With \cmd{\define@bitogkeys}, from \Pkg{skeyval}, 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}
-\newif\ifGA@optionlegacy
+\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}
%
-% Déclarations des options. Suivant l'option on fixe la valeur des
-% booléens avec les \cs{@option...true/false}.
+% I set the behaviour of the package in case of an unknown option
+% with \cmd{\DeclareOptionX*}, from \Pkg{xkeyval}.
% \begin{macrocode}
-\DeclareOption{tame}{\GA@optiontametrue}
-\DeclareOption{wild}{\GA@optiontamefalse}
-\DeclareOption{ttau}{\GA@optiontautrue}
-\DeclareOption{ttheta}{\GA@optiontaufalse}
-\DeclareOption{varepsilon}{\GA@optionvarepstrue}
-\DeclareOption{epsilon}{\GA@optionvarepsfalse}
-\DeclareOption{vartheta}{\GA@optionvarthetatrue}
-\DeclareOption{theta}{\GA@optionvarthetafalse}
-\DeclareOption{varrho}{\GA@optionvarrhotrue}
-\DeclareOption{rho}{\GA@optionvarrhofalse}
-\DeclareOption{varpi}{\GA@optionvarpitrue}
-\DeclareOption{pi}{\GA@optionvarpifalse}
-\DeclareOption{varsigma}{\GA@optionvarsigmatrue}
-\DeclareOption{sigma}{\GA@optionvarsigmafalse}
-\DeclareOption{varphi}{\GA@optionvarphitrue}
-\DeclareOption{phi}{\GA@optionvarphifalse}
+\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}
-% \changes{v3}{2010/03/20}{ajout des options |legacy| et |Levi|}
+%
+% The default options are: |legacy|, |wild|, |varepsilon|,
+% |theta|, |pi|, |rho|, |sigma|, and |varphi|.
+% \changes{v3}{2010/03/20}{Default option |legacy| added}
% \begin{macrocode}
-\DeclareOption{legacy}{\GA@optionlegacytrue}
-\DeclareOption{Levi}{\GA@optionlegacyfalse}
+\ExecuteOptionsX[GA]{legacy,wild,varepsilon,theta,pi,rho,sigma,varphi}
+\ProcessOptionsX[GA]\relax
% \end{macrocode}
%
-% On traite le cas des options inconnues avec un message d'erreur.
+% 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}.
% \begin{macrocode}
-\DeclareOption*{\PackageError{paresse}
- {The option \CurrentOption\space 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 § prints the paragraph symbol).
- \MessageBreak See the documentation for other options.}}
+\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.
%
-% On active les options par défaut: |legacy|, |wild|, |varepsilon|,
-% |theta|, |pi|, |rho|, |sigma| et |varphi|.
-% \changes{v3}{2010/03/20}{Ajout de l'option |legacy| par défaut}
+% \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}
-\ExecuteOptions{legacy,wild,varepsilon,theta,pi,rho,sigma,varphi}
-\ProcessOptions\relax
+\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}
%
-% On sauvegarde le catcode et la définition courante du caractère §.
+% 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} 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`\§
-\let\GA@LaVieilleParesse= §
+\count@=\catcode`\^^a7
+\let\GA@LaVieilleParesse= ^^a7
% \end{macrocode}
-% On définit une macro pour pouvoir obtenir le caractère lui-même. Ça
-% peut servir, parfois\dots
+% For sake of convienience, \PS is def'ed as |\S|.
% \begin{macrocode}
-\def\§{\S}
+\def\^^a7{\S}
% \end{macrocode}
%
-% On définit une série de macros plus ou moins \og cachées \fg.
-% On doit recourir à des acrobaties pour obtenir ce que l'on veut
-% et pour éviter que \TeX\ ne hurle des méchancetés du genre
-% |\inaccessible|.
+% 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 `\§=11\relax}
-\newcommand{\makeparesseother}{\catcode `\§=12\relax}
-\newcommand{\GA@MakeParesseActive}{\catcode `\§=\active}
-\def\GA@ActiveLaParessexii{\catcode `\§=\active}
-\def\GA@ActiveLaParessexiii{\catcode `\§=\active
- \def§##1{\ensuremath{\csname \string§##1\endcsname}}}
+\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
+ \let\GA@ActiveLaParesse \GA@ActiveLaParessexii
\else
-\let\GA@ActiveLaParesse \GA@ActiveLaParessexiii
+ \let\GA@ActiveLaParesse \GA@ActiveLaParessexiii
\fi
% \end{macrocode}
-% La macro utile puis l'environnement itou. Ils font tous les
-% deux appels à la macro \emph{cachée} qui suit.
-% \begin{macro}{\ActiveLaParesse}
-% Ce n'est qu'un alias pour \cs{GA@ActiveLaParesse}.
+%
+% 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}
-% \end{macro}
%
-% \begin{environment}{ParesseActive}
-% Environnement minimaliste qui se contente d'appeler
-% \cs{GA@ActiveLaParesse} en bornant son effet par le groupe créé par
-% l'environnement.
+% Now come the definitions of the meanings of the \PS-macros. For
+% these definitions to work, \PS is made a letter.
% \begin{macrocode}
-\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}
+% \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}
-% \end{environment}
%
-% Une série de macros pour les lettres à variantes.
+% The end is near! \PS is made active and the \PS-macros defined. This
+% is old code --- directly from~\cite{tlachand}.
% \begin{macrocode}
-\ifGA@optionvareps\def\GA@epsilon{\varepsilon}\else\def\GA@epsilon{\epsilon}\fi
-\ifGA@optionvartheta\def\GA@theta{\vartheta}\else\def\GA@theta{\theta}\fi
-\ifGA@optionvarpi\def\GA@pi{\varpi}\else\def\GA@pi{\pi}\fi
-\ifGA@optionvarrho\def\GA@rho{\varrho}\else\def\GA@rho{\rho}\fi
-\ifGA@optionvarsigma\def\GA@sigma{\varsigma}\else\def\GA@sigma{\sigma}\fi
-\ifGA@optionvarphi\def\GA@phi{\varphi}\else\def\GA@phi{\phi}\fi
+\catcode `\^^a7=\active
+\def^^a7#1{\ensuremath{\csname \string^^a7#1\endcsname}}
% \end{macrocode}
-% On fait de § une lettre et on définit les macros à coup de
-% |\def\§...|. Avant de passer aux majuscules, on s'occupe de la
-% lettre t (option |ttau| et |ttheta|).
+% In case option \Option{tame} is chosen, \PS is given its first
+% catcode and meaning back.
% \begin{macrocode}
-\makeparesseletter
+\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.
%
-% Définitions des macros communes aux options |legacy| et |Levi|:
+% First a bit of identification
% \begin{macrocode}
-\def\§a {\alpha}
-\def\§b {\beta}
-\def\§g {\gamma}
-\def\§d {\delta}
-\def\§e {\GA@epsilon}
-\def\§z {\zeta}
-\def\§h {\eta}
-\def\§i {\iota}
-\def\§k {\kappa}
-\def\§l {\lambda}
-\def\§m {\mu}
-\def\§n {\nu}
-\def\§x {\xi}
-\def\§p {\GA@pi}
-\def\§r {\GA@rho}
-\def\§s {\GA@sigma}
-\def\§u {\upsilon}
-\def\§f {\GA@phi}
-\def\§w {\omega}
+\ProvidesFile{paresseutf8.sto}
% \end{macrocode}
-% Traitements pour l'option |legacy|:
+% 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}
-\ifGA@optionlegacy
-\def\§v {\GA@theta}
-\def\§y {\tau}
-\def\§c {\chi}
-\def\§q {\psi}
+\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}
-\ifGA@optiontau \def\§t {\tau}\else \def\§t {\GA@theta}\fi
+\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}
-% traitements pour l'option |Levi|:
+%
+% 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}
-\else
-\def\§j {\GA@theta}
-\def\§t {\tau}
-\def\§q {\chi}
-\def\§y {\psi}
-\def\§c {\varsigma}
-\fi
+\newcommand{\ActiveLaParesse}{\declareunicodecharacter{00A7}\@paresse}
+\newenvironment{ParesseActive}{\ActiveLaParesse}{}
% \end{macrocode}
-% Idem pour majuscules:
+%
+% It's time to prepare the definition of the \PS-macros. To begin with
+% we activate the character \PS.
% \begin{macrocode}
-\def\§G {\Gamma}
-\def\§D {\Delta}
-\def\§L {\Lambda}
-\def\§P {\Pi}
-\def\§S {\Sigma}
-\def\§U {\Upsilon}
-\def\§F {\Phi}
-\def\§X {\Xi}
-\def\§W {\Omega}
+\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}
-\ifGA@optionlegacy
-\def\§V {\Theta}
-\def\§T {\Theta}
-\def\§Q {\Psi}
-\else
-\def\§J {\Theta}
-\def\§Y {\Psi}
-\fi
+\def\@paresse{\futurelet\@toks\@i@paresse}
% \end{macrocode}
-% On rend actif le caractère § et on définit les macros à
-% noms commençant par §.
+% 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}
-\catcode `\§=\active
-\def§#1{\ensuremath{\csname \string§#1\endcsname}}
+\def\@i@paresse{%
+ \csname\ifcat a\@toks @ii@paresse\else S\fi\endcsname}
% \end{macrocode}
-% Si l'option |tame| est en vigueur, on remet § dans son état
-% initial et on sort.
+% 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}
-\ifGA@optiontame
-\catcode`\§=\count@
-\ifnum\count@=13 \let §=\GA@LaVieilleParesse \fi
-\fi
+\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
-%</package>
+%</utf8pack>
% \fi
% \Finale
-% \iffalse
-%<*doc>
-\documentclass[a4paper]{ltxdoc}
-\usepackage[latin1]{inputenc}
-\usepackage[T1]{fontenc}
-\usepackage[tame]{paresse}
-\usepackage{xspace,url,array,ifthen}
-\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}
-\makeatletter
-\newcommand\DescribeOption[1]{\@bsphack \marginpar{\raggedleft
- \textsc{#1}}\index{#1 (option)}\@esphack}
-%<*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{\TO}{\textemdash\ \ignorespaces}
-\newcommand{\TF}{\unskip\ \textemdash\xspace}
-\newcommand{\CAD}{c.-à-d.\xspace}
-%</fr>
-\newcommand\BOP{\discretionary{}{}{}}
-\newcommand\Option[1]{\textsc{#1}}
-\newcommand\MODULE[1]{\textsf{#1}}
-\newcommand\NOUVO{%
- \marginpar{\hspace*{\stretch{1}}%
- \textbf{N (v3)}\hspace*{.5em}}\xspace}
-
-\begin{document}
-\GetFileInfo{paresse.sty} % marche pô! :(
-
-%<*fr>
-\title{Le module \MODULE{paresse}\thanks{Ce document correspond au
- fichier \MODULE{\filename}~\fileversion, du \filedate.}}
-%</fr>
-%<*en>
-\title{The package \MODULE{paresse}\thanks{This document corresponds
- to the file \MODULE{\filename}~\fileversion, dated \filedate.}
- \mbox{}\thanks{English translation by the author. Any comment
- about the translation is welcome.}}
-%</en>
-\author{Le \TeX nicien de surface\\
-\url{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 actif et redéfini. Au lieu de
- |\(\alpha\)| ou tape |§a| pour obtenir \(\alpha\).
-
- \textbf{Important} : Il doit être chargé \textbf{après}
- \MODULE{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
- français.
-\end{abstract}
-\begin{otherlanguage}{english}
- \begin{abstract}
- This is the French documentation for the final user of the package
- \MODULE{paresse}. The English documentation for the final user is
- available in the file \texttt{paresse-en.pdf}.
-
- The code is not commented in English any more. Sorry. See the
- French documentation for French commented code in
- \texttt{paresse.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\).
-
- The code is not commented in English any more. Sorry. See the French
- documentation for French commented code in \texttt{paresse.pdf}.
-\end{abstract}
-\begin{otherlanguage}{french}
- \begin{abstract}
- La documentation française pour l'utilisateur de l'extension
- \MODULE{paresse} est désormais disponible sous le nom de
- \texttt{paresse-fr.pdf}.
-
- Le fichier \texttt{paresse.pdf} contient le code commenté en
- français.
- \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 3\ieme version?}
-%<en>\section{Why a 3rd Version?}
-
-%<*fr>
-C'est par un courriel du 3~mars 2003 que Claudio \textsc{Beccari} me
-signalait 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
-\MODULE{paresse}.
-%</fr>
-%<*en>
-With a mail dated march, 3, 2003, 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 \MODULE{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 |inputenc|. Il faut que la \og caractère \fg § soit
-reconnu par \TeX\ comme une lettre. On pourra, par exemple, utiliser
-l'option |latin1| de |inputenc| pour obtenir cela.
-%</fr>
-%<*en>
-One loads the package with |\usepackage{paresse}| \textbf{after} the
-package |inputenc|. The sign § must be recognised as a letter by
-\TeX. On can use for instance |inputenc| with option |latin1| for such
-a purpose.
-%</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. On notera
-que, si l'extension |amsmath| est utilisée, les accolades sont
-optionelles et qu'on obtient un résultat identique avec |\(§a^§b\)|.
-%</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. One will note
-that, if the package |amsmath| is loaded, the curly braces are
-\emph{not} compulsory and that one obtains the same result with just
-|\(§a^§b\)|.
-%</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}\NOUVO\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
- \MODULE{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}\NOUVO\DescribeOption{legacy / Levi} is the
- contrary of \Option{legacy} which is the default. With
- \Option{legacy} one uses the original encoding of
- \MODULE{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|. \NOUVO 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|. \NOUVO That option is ineffective when one has chosen
- \Option{Levi}.
-%</en>
-
-%<*fr>
- \textbf{Remarque :} \NOUVO 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:} \NOUVO 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\) otherwide |§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}\NOUVO. 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}\NOUVO. 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}.
-%</fr>
-%<*en>
-This macro gives the catcode \emph{other} to the character §. It is
-the `contrary' of the preceding one. It corresponds to |\makeatother|.
-%</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
-\MODULE{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 \MODULE{paresse.sty}}
-%<en>\subsubsection{\MODULE{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 &\multicolumn{1}{c|}{}&\\ \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>
-
-%<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\NOUVO
-\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 &\multicolumn{1}{c|}{}&\\ \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}
-\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}
-
-\end{document}
-%</doc>
-%<*exemple>
-\documentclass[a4paper,12pt]{article}
-\usepackage[latin1]{inputenc}
-\usepackage[T1]{fontenc}
-\usepackage[tame]{paresse}
-\usepackage{amsmath,xspace,array,fancyvrb}
-%<fr>\usepackage[frenchb]{babel}
-%<en>\usepackage[english]{babel}
-%<lmodern>\IfFileExists{lmodern.sty}{\usepackage{lmodern}}{}
-%<fourier>\IfFileExists{fourier.sty}{\usepackage[upright]{fourier}}{}
-\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\\
- 2008-08-12
-\end{center}
-
-%<*fr>
-Ce fichier charge les extensions \texttt{amsmath} et,
-%<lmodern>si elle est disponible localement, \texttt{lmodern}.
-%<*fourier>
-\texttt{fourier} avec l'option \texttt{upright} si cette extension est
-présente sur votre installation.
-
-\IfFileExists{fourier.sty}{}{%
- {\Large Désolé l'extension fourier.sty semble absente ! Vous
- obtiendrez la fonte par défaut de votre site.}}
-%</fourier>
-
-\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,
-%<lmodern>if it locally exists, the \texttt{lmodern} package.
-%<*fourier>
-if it locally exists, the \texttt{fourier} package with option
-\texttt{upright}.
-
-\IfFileExists{fourier.sty}{}{%
- {\Large Sorry the fourier.sty seems to be missing! You will obtain the
- default font of your site.}}
-%</fourier>
-
-\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:
-%<fr>{\ActiveLaParesse \(§a^{§b}_{§g}\) et encore \(§D^§a_§d\)}
-%<en>{\ActiveLaParesse \(§a^{§b}_{§g}\) 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 &\multicolumn{1}{c|}{}& \\ \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 &\multicolumn{1}{c|}{}& \\ \hline
-\end{tabular}
-\end{ParesseActive}
-\end{center}
-\end{document}
-%</exemple>
-% \fi
\endinput
%%% Local Variables:
%%% mode: doctex
diff --git a/Master/texmf-dist/source/latex/paresse/paresse.ins b/Master/texmf-dist/source/latex/paresse/paresse.ins
index 0078ae23e48..685a5fdcaa7 100644
--- a/Master/texmf-dist/source/latex/paresse/paresse.ins
+++ b/Master/texmf-dist/source/latex/paresse/paresse.ins
@@ -1,5 +1,5 @@
%%
-%% Copyright (C) 2004, 2008, 2010
+%% Copyright (C) 2011
%% by Yvon Henel alias Le TeXnicien de surface
%% <le.texnicien.de.surface@wanadoo.fr>
%%
@@ -13,26 +13,13 @@
%% and version 1.2 or later is part of all distributions of LaTeX version
%% 1999/12/01 or later.
%%
-\ifx\documentclass\YvonHenelAliasLeTexnicienDeSurfaceIsNotUndefined
-\def\End{\csname fi\endcsname\end}
-\bgroup
-\obeyspaces
-\immediate\write16 {*************************************************************}
-\immediate\write16 {** *}
-\immediate\write16 {** CAUTION: Use LaTeX to compile this file! *}
-\immediate\write16 {** *}
-\immediate\write16 {** ATTENTION: Utiliser LaTeX pour compiler ce fichier ! *}
-\immediate\write16 {** *}
-\immediate\write16 {*************************************************************}
-\egroup
-\End
-\else
-\input{docstrip}
+\input docstrip.tex
\keepsilent
\preamble
This is a generated file.
-Copyright (C) 2003-2010 Y. Henel, le TeXnicien de surface
+Copyright (C) 2011
+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
@@ -42,19 +29,20 @@ 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.
+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}{package}}
- \file{paresse-en.tex}{\from{paresse.dtx}{doc,en}}
- \file{paresse-fr.tex}{\from{paresse.dtx}{doc,fr}}
- \file{paresse-ex-fr.tex}{\from{paresse.dtx}{exemple,lmodern,fr}}
- \file{paresse-ex-en.tex}{\from{paresse.dtx}{exemple,lmodern,en}}
- \file{paresse-fourier-fr.tex}{\from{paresse.dtx}{exemple,fourier,fr}}
- \file{paresse-fourier-en.tex}{\from{paresse.dtx}{exemple,fourier,en}}
+ \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{*****************************************************************}
@@ -73,5 +61,4 @@ and version 1.2 or later is part of all distributions of LaTeX version
\Msg{** Happy TeXing **}
\Msg{** TeXez dans la joie ! **}
\Msg{*****************************************************************}
-\fi
\endbatchfile