texlive[56598] Master/texmf-dist: paresse (8oct20)
commits+karl at tug.org
commits+karl at tug.org
Thu Oct 8 23:20:56 CEST 2020
Revision: 56598
http://tug.org/svn/texlive?view=revision&revision=56598
Author: karl
Date: 2020-10-08 23:20:56 +0200 (Thu, 08 Oct 2020)
Log Message:
-----------
paresse (8oct20)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/paresse/paresse.pdf
trunk/Master/texmf-dist/source/latex/paresse/paresse.dtx
trunk/Master/texmf-dist/source/latex/paresse/paresse.ins
trunk/Master/texmf-dist/tex/latex/paresse/paresse.sty
Added Paths:
-----------
trunk/Master/texmf-dist/doc/latex/paresse/LISEZMOI.md
trunk/Master/texmf-dist/doc/latex/paresse/MANIFEST.md
trunk/Master/texmf-dist/doc/latex/paresse/README.md
trunk/Master/texmf-dist/doc/latex/paresse/paresse-eng.pdf
trunk/Master/texmf-dist/doc/latex/paresse/paresse-eng.tex
trunk/Master/texmf-dist/doc/latex/paresse/paresse-fra.pdf
trunk/Master/texmf-dist/doc/latex/paresse/paresse-fra.tex
trunk/Master/texmf-dist/tex/latex/paresse/paresse-old.sty
trunk/Master/texmf-dist/tex/latex/paresse/paresse-utf8.sty
Removed Paths:
-------------
trunk/Master/texmf-dist/doc/latex/paresse/paresse-en.pdf
trunk/Master/texmf-dist/doc/latex/paresse/paresse-ex-en.pdf
trunk/Master/texmf-dist/doc/latex/paresse/paresse-ex-fr.pdf
trunk/Master/texmf-dist/doc/latex/paresse/paresse-fr.pdf
trunk/Master/texmf-dist/source/latex/paresse/LISEZMOI
trunk/Master/texmf-dist/source/latex/paresse/Makefile
trunk/Master/texmf-dist/source/latex/paresse/README
trunk/Master/texmf-dist/source/latex/paresse/paresse-TEST.zip
trunk/Master/texmf-dist/source/latex/paresse/paresse-doc.dtx
trunk/Master/texmf-dist/tex/latex/paresse/paresseold.sto
trunk/Master/texmf-dist/tex/latex/paresse/paresseutf8.sto
Added: trunk/Master/texmf-dist/doc/latex/paresse/LISEZMOI.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/paresse/LISEZMOI.md (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/paresse/LISEZMOI.md 2020-10-08 21:20:56 UTC (rev 56598)
@@ -0,0 +1,31 @@
+<!-- Time-stamp: <2020-10-06 14:12:28 administrateur> -->
+<!-- Création : 2020-10-06T14:12:21+0200 -->
+
+# paresse
+
+Auteur: Yvon Henel, alias _Le TeXnicien de surface_
+([contact](le.texnicien.de.surface at yvon-henel.fr))
+
+## LICENCE
+
+Le contenu de cette archive est placé sous la « LaTeX Project Public License ».
+Voir http://www.ctan.org/license/lppl1.3c
+pour la licence.
+
+© 2020 Yvon Henel (Le TeXnicien de surface)
+
+## Description de l’extension
+
+Cette extension est faite pour taper « facilement » les lettres
+grecques avec un minimum d'effort ;) Elle ne concerne que les
+lettres grecques qui ont un nom de macro comme `\alpha` ou `\Omega`.
+
+## Historique
+
+* Version 5.0 — 2020-10-06
+ * abandon de l'extension <kbd>skeyval</kbd> ;
+ * gestion des clés avec <kbd>l3keys</kbd> ;
+ * deux *sous-extensions* <kbd>paresse-old</kbd> and <kbd>paresse-utf8</kbd>;
+ * passage partiel à <kbd>expl3</kbd>.
+
+* Version 4.1 — 2013-02-16
Property changes on: trunk/Master/texmf-dist/doc/latex/paresse/LISEZMOI.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/paresse/MANIFEST.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/paresse/MANIFEST.md (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/paresse/MANIFEST.md 2020-10-08 21:20:56 UTC (rev 56598)
@@ -0,0 +1,72 @@
+# Manifest for paresse
+
+This file is a listing of all files considered to be part of this package.
+It is automatically generated with `texlua build.lua manifest`.
+
+
+## Repository manifest
+
+The following groups list the files included in the development repository of the package.
+Files listed with a ‘†’ marker are included in the TDS but not CTAN files, and files listed
+with ‘‡’ are included in both.
+
+### Source files
+
+These are source files for a number of purposes, including the `unpack` process which
+generates the installation files of the package. Additional files included here will also
+be installed for processing such as testing.
+
+* paresse.dtx
+* paresse.ins
+
+### Typeset documentation source files
+
+These files are typeset using LaTeX to produce the PDF documentation for the package.
+
+* paresse.dtx
+
+### Documentation files
+
+These files form part of the documentation but are not typeset. Generally they will be
+additional input files for the typeset documentation files listed above.
+
+* LISEZMOI.md
+* MANIFEST.md
+* README.md
+* paresse-fra.pdf
+* paresse-eng.pdf
+
+### Text files
+
+Plain text files included as documentation or metadata.
+
+* LISEZMOI.md
+* MANIFEST.md
+* README.md
+
+### Derived files
+
+The files created by ‘unpacking’ the package sources. This typically includes
+`.sty` and `.cls` files created from DocStrip `.dtx` files.
+
+* paresse-old.sty
+* paresse-utf8.sty
+* paresse.sty
+
+### Typeset documents
+
+The output files (PDF, essentially) from typesetting the various source, demo,
+etc., package files.
+
+* paresse.pdf
+
+
+## TDS manifest
+
+The following groups list the files included in the TeX Directory Structure used to install
+the package into a TeX distribution.
+
+
+## CTAN manifest
+
+The following group lists the files included in the CTAN package.
Property changes on: trunk/Master/texmf-dist/doc/latex/paresse/MANIFEST.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/paresse/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/paresse/README.md (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/paresse/README.md 2020-10-08 21:20:56 UTC (rev 56598)
@@ -0,0 +1,34 @@
+<!-- Time-stamp: <2020-10-06 14:12:38 administrateur> -->
+<!-- Création : 2020-10-06T14:12:21+0200 -->
+
+# paresse
+
+Author: Yvon Henel, aka Le TeXnicien de surface
+([contact](le.texnicien.de.surface at yvon-henel.fr))
+
+## LICENCE
+
+This material is subject to the LaTeX Project Public License.
+See http://www.ctan.org/license/lppl1.3c
+for the details of that license.
+
+© 2020 Yvon Henel (Le TeXnicien de surface)
+
+## Description of the Package
+
+This package provides a means of typing “easily” greek letters
+with the least possible effort ;) It takes care only of the
+letters which have a macro name as `\alpha` or `\Omega`.
+
+
+## History
+
+* Version 5.0 — 2020-10-06
+ * doesn't use package <kbd>skeyval</kbd> anymore;
+ * use <kbd>l3keys</kbd> for managing keys;
+ * two *sub-packages* <kbd>paresse-old</kbd> and <kbd>paresse-utf8</kbd>;
+ * partial usage of <kbd>expl3</kbd>.
+
+* Version 4.1 — 2013-02-16
+
+
Property changes on: trunk/Master/texmf-dist/doc/latex/paresse/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/doc/latex/paresse/paresse-en.pdf
===================================================================
(Binary files differ)
Added: trunk/Master/texmf-dist/doc/latex/paresse/paresse-eng.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/latex/paresse/paresse-eng.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/paresse/paresse-eng.pdf 2020-10-08 21:20:21 UTC (rev 56597)
+++ trunk/Master/texmf-dist/doc/latex/paresse/paresse-eng.pdf 2020-10-08 21:20:56 UTC (rev 56598)
Property changes on: trunk/Master/texmf-dist/doc/latex/paresse/paresse-eng.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/paresse/paresse-eng.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/paresse/paresse-eng.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/paresse/paresse-eng.tex 2020-10-08 21:20:56 UTC (rev 56598)
@@ -0,0 +1,407 @@
+%%
+%% This is file `paresse-eng.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% paresse.dtx (with options: `doc,ENG')
+%%
+%% Do not distribute this file without also distributing the
+%% source files specified above.
+%%
+%% Do not distribute a modified version of this file.
+%%
+%% File: paresse.dtx
+%% Copyright (C) 2020 Yvon Henel aka Le TeXnicien de surface
+%%
+%% It may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License (LPPL), either version 1.3c of this
+%% license or (at your option) any later version. The latest version
+%% of this license is in the file
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+\RequirePackage{expl3}[2020/09/24]
+\GetIdInfo$Id: paresse.dtx 5.0 2020-10-06 TdS $
+ {}
+\documentclass[full, english]{l3doc}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage[french,main=english]{babel}
+\usepackage{xparse}
+\usepackage{xspace}
+
+\usepackage[tame]{paresse}[2020-10-06]
+
+\newcommand*\PS{\texttt{\S}\xspace}
+\newcommand*\PSVerb[1]{\texttt{\S #1}}
+\newcommand\BOP{\discretionary{}{}{}}
+\newcommand\Option[1]{\textsc{#1}}
+\newcommand{\TO}{\textemdash\ \ignorespaces}
+\newcommand{\TF}{\unskip\ \textemdash\xspace}
+
+\begin{document}
+\title{\pkg{paresse} user guide\thanks{This file describes
+ version~\ExplFileVersion, last revised~\ExplFileDate. \emph{Adieu to
+ skeyval} edition.}}
+\author{Yvon Henel\thanks{E-mail:
+ \href{mailto:le.texnicien.de.surface at yvon-henel.fr}
+ {le.texnicien.de.surface at yvon-henel.fr}}}
+\maketitle
+\noindent\hrulefill
+
+\begin{abstract}
+ This package implements an example from T.~\textsc{Lachand-Robert}
+ in~\cite{tlachand}. It provides a means of typing isolated greek letters
+ with the character \PS activated and redefined. Instead of |\(\alpha\)| one
+ types \PSVerb{a} to obtain \(\alpha\).
+
+ \textbf{Important}: You have to load it \textbf{after} the \pkg{inputenc}
+ package if the latter is used. Moreover the sign \PS must be a letter for
+ \TeX.
+
+ Since version~4, one can use this package even with utf8-encoded source for
+ \hologo{LaTeX}, \hologo{LuaLaTeX}, or \hologo{XeLaTeX}.
+\end{abstract}
+
+\noindent\hrulefill
+
+ \begin{otherlanguage}{french}
+\begin{abstract}
+La documentation française pour l'utilisateur de l'extension
+\pkg{paresse} est disponible sous le nom de \texttt{paresse-fra}.
+\end{abstract}
+\end{otherlanguage}
+
+\noindent\hrulefill
+\vspace{\baselineskip}
+
+\tableofcontents{}
+
+
+\section{Introduction}
+\label{sec:introduction}
+
+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.
+
+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.
+
+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.
+
+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{}
+
+\subsection{Why a 5th Version?}
+
+I was happily using \pkg{paresse} almost every day until when, some days ago,
+all hell broke loose! I was insulted just by loading \pkg{paresse}. To put it in
+a nutshell: the culprit is an improvement of the \LaTeXe{} kernel which wreaks
+havoc in the highly unconventional code of \pkg{skeyval}. As it seems very
+improbable that that package will be corrected any time soon, I've decided to
+rewrite some parts of \pkg{paresse} with expl3.
+
+So that is why I touch the more than seven-year-old code of this package.
+
+With this 5th version come two \emph{sub}-packages: \pkg{paresse-old} and
+\pkg{paresse-utf8} which are directly loadable. They have the same options and
+commands as \pkg{paresse} itself. In fact \pkg{paresse} loads one of them
+according to the situation.
+
+One will use \pkg{paresse-utf8} if and only if the source is utf-8 encoded and
+compiled with \texttt{latex} i.~e. with the \TeX-engine and the \LaTeX{}
+format. In all other case, on will use \pkg{paresse-old}.
+
+The documentation of \pkg{paresse} covers the use of the three packages.
+
+\subsection{Why a 4th Version?}
+
+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\footnote{I wrote this section in 2013 when the 4th version was
+ published.}\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.
+
+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}.
+
+I take advantage of this new version to add a \PS-macro:
+\PSVerb{Z} which produces \S, symbol already available with
+|\S|, so I don't dare to present it as a real ``shortcut''.
+
+\subsection{Why a 3rd Version?}
+
+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}.
+
+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.
+
+I take advantage of this update to make some cosmetic changes: from now on
+all inner \emph{secret} macros\footnote{Macros \emph{à la mode}
+ \LaTeXe{}. As of version~5.0, partially \emph{translated} in expl3, when
+ dealing with expl3 commands and variables I use the prefix
+ \texttt{paresse}.} have a name which begins with \cs{GA@}; the |.dtx|
+file is reorganised to facilitate the translation of the documentation.
+
+\section{Usage}
+
+One loads the package with |\usepackage{paresse}|.
+When one uses \hologo{LaTeX} with an 8-bit encoded source
+(e.g. \texttt{latin9}), one must load \pkg{paresse} \textbf{after} the
+package \pkg{inputenc} whith the correct option.
+
+In all cases the sign § must be recognised as a letter by \TeX.
+
+
+One will obtain the same behaviour, but for the exception pointed out in
+paragraph \textbf{restriction} on page~\pageref{restriction}, with
+\pkg{inputenc} and option \texttt{utf8}.
+
+There is no such restriction when one compiles with \hologo{LuaLaTeX}
+or \hologo{XeLaTeX} a source encoded in utf-8.
+
+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]|\BOP|{paresse}|. One
+must then use the command \cs{ActiveLaParesse} or the environment
+|ParesseActive| to use the `§-macros'.
+
+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.
+
+\paragraph{Restriction}
+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}
+
+\section{The Package Options}
+\label{sec:keys}
+
+
+
+\begin{itemize}
+\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.
+
+\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} 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}.
+
+\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}.
+
+\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.
+
+\item \Option{epsilon} \DescribeOption{epsilon / varepsilon} is the
+ contrary of \Option{varepsilon} which is selected by default. With
+ \Option{epsilon}, |§e| gives \(\epsilon\) otherwise |§e| gives
+ \(\varepsilon\).
+
+\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}.
+\end{itemize}
+
+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.
+
+\subsection{Commands and Environment}
+
+\DescribeMacro{\makeparesseletter}
+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|.
+
+\DescribeMacro{\makeparesseother}
+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.
+
+\DescribeMacro{\ActiveLaParesse}
+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}.
+
+\DescribeEnv{ParesseActive}
+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} is loaded whith the option \texttt{tame}.
+
+\newpage{}
+
+\subsection{Tables of the Macros}
+
+\subsubsection{\pkg{paresse}'s Original Encoding}
+
+This is the active encoding when one choses the options \Option{legacy} and
+\Option{ttheta} which are the default.
+
+This version~5.0 adds \(\varsigma\) obtained with \PSVerb{j}.
+
+\begin{center}\Large
+\begin{ParesseActive} \label{codageorig}
+\begin{tabular}{*4{||>{\ttfamily \S}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}
+
+\vspace{2\baselineskip}
+
+\begin{center}\Large
+\begin{ParesseActive} \label{codageorig}
+\begin{tabular}{*7{||>{\ttfamily \S}c|c}||}\hline
+a&§a&b&§b&c&§c&d&§d&e&§e&f&§f\\ \hline
+g&§g&h&§h&i&§i&j&§j&k&§k&l&§l\\ \hline
+m&§m&n&§n&o& &p&§p&q&§q&r&§r\\ \hline
+s&§s&t&§t&u&§u&v&§v&w&§w&x&§x\\ \hline
+y&§y&z&§z&A& &B& &C& &D&§D\\ \hline
+E& &F&§F&G&§G&H& &I& &J& \\ \hline
+K& &L&§L&M& &N& &O& &P&§P\\ \hline
+Q&§Q&R& &S&§S&T&§T&U&§U&V&§V\\ \hline
+W&§W&X&§X&Y& &Z&§Z&\multicolumn{4}{c||}{}\\ \hline
+\end{tabular}
+\end{ParesseActive}
+\end{center}
+
+\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.
+
+\pagebreak[4]
+
+\subsubsection{Sylvio \textsc{Levi}'s Encoding}
+
+One make this encoding active with the option \Option{Levi}.
+
+\begin{center}\Large
+\begin{ParesseActive} \label{codagelevi}
+\begin{tabular}{*4{||>{\ttfamily \S}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}
+
+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:
+
+\begin{center}
+\newcommand\CT[1]{\multicolumn{1}{c|}{\texttt{#1}}}
+\begin{ParesseActive}
+\begin{tabular}{|l|*{7}{c|}}\hline
+greek letters
+& §v & §y & §c & §q & §V & §Q & \(\varsigma\)\\\hline
+original encoding
+&\CT{\S{}v/\S{}t}&\CT{\S{}y/\S{}t}&\CT{\S{}c}
+&\CT{\S{}q}&\CT{\S{}V/\S{}T}&\CT{\S{}Q}& \CT{\S{}j} \\\hline
+S. \textsc{Levi}'s encoding
+&\CT{\S{}j}&\CT{\S{}t}&\CT{\S{}q}&\CT{\S{}y}
+&\CT{\S{}J}&\CT{\S{}Y} & \CT{\S{}c}\\\hline
+\end{tabular}
+\end{ParesseActive}
+\end{center}
+
+\vspace{\stretch{2}}
+
+\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}
+
+\vspace{\stretch{2}}
+
+\noindent\hspace*{0.2\textwidth}\hrulefill\hspace*{0.2\textwidth}
+\begin{center}
+ \textsl{Le TeXnicien de Surface scripsit.}
+\end{center}
+\noindent\hspace*{0.2\textwidth}\hrulefill\hspace*{0.2\textwidth}
+
+\vspace*{\stretch{2}}
+
+\end{document}
+\endinput
+%%
+%% End of file `paresse-eng.tex'.
Property changes on: trunk/Master/texmf-dist/doc/latex/paresse/paresse-eng.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/doc/latex/paresse/paresse-ex-en.pdf
===================================================================
(Binary files differ)
Deleted: trunk/Master/texmf-dist/doc/latex/paresse/paresse-ex-fr.pdf
===================================================================
(Binary files differ)
Deleted: trunk/Master/texmf-dist/doc/latex/paresse/paresse-fr.pdf
===================================================================
(Binary files differ)
Added: trunk/Master/texmf-dist/doc/latex/paresse/paresse-fra.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/latex/paresse/paresse-fra.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/paresse/paresse-fra.pdf 2020-10-08 21:20:21 UTC (rev 56597)
+++ trunk/Master/texmf-dist/doc/latex/paresse/paresse-fra.pdf 2020-10-08 21:20:56 UTC (rev 56598)
Property changes on: trunk/Master/texmf-dist/doc/latex/paresse/paresse-fra.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/paresse/paresse-fra.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/paresse/paresse-fra.tex (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/paresse/paresse-fra.tex 2020-10-08 21:20:56 UTC (rev 56598)
@@ -0,0 +1,421 @@
+%%
+%% This is file `paresse-fra.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% paresse.dtx (with options: `doc,FRA')
+%%
+%% Do not distribute this file without also distributing the
+%% source files specified above.
+%%
+%% Do not distribute a modified version of this file.
+%%
+%% File: paresse.dtx
+%% Copyright (C) 2020 Yvon Henel aka Le TeXnicien de surface
+%%
+%% It may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License (LPPL), either version 1.3c of this
+%% license or (at your option) any later version. The latest version
+%% of this license is in the file
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+\RequirePackage{expl3}[2020/09/24]
+\GetIdInfo$Id: paresse.dtx 5.0 2020-10-06 TdS $
+ {}
+\documentclass[full, french]{l3doc}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage[english,main=french]{babel}
+\usepackage{xparse}
+\usepackage{xspace}
+
+\usepackage[tame]{paresse}[2020-10-06]
+
+\newcommand*\PS{\texttt{\S}\xspace}
+\newcommand*\PSVerb[1]{\texttt{\S #1}}
+\newcommand\BOP{\discretionary{}{}{}}
+\newcommand\Option[1]{\textsc{#1}}
+\newcommand{\TO}{\textemdash\ \ignorespaces}
+\newcommand{\TF}{\unskip\ \textemdash\xspace}
+
+\begin{document}
+\title{Guide de l'utilisateur de \pkg{paresse}\thanks{Ce fichier décrit la
+ version~\ExplFileVersion, dernière révision~\ExplFileDate. Édition
+ \emph{Adieu à skeyval}.}}
+\author{Yvon Henel\thanks{E-mail:
+ \href{mailto:le.texnicien.de.surface at yvon-henel.fr}
+ {le.texnicien.de.surface at yvon-henel.fr}}}
+\maketitle
+\noindent\hrulefill
+
+\begin{abstract}
+ Cette extension, reprenant un exemple de T.~\textsc{Lachand-Robert}
+ dans~\cite{tlachand}, fournit un moyen de taper des lettres grecques isolées
+ à l'aide du caractère \PS actif et redéfini. Au lieu de |\(\alpha\)| ou tape
+ \PSVerb{a} pour obtenir \(\alpha\).
+
+ \textbf{Important} : Il doit être chargé \textbf{après} \pkg{inputenc} si ce
+ dernier est utilisé. De plus, il faut que le signe \PS soit une lettre pour
+ \TeX.
+
+ Depuis la version~4, on peut utiliser cette extension même dans un source
+ codé en utf-8 avec \hologo{LaTeX}, \hologo{LuaLaTeX} ou \hologo{XeLaTeX}.
+\end{abstract}
+
+\noindent\hrulefill
+
+ \begin{otherlanguage}{english}
+\begin{abstract}
+The English documentation for the final user of the package
+\pkg{paresse} is available in the file \texttt{paresse-eng}.
+\end{abstract}
+\end{otherlanguage}
+
+\noindent\hrulefill
+\vspace{\baselineskip}
+
+\tableofcontents{}
+
+\section{Introduction}
+\label{sec:introduction}
+
+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.
+
+
+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.
+
+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.
+
+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
+
+\subsection{Pourquoi une 5\ieme version?}
+
+\emph{Sur mon brin de laurier, je dormais comme un loir} en utilisant
+\pkg{paresse} presque quotidiennement quand il y a quelques jours, patatras!
+Plus rien ne va, je me fais insulter rien qu'à charger l'extension. Je passe sur
+les détails: la faute en revient à une modification du noyau qui vient perturber
+le code acrobatique de \pkg{skeyval}. Comme la mise à jour de la dite extension
+semble extrèmement improbable, j'ai décidé de réparer \pkg{paresse} en recourant
+aux commandes de expl3.
+
+Ce n'est donc que pour remettre en marche ce dont je me sers souvent que je
+viens soulever le capot de cette extension vieille de plus de 7~ans.
+
+Avec cette 5\ieme version, apparaissent deux \emph{sous}-extensions:
+\pkg{paresse-old} et \pkg{paresse-utf8} que l'on peut charger directement et qui
+offrent les mêmes options et les mêmes commandes. De fait, \pkg{paresse} charge
+l'une ou l'autre suivant la situation.
+
+On utilisera \pkg{paresse-utf8} uniquement si le source est codé en utf-8 et que
+l'on compile avec \texttt{latex} c.-à-d. avec le moteur \TeX{} et le format
+\LaTeX{}. Dans tous les autres cas de figure on utilisera \pkg{paresse-old}.
+
+La documentation de \pkg{paresse} couvre donc l'utilisation des trois
+extensions.
+
+\subsection{Pourquoi une 4\ieme version?}
+
+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\footnote{J'ai écrit cette
+ section à l'occasion de la sortie de la 4\ieme version, en 2013.}\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.
+
+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}.
+
+J'ai profité de cette nouvelle version pour ajouter une macro en \PS:
+\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.
+
+\subsection{Pourquoi une 3\ieme version?}
+
+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}.
+
+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}.
+
+J'en profite pour faire quelques changements cosmétiques:
+désormais toutes les macros internes \emph{secrètes}\footnote{À la mode
+ \LaTeXe{}, pour la version~5.0 j'utilise en partie expl3 et, dans ce cas,
+ le préfixe \texttt{paresse}.} ont un nom qui
+commence par \cs{GA@};
+le fichier |.dtx| est réorganisé pour faciliter la tache de
+traduction de la documentation.
+
+\section{Utilisation}
+
+On charge cette extension avec |\usepackage{paresse}|. Quand on utilise
+\hologo{LaTeX} avec un codage 8-bits (comme \texttt{latin9} par exemple),
+on la charge \textbf{après} l'extension \pkg{inputenc} avec l'option
+idoine. Avec un \hologo{LaTeX} moderne \TO post 2019\TF et un source codé
+en utf-8, on n'a pas besoin de charger explicitement \pkg{inputenc}. Dans
+ce cas, \pkg{paresse} suppose que le source est codé en utf-8.
+
+Dans tous les cas il faut que le \og caractère \fg § soit reconnu par \TeX\
+comme une lettre.
+
+
+On obtiendra le même comportement, à l'exception \TO signalée dans le
+paragraphe intitulé \textbf{restriction} page~\pageref{restriction}\TF
+près, avec \pkg{inputenc} et l'option \texttt{utf8}.
+
+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.
+
+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 à \pkg{paresse} l'option \Option{tame} avec
+|\usepackage[tame]|\BOP|{paresse}|. Il faut alors utiliser la commande
+\cs{ActiveLaParesse} ou l'environnement |ParesseActive| pour utiliser
+les macros en~§.
+
+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.
+
+\paragraph{Restriction}
+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}
+
+
+\section{Les options de l'extension}
+\label{sec:clefs}
+
+
+\begin{itemize}
+\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 à §.
+
+\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} tel que le donne la
+ table~\ref{codageorig}. Sinon, le codage est celui défini par Sylvio
+ \textsc{Levi}, cf. la table~\ref{codagelevi}.
+
+\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.
+
+ \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.
+
+\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\).
+
+\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}.
+\end{itemize}
+
+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.
+
+\subsection{Commandes et environnement}
+
+\DescribeMacro{\makeparesseletter}
+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}.
+
+\DescribeMacro{\makeparesseother}
+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|.
+
+\DescribeMacro{\ActiveLaParesse}
+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}.
+
+\DescribeEnv{ParesseActive}
+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}.
+
+\newpage{}
+
+\subsection{Tableaux des macros}
+
+\subsubsection{Codage originel de \pkg{paresse}}
+
+C'est le codage actif lorsque l'on a choisit les options \Option{legacy} et
+\Option{ttheta} qui sont des options par défaut.
+
+Cette version~5.0 ajoute \(\varsigma\) obtenu avec \PSVerb{j}.
+
+\begin{center}\Large
+\begin{ParesseActive} \label{codageorig}
+\begin{tabular}{*4{||>{\ttfamily \S}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}
+
+\vspace{2\baselineskip}
+
+\begin{center}\Large
+\begin{ParesseActive} \label{codageorig}
+\begin{tabular}{*7{||>{\ttfamily \S}c|c}||}\hline
+a&§a&b&§b&c&§c&d&§d&e&§e&f&§f\\ \hline
+g&§g&h&§h&i&§i&j&§j&k&§k&l&§l\\ \hline
+m&§m&n&§n&o& &p&§p&q&§q&r&§r\\ \hline
+s&§s&t&§t&u&§u&v&§v&w&§w&x&§x\\ \hline
+y&§y&z&§z&A& &B& &C& &D&§D\\ \hline
+E& &F&§F&G&§G&H& &I& &J& \\ \hline
+K& &L&§L&M& &N& &O& &P&§P\\ \hline
+Q&§Q&R& &S&§S&T&§T&U&§U&V&§V\\ \hline
+W&§W&X&§X&Y& &Z&§Z&\multicolumn{4}{c||}{}\\ \hline
+\end{tabular}
+\end{ParesseActive}
+\end{center}
+
+\paragraph{Remarques : } à l'exception de {\ActiveLaParesse §v, §y, §q et §j}
+les lettres utilisées dans les noms des macros sont chargées de vertu
+mnémotechniques \texttt{:-)} et les capitales grecques, quand elles différent
+des capitales latines, s'obtiennent à l'aide de la majuscule correspondante.
+
+\pagebreak[4]
+
+\subsubsection{Codage de Sylvio \textsc{Levi}}
+
+On active ce codage avec l'option \Option{Levi}.
+
+\begin{center}\Large
+\begin{ParesseActive} \label{codagelevi}
+\begin{tabular}{*4{||>{\ttfamily \S}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}
+
+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:
+
+\begin{center}
+\newcommand\CT[1]{\multicolumn{1}{c|}{\texttt{#1}}}
+\begin{ParesseActive}
+\begin{tabular}{|l|*{7}{c|}}\hline
+lettres grecques
+& §v & §y & §c & §q & §V & §Q & \(\varsigma\)\\\hline
+codage originel
+&\CT{\S{}v/\S{}t}&\CT{\S{}y/\S{}t}&\CT{\S{}c}
+&\CT{\S{}q}&\CT{\S{}V/\S{}T}&\CT{\S{}Q}& \CT{\S{}j} \\\hline
+codage de S. \textsc{Levi}
+&\CT{\S{}j}&\CT{\S{}t}&\CT{\S{}q}&\CT{\S{}y}
+&\CT{\S{}J}&\CT{\S{}Y} & \CT{\S{}c}\\\hline
+\end{tabular}
+\end{ParesseActive}
+\end{center}
+
+\vspace{\stretch{2}}
+
+\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}
+
+\vspace{\stretch{2}}
+
+\noindent\hspace*{0.2\textwidth}\hrulefill\hspace*{0.2\textwidth}
+\begin{center}
+ \textsl{Le TeXnicien de Surface scripsit.}
+\end{center}
+\noindent\hspace*{0.2\textwidth}\hrulefill\hspace*{0.2\textwidth}
+
+\vspace*{\stretch{2}}
+
+\end{document}
+\endinput
+%%
+%% End of file `paresse-fra.tex'.
Property changes on: trunk/Master/texmf-dist/doc/latex/paresse/paresse-fra.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/paresse/paresse.pdf
===================================================================
(Binary files differ)
Deleted: trunk/Master/texmf-dist/source/latex/paresse/LISEZMOI
===================================================================
--- trunk/Master/texmf-dist/source/latex/paresse/LISEZMOI 2020-10-08 21:20:21 UTC (rev 56597)
+++ trunk/Master/texmf-dist/source/latex/paresse/LISEZMOI 2020-10-08 21:20:56 UTC (rev 56598)
@@ -1,52 +0,0 @@
-% -*- coding: utf-8 -*-
-% Time-stamp: <2013-02-16 10:25:05 novatux>
-
-======================================================================
-
-PARESSE version 4.1 2013/02/16
-
-======================================================================
-
-Ce lot comprend
-
-LISEZMOI % ce fichier
-README % la version anglaise
-
-Makefile % pour les utilisateurs de *nix
-paresse.dtx % fichier source
-paresse.ins % fichier d'installation
-paresse.sty % le fichier de l'extension
-paresseold.sto % fichier d'option
-paresseutf8.sto % fichier d'option
-
-
-paresse.pdf % code documenté en anglais
-paresse-fr.pdf % documentation française
-paresse-en.pdf % documentation anglaise
-paresse-ex-fr.pdf % exemple en français
-paresse-ex-en.pdf % le même en anglais
-
-paresse-TEST.zip
-% archive contenant les fichiers de test:
- ex-com-utf8-tame.tex
- ex-com-utf8-wild.tex
- test-latex-8bits-tame.tlx
- test-latex-8bits-wild.tlx
- test-latex-utf8-tame.tlx
- test-latex-utf8-wild.tlx
- test-lualatex-tame.llx
- test-lualatex-wild.llx
- test-xelatex-tame.xlx
- test-xelatex-wild.xlx
-
-paresse.tds.zip % l'archive conforme à la TDS
-
-======================================================================
-
-Cette extension est faite pour taper « facilement » les lettres
-grecques avec un minimum d'effort ;) Elle ne concerne que les
-lettres grecques qui ont un nom de macro comme \alpha ou \Omega.
-
---
-Le \TeX nicien de surface
-Yvon.Henel at wanadoo.fr
Deleted: trunk/Master/texmf-dist/source/latex/paresse/Makefile
===================================================================
--- trunk/Master/texmf-dist/source/latex/paresse/Makefile 2020-10-08 21:20:21 UTC (rev 56597)
+++ trunk/Master/texmf-dist/source/latex/paresse/Makefile 2020-10-08 21:20:56 UTC (rev 56598)
@@ -1,203 +0,0 @@
-# ---------------------------------------------------------------
-# Time-stamp: <2013-02-16 10:51:17 novatux>
-# Makefile for the paresse package by Y. Henel
-# modified version of the Makefile of the kerntest package
-# many thanks to Harald Harders whose kerntest.xml I have also
-# hacked to obtain my paresse.xml
-# ---------------------------------------------------------------
-PKGNAME=paresse
-VERSION=4.1
-
-TESTSRCUTIL= \
- ex-com-utf8-tame.tex \
- ex-com-utf8-wild.tex \
-
-TESTSRCTEX= \
- test-latex-8bits-tame.tlx \
- test-latex-8bits-wild.tlx \
- test-latex-utf8-tame.tlx \
- test-latex-utf8-wild.tlx \
- test-lualatex-tame.llx \
- test-lualatex-wild.llx \
- test-xelatex-tame.xlx \
- test-xelatex-wild.xlx
-
-TESTSRC= \
- $(TESTSRCUTIL) \
- $(TESTSRCTEX)
-
-SOURCE= Makefile \
- $(PKGNAME).dtx \
- $(PKGNAME)-doc.dtx \
- $(PKGNAME).ins \
- LISEZMOI \
- README
-
-PDFDOC= $(PKGNAME).pdf \
- $(PKGNAME)-fr.pdf \
- $(PKGNAME)-en.pdf \
- $(PKGNAME)-ex-fr.pdf \
- $(PKGNAME)-ex-en.pdf
-
-PDFDOCSUP = \
- test-latex-8bits-tame.pdf \
- test-latex-8bits-wild.pdf \
- test-latex-utf8-tame.pdf \
- test-latex-utf8-wild.pdf \
- test-lualatex-tame.pdf \
- test-lualatex-wild.pdf \
- test-xelatex-tame.pdf \
- test-xelatex-wild.pdf
-
-SRCDOC= $(PKGNAME)-doc.dtx
-
-TEXDOC= $(PKGNAME)-fr.ltx \
- $(PKGNAME)-en.ltx \
- $(PKGNAME)-ex-fr.elx \
- $(PKGNAME)-ex-en.elx
-
-CTANDOC= $(PDFDOC)
-
-DECHETS= \
- $(TEXDOC)\
- $(PDFDOC)\
- $(PDFDOCSUP)
-
-REPERTS = \
- doc \
- tex \
- source
-
-TEX = $(PKGNAME).sty \
- $(PKGNAME)utf8.sto \
- $(PKGNAME)old.sto
-
-GARBAGE= $(wildcard *.aux)\
- $(wildcard *.log)\
- $(wildcard *.toc)\
- $(wildcard *.out)\
- $(wildcard *.glo)\
- $(wildcard *.gls)\
- $(wildcard *.ilg)\
- $(wildcard *.ind)\
- $(wildcard *.idx)\
- $(wildcard *.hd)\
- $(wildcard *.ltx)\
- $(wildcard *.elx)\
- $(wildcard *~)
-
-# ---------------------------------------------------------------
-
-.SUFFIXES: .sty .ins .dtx .pdf .ltx .tex .llx .xlx .tlx .elx
-
-# ---------------------------------------------------------------
-.ins.sty:
- latex $<
-
-.dtx.pdf:
- pdflatex $<
- pdflatex $<
- makeindex -s gind.ist $(*D)/$(*F)
- makeindex -s gglo.ist -o $(*D)/$(*F).gls $(*D)/$(*F).glo
- pdflatex $<
-
-.ltx.pdf:
- pdflatex $<
- pdflatex $<
- makeindex -s gind.ist $(*D)/$(*F)
- pdflatex $<
-
-.elx.pdf:
- pdflatex $<
- pdflatex $<
-
-.tlx.pdf:
- pdflatex $<
-
-.llx.pdf:
- lualatex $<
-
-.xlx.pdf:
- xelatex $<
-
-# ---------------------------------------------------------------
-
-all: $(PKGNAME).sty $(PDFDOC) $(PDFDOCSUP)\
- $(TEXDOC) $(PKGNAME).ins
-
-# ---------------------------------------------------------------
-
-help:
- @-echo "******************************************************"
- @-echo "** Choisir une des options : *"
- @-echo "== Choose one of the options: *"
- @-echo "** 'all' pour produire tous les fichiers *"
- @-echo "== 'all' to produce all the files *"
- @-echo "** 'clean' suppression des fichiers auxiliaires *"
- @-echo "== 'clean' delete the auxiliary files *"
- @-echo "** 'distclean' pour ne conserver que les sources *"
- @-echo "== 'distclean' to keep only the sources *"
- @-echo "******************************************************"
-
-# ---------------------------------------------------------------
-
-dist: all clean
-
-# ---------------------------------------------------------------
-
-clean:
- @-rm -f $(GARBAGE)
-
-distclean: clean
- @-rm -f $(DECHETS)
- @-rm -f $(TEX)
- @-rm -f common.tex
-
-# ---------------------------------------------------------------
-
-texlive: dist
- @-rm -rf $(REPERTS)
- @-mkdir -p tex/latex/$(PKGNAME)
- @-mkdir -p doc/latex/$(PKGNAME)
- @-mkdir -p source/latex/$(PKGNAME)
- @-mkdir -p TEST
- @-cp $(TEX) tex/latex/$(PKGNAME)
- @-cp $(CTANDOC) doc/latex/$(PKGNAME)
- @-cp $(SOURCE) source/latex/$(PKGNAME)
- @-cp $(TESTSRC) TEST
- @-zip -r $(PKGNAME)-TEST TEST/
- @-mv $(PKGNAME)-TEST.zip source/latex/$(PKGNAME)/
- @-rm -rf TEST/
- @-mkdir -p $(PKGNAME)
- @-cp $(CTANDOC) ./$(PKGNAME)
- @-cp $(SOURCE) ./$(PKGNAME)
- @-cp $(TEX) ./$(PKGNAME)
-
-# ---------------------------------------------------------------
-
-zip: texlive
- @-rm -f $(PKGNAME).zip
- @-zip -r $(PKGNAME) $(REPERTS)
- @-rm -rf $(REPERTS)
- @-mv $(PKGNAME).zip $(PKGNAME).tds.zip
- @-zip -r $(PKGNAME) $(PKGNAME)
- @-zip -r $(PKGNAME) $(PKGNAME).tds.zip
- @-rm -rf $(PKGNAME)
- @-rm -f $(PKGNAME).tds.zip
-
-# ---------------------------------------------------------------
-
-ctan: zip distclean
-
-# ---------------------------------------------------------------
-
-doc: $(PKGNAME).ins $(PKGNAME).pdf $(PKGNAME)-doc.dtx
-
-$(PKGNAME).sty: $(PKGNAME).ins $(PKGNAME).dtx
-$(TEXDOC): $(PKGNAME).ins $(PKGNAME).dtx $(PKGNAME)-doc.dtx
-$(PDFDOC): $(TEXDOC)
-# ---------------------------------------------------------------
-# echu e an abaden
-# Le \TeX nicien de surface 2011/04/17, 2013/02/16
-
-
Deleted: trunk/Master/texmf-dist/source/latex/paresse/README
===================================================================
--- trunk/Master/texmf-dist/source/latex/paresse/README 2020-10-08 21:20:21 UTC (rev 56597)
+++ trunk/Master/texmf-dist/source/latex/paresse/README 2020-10-08 21:20:56 UTC (rev 56598)
@@ -1,54 +0,0 @@
-% Time-stamp: <2013-02-16 10:28:53 novatux>
-
-======================================================================
-
-PARESSE version 4.1 2013/02/16
-
-======================================================================
-
-This bundle should contain
-
-README % this file
-LISEZMOI % French version
-
-Makefile % for *nix users
-paresse.dtx
-paresse.ins
-paresse.sty % the style file
-paresseold.sto % style option file
-paresseutf8.sto % style option file
-
-paresse.pdf % code documented in English
-paresse-en.pdf % English documentation
-paresse-fr.pdf % French documentation
-paresse-ex-en.pdf % English Example
-paresse-ex-fr.pdf % French Example
-
-paresse-TEST.zip
-% archive containing files for test:
- ex-com-utf8-tame.tex
- ex-com-utf8-wild.tex
- test-latex-8bits-tame.tlx
- test-latex-8bits-wild.tlx
- test-latex-utf8-tame.tlx
- test-latex-utf8-wild.tlx
- test-lualatex-tame.llx
- test-lualatex-wild.llx
- test-xelatex-tame.xlx
- test-xelatex-wild.xlx
-
-paresse.tds.zip % the tds compliant archive
-
-======================================================================
-
-This package provides a means of typing "easily" greek letters
-with the least possible effort ;) It takes care only of the
-letters which have a macro name as \alpha or \Omega.
-
-======================================================================
-
-Happy TeXing and all that.
-
---
-Le \TeX nicien de surface
-le.texnicien.de.surface at wanadoo.fr
Deleted: trunk/Master/texmf-dist/source/latex/paresse/paresse-TEST.zip
===================================================================
(Binary files differ)
Deleted: trunk/Master/texmf-dist/source/latex/paresse/paresse-doc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/paresse/paresse-doc.dtx 2020-10-08 21:20:21 UTC (rev 56597)
+++ trunk/Master/texmf-dist/source/latex/paresse/paresse-doc.dtx 2020-10-08 21:20:56 UTC (rev 56598)
@@ -1,796 +0,0 @@
-% \iffalse meta-comment
-%-*- coding: iso-8859-15 -*-
-% Time-stamp: <2013-02-16 10:40:24 novatux>
-% --------------------------------------------------------------------
-%
-% Copyright (C) 2011, 2013
-% by Yvon Henel alias le TeXnicien de surface
-% <le.texnicien.de.surface at 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 \xE0 la page o\xF9 l'entr\xE9e est d\xE9crite;
- les nombres soulign\xE9s renvoient \xE0 la ligne de code de la d\xE9finition;
- les nombres en caract\xE8res romains renvoient \xE0 la ligne de code o\xF9
- l'entr\xE9e est utilis\xE9e.}
-\def\generalname{G\xE9n\xE9ral}
-\def\SpecialMainEnvIndex#1{%
- \@bsphack\special at index{%
- #1\actualchar
- {\string\ttfamily\space#1}
- (environnement)%
- \encapchar main}%
- \special at index{environnements:\levelchar#1\actualchar{%
- \string\ttfamily\space#1}\encapchar
- main}\@esphack}
-\makeatother
-\newcommand{\CAD}{c.-\xE0-d.\xspace}
-%</fr>
-\newcommand{\TO}{\textemdash\ \ignorespaces}
-\newcommand{\TF}{\unskip\ \textemdash\xspace}
-\newcommand\BOP{\discretionary{}{}{}}
-\newcommand\Option[1]{\textsc{#1}}
-\newcommand\Pkg[1]{\textsf{#1}}
-\newcommand\NOUVO[1][1]{%
- \ifthenelse
- {\equal{#1}{5}}
- {\marginpar{\hspace*{\stretch{1}}%
- \textbf{N (v5)}\hspace*{.5em}}}%
- {}}
-
-
-\EnableCrossrefs
-\CodelineIndex
-
-\begin{document}
-
-%<*fr>
-\title{Le module \Pkg{paresse}\thanks{Ce document correspond au
- fichier \Pkg{paresse}~\fileversion, du \filedate.}}
-%</fr>
-%<*en>
-\title{The package \Pkg{paresse}\thanks{This document corresponds
- to the file \Pkg{paresse}~\fileversion, dated \filedate.}
- \mbox{}\thanks{English translation by the author. Any comment
- about the translation is welcome.}}
-%</en>
-\author{Le \TeX nicien de surface\\
- \href{mailto:le.texnicien.de.surface at wanadoo.fr}%
- {le.texnicien.de.surface at 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\xE9es \xE0 l'aide du caract\xE8re \PS actif et red\xE9fini. Au lieu de
- |\(\alpha\)| ou tape |\xA7a| pour obtenir \(\alpha\).
-
- \textbf{Important} : Il doit \xEAtre charg\xE9 \textbf{apr\xE8s}
- \Pkg{inputenc} si ce dernier est utilis\xE9. De plus, il faut que le
- signe \xA7 soit une lettre pour \TeX.
-
- Le fichier \texttt{paresse.pdf} contient le code comment\xE9 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 \xA7 activated and redefined. Instead of
- |\(\alpha\)| one types |\xA7a| to obtain \(\alpha\).
-
-\end{abstract}
-\begin{otherlanguage}{french}
- \begin{abstract}
- La documentation fran\xE7aise pour l'utilisateur de l'extension
- \Pkg{paresse} est d\xE9sormais disponible sous le nom de
- \texttt{paresse-fr.pdf}.
-
- Le fichier \texttt{paresse.pdf} contient le code comment\xE9 en
- anglais.
- \end{abstract}
-\end{otherlanguage}
-%</en>
-
-\tableofcontents{}
-
-\newpage
-
-%<fr>\section{Introduction}
-%<en>\section{Introduction}
-
-%<*fr>
-Cette extension ne fournit qu'un acc\xE8s \og rapide et \xE9conomique \fg
-aux lettres grecques qui s'obtiennent \xE0 l'aide d'une macro comme
-\cs{alpha} ou \cs{Omega}. Elle fournit un environnement et une commande
-qui permettent d'utiliser \xA7 pour taper ces lettres. Un \cs{ensuremath}
-nous dispense de nous placer explicitement \TO c'est-\xE0-dire en
-tapant |$ $| ou bien |\( \)| ou encore |\[ \]| ou tout autre chose
-ayant le m\xEAme effet\TF en mode math\xE9matique 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 \xA7 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\xE9e de la m\xE9thode est due \xE0 T.~\textsc{Lachand-Robert} et est
-expos\xE9e dans~\cite{tlachand}. Je n'ai fait qu'ajouter le
-\cs{ensuremath} bien agr\xE9able pour l'\xE9criture 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 \xE0 l'aide des latines romaines de m\xEAme
-apparence\footnote{Je ne ferai aucune remarque sur les probl\xE8mes 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 \xA7 indique un \og
-paragraphe \fg en ayant une forme lointainement apparent\xE9e au
-S et n'a donc aucun lien avec le \emph{d\xE9faut} si fr\xE9quent,
-encore que, \xE0 bien y r\xE9fl\xE9chir\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 \xA7 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 \xE0 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 \xE0 plus d'un an maintenant\TF
-Christian \textsc{Tellechea} me faisait part de son d\xE9sir d'utiliser
-\Pkg{paresse} avec des sources cod\xE9es en utf-8 sous \hologo{LaTeX} \TO
-et non \hologo{XeLaTeX} ou \hologo{LuaLaTeX}.
-
-Une discussion s'engagea, Christian me fit parvenir du mat\xE9riel en
-ordre de marche. Il me fit m\xEAme cadeau de deux versions, la deuxi\xE8me
-am\xE9liorant la reconnaissance du codage d\xE9clar\xE9 avec
-\Pkg{inputenc}. Toutefois, je procrastinais. Il se peut que ma vie
-personnelle et mon travail aient interf\xE9r\xE9 avec le d\xE9veloppement 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 \xE9chapper \xE0 l'utilisateur de \hologo{LuaLaTeX}
-ou \hologo{XeLaTeX} et m\xEAme de \hologo{LaTeX} chargeant \Pkg{inputenc}
-avec une option comme \texttt{latin1} ou \texttt{latin9}. Cependant,
-d\xE9sormais, 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\xE9 de cette nouvelle version pour ajouter une macro en \PS:
-\NOUVO\PSVerb{Z} qui produit \S, symbole d\xE9j\xE0 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\xE9 tr\xE8s
-aimablement qu'il existait un codage de l'alphabet grec en lettres
-latines pr\xE8s de 15~ans avant que je ne commette cette extension. Ce
-codage \xE9tait d\xFB \xE0 Sylvio \textsc{Levi} qui l'avait mis au point, alors
-qu'il dessinait les premi\xE8res fontes grecques pour \TeX, en s'appuyant
-sur la correspondance entre les claviers am\xE9ricain et grec. Il me
-faisait remarquer \xE0 juste titre que si quelqu'un avait pris l'habitude
-du codage de Sylvio \textsc{Levi}, il pr\xE9f\xE9rerait 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\xE9cid\xE9 de fournir un nouveau couple d'options exclusives
-l'une de l'autre que j'ai nomm\xE9es, pour l'une, \Option{legacy} ---
-pour \og h\xE9ritage\fg --- qui assure le codage originel de cette
-extension et qui est active par d\xE9faut 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\xE9tiques:
-d\xE9sormais toutes les macros internes \emph{secr\xE8tes} ont un nom qui
-commence par \cs{GA@};
-le fichier |.dtx| est r\xE9organis\xE9 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\xE8s}
-l'extension \Pkg{inputenc} quand on utilise \hologo{LaTeX}. Il faut
-que la \og caract\xE8re \fg \xA7 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\xEAme comportement, \xE0 l'exception signal\xE9e
-page~\pageref{restriction} pr\xE8s, 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\xE9 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 \xA7 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\xE9faut, l'extension est charg\xE9e avec l'option |wild| ce qui
-signifie que les macros de la forme |\xA7a| sont disponibles. Si l'on
-pr\xE9f\xE8re, on peut passer \xE0 |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 \xA7.
-%</fr>
-%<*en>
-By default the package is loaded with option |wild| and so the macros
-such as |\xA7a| 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 `\xA7-macros'.
-%</en>
-
-%<*fr>
-Lorsque la \og paresse est active \fg, il suffit de taper |\xA7a| pour
-obtenir \(\alpha\). On a de m\xEAme acc\xE8s \xE0 toutes les lettres grecques
-auxquelles sont consacr\xE9es une macro comme \cs{alpha},
-voyez~\ref{codageorig} et~\ref{codagelevi}. On obtient, de m\xEAme,
-\(\alpha^{\beta}\) avec |\(\xA7a^{\xA7b}\)| lorsque \xA7 est active.
-%</fr>
-%<*en>
-When `paresse' is active, one has just to type |\xA7a| 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 |\(\xA7a^{\xA7b}\)| when \xA7 is active.
-%</en>
-
-%<*fr>
-On notera que les accolades sont optionelles et qu'on obtient un
-r\xE9sultat identique avec |\(\xA7a^\xA7b\)|, \textbf{\xE0 moins que} l'on utilise
-un source cod\xE9 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 |\(\xA7a^\xA7b\)| \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 \xE0
- \Option{wild} qui est l'option par d\xE9faut. Lorsque \Option{tame}
- r\xE8gne, il \textbf{faut} un environnement |ParesseActive| ou une
- commande \cs{ActiveLaParesse} pour utiliser les macros \xE0 \xA7.
-%</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 \xA7-macros.
-%</en>
-
-
-%<*fr>
-\item \Option{Levi}\DescribeOption{legacy / Levi} s'oppose \xE0
- \Option{legacy} qui est l'option par d\xE9faut. 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\xE9fini 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 \xE0
- \Option{ttheta} qui est l'option par d\xE9faut. Lorsque \Option{ttheta}
- est active |\xA7t| donne \(\theta\) dans le cas contraire |\xA7t| donne
- \(\tau\). En tous cas, \(\theta\) est accessible par |\xA7v| et
- \(\tau\) par |\xA7y|. Cette option est inop\xE9rante si l'option
- \Option{Levi} a \xE9t\xE9 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 |\xA7t| gives \(\theta\) in the contrary |\xA7t| gives
- \(\tau\). In all cases, \(\theta\) is given by |\xA7v| and \(\tau\) by
- |\xA7y|. That option is ineffective when one has chosen
- \Option{Levi}.
-%</en>
-
-%<*fr>
- \textbf{Remarque :} quand l'option \Option{legacy} a \xE9t\xE9 choisie,
- \(\Theta\) est obtenu par |\xA7V| de mani\xE8re \og r\xE9guli\xE8re \fg et
- \emph{\xE9galement} par |\xA7T| quelle que soit l'option choisie. Dans
- le cas de l'option \Option{Levi}, |\xA7V| ne correspond \xE0 aucune lettre
- grecque.
-%</fr>
-%<*en>
-\textbf{Remark:} when one has chosen the option
-\Option{legacy}, \(\Theta\) is `regularly' obtained with |\xA7V| and
-\emph{also} with |\xA7T| whatever is the chosen option. In the case of
-the option \Option{Levi}, |\xA7V| doesn't correspond to any greek letter.
-%</en>
-
-%<*fr>
-\item \Option{epsilon}\DescribeOption{epsilon / varepsilon} s'oppose \xE0
- \Option{varepsilon} qui est l'option par d\xE9faut. Avec
- \Option{epsilon}, |\xA7e| donne \(\epsilon\) sinon |\xA7e| donne
- \(\varepsilon\).
-%</fr>
-%<*en>
-\item \Option{epsilon}\DescribeOption{epsilon / varepsilon} is the
- contrary of \Option{varepsilon} which is selected by default. With
- \Option{epsilon}, |\xA7e| gives \(\epsilon\) otherwise |\xA7e| 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 |\xA7s| 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\xE9faut 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\xE9faut, comme la pr\xE9c\xE9dente.
-%</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\xE8re \fg \xA7 le catcode d'une
-lettre. Apr\xE8s cela, on peut se servir de \xA7 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' \xA7. After that
-one can use \xA7 in the name of a macro, for instance. It corresponds to
-the well-known |\makeatletter|.
-%</en>
-
-\DescribeMacro{\makeparesseother}
-%<*fr>
-Cette macro donne au caract\xE8re \xA7 le catcode \emph{other}. C'est le \og
-contraire \fg de la pr\xE9c\xE9dente. Cela \xE9quivaut 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 \xA7. 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\xE8re \xA7 et permet ainsi d'acc\xE9der aux
-macros dont le nom commence par \xA7 comme |\xA7a|. Pour une liste de ces
-macros et leurs significations, voyez les tableaux~\ref{codageorig}
-et~\ref{codagelevi}.
-%</fr>
-%<*en>
-This macro makes \xA7 active and thus enable one to access the macros the
-name of which begins with \xA7 such as |\xA7a|. 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\xE8re \xA7 est actif ce qui permet
-d'utiliser les macros en \xA7. On utilisera cet environnement si l'on
-veut utiliser les macros quand on a charg\xE9 l'extension
-\Pkg{paresse} avec l'option \texttt{tame}.
-%</fr>
-%<*en>
-In this environment \xA7 is active and one can use the \xA7-macros. One
-could use this environment if one want to use the \xA7-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\xE9faut.
-%</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 \\xA7}c|c}||}\hline
-a & \xA7a & b & \xA7b & g & \xA7g & d & \xA7d\\ \hline
-e & \xA7e & z & \xA7z & h & \xA7h & v & \xA7v\\ \hline
-i & \xA7i & k & \xA7k & l & \xA7l & m & \xA7m\\ \hline
-n & \xA7n & x & \xA7x & p & \xA7p & r & \xA7r\\ \hline
-s & \xA7s & y & \xA7y & u & \xA7u & f & \xA7f\\ \hline
-c & \xA7c & q & \xA7q & w & \xA7w &\multicolumn{1}{c|}{}&\\ \hline\hline
-G & \xA7G & D & \xA7D & V & \xA7V & L & \xA7L\\ \hline
-X & \xA7X & P & \xA7P & S & \xA7S & U & \xA7U\\ \hline
-F & \xA7F & Q & \xA7Q & W & \xA7W & Z & \xA7Z\\ \hline
-\end{tabular}
-\end{ParesseActive}
-\end{center}
-
-%<*fr>
-\paragraph{Remarques : } \xE0 l'exception de {\ActiveLaParesse \xA7v, \xA7y
-et \xA7q} les lettres utilis\xE9es dans les noms des macros sont charg\xE9es
-de vertu mn\xE9motechniques \texttt{:-)} et les majuscules grecques
-s'obtiennent \xE0 l'aide de la majuscule correspondante.
-%</fr>
-%<*en>
-\paragraph{Remarks : } all the latin letters used in the name of the
-\xA7-macros, but for {\ActiveLaParesse \xA7v, \xA7y and \xA7q}, 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 \\xA7}c|c}||}\hline
-a & \xA7a & b & \xA7b & g & \xA7g & d & \xA7d\\ \hline
-e & \xA7e & z & \xA7z & h & \xA7h & j & \xA7v\\ \hline
-i & \xA7i & k & \xA7k & l & \xA7l & m & \xA7m\\ \hline
-n & \xA7n & x & \xA7x & p & \xA7p & r & \xA7r\\ \hline
-s & \xA7s & t & \xA7y & u & \xA7u & f & \xA7f\\ \hline
-q & \xA7c & y & \xA7q & w & \xA7w & c & \(\varsigma\)\\ \hline\hline
-G & \xA7G & D & \xA7D & J & \xA7V & L & \xA7L\\ \hline
-X & \xA7X & P & \xA7P & S & \xA7S & U & \xA7U\\ \hline
-F & \xA7F & Y & \xA7Q & W & \xA7W & Z & \xA7Z\\ \hline
-\end{tabular}
-\end{ParesseActive}
-\end{center}
-
-%<*fr>
-Le codage de Sylvio \textsc{Levi} donne acc\xE8s directement \xE0 \cs{varsigma}
-(\(\varsigma\)) avec |\xA7c| et ne diff\xE8re du codage originel que pour
-les lettres {\ActiveLaParesse \xA7v, \xA7y, \xA7c et \xA7q}. Voici un r\xE9sum\xE9 de
-ces diff\xE9rences:
-%</fr>
-%<*en>
-Sylvio \textsc{Levi}'s encoding gives a direct acces to \cs{varsigma}
-(\(\varsigma\)) with |\xA7c| and is different from the original encoding
-just for the letters {\ActiveLaParesse \xA7v, \xA7y, \xA7c et \xA7q}. 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
-& \xA7v & \xA7y & \xA7c & \xA7q & \xA7V & \xA7Q & \(\varsigma\)\\\hline
-%<fr>codage originel
-%<en>original encoding
-&\CT{\\xA7v/\\xA7t}&\CT{\\xA7y/\\xA7t}&\CT{\\xA7c}
-&\CT{\\xA7q}&\CT{\\xA7V/\\xA7T}&\CT{\\xA7Q}& --- \\\hline
-%<fr>codage de S. \textsc{Levi}
-%<en>S. \textsc{Levi}'s encoding
-&\CT{\\xA7j}&\CT{\\xA7t}&\CT{\\xA7q}&\CT{\\xA7y}
-&\CT{\\xA7J}&\CT{\\xA7Y} & \CT{\\xA7c}\\\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\xEEtrise 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\xE9e 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\xE8re \xA7.
-%<en>With the macro \verb!\ActiveLaParesse! to make the \xA7 character active.
-%<*fr>
-\begin{Verbatim}[frame=single]
-{\ActiveLaParesse
-\(\xA7a^{\xA7b}_{\xA7g}\) et encore \(\xA7D^\xA7a_\xA7d\)
-}
-\end{Verbatim}
-%</fr>
-%<*en>
-\begin{Verbatim}[frame=single]
-{\ActiveLaParesse
-\(\xA7a^{\xA7b}_{\xA7g}\) and also \(\xA7D^\xA7a_\xA7d\)
-}
-\end{Verbatim}
-%</en>
-%<fr>pour obtenir :
-%<en>to obtain:
-{\ActiveLaParesse \(\xA7a^{\xA7b}_{\xA7g}\)
-%<fr> et encore
-%<en> and also
-\(\xA7D^\xA7a_\xA7d\)}
-\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 \\xA7}c|c}||} \hline
-a & \xA7a & b & \xA7b & g & \xA7g & d & \xA7d\\ \hline
-e & \xA7e & z & \xA7z & h & \xA7h & v & \xA7v\\ \hline
-...
-X & \xA7X & P & \xA7P & S & \xA7S & U & \xA7U\\ \hline
-F & \xA7F & Q & \xA7Q & W & \xA7W & Z & \xA7Z\\ \hline
-\end{tabular}
-\end{ParesseActive}
-\end{Verbatim}
-
-\medskip
-
-\begin{center}
-\begin{ParesseActive}\large
-\begin{tabular}{*4{||>{\ttfamily \\xA7}c|c}||} \hline
-a & \xA7a & b & \xA7b & g & \xA7g & d & \xA7d\\ \hline
-e & \xA7e & z & \xA7z & h & \xA7h & v & \xA7v\\ \hline
-i & \xA7i & k & \xA7k & l & \xA7l & m & \xA7m\\ \hline
-n & \xA7n & x & \xA7x & p & \xA7p & r & \xA7r\\ \hline
-s & \xA7s & y & \xA7y & u & \xA7u & f & \xA7f\\ \hline
-c & \xA7c & q & \xA7q & w & \xA7w &\multicolumn{1}{c|}{}& \\ \hline\hline
-G & \xA7G & D & \xA7D & V & \xA7V & L & \xA7L\\ \hline
-X & \xA7X & P & \xA7P & S & \xA7S & U & \xA7U\\ \hline
-F & \xA7F & Q & \xA7Q & W & \xA7W & Z & \xA7Z\\ \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:
Modified: trunk/Master/texmf-dist/source/latex/paresse/paresse.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/paresse/paresse.dtx 2020-10-08 21:20:21 UTC (rev 56597)
+++ trunk/Master/texmf-dist/source/latex/paresse/paresse.dtx 2020-10-08 21:20:56 UTC (rev 56598)
@@ -1,414 +1,1230 @@
% \iffalse meta-comment
-%-*- coding: iso-8859-15 -*-
-% Time-stamp: <2013-02-16 10:32:18 novatux>
-% --------------------------------------------------------------------
-%
-% Copyright (C) 2011, 2013
-% by Yvon Henel alias le TeXnicien de surface
-% <le.texnicien.de.surface at 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:
+%% File: paresse.dtx
+%% Copyright (C) 2020 Yvon Henel aka Le TeXnicien de surface
+%%
+%% It may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License (LPPL), either version 1.3c of this
+%% license or (at your option) any later version. The latest version
+%% of this license is in the file
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
%
-% http://www.latex-project.org/lppl.txt
-%
-% and version 1.2 or later is part of all distributions of LaTeX
-% version 1999/12/01 or later.
-% \fi
-%
-% \iffalse
-%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<*common>
-\def\fileversion{v4.1}
-\def\filedate{2013/02/16}
-\def\fileinfo{fichier paresse par le TeXnicien de surface}
-%</common>
-%<*package>
-\ProvidesPackage{paresse}
- [\filedate\space\fileversion\space\fileinfo]
-%</package>
-% \fi
-% \iffalse
+%<*driver|package|doc>
+\RequirePackage{expl3}[2020/09/24]
+\GetIdInfo$Id: paresse.dtx 5.0 2020-10-06 TdS $
+ {}
+%</driver|package|doc>
%<*driver>
-\documentclass[a4paper]{ltxdoc}
-\usepackage[latin1]{inputenc}
-\usepackage[T1]{fontenc}
-\usepackage[tame]{paresse}
-\usepackage{xspace,url,array, ifthen}
-\IfFileExists{lmodern.sty}{\usepackage{lmodern}}{}
-\usepackage[frenchb,english]{babel}
-\usepackage{hypdoc,hologo}
+\documentclass[full, english, draft]{l3doc}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{amsmath}
+\usepackage[french,main=english]{babel}
+\usepackage{xspace}
+\usepackage{paresse}[2020-10-06]
+
\newcommand*\PS{\texttt{\S}\xspace}
\newcommand*\PSVerb[1]{\texttt{\S #1}}
\newcommand\BOP{\discretionary{}{}{}}
\newcommand\Option[1]{\textsc{#1}}
-\newcommand\Pkg[1]{\textsf{#1}}
-\newcommand\NOUVO[1][1]{%
- \ifthenelse
- {\equal{#1}{4.1}}
- {\marginpar{\hspace*{\stretch{1}}%
- \textbf{N (v4.1)}\hspace*{.5em}}}%
- {}}
-% commentez la ligne suivante pour avoir un document avec le code
-% \OnlyDescription
-% comment the preceding line to obtain a document with the code
-% puis cherchez \StopEventually pour d'\xE9ventuels r\xE9glages
-% then look for \StopEventually to make a bit of setup
-\EnableCrossrefs
-\CodelineIndex
-\RecordChanges
-
\begin{document}
- \DocInput{paresse.dtx}
+ \DocInput{\jobname.dtx}
\end{document}
%</driver>
% \fi
%
-% \CheckSum{592}
+% \title{^^A
+% The \pkg{paresse} package^^A
+% \thanks{This file describes v\ExplFileVersion, last revised \ExplFileDate.}^^A
+% }
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
+% \author{^^A
+% Yvon Henel\thanks^^A
+% {^^A
+% E-mail:
+% \href{mailto:le.texnicien.de.surface at yvon-henel.fr}
+% {le.texnicien.de.surface at yvon-henel.fr}^^A
+% }^^A
+% }
%
+% \date{Released \ExplFileDate}
%
-% \changes{v0.0}{2004/02/07}{New name, some redefinitions,
-% first public version}
+% \maketitle
+%
+% \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{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{v2.1}{2008/08/16}{Correction of a bug in Infofile, once again}
% \changes{v3}{2010/03/19}{Option for Sylvio \textsc{Levi}'s encoding}
% \changes{v4}{2011/04/16}{Documentation of the code in English}
% \changes{v4}{2011/04/16}{paresse goes utf8}
% \changes{v4.1}{2013/02/16}{Using skeyval-bc instead of (moving forward) skeyval}
+% \changes{v5.0}{2020/10/06}{Uses expl3 to replace skeyval.}
+% \changes{v5.0}{2020/10/06}{Two sub-packages.}
+% \changes{v5.0}{2020/10/06}{\cs{varsigma} is added as \PSVerb{j} to legacy encoding.}
%
-% \GetFileInfo{paresse.sty}
+% \thispagestyle{empty}
+%
+% \noindent\hrulefill
%
-% \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 at XML@charref, ^^A
-% \parse at UTFviii@a, \parse at UTFviii@b, \AtBeginDocument, ^^A
-% \@eha, \@firstofone, \@gobble,\@toks, \@latex at error, ^^A
-% \begingroup, \endgroup, \gdef, \IeC, \ifcat, \ifcsname, ^^A
-% \ifluatex, \ifxetex, \iftogoff, \iftogon, \UTFviii at tmp, ^^A
-% \UTFviii at four@octets, \UTFviii at three@octets, \UTFviii at 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 at a, \define at bitogkeys, ^^A
-% \Phi, \Psi, \Omega, \newif, \ifnum, \count@, \ensuremath, ^^A
-% \~, \", \^} ^^A
+% \bgroup
+% \begin{otherlanguage}{french}
+% \begin{abstract}
+% Cette extension, 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\).
%
-% \title{The package \Pkg{paresse}\thanks{This document corresponds
-% to file \Pkg{paresse.sty}~\fileversion, dated \filedate.}}
-% \author{Le \TeX nicien de surface\\
-% \href{mailto:le.texnicien.de.surface at wanadoo.fr}%
-% {le.texnicien.de.surface at wanadoo.fr}}
+% \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.
+%
+% Depuis la version~4, on peut utiliser cette extension même dans un source
+% codé en utf-8 avec \hologo{LaTeX}, \hologo{LuaLaTeX} ou \hologo{XeLaTeX}.
+%
+% La documentation française pour l'utilisateur de l'extension \pkg{paresse}
+% est disponible sous le nom de \texttt{paresse-fra}.
+% \end{abstract}
+% \end{otherlanguage}
+% \egroup
+%
+% \noindent\hrulefill
%
-% \maketitle
% \begin{abstract}
% This package implements an example from T.~\textsc{Lachand-Robert}
-% in~\cite{tlachand}. It provides a means of typing isolated greek
-% letters with the character \PS activated and redefined. Instead of
-% |\(\alpha\)| one types \PSVerb{a} to obtain \(\alpha\).
+% in~\cite{tlachand}. It provides a means of typing isolated greek letters
+% with the character \PS activated and redefined. Instead of |\(\alpha\)| one
+% types \PSVerb{a} to obtain \(\alpha\).
%
-% \textbf{Important}: You have to load it \textbf{after} the
-% \Pkg{inputenc} package if the latter is used. Moreover the sign
-% \PS must be a letter for \TeX.
+% \textbf{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}.
+% Since 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}.
-%
+% The English documentation for the final user of the package \pkg{paresse} is
+% available in the file \texttt{paresse-eng}.
% \end{abstract}
-% \begin{otherlanguage}{french}
-% \begin{abstract}
-% Ce module, reprenant un exemple de T.~\textsc{Lachand-Robert}
-% dans~\cite{tlachand}, fournit un moyen de taper des lettres
-% grecques isol\xE9es \xE0 l'aide du caract\xE8re \PS actif et red\xE9fini. Au
-% lieu de |\(\alpha\)| ou tape \PSVerb{a} pour obtenir
-% \(\alpha\).
-%
-% \textbf{Important} : Il doit \xEAtre charg\xE9 \textbf{apr\xE8s}
-% \Pkg{inputenc} si ce dernier est utilis\xE9. De plus, il faut
-% que le signe \PS soit une lettre pour \TeX.
%
-% \textbf{Nouveau}: avec cette version~4, on peut utiliser cette
-% extension m\xEAme dans un source cod\xE9 en utf-8 avec \hologo{LaTeX},
-% \hologo{LuaLaTeX} ou \hologo{XeLaTeX}.
+% \noindent\hrulefill
%
-% La documentation fran\xE7aise pour l'utilisateur de l'extension
-% \Pkg{paresse} est disponible sous le nom de
-% \texttt{paresse-fr.pdf}.
-% \end{abstract}
-% \end{otherlanguage}
+% \DisableDocumentation
%
-% \tableofcontents{}
+% \begin{documentation}
+% \end{documentation}
%
-% \StopEventually{
-% \begin{thebibliography}{99}
-% \addcontentsline{toc}{section}{Bibliographie}
-% \bibitem{tlachand} T.~\textsc{Lachand-Robert}.
-% \emph{La ma\xEEtrise de \TeX{} et \LaTeX{}}.
-% Masson, Paris, Milan, Barcelone, \oldstylenums{1995}.\\
-% \textsc{isbn} : \texttt{2-225-84832-7}.
-% \end{thebibliography}
-% \PrintChanges \PrintIndex}
% \iffalse
-%<*package>
+%<*doc>
+%<FRA>\documentclass[full, french]{l3doc}
+%<ENG>\documentclass[full, english]{l3doc}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+%<FRA>\usepackage[english,main=french]{babel}
+%<ENG>\usepackage[french,main=english]{babel}
+\usepackage{xparse}
+\usepackage{xspace}
+
+\usepackage[tame]{paresse}[2020-10-06]
+
+\newcommand*\PS{\texttt{\S}\xspace}
+\newcommand*\PSVerb[1]{\texttt{\S #1}}
+\newcommand\BOP{\discretionary{}{}{}}
+\newcommand\Option[1]{\textsc{#1}}
+\newcommand{\TO}{\textemdash\ \ignorespaces}
+\newcommand{\TF}{\unskip\ \textemdash\xspace}
+
+\begin{document}
+%<*FRA>
+\title{Guide de l'utilisateur de \pkg{paresse}\thanks{Ce fichier décrit la
+ version~\ExplFileVersion, dernière révision~\ExplFileDate. Édition
+ \emph{Adieu à skeyval}.}}
+%</FRA>
+%<*ENG>
+\title{\pkg{paresse} user guide\thanks{This file describes
+ version~\ExplFileVersion, last revised~\ExplFileDate. \emph{Adieu to
+ skeyval} edition.}}
+%</ENG>
+\author{Yvon Henel\thanks{E-mail:
+ \href{mailto:le.texnicien.de.surface at yvon-henel.fr}
+ {le.texnicien.de.surface at yvon-henel.fr}}}
+\maketitle
+\noindent\hrulefill
+
+\begin{abstract}
+%<*FRA>
+ Cette extension, reprenant un exemple de T.~\textsc{Lachand-Robert}
+ dans~\cite{tlachand}, fournit un moyen de taper des lettres grecques isolées
+ à l'aide du caractère \PS actif et redéfini. Au lieu de |\(\alpha\)| ou tape
+ \PSVerb{a} pour obtenir \(\alpha\).
+
+ \textbf{Important} : Il doit être chargé \textbf{après} \pkg{inputenc} si ce
+ dernier est utilisé. De plus, il faut que le signe \PS soit une lettre pour
+ \TeX.
+
+ Depuis la version~4, on peut utiliser cette extension même dans un source
+ codé en utf-8 avec \hologo{LaTeX}, \hologo{LuaLaTeX} ou \hologo{XeLaTeX}.
+%</FRA>
+%<*ENG>
+ This package implements an example from T.~\textsc{Lachand-Robert}
+ in~\cite{tlachand}. It provides a means of typing isolated greek letters
+ with the character \PS activated and redefined. Instead of |\(\alpha\)| one
+ types \PSVerb{a} to obtain \(\alpha\).
+
+ \textbf{Important}: You have to load it \textbf{after} the \pkg{inputenc}
+ package if the latter is used. Moreover the sign \PS must be a letter for
+ \TeX.
+
+ Since version~4, one can use this package even with utf8-encoded source for
+ \hologo{LaTeX}, \hologo{LuaLaTeX}, or \hologo{XeLaTeX}.
+%</ENG>
+\end{abstract}
+
+\noindent\hrulefill
+
+%<FRA> \begin{otherlanguage}{english}
+%<ENG> \begin{otherlanguage}{french}
+\begin{abstract}
+%<*FRA>
+The English documentation for the final user of the package
+\pkg{paresse} is available in the file \texttt{paresse-eng}.
+%</FRA>
+%<*ENG>
+La documentation française pour l'utilisateur de l'extension
+\pkg{paresse} est disponible sous le nom de \texttt{paresse-fra}.
+%</ENG>
+\end{abstract}
+\end{otherlanguage}
+
+\noindent\hrulefill
+\vspace{\baselineskip}
+
+\tableofcontents{}
+
+%<*FRA>
+\section{Introduction}
+\label{sec:introduction}
+
+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.
+%</FRA>
+
+
+%<*ENG>
+\section{Introduction}
+\label{sec:introduction}
+
+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.
+%</ENG>
+
+%<*FRA>
+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.
+%</FRA>
+%<*ENG>
+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.
+%</ENG>
+
+%<*FRA>
+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.
+%</FRA>
+%<*ENG>
+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.
+%</ENG>
+
+%<*FRA>
+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
+%</FRA>
+%<*ENG>
+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{}
+%</ENG>
+
+%<FRA>\subsection{Pourquoi une 5\ieme version?}
+%<ENG>\subsection{Why a 5th Version?}
+
+%<*FRA>
+\emph{Sur mon brin de laurier, je dormais comme un loir} en utilisant
+\pkg{paresse} presque quotidiennement quand il y a quelques jours, patatras!
+Plus rien ne va, je me fais insulter rien qu'à charger l'extension. Je passe sur
+les détails: la faute en revient à une modification du noyau qui vient perturber
+le code acrobatique de \pkg{skeyval}. Comme la mise à jour de la dite extension
+semble extrèmement improbable, j'ai décidé de réparer \pkg{paresse} en recourant
+aux commandes de expl3.
+
+Ce n'est donc que pour remettre en marche ce dont je me sers souvent que je
+viens soulever le capot de cette extension vieille de plus de 7~ans.
+%</FRA>
+%<*ENG>
+I was happily using \pkg{paresse} almost every day until when, some days ago,
+all hell broke loose! I was insulted just by loading \pkg{paresse}. To put it in
+a nutshell: the culprit is an improvement of the \LaTeXe{} kernel which wreaks
+havoc in the highly unconventional code of \pkg{skeyval}. As it seems very
+improbable that that package will be corrected any time soon, I've decided to
+rewrite some parts of \pkg{paresse} with expl3.
+
+So that is why I touch the more than seven-year-old code of this package.
+%</ENG>
+
+%<*FRA>
+Avec cette 5\ieme version, apparaissent deux \emph{sous}-extensions:
+\pkg{paresse-old} et \pkg{paresse-utf8} que l'on peut charger directement et qui
+offrent les mêmes options et les mêmes commandes. De fait, \pkg{paresse} charge
+l'une ou l'autre suivant la situation.
+%</FRA>
+%<*ENG>
+With this 5th version come two \emph{sub}-packages: \pkg{paresse-old} and
+\pkg{paresse-utf8} which are directly loadable. They have the same options and
+commands as \pkg{paresse} itself. In fact \pkg{paresse} loads one of them
+according to the situation.
+%</ENG>
+
+%<*FRA>
+On utilisera \pkg{paresse-utf8} uniquement si le source est codé en utf-8 et que
+l'on compile avec \texttt{latex} c.-à-d. avec le moteur \TeX{} et le format
+\LaTeX{}. Dans tous les autres cas de figure on utilisera \pkg{paresse-old}.
+%</FRA>
+%<*ENG>
+One will use \pkg{paresse-utf8} if and only if the source is utf-8 encoded and
+compiled with \texttt{latex} i.~e. with the \TeX-engine and the \LaTeX{}
+format. In all other case, on will use \pkg{paresse-old}.
+%</ENG>
+
+%<*FRA>
+La documentation de \pkg{paresse} couvre donc l'utilisation des trois
+extensions.
+%</FRA>
+%<*ENG>
+The documentation of \pkg{paresse} covers the use of the three packages.
+%</ENG>
+
+%<FRA>\subsection{Pourquoi une 4\ieme version?}
+%<ENG>\subsection{Why a 4th Version?}
+
+%<*FRA>
+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\footnote{J'ai écrit cette
+ section à l'occasion de la sortie de la 4\ieme version, en 2013.}\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.
+%</FRA>
+%<*ENG>
+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\footnote{I wrote this section in 2013 when the 4th version was
+ published.}\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.
+%</ENG>
+
+%<*FRA>
+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}.
+%</FRA>
+%<*ENG>
+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}.
+%</ENG>
+
+%<*FRA>
+J'ai profité de cette nouvelle version pour ajouter une macro en \PS:
+\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.
+%</FRA>
+%<*ENG>
+I take advantage of this new version to add a \PS-macro:
+\PSVerb{Z} which produces \S, symbol already available with
+|\S|, so I don't dare to present it as a real ``shortcut''.
+%</ENG>
+
+%<FRA>\subsection{Pourquoi une 3\ieme version?}
+%<ENG>\subsection{Why a 3rd Version?}
+
+%<*FRA>
+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}.
+%</FRA>
+%<*ENG>
+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}.
+%</ENG>
+
+%<*FRA>
+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}.
+%</FRA>
+%<*ENG>
+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.
+%</ENG>
+
+%<*FRA>
+J'en profite pour faire quelques changements cosmétiques:
+désormais toutes les macros internes \emph{secrètes}\footnote{À la mode
+ \LaTeXe{}, pour la version~5.0 j'utilise en partie expl3 et, dans ce cas,
+ le préfixe \texttt{paresse}.} ont un nom qui
+commence par \cs{GA@};
+le fichier |.dtx| est réorganisé pour faciliter la tache de
+traduction de la documentation.
+%</FRA>
+%<*ENG>
+I take advantage of this update to make some cosmetic changes: from now on
+all inner \emph{secret} macros\footnote{Macros \emph{à la mode}
+ \LaTeXe{}. As of version~5.0, partially \emph{translated} in expl3, when
+ dealing with expl3 commands and variables I use the prefix
+ \texttt{paresse}.} have a name which begins with \cs{GA@}; the |.dtx|
+file is reorganised to facilitate the translation of the documentation.
+%</ENG>
+
+%<FRA>\section{Utilisation}
+%<ENG>\section{Usage}
+
+%<*FRA>
+On charge cette extension avec |\usepackage{paresse}|. Quand on utilise
+\hologo{LaTeX} avec un codage 8-bits (comme \texttt{latin9} par exemple),
+on la charge \textbf{après} l'extension \pkg{inputenc} avec l'option
+idoine. Avec un \hologo{LaTeX} moderne \TO post 2019\TF et un source codé
+en utf-8, on n'a pas besoin de charger explicitement \pkg{inputenc}. Dans
+ce cas, \pkg{paresse} suppose que le source est codé en utf-8.
+
+Dans tous les cas il faut que le \og caractère \fg § soit reconnu par \TeX\
+comme une lettre.
+
+% On pourra, par exemple, utiliser l'option \texttt{latin1} de
+% \pkg{inputenc} pour obtenir cela.
+
+On obtiendra le même comportement, à l'exception \TO signalée dans le
+paragraphe intitulé \textbf{restriction} page~\pageref{restriction}\TF
+près, avec \pkg{inputenc} et l'option \texttt{utf8}.
+
+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.
+%</FRA>
+%<*ENG>
+One loads the package with |\usepackage{paresse}|.
+When one uses \hologo{LaTeX} with an 8-bit encoded source
+(e.g. \texttt{latin9}), one must load \pkg{paresse} \textbf{after} the
+package \pkg{inputenc} whith the correct option.
+
+In all cases 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 in
+paragraph \textbf{restriction} on page~\pageref{restriction}, with
+\pkg{inputenc} and option \texttt{utf8}.
+
+There is no such restriction when one compiles with \hologo{LuaLaTeX}
+or \hologo{XeLaTeX} a source encoded in utf-8.
+%</ENG>
+
+%<*FRA>
+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 à \pkg{paresse} l'option \Option{tame} avec
+|\usepackage[tame]|\BOP|{paresse}|. Il faut alors utiliser la commande
+\cs{ActiveLaParesse} ou l'environnement |ParesseActive| pour utiliser
+les macros en~§.
+%</FRA>
+%<*ENG>
+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]|\BOP|{paresse}|. One
+must then use the command \cs{ActiveLaParesse} or the environment
+|ParesseActive| to use the `§-macros'.
+%</ENG>
+
+%<*FRA>
+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.
+%</FRA>
+%<*ENG>
+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.
+%</ENG>
+
+\paragraph{Restriction}
+%<*FRA>
+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}
+%</FRA>
+%<*ENG>
+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}
+%</ENG>
+
+%<*ENG>
+\section{The Package Options}
+\label{sec:keys}
+
+%</ENG>
+
+%<*FRA>
+\section{Les options de l'extension}
+\label{sec:clefs}
+
+%</FRA>
+
+\begin{itemize}
+%<*FRA>
+\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 à §.
+%</FRA>
+%<*ENG>
+\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.
+%</ENG>
+
+
+%<*FRA>
+\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} tel que le donne la
+ table~\ref{codageorig}. Sinon, le codage est celui défini par Sylvio
+ \textsc{Levi}, cf. la table~\ref{codagelevi}.
+%</FRA>
+%<*ENG>
+\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} 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}.
+%</ENG>
+
+%<*FRA>
+\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.
+%</FRA>
+%<*ENG>
+\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}.
+%</ENG>
+
+%<*FRA>
+ \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.
+%</FRA>
+%<*ENG>
+\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.
+%</ENG>
+
+%<*FRA>
+\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\).
+%</FRA>
+%<*ENG>
+\item \Option{epsilon} \DescribeOption{epsilon / varepsilon} is the
+ contrary of \Option{varepsilon} which is selected by default. With
+ \Option{epsilon}, |§e| gives \(\epsilon\) otherwise |§e| gives
+ \(\varepsilon\).
+%</ENG>
+
+%<*FRA>
+\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}.
+%</FRA>
+%<*ENG>
+\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}.
+%</ENG>
+\end{itemize}
+
+%<*FRA>
+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.
+%</FRA>
+%<*ENG>
+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.
+%</ENG>
+
+%<FRA>\subsection{Commandes et environnement}
+%<ENG>\subsection{Commands and Environment}
+
+\DescribeMacro{\makeparesseletter}
+%<*FRA>
+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}.
+%</FRA>
+%<*ENG>
+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|.
+%</ENG>
+
+\DescribeMacro{\makeparesseother}
+%<*FRA>
+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|.
+%</FRA>
+%<*ENG>
+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.
+%</ENG>
+
+\DescribeMacro{\ActiveLaParesse}
+%<*FRA>
+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}.
+%</FRA>
+%<*ENG>
+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}.
+%</ENG>
+
+\DescribeEnv{ParesseActive}
+%<*FRA>
+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}.
+%</FRA>
+%<*ENG>
+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} is loaded whith the option \texttt{tame}.
+%</ENG>
+
+\newpage{}
+
+%<FRA>\subsection{Tableaux des macros}
+%<ENG>\subsection{Tables of the Macros}
+
+%<FRA>\subsubsection{Codage originel de \pkg{paresse}}
+%<ENG>\subsubsection{\pkg{paresse}'s Original Encoding}
+
+%<*FRA>
+C'est le codage actif lorsque l'on a choisit les options \Option{legacy} et
+\Option{ttheta} qui sont des options par défaut.
+
+Cette version~5.0 ajoute \(\varsigma\) obtenu avec \PSVerb{j}.
+%</FRA>
+%<*ENG>
+This is the active encoding when one choses the options \Option{legacy} and
+\Option{ttheta} which are the default.
+
+This version~5.0 adds \(\varsigma\) obtained with \PSVerb{j}.
+%</ENG>
+
+\begin{center}\Large
+\begin{ParesseActive} \label{codageorig}
+\begin{tabular}{*4{||>{\ttfamily \S}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}
+
+\vspace{2\baselineskip}
+
+\begin{center}\Large
+\begin{ParesseActive} \label{codageorig}
+\begin{tabular}{*7{||>{\ttfamily \S}c|c}||}\hline
+a&§a&b&§b&c&§c&d&§d&e&§e&f&§f\\ \hline
+g&§g&h&§h&i&§i&j&§j&k&§k&l&§l\\ \hline
+m&§m&n&§n&o& &p&§p&q&§q&r&§r\\ \hline
+s&§s&t&§t&u&§u&v&§v&w&§w&x&§x\\ \hline
+y&§y&z&§z&A& &B& &C& &D&§D\\ \hline
+E& &F&§F&G&§G&H& &I& &J& \\ \hline
+K& &L&§L&M& &N& &O& &P&§P\\ \hline
+Q&§Q&R& &S&§S&T&§T&U&§U&V&§V\\ \hline
+W&§W&X&§X&Y& &Z&§Z&\multicolumn{4}{c||}{}\\ \hline
+\end{tabular}
+\end{ParesseActive}
+\end{center}
+
+
+%<*FRA>
+\paragraph{Remarques : } à l'exception de {\ActiveLaParesse §v, §y, §q et §j}
+les lettres utilisées dans les noms des macros sont chargées de vertu
+mnémotechniques \texttt{:-)} et les capitales grecques, quand elles différent
+des capitales latines, s'obtiennent à l'aide de la majuscule correspondante.
+%</FRA>
+%<*ENG>
+\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.
+%</ENG>
+
+\pagebreak[4]
+
+%<FRA>\subsubsection{Codage de Sylvio \textsc{Levi}}
+%<ENG>\subsubsection{Sylvio \textsc{Levi}'s Encoding}
+
+%<*FRA>
+On active ce codage avec l'option \Option{Levi}.
+%</FRA>
+%<*ENG>
+One make this encoding active with the option \Option{Levi}.
+%</ENG>
+
+\begin{center}\Large
+\begin{ParesseActive} \label{codagelevi}
+\begin{tabular}{*4{||>{\ttfamily \S}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}
+
+%<*FRA>
+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:
+%</FRA>
+%<*ENG>
+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:
+%</ENG>
+
+\begin{center}
+\newcommand\CT[1]{\multicolumn{1}{c|}{\texttt{#1}}}
+\begin{ParesseActive}
+\begin{tabular}{|l|*{7}{c|}}\hline
+%<FRA>lettres grecques
+%<ENG>greek letters
+& §v & §y & §c & §q & §V & §Q & \(\varsigma\)\\\hline
+%<FRA>codage originel
+%<ENG>original encoding
+&\CT{\S{}v/\S{}t}&\CT{\S{}y/\S{}t}&\CT{\S{}c}
+&\CT{\S{}q}&\CT{\S{}V/\S{}T}&\CT{\S{}Q}& \CT{\S{}j} \\\hline
+%<FRA>codage de S. \textsc{Levi}
+%<ENG>S. \textsc{Levi}'s encoding
+&\CT{\S{}j}&\CT{\S{}t}&\CT{\S{}q}&\CT{\S{}y}
+&\CT{\S{}J}&\CT{\S{}Y} & \CT{\S{}c}\\\hline
+\end{tabular}
+\end{ParesseActive}
+\end{center}
+
+
+\vspace{\stretch{2}}
+
+\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}
+
+\vspace{\stretch{2}}
+
+\noindent\hspace*{0.2\textwidth}\hrulefill\hspace*{0.2\textwidth}
+\begin{center}
+ \textsl{Le TeXnicien de Surface scripsit.}
+\end{center}
+\noindent\hspace*{0.2\textwidth}\hrulefill\hspace*{0.2\textwidth}
+
+\vspace*{\stretch{2}}
+
+\end{document}
+%</doc>
% \fi
-% \section{The code}
+% \begin{implementation}
+%
+% \section{\pkg{paresse} implementation}
%
+% Three packages are coded below: the main one \pkg{paresse} loads one of the
+% other two \pkg{paresse-old} or \pkg{paresse-utf8} depending on the
+% \TeX{}-engine used and the encoding of the source.
%
-% \subsection{The sty file}
-%
-% From the 4th version, I have used \Pkg{skeyval} for it provides
-% toggle-keys. But times are a-changing and so is \Pkg{skeyval}.
-% From this version 4.1, I use \Pkg{skeyval-bc} which retains the old
-% ways of \Pkg{skeyval}. \Pkg{skeyval-bc} loads \Pkg{xkeyval} the
-% macros of which I use to manage options.
-%
-% \Pkg{ifluatex} and \Pkg{ifxetex} are required to take care of
-% \hologo{LuaLaTeX} and \hologo{XeLaTeX} respectively.
-%
+% \iffalse
+%<*package>
+% \fi
+% The prefix is \texttt{paresse} for the three packages.
% \begin{macrocode}
-\RequirePackage{skeyval-bc}
-\RequirePackage{ifluatex}
-\RequirePackage{ifxetex}
+%<@@=paresse>
% \end{macrocode}
+%
+% \iffalse
+%<*MAIN>
+% \fi
+% The main package \pkg{paresse} begins here.
+% \begin{macrocode}
+\ProvidesExplPackage
+ {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
+% \end{macrocode}
+% \iffalse
+%</MAIN>
+% \fi
+% \iffalse
+%<*OLD>
+% \fi
+% Header of \pkg{paresse-old}:
+% \begin{macrocode}
+\ProvidesExplPackage
+ {\ExplFileName-old}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
+% \end{macrocode}
+% \iffalse
+%</OLD>
+% \fi
+% \iffalse
+%<*UTF>
+% \fi
+% Header of \pkg{paresse-utf8}:
+% \begin{macrocode}
+\ProvidesExplPackage
+ {\ExplFileName-utf8}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
+% \end{macrocode}
+% \iffalse
+%</UTF>
+% \fi
%
-% With \cmd{\define at bitogkeys}, from \Pkg{skeyval-bc}, I define nine
-% pairs of complementary toggle keys. If one of the pair is set to
-% \texttt{true}, the other will be automatically set to \texttt{false}
-% and vice-versa.
+% The three packages require \pkg{xparse} and \pkg{l3keys2}:
% \begin{macrocode}
-\define at bitogkeys[GA]{paresse.sty}[GA@]{legacy}[true]{levi}{}{}
-\define at bitogkeys[GA]{paresse.sty}[GA@]{wild}[true]{tame}{}{}
-\define at bitogkeys[GA]{paresse.sty}[GA@]{ttau}[true]{ttheta}{}{}
-\define at bitogkeys[GA]{paresse.sty}[GA@]{varepsilon}[true]{epsilon}{}{}
-\define at bitogkeys[GA]{paresse.sty}[GA@]{varphi}[true]{phi}{}{}
-\define at bitogkeys[GA]{paresse.sty}[GA@]{pi}[true]{varpi}{}{}
-\define at bitogkeys[GA]{paresse.sty}[GA@]{sigma}[true]{varsigma}{}{}
-\define at bitogkeys[GA]{paresse.sty}[GA@]{rho}[true]{varrho}{}{}
-\define at bitogkeys[GA]{paresse.sty}[GA@]{theta}[true]{vartheta}{}{}
+\RequirePackage{xparse}
+\RequirePackage{l3keys2e}
% \end{macrocode}
+% \iffalse
+%<*MAIN>
+% \fi
+% but the main \pkg{paresse} alone requires \pkg{iftex} to proceed according to
+% the \TeX-engine.
+% \begin{macrocode}
+\RequirePackage{iftex}
+% \end{macrocode}
+% \iffalse
+%</MAIN>
+% \fi
%
-% I set the behaviour of the package in case of an unknown option
-% with \cmd{\DeclareOptionX*}, from \Pkg{xkeyval}.
+% \iffalse
+%<*!MAIN>
+% \fi
% \begin{macrocode}
-\DeclareOptionX*{\PackageError{paresse} {The option "\CurrentOption"
- is not known!\MessageBreak The default options are:\MessageBreak
- legacy, varepsilon, theta, pi, rho, sigma, and varphi.}%
- {Choose between `wild' (for an active Paresse in all the document)
- \MessageBreak and `tame', so that the character obtained by
- \string\S\MessageBreak prints the section symbol \string\S).
- \MessageBreak See the documentation for other options.}}
+\cs_if_exist:NF \@@_main_package_loaded:
+{
% \end{macrocode}
+% \iffalse
+%</!MAIN>
+% \fi
%
-% The default options are: |legacy|, |wild|, |varepsilon|,
-% |theta|, |pi|, |rho|, |sigma|, and |varphi|.
-% \changes{v3}{2010/03/20}{Default option |legacy| added}
% \begin{macrocode}
-\ExecuteOptionsX[GA]{legacy,wild,varepsilon,theta,pi,rho,sigma,varphi}
-\ProcessOptionsX[GA]\relax
+\keys_define:nn {paresse}
+{
+ encoding_is_legacy .bool_set:N = \g_@@_encoding_is_legacy_bool,
+ encoding_is_levi .bool_set_inverse:N =
+ \g_@@_encoding_is_legacy_bool,
+ legacy .meta:n = {
+ encoding_is_legacy = #1
+ },
+ legacy .default:n = {true},
+ legacy .initial:n = {true},
+ levi .meta:n = {
+ encoding_is_levi = #1
+ },
+ levi .default:n = {true},
+ levi .initial:n = {false},
+
+ mood_is_wild .bool_set:N = \g_@@_mood_is_wild_bool,
+ mood_is_tame .bool_set_inverse:N =
+ \g_@@_mood_is_wild_bool,
+ wild .meta:n = {
+ mood_is_wild = #1
+ },
+ wild .default:n = {true},
+ wild .initial:n = {true},
+ tame .meta:n = {
+ mood_is_tame = #1
+ },
+ tame .default:n = {true},
+ tame .initial:n = {false},
+
+ letter_t_is_theta .bool_set:N = \g_@@_letter_t_is_theta_bool,
+ letter_t_is_tau .bool_set_inverse:N =
+ \g_@@_letter_t_is_theta_bool,
+ theta .meta:n = {
+ letter_t_is_theta = #1
+ },
+ theta .default:n = {true},
+ theta .initial:n = {true},
+ tau .meta:n = {
+ letter_t_is_tau = #1
+ },
+ tau .default:n = {true},
+ tau .initial:n = {false},
+
+ letter_theta_is_theta .bool_set:N = \g_@@_letter_theta_is_theta_bool,
+ letter_theta_is_vartheta .bool_set_inverse:N =
+ \g_@@_letter_theta_is_theta_bool,
+ theta .meta:n = {
+ letter_theta_is_theta = #1
+ },
+ theta .default:n = {true},
+ theta .initial:n = {true},
+ vartheta .meta:n = {
+ letter_theta_is_vartheta = #1
+ },
+ vartheta .default:n = {true},
+ vartheta .initial:n = {false},
+
+ letter_pi_is_pi .bool_set:N = \g_@@_letter_pi_is_pi_bool,
+ letter_pi_is_varpi .bool_set_inverse:N =
+ \g_@@_letter_pi_is_pi_bool,
+ pi .meta:n = {
+ letter_pi_is_pi = #1
+ },
+ pi .default:n = {true},
+ pi .initial:n = {true},
+ varpi .meta:n = {
+ letter_pi_is_varpi = #1
+ },
+ varpi .default:n = {true},
+ varpi .initial:n = {false},
+
+ letter_rho_is_rho .bool_set:N = \g_@@_letter_rho_is_rho_bool,
+ letter_rho_is_varrho .bool_set_inverse:N =
+ \g_@@_letter_rho_is_rho_bool,
+ rho .meta:n = {
+ letter_rho_is_rho = #1
+ },
+ rho .default:n = {true},
+ rho .initial:n = {true},
+ varrho .meta:n = {
+ letter_rho_is_varrho = #1
+ },
+ varrho .default:n = {true},
+ varrho .initial:n = {false},
+
+ letter_sigma_is_sigma .bool_set:N = \g_@@_letter_sigma_is_sigma_bool,
+ letter_sigma_is_varsigma .bool_set_inverse:N =
+ \g_@@_letter_sigma_is_sigma_bool,
+ sigma .meta:n = {
+ letter_sigma_is_sigma = #1
+ },
+ sigma .default:n = {true},
+ sigma .initial:n = {true},
+ varsigma .meta:n = {
+ letter_sigma_is_varsigma = #1
+ },
+ varsigma .default:n = {true},
+ varsigma .initial:n = {false},
+
+ letter_epsilon_is_epsilon .bool_set:N =
+ \g_@@_letter_epsilon_is_epsilon_bool,
+ letter_epsilon_is_varepsilon .bool_set_inverse:N =
+ \g_@@_letter_epsilon_is_epsilon_bool,
+ epsilon .meta:n = {
+ letter_epsilon_is_epsilon = #1
+ },
+ epsilon .default:n = {true},
+ epsilon .initial:n = {false},
+ varepsilon .meta:n = {
+ letter_epsilon_is_varepsilon = #1
+ },
+ varepsilon .default:n = {true},
+ varepsilon .initial:n = {true},
+
+ letter_phi_is_phi .bool_set:N = \g_@@_letter_phi_is_phi_bool,
+ letter_phi_is_varphi .bool_set_inverse:N =
+ \g_@@_letter_phi_is_phi_bool,
+ phi .meta:n = {
+ letter_phi_is_phi = #1
+ },
+ phi .default:n = {true},
+ phi .initial:n = {false},
+ varphi .meta:n = {
+ letter_phi_is_varphi = #1
+ },
+ varphi .default:n = {true},
+ varphi .initial:n = {true},
+}
% \end{macrocode}
%
-% The prefix of the \emph{secret} macros of this package is
-% |GA@|. Here I define the macros which will print the correct
-% character according to the chosen options. \cs{iftogon} is provided
-% by \Pkg{skeyval-bc}.
% \begin{macrocode}
-\iftogon{GA at varepsilon}{%
- \def\GA at epsilon{\varepsilon}}{\def\GA at epsilon{\epsilon}}
-\iftogon{GA at vartheta}{\def\GA at theta{\vartheta}}{\def\GA at theta{\theta}}
-\iftogon{GA at varpi}{\def\GA at pi{\varpi}}{\def\GA at pi{\pi}}
-\iftogon{GA at varrho}{\def\GA at rho{\varrho}}{\def\GA at rho{\rho}}
-\iftogon{GA at varsigma}{\def\GA at sigma{\varsigma}}{\def\GA at sigma{\sigma}}
-\iftogon{GA at varphi}{\def\GA at phi{\varphi}}{\def\GA at phi{\phi}}
+\ProcessKeysOptions {paresse}
% \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
+\bool_if:nTF {\g_@@_letter_epsilon_is_epsilon_bool}
+{\cs_new:Npn \@@_epsilon {\epsilon}}
+{\cs_new:Npn \@@_epsilon {\varepsilon}}
+
+\bool_if:nTF {\g_@@_letter_theta_is_theta_bool}
+{\cs_new:Npn \@@_theta {\theta}}
+{\cs_new:Npn \@@_theta {\vartheta}}
+
+\bool_if:nTF {\g_@@_letter_pi_is_pi_bool}
+{\cs_new:Npn \@@_pi {\pi}}
+{\cs_new:Npn \@@_pi {\varpi}}
+
+\bool_if:nTF {\g_@@_letter_rho_is_rho_bool}
+{\cs_new:Npn \@@_rho {\rho}}
+{\cs_new:Npn \@@_rho {\varrho}}
+
+\bool_if:nTF {\g_@@_letter_sigma_is_sigma_bool}
+{\cs_new:Npn \@@_sigma {\sigma}}
+{\cs_new:Npn \@@_sigma {\varsigma}}
+
+\bool_if:nTF {\g_@@_letter_phi_is_phi_bool}
+{\cs_new:Npn \@@_phi {\phi}}
+{\cs_new:Npn \@@_phi {\varphi}}
+
+\bool_new:c {g__paresse_file_encoding_is_utf8_bool}
% \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.
+% \iffalse
+%<*!MAIN>
+% \fi
% \begin{macrocode}
-\newcommand\encoding at error{%
- \@latex at 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}.
+% \iffalse
+%</!MAIN>
+% \fi
+% \iffalse
+%<*MAIN>
+% \fi
% \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}}
+\cs_new:Nn \__paresse_main_package_loaded: {}
% \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 at encoding\encoding at error}
+\ifluatex
% \end{macrocode}
-% I create a new toggle |GA at utf8| and set it to \texttt{false}. It
-% will be used later to chose the correct action.
+% luatex specific code
% \begin{macrocode}
-\newtog[GA@]{utf8}[false]
+\PackageInfo{paresse}{compiling~with~luatex}
+\RequirePackageWithOptions{paresse-old}
+\else
% \end{macrocode}
-% A bit of code to find the declared encoding and set up the toggle
-% |GA at utf8| accordingly. There again work by Christian
-% \textsc{Tellechea}.
+% code for other engines
% \begin{macrocode}
-\newcommand\find at encoding{%
+\ifxetex
+% \end{macrocode}
+% xetex specific code
+% \begin{macrocode}
+\PackageInfo{paresse}{compiling~with~xetex}
+\RequirePackageWithOptions{paresse-old}
+\else
+% \end{macrocode}
+% nor luatex nor xetex
+% \begin{macrocode}
+
+\PackageInfo{paresse}{compiling~with~tex}
+
+\newcommand\default at encoding@message{
+ \bool_gset_true:c {g__paresse_file_encoding_is_utf8_bool}
+ \PackageWarningNoLine{paresse}{
+ The~package~"paresse"~expects~a~"utf8"~encoded~file.~
+ In~case~of~an~8~bits~encoding,~
+ please~use~inputenc~with~the~correct~option}
+}
+
+\newcommand\find at encoding{
\begingroup
- \def\utf at encoding{utf8}%
- \def\temp at a{\togoff{GA at utf8}%
- \PackageInfo{paresse}{8-bit encoding expected\@gobble}}
+ \def\utf at encoding{utf8}
+ \def\temp at a{
+ \bool_gset_false:c {g__paresse_file_encoding_is_utf8_bool}
+ \PackageInfo{paresse}{8-bit~encoding~expected\@gobble}
+ }
\ifx\utf at encoding\inputencodingname
- \def\temp at a{\togon{GA at utf8}%
- \PackageInfo{paresse}{utf8 encoding detected\@gobble}}
+ \def\temp at a{
+ \bool_gset_true:c {g__paresse_file_encoding_is_utf8_bool}
+ \PackageInfo{paresse}{utf8~encoding~detected\@gobble}
+ }
\fi
\expandafter\endgroup\temp at a}
-% \end{macrocode}
-%
-% The main action is then delayed at the beginning of the document for
-% reasons already given above. In case the utf8 encoding has been
-% detected, the file \texttt{paresseutf8.sto} is loaded, otherwise it
-% is \texttt{paresseold.sto} once again.
-%
-% \cs{makeatletter} is needed to mimic the loading of a \texttt{sty}
-% file for, at the beginning of the document, |@| is no more a
-% letter. Naturally, we must revert |@| to its non-letter status at
-% the end of the loading.
-% \begin{macrocode}
-\AtBeginDocument{%
+
+\@ifpackageloaded{inputenc}
+{
+ \PackageInfo{paresse}{inputenc~loaded}
+}
+{
+ \PackageInfo{paresse}{inputenc~not~loaded,~utf8~expected\@gobble}
+}
+
+\AtBeginDocument
+{
+ \@ifpackageloaded{inputenc} \find at encoding \default at encoding@message
+ \ExplSyntaxOn
\makeatletter
- \iftogoff{GA at 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
+ \bool_if:nTF {\use:c{g__paresse_file_encoding_is_utf8_bool}}
+ {
+ \PackageInfo{paresse}{charge~utf8}
+ \RequirePackageWithOptions{paresse-utf8}
+ }
+ {
+ \PackageInfo{paresse}{charge~vieux}
+ \RequirePackageWithOptions{paresse-old}
+ }
+ \makeatother
+ \ExplSyntaxOff
+}
+
+\fi % END OF ifxetex
+\fi % END OF ifluatex
% \end{macrocode}
-%
-% And that's all for the main file.
% \iffalse
-%</package>
+%</MAIN>
% \fi
+%
% \iffalse
-%<*oldpack>
+%<*OLD>
% \fi
-%
-%\subsection{The file paresseold.sto}
-%
-% This file will be loaded in all cases except when the working engine is
-% \hologo{LaTeX} with |[utf8]{inputenc}| loaded. |^^a7| is \TeX nical
-% code for the character I type, on my French keypad, with key \S.
-%
-% This is almost the content of the version~3 of
-% \texttt{paresse.sty}. The changes are the use of toggles provided by
-% \Pkg{skeyval-bc} and the appearance of \PSVerb{Z} to obtain \S ---
-% which is always available through \cs{S}\footnote{So could I speak
-% of \PSVerb{Z} in terms of ``shortcut''?}.
-%
% \begin{macrocode}
-\ProvidesFile{paresseold.sto}
-% \end{macrocode}
-% Presentations made, I save the current category code (catcode) of
-% the character \PS and its definition in \cs{GA at LaVieilleParesse}.
-% \begin{macrocode}
\count@=\catcode`\^^a7
\let\GA at LaVieilleParesse= ^^a7
-% \end{macrocode}
-% For sake of convienience, \PS is def'ed as |\S|.
-% \begin{macrocode}
\def\^^a7{\S}
-% \end{macrocode}
-%
-% Come some end-user macros. \cs{makeparesseletter} changes the
-% \DescribeMacro{\makeparesseletter} catcode of \PS to~\(11\) which is
-% the code of letter and \DescribeMacro{\makeparesseother}
-% \cs{makeparesseother} changes that code to~\(12\) the code of other
-% characters.
-% \begin{macrocode}
\newcommand{\makeparesseletter}{\catcode `\^^a7=11\relax}
\newcommand{\makeparesseother}{\catcode `\^^a7=12\relax}
-% \end{macrocode}
-% \cs{GA at MakeParesseActive} is an internal macro to activate \PS.
-% \DescribeMacro{\GA at 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 at MakeParesseActive}{\catcode `\^^a7=\active}
\def\GA at ActiveLaParessexii{\catcode `\^^a7=\active}
\def\GA at ActiveLaParessexiii{\catcode `\^^a7=\active
@@ -418,27 +1234,15 @@
\else
\let\GA at ActiveLaParesse \GA at ActiveLaParessexiii
\fi
-% \end{macrocode}
-%
-% It's time to provide one end-user macro and one environment useful
-% \DescribeMacro{\ActiveLaParesse}
-% \DescribeEnv{ParesseActive}
-% when the package has been loaded with option \Option{tame} to
-% locally activate \PS.
-% \begin{macrocode}
\newcommand{\ActiveLaParesse}{\GA at ActiveLaParesse}
\newenvironment{ParesseActive}{\GA at ActiveLaParesse}{}
-% \end{macrocode}
-%
-% Now come the definitions of the meanings of the \PS-macros. For
-% these definitions to work, \PS is made a letter.
-% \begin{macrocode}
+
\makeparesseletter
\def\^^a7a {\alpha}
\def\^^a7b {\beta}
\def\^^a7g {\gamma}
\def\^^a7d {\delta}
-\def\^^a7e {\GA at epsilon}
+\def\^^a7e {\__paresse_epsilon}
\def\^^a7z {\zeta}
\def\^^a7h {\eta}
\def\^^a7i {\iota}
@@ -447,39 +1251,35 @@
\def\^^a7m {\mu}
\def\^^a7n {\nu}
\def\^^a7x {\xi}
-\def\^^a7p {\GA at pi}
-\def\^^a7r {\GA at rho}
-\def\^^a7s {\GA at sigma}
+\def\^^a7p {\__paresse_pi}
+\def\^^a7r {\__paresse_rho}
+\def\^^a7s {\__paresse_sigma}
\def\^^a7u {\upsilon}
-\def\^^a7f {\GA at phi}
+\def\^^a7f {\__paresse_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 at legacy}{%
- \def\^^a7v {\GA at theta}
+
+\bool_if:nTF {\g__paresse_encoding_is_legacy_bool}
+{
+ \def\^^a7j {\varsigma}
+ \def\^^a7v {\__paresse_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 at ttau}{\def\^^a7t {\tau}}{\def\^^a7t {\GA at 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 at theta}
+ \bool_if:nTF {\g__paresse_letter_t_is_theta_bool}
+ {
+ \def\^^a7t {\__paresse_theta}
+ }
+ {
+ \def\^^a7t {\tau}
+ }
+}
+{
+ \def\^^a7j {\__paresse_theta}
\def\^^a7t {\tau}
\def\^^a7q {\chi}
\def\^^a7y {\psi}
- \def\^^a7c {\varsigma}}
-% \end{macrocode}
-% Upper case letters are treated thence:
-% \begin{macrocode}
+ \def\^^a7c {\varsigma}
+}
\def\^^a7G {\Gamma}
\def\^^a7D {\Delta}
\def\^^a7L {\Lambda}
@@ -489,75 +1289,33 @@
\def\^^a7F {\Phi}
\def\^^a7X {\Xi}
\def\^^a7W {\Omega}
-% \end{macrocode}
-% Once again \Option{legacy} vs. \Option{levi}:
-% \begin{macrocode}
-\iftogon{GA at legacy}{%
+\bool_if:nTF {\g__paresse_encoding_is_legacy_bool}
+{
\def\^^a7V {\Theta}
\def\^^a7T {\Theta}
\def\^^a7Q {\Psi}
-}{%
+}
+{
\def\^^a7J {\Theta}
\def\^^a7Y {\Psi}
-}%
-% \changes{va4}{2011/04/17}{\PSVerb{Z} added to produce \PS}
+}
\def\^^a7Z {\S}
-% \end{macrocode}
-%
-% The end is near! \PS is made active and the \PS-macros defined. This
-% is old code --- directly from~\cite{tlachand}.
-% \begin{macrocode}
\catcode `\^^a7=\active
\def^^a7#1{\ensuremath{\csname \string^^a7#1\endcsname}}
-% \end{macrocode}
-% In case option \Option{tame} is chosen, \PS is given its first
-% catcode and meaning back.
-% \begin{macrocode}
-\iftogon{GA at tame}{%
+
+\bool_if:nF {\g__paresse_mood_is_wild_bool}
+{
\catcode`\^^a7=\count@
\ifnum\count@=13 \let ^^a7=\GA at LaVieilleParesse \fi
-}%
+}
% \end{macrocode}
-%
-% And that's all for \texttt{paresseold.sto}.
-%
% \iffalse
-%</oldpack>
+%</OLD>
% \fi
% \iffalse
-%<*utf8pack>
+%<*UTF>
% \fi
-%
-%\subsection{The file paresseutf8.sto}
-%
-% This part is brand new. It deals with the document encoded in utf8
-% via |\usepackage[utf8]{fontenc}| and compiled with \hologo{LaTeX}.
-%
-% It is at the request of Christian \textsc{Tellechea} that this
-% package now deals with such source. Most of the macros of this part
-% were created by the same Christian.
-%
-% First a bit of identification
% \begin{macrocode}
-\ProvidesFile{paresseutf8.sto}
-% \end{macrocode}
-% followed by code partially taken from \texttt{utf8.def} for I wanted
-% to implement the option \Option{tame} and, to do so, needed to
-% redeclare the character \PS. Four macros are used in such a
-% redeclaration and they are made unavailable outside preamble in
-% \texttt{utf8.def}.
-%
-% The original \cs{DeclareUnicodeCharacter} depends on
-% \cs{parse at XML@charref} which itself depends on \cs{parse at UTFviii@a}
-% and \cs{parse at 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 at parse@XML at charref} in terms of the \emph{localised} version
-% of \cs{parse at UTFviii@a} and \cs{parse at UTFviii@b}.
-%
-% To be on the safe side, I repeat the invocations of catcode of
-% \texttt{utf8.def}.
-% \begin{macrocode}
\begingroup
\catcode`\"=12
\catcode`\<=12
@@ -568,125 +1326,68 @@
\catcode`\~=13
\global\let\GA at parse@UTFviii at a=\parse at UTFviii@a
\global\let\GA at parse@UTFviii at b=\parse at UTFviii@b
-\gdef\declareunicodecharacter#1#2{%
+\gdef\declareunicodecharacter#1#2{
\count@"#1\relax
- \wlog{\space\space Redefining Unicode char U+#1 (decimal \the\count@)}%
+ \wlog{\space\space Redefining~Unicode~char~U+#1~(decimal~\the\count@)}
\begingroup
\GA at parse@XML at charref
- \def\UTFviii at two@octets##1##2{\csname u8:##1\string##2\endcsname}%
- \def\UTFviii at three@octets##1##2##3{\csname u8:##1%
- \string##2\string##3\endcsname}%
- \def\UTFviii at four@octets##1##2##3##4{\csname u8:##1%
- \string##2\string##3\string##4\endcsname}%
+ \def\UTFviii at two@octets##1##2{\csname u8:##1\string##2\endcsname}
+ \def\UTFviii at three@octets##1##2##3{\csname u8:##1
+ \string##2\string##3\endcsname}
+ \def\UTFviii at 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 at tmp{\IeC{#2}}%
+ \gdef\UTFviii at tmp{\IeC{#2}}
\endgroup}
-\gdef\GA at parse@XML at charref{%
+\gdef\GA at parse@XML at 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 at parse@UTFviii at a,%
- \GA at parse@UTFviii at b C\UTFviii at two@octets.,%
+ \GA at parse@UTFviii at a,
+ \GA at parse@UTFviii at b C\UTFviii at two@octets.,
\else\ifnum\count@<"10000\relax
- \GA at parse@UTFviii at a;%
- \GA at parse@UTFviii at a,%
- \GA at parse@UTFviii at b E\UTFviii at three@octets.{,;}%
+ \GA at parse@UTFviii at a;
+ \GA at parse@UTFviii at a,
+ \GA at parse@UTFviii at b E\UTFviii at three@octets.{,;}
\else
- \GA at parse@UTFviii at a;%
- \GA at parse@UTFviii at a,%
- \GA at parse@UTFviii at a!%
- \GA at parse@UTFviii at b F\UTFviii at four@octets.{!,;}%
+ \GA at parse@UTFviii at a;
+ \GA at parse@UTFviii at a,
+ \GA at parse@UTFviii at a!
+ \GA at parse@UTFviii at b F\UTFviii at four@octets.{!,;}
\fi
\fi
\fi}
\endgroup
-% \end{macrocode}
-% Here ends the \emph{localisation}.
-%
-% I provide the same macros as in the preceding case but in such a
-% context \cs{makeparesseother} doesn't make sense. It just produces a
-% warning.
-% \begin{macrocode}
\newcommand{\makeparesseletter}{\DeclareUnicodeCharacter{00A7}\S}
-\newcommand{\makeparesseother}{%
- \PackageWarning{paresse}{%
- Command \string\makeparesseother disabled}{%
+\newcommand{\makeparesseother}{
+ \PackageWarning{paresse}{
+ Command \string\makeparesseother disabled}{
The command \string\makeparesseother would have been meaningless
in the current context}}
-% \end{macrocode}
-%
-% The end-user macro \cs{ActiveLaParesse} and the corresponding
-% environment |ParesseActive|.
-%
-% The Unicode character of code \texttt{00A7} is made equal to the
-% macro \cs{@paresse}.
-% \begin{macrocode}
\newcommand{\ActiveLaParesse}{\declareunicodecharacter{00A7}\@paresse}
\newenvironment{ParesseActive}{\ActiveLaParesse}{}
-% \end{macrocode}
-%
-% It's time to prepare the definition of the \PS-macros. To begin with
-% we activate the character \PS.
-% \begin{macrocode}
\ActiveLaParesse
-% \end{macrocode}
-%
-% And now for the \emph{working} code: when the paresse is active, the
-% byte \texttt{00A7} is an alias for \cs{@paresse} and, because of the
-% following, the code \cs{@paresse}\meta{token} is changed into
-% \cs{@i at paresse}\meta{token} with the side effect that \cs{@toks} is
-% let to \meta{token}.
-% \begin{macrocode}
\def\@paresse{\futurelet\@toks\@i at paresse}
-% \end{macrocode}
-% Then if \meta{token}, now ``in'' \cs{@toks}, has the same category
-% than \texttt{a} --- hopefully a letter --- then we obtain
-% \cs{@ii at paresse} else \cs{S}.
-%
-% \begin{macrocode}
-\def\@i at paresse{%
+\def\@i at paresse{
\csname\ifcat a\@toks @ii at paresse\else S\fi\endcsname}
-% \end{macrocode}
-% At that point, the code which was \cs{@paresse}\meta{token} is
-% either \cs{S}\meta{token} or \cs{@ii at paresse} which awaits for an
-% argument. That argument will be the still present \meta{token}.
-%
-% If the command \cs{@paresse@}\meta{token} is defined then it does
-% its job, else we obtain \cs{S}\meta{token}.
-% \begin{macrocode}
-\def\@ii at paresse#1{%
+\def\@ii at 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 at paresse@car#1#2{%
+\def\define at 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 at paresse@car Z\S
\define at paresse@car a\alpha
\define at paresse@car b\beta
\define at paresse@car g\gamma
\define at paresse@car d\delta
-\define at paresse@car e\GA at epsilon
+\define at paresse@car e\__paresse_epsilon
\define at paresse@car z\zeta
\define at paresse@car h\eta
\define at paresse@car i\iota
@@ -695,25 +1396,36 @@
\define at paresse@car m\mu
\define at paresse@car n\nu
\define at paresse@car x\xi
-\define at paresse@car p\GA at pi
-\define at paresse@car r\GA at rho
-\define at paresse@car s\GA at sigma
+\define at paresse@car p\__paresse_pi
+\define at paresse@car r\__paresse_rho
+\define at paresse@car s\__paresse_sigma
\define at paresse@car u\upsilon
-\define at paresse@car f\GA at phi
+\define at paresse@car f\__paresse_phi
\define at paresse@car w\omega
-\iftogon{GA at legacy}{%
- \define at paresse@car v\GA at theta
+
+\bool_if:nTF {\g__paresse_encoding_is_legacy_bool}
+{
+ \define at paresse@car j\varsigma
+ \define at paresse@car v\__paresse_theta
\define at paresse@car y\tau
\define at paresse@car c\chi
\define at paresse@car q\psi
- \iftogon{GA at ttau}{%
- \define at paresse@car t\tau}{%
- \define at paresse@car t\GA at theta}}{%
- \define at paresse@car j\GA at theta
+
+ \bool_if:nTF {\g__paresse_letter_t_is_theta_bool}
+ {
+ \define at paresse@car t\__paresse_theta
+ }
+ {
+ \define at paresse@car t\tau
+ }
+}
+{
+ \define at paresse@car j\__paresse_theta
\define at paresse@car t\tau
\define at paresse@car q\chi
\define at paresse@car y\psi
- \define at paresse@car c\varsigma}
+ \define at paresse@car c\varsigma
+}
\define at paresse@car G\Gamma
\define at paresse@car D\Delta
\define at paresse@car L\Lambda
@@ -723,30 +1435,44 @@
\define at paresse@car F\Phi
\define at paresse@car X\Xi
\define at paresse@car W\Omega
-\iftogon{GA at legacy}{%
+
+\bool_if:nTF {\g__paresse_encoding_is_legacy_bool}
+{
\define at paresse@car V\Theta
\define at paresse@car T\Theta
- \define at paresse@car Q\Psi}{%
+ \define at paresse@car Q\Psi
+}
+{
\define at paresse@car J\Theta
- \define at paresse@car Y\Psi}%
+ \define at paresse@car Y\Psi
+}
+
+\bool_if:nF {\g__paresse_mood_is_wild_bool}{\makeparesseletter}
% \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 at tame}{\makeparesseletter}
-% \end{macrocode}
-%
-% And that's all for the file \texttt{paresseutf8.sto}.
% \iffalse
-%</utf8pack>
+%</UTF>
% \fi
+%
+% \iffalse
+%</package>
+% \fi
+%
+% \end{implementation}
+%
% \Finale
+% \begin{thebibliography}{99}
+% \addcontentsline{toc}{section}{Bibliographie}
+% \bibitem{tlachand} T.~\textsc{Lachand-Robert}.
+% \emph{La maîtrise de \TeX{} et \LaTeX{}}.
+% Masson, Paris, Milan, Barcelone, \oldstylenums{1995}.
+% \textsc{isbn} : \texttt{2-225-84832-7}.
+% \end{thebibliography}
+% \PrintChanges\PrintIndex
+%
\endinput
%%% Local Variables:
%%% mode: doctex
-%%% fill-column: 70
-%%% coding: iso-8859-15
+%%% coding: utf-8
+%%% fill-column: 80
%%% TeX-master: t
%%% End:
-
Modified: trunk/Master/texmf-dist/source/latex/paresse/paresse.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/paresse/paresse.ins 2020-10-08 21:20:21 UTC (rev 56597)
+++ trunk/Master/texmf-dist/source/latex/paresse/paresse.ins 2020-10-08 21:20:56 UTC (rev 56598)
@@ -1,64 +1,36 @@
-%%
-%% Copyright (C) 2011, 2013
-%% by Yvon Henel alias Le TeXnicien de surface
-%% <le.texnicien.de.surface at wanadoo.fr>
-%%
-%% This file may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License, either version 1.2 of this license
-%% or (at your option) any later version. The latest version of this
-%% license is in:
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% and version 1.2 or later is part of all distributions of LaTeX version
-%% 1999/12/01 or later.
-%%
-\input docstrip.tex
-\keepsilent
-\preamble
-This is a generated file.
+\iffalse meta-comment
-Copyright (C) 2011, 2013
-by Yvon Henel, alias le TeXnicien de surface
-<le.texnicien.de.surface at wanadoo.fr>
+File paresse.ins Copyright (C) 2020 Yvon Henel
-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:
+It may be distributed and/or modified under the conditions of the
+LaTeX Project Public License (LPPL), either version 1.3c of this
+license or (at your option) any later version. The latest version
+of this license is in the file
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
+
+\input l3docstrip.tex
+\askforoverwritefalse
+
+\preamble
+
+Do not distribute this file without also distributing the
+source files specified above.
+
+Do not distribute a modified version of this file.
+
\endpreamble
-\askforoverwritefalse
+\keepsilent
+
\generate{
- \file{paresse.sty}{\from{paresse.dtx}{common,package}}
- \file{paresseold.sto}{\from{paresse.dtx}{oldpack}}
- \file{paresseutf8.sto}{\from{paresse.dtx}{utf8pack}}
- \file{common.tex}{\from{paresse.dtx}{common}}
- \file{paresse-en.ltx}{\from{paresse-doc.dtx}{doc,en}}
- \file{paresse-fr.ltx}{\from{paresse-doc.dtx}{doc,fr}}
- \file{paresse-ex-fr.elx}{\from{paresse-doc.dtx}{exemple,fr}}
- \file{paresse-ex-en.elx}{\from{paresse-doc.dtx}{exemple,en}}
- }
-\obeyspaces
-\Msg{*****************************************************************}
-\Msg{* *}
-\Msg{* To finish the installation you have to move the following *}
-\Msg{* file into a directory searched by TeX: *}
-\Msg{* paresse.sty *}
-\Msg{*****************************************************************}
-\Msg{* Pour finir l'installation vous devez placer *}
-\Msg{* le fichier suivant dans un dossier parcouru par TeX: *}
-\Msg{* paresse.sty *}
-\Msg{* *}
-\Msg{* To produce the documentation read the README file *}
-\Msg{* Pour produire la documentation lire le fichier LISEZMOI *}
-\Msg{* *}
-\Msg{** Happy TeXing **}
-\Msg{** TeXez dans la joie ! **}
-\Msg{*****************************************************************}
+ \file{paresse.sty}{\from{paresse.dtx}{package,MAIN}}
+ \file{paresse-old.sty}{\from{paresse.dtx}{package,OLD}}
+ \file{paresse-utf8.sty}{\from{paresse.dtx}{package,UTF}}
+ \file{paresse-fra.tex}{\from{paresse.dtx}{doc,FRA}}
+ \file{paresse-eng.tex}{\from{paresse.dtx}{doc,ENG}}
+}
+
\endbatchfile
Added: trunk/Master/texmf-dist/tex/latex/paresse/paresse-old.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/paresse/paresse-old.sty (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/paresse/paresse-old.sty 2020-10-08 21:20:56 UTC (rev 56598)
@@ -0,0 +1,279 @@
+%%
+%% This is file `paresse-old.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% paresse.dtx (with options: `package,OLD')
+%%
+%% Do not distribute this file without also distributing the
+%% source files specified above.
+%%
+%% Do not distribute a modified version of this file.
+%%
+%% File: paresse.dtx
+%% Copyright (C) 2020 Yvon Henel aka Le TeXnicien de surface
+%%
+%% It may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License (LPPL), either version 1.3c of this
+%% license or (at your option) any later version. The latest version
+%% of this license is in the file
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+\RequirePackage{expl3}[2020/09/24]
+\GetIdInfo$Id: paresse.dtx 5.0 2020-10-06 TdS $
+ {}
+\ProvidesExplPackage
+ {\ExplFileName-old}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
+\RequirePackage{xparse}
+\RequirePackage{l3keys2e}
+\cs_if_exist:NF \__paresse_main_package_loaded:
+{
+\keys_define:nn {paresse}
+{
+ encoding_is_legacy .bool_set:N = \g__paresse_encoding_is_legacy_bool,
+ encoding_is_levi .bool_set_inverse:N =
+ \g__paresse_encoding_is_legacy_bool,
+ legacy .meta:n = {
+ encoding_is_legacy = #1
+ },
+ legacy .default:n = {true},
+ legacy .initial:n = {true},
+ levi .meta:n = {
+ encoding_is_levi = #1
+ },
+ levi .default:n = {true},
+ levi .initial:n = {false},
+
+ mood_is_wild .bool_set:N = \g__paresse_mood_is_wild_bool,
+ mood_is_tame .bool_set_inverse:N =
+ \g__paresse_mood_is_wild_bool,
+ wild .meta:n = {
+ mood_is_wild = #1
+ },
+ wild .default:n = {true},
+ wild .initial:n = {true},
+ tame .meta:n = {
+ mood_is_tame = #1
+ },
+ tame .default:n = {true},
+ tame .initial:n = {false},
+
+ letter_t_is_theta .bool_set:N = \g__paresse_letter_t_is_theta_bool,
+ letter_t_is_tau .bool_set_inverse:N =
+ \g__paresse_letter_t_is_theta_bool,
+ theta .meta:n = {
+ letter_t_is_theta = #1
+ },
+ theta .default:n = {true},
+ theta .initial:n = {true},
+ tau .meta:n = {
+ letter_t_is_tau = #1
+ },
+ tau .default:n = {true},
+ tau .initial:n = {false},
+
+ letter_theta_is_theta .bool_set:N = \g__paresse_letter_theta_is_theta_bool,
+ letter_theta_is_vartheta .bool_set_inverse:N =
+ \g__paresse_letter_theta_is_theta_bool,
+ theta .meta:n = {
+ letter_theta_is_theta = #1
+ },
+ theta .default:n = {true},
+ theta .initial:n = {true},
+ vartheta .meta:n = {
+ letter_theta_is_vartheta = #1
+ },
+ vartheta .default:n = {true},
+ vartheta .initial:n = {false},
+
+ letter_pi_is_pi .bool_set:N = \g__paresse_letter_pi_is_pi_bool,
+ letter_pi_is_varpi .bool_set_inverse:N =
+ \g__paresse_letter_pi_is_pi_bool,
+ pi .meta:n = {
+ letter_pi_is_pi = #1
+ },
+ pi .default:n = {true},
+ pi .initial:n = {true},
+ varpi .meta:n = {
+ letter_pi_is_varpi = #1
+ },
+ varpi .default:n = {true},
+ varpi .initial:n = {false},
+
+ letter_rho_is_rho .bool_set:N = \g__paresse_letter_rho_is_rho_bool,
+ letter_rho_is_varrho .bool_set_inverse:N =
+ \g__paresse_letter_rho_is_rho_bool,
+ rho .meta:n = {
+ letter_rho_is_rho = #1
+ },
+ rho .default:n = {true},
+ rho .initial:n = {true},
+ varrho .meta:n = {
+ letter_rho_is_varrho = #1
+ },
+ varrho .default:n = {true},
+ varrho .initial:n = {false},
+
+ letter_sigma_is_sigma .bool_set:N = \g__paresse_letter_sigma_is_sigma_bool,
+ letter_sigma_is_varsigma .bool_set_inverse:N =
+ \g__paresse_letter_sigma_is_sigma_bool,
+ sigma .meta:n = {
+ letter_sigma_is_sigma = #1
+ },
+ sigma .default:n = {true},
+ sigma .initial:n = {true},
+ varsigma .meta:n = {
+ letter_sigma_is_varsigma = #1
+ },
+ varsigma .default:n = {true},
+ varsigma .initial:n = {false},
+
+ letter_epsilon_is_epsilon .bool_set:N =
+ \g__paresse_letter_epsilon_is_epsilon_bool,
+ letter_epsilon_is_varepsilon .bool_set_inverse:N =
+ \g__paresse_letter_epsilon_is_epsilon_bool,
+ epsilon .meta:n = {
+ letter_epsilon_is_epsilon = #1
+ },
+ epsilon .default:n = {true},
+ epsilon .initial:n = {false},
+ varepsilon .meta:n = {
+ letter_epsilon_is_varepsilon = #1
+ },
+ varepsilon .default:n = {true},
+ varepsilon .initial:n = {true},
+
+ letter_phi_is_phi .bool_set:N = \g__paresse_letter_phi_is_phi_bool,
+ letter_phi_is_varphi .bool_set_inverse:N =
+ \g__paresse_letter_phi_is_phi_bool,
+ phi .meta:n = {
+ letter_phi_is_phi = #1
+ },
+ phi .default:n = {true},
+ phi .initial:n = {false},
+ varphi .meta:n = {
+ letter_phi_is_varphi = #1
+ },
+ varphi .default:n = {true},
+ varphi .initial:n = {true},
+}
+\ProcessKeysOptions {paresse}
+\bool_if:nTF {\g__paresse_letter_epsilon_is_epsilon_bool}
+{\cs_new:Npn \__paresse_epsilon {\epsilon}}
+{\cs_new:Npn \__paresse_epsilon {\varepsilon}}
+
+\bool_if:nTF {\g__paresse_letter_theta_is_theta_bool}
+{\cs_new:Npn \__paresse_theta {\theta}}
+{\cs_new:Npn \__paresse_theta {\vartheta}}
+
+\bool_if:nTF {\g__paresse_letter_pi_is_pi_bool}
+{\cs_new:Npn \__paresse_pi {\pi}}
+{\cs_new:Npn \__paresse_pi {\varpi}}
+
+\bool_if:nTF {\g__paresse_letter_rho_is_rho_bool}
+{\cs_new:Npn \__paresse_rho {\rho}}
+{\cs_new:Npn \__paresse_rho {\varrho}}
+
+\bool_if:nTF {\g__paresse_letter_sigma_is_sigma_bool}
+{\cs_new:Npn \__paresse_sigma {\sigma}}
+{\cs_new:Npn \__paresse_sigma {\varsigma}}
+
+\bool_if:nTF {\g__paresse_letter_phi_is_phi_bool}
+{\cs_new:Npn \__paresse_phi {\phi}}
+{\cs_new:Npn \__paresse_phi {\varphi}}
+
+\bool_new:c {g__paresse_file_encoding_is_utf8_bool}
+}
+\count@=\catcode`\^^a7
+\let\GA at LaVieilleParesse= ^^a7
+\def\^^a7{\S}
+\newcommand{\makeparesseletter}{\catcode `\^^a7=11\relax}
+\newcommand{\makeparesseother}{\catcode `\^^a7=12\relax}
+\newcommand{\GA at MakeParesseActive}{\catcode `\^^a7=\active}
+\def\GA at ActiveLaParessexii{\catcode `\^^a7=\active}
+\def\GA at ActiveLaParessexiii{\catcode `\^^a7=\active
+ \def^^a7##1{\ensuremath{\csname \string^^a7##1\endcsname}}}
+\ifnum\count@=12
+ \let\GA at ActiveLaParesse \GA at ActiveLaParessexii
+\else
+ \let\GA at ActiveLaParesse \GA at ActiveLaParessexiii
+\fi
+\newcommand{\ActiveLaParesse}{\GA at ActiveLaParesse}
+\newenvironment{ParesseActive}{\GA at ActiveLaParesse}{}
+
+\makeparesseletter
+\def\^^a7a {\alpha}
+\def\^^a7b {\beta}
+\def\^^a7g {\gamma}
+\def\^^a7d {\delta}
+\def\^^a7e {\__paresse_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 {\__paresse_pi}
+\def\^^a7r {\__paresse_rho}
+\def\^^a7s {\__paresse_sigma}
+\def\^^a7u {\upsilon}
+\def\^^a7f {\__paresse_phi}
+\def\^^a7w {\omega}
+
+\bool_if:nTF {\g__paresse_encoding_is_legacy_bool}
+{
+ \def\^^a7j {\varsigma}
+ \def\^^a7v {\__paresse_theta}
+ \def\^^a7y {\tau}
+ \def\^^a7c {\chi}
+ \def\^^a7q {\psi}
+ \bool_if:nTF {\g__paresse_letter_t_is_theta_bool}
+ {
+ \def\^^a7t {\__paresse_theta}
+ }
+ {
+ \def\^^a7t {\tau}
+ }
+}
+{
+ \def\^^a7j {\__paresse_theta}
+ \def\^^a7t {\tau}
+ \def\^^a7q {\chi}
+ \def\^^a7y {\psi}
+ \def\^^a7c {\varsigma}
+}
+\def\^^a7G {\Gamma}
+\def\^^a7D {\Delta}
+\def\^^a7L {\Lambda}
+\def\^^a7P {\Pi}
+\def\^^a7S {\Sigma}
+\def\^^a7U {\Upsilon}
+\def\^^a7F {\Phi}
+\def\^^a7X {\Xi}
+\def\^^a7W {\Omega}
+\bool_if:nTF {\g__paresse_encoding_is_legacy_bool}
+{
+ \def\^^a7V {\Theta}
+ \def\^^a7T {\Theta}
+ \def\^^a7Q {\Psi}
+}
+{
+ \def\^^a7J {\Theta}
+ \def\^^a7Y {\Psi}
+}
+\def\^^a7Z {\S}
+\catcode `\^^a7=\active
+\def^^a7#1{\ensuremath{\csname \string^^a7#1\endcsname}}
+
+\bool_if:nF {\g__paresse_mood_is_wild_bool}
+{
+ \catcode`\^^a7=\count@
+ \ifnum\count@=13 \let ^^a7=\GA at LaVieilleParesse \fi
+}
+\endinput
+%%
+%% End of file `paresse-old.sty'.
Property changes on: trunk/Master/texmf-dist/tex/latex/paresse/paresse-old.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/paresse/paresse-utf8.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/paresse/paresse-utf8.sty (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/paresse/paresse-utf8.sty 2020-10-08 21:20:56 UTC (rev 56598)
@@ -0,0 +1,323 @@
+%%
+%% This is file `paresse-utf8.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% paresse.dtx (with options: `package,UTF')
+%%
+%% Do not distribute this file without also distributing the
+%% source files specified above.
+%%
+%% Do not distribute a modified version of this file.
+%%
+%% File: paresse.dtx
+%% Copyright (C) 2020 Yvon Henel aka Le TeXnicien de surface
+%%
+%% It may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License (LPPL), either version 1.3c of this
+%% license or (at your option) any later version. The latest version
+%% of this license is in the file
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+\RequirePackage{expl3}[2020/09/24]
+\GetIdInfo$Id: paresse.dtx 5.0 2020-10-06 TdS $
+ {}
+\ProvidesExplPackage
+ {\ExplFileName-utf8}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
+\RequirePackage{xparse}
+\RequirePackage{l3keys2e}
+\cs_if_exist:NF \__paresse_main_package_loaded:
+{
+\keys_define:nn {paresse}
+{
+ encoding_is_legacy .bool_set:N = \g__paresse_encoding_is_legacy_bool,
+ encoding_is_levi .bool_set_inverse:N =
+ \g__paresse_encoding_is_legacy_bool,
+ legacy .meta:n = {
+ encoding_is_legacy = #1
+ },
+ legacy .default:n = {true},
+ legacy .initial:n = {true},
+ levi .meta:n = {
+ encoding_is_levi = #1
+ },
+ levi .default:n = {true},
+ levi .initial:n = {false},
+
+ mood_is_wild .bool_set:N = \g__paresse_mood_is_wild_bool,
+ mood_is_tame .bool_set_inverse:N =
+ \g__paresse_mood_is_wild_bool,
+ wild .meta:n = {
+ mood_is_wild = #1
+ },
+ wild .default:n = {true},
+ wild .initial:n = {true},
+ tame .meta:n = {
+ mood_is_tame = #1
+ },
+ tame .default:n = {true},
+ tame .initial:n = {false},
+
+ letter_t_is_theta .bool_set:N = \g__paresse_letter_t_is_theta_bool,
+ letter_t_is_tau .bool_set_inverse:N =
+ \g__paresse_letter_t_is_theta_bool,
+ theta .meta:n = {
+ letter_t_is_theta = #1
+ },
+ theta .default:n = {true},
+ theta .initial:n = {true},
+ tau .meta:n = {
+ letter_t_is_tau = #1
+ },
+ tau .default:n = {true},
+ tau .initial:n = {false},
+
+ letter_theta_is_theta .bool_set:N = \g__paresse_letter_theta_is_theta_bool,
+ letter_theta_is_vartheta .bool_set_inverse:N =
+ \g__paresse_letter_theta_is_theta_bool,
+ theta .meta:n = {
+ letter_theta_is_theta = #1
+ },
+ theta .default:n = {true},
+ theta .initial:n = {true},
+ vartheta .meta:n = {
+ letter_theta_is_vartheta = #1
+ },
+ vartheta .default:n = {true},
+ vartheta .initial:n = {false},
+
+ letter_pi_is_pi .bool_set:N = \g__paresse_letter_pi_is_pi_bool,
+ letter_pi_is_varpi .bool_set_inverse:N =
+ \g__paresse_letter_pi_is_pi_bool,
+ pi .meta:n = {
+ letter_pi_is_pi = #1
+ },
+ pi .default:n = {true},
+ pi .initial:n = {true},
+ varpi .meta:n = {
+ letter_pi_is_varpi = #1
+ },
+ varpi .default:n = {true},
+ varpi .initial:n = {false},
+
+ letter_rho_is_rho .bool_set:N = \g__paresse_letter_rho_is_rho_bool,
+ letter_rho_is_varrho .bool_set_inverse:N =
+ \g__paresse_letter_rho_is_rho_bool,
+ rho .meta:n = {
+ letter_rho_is_rho = #1
+ },
+ rho .default:n = {true},
+ rho .initial:n = {true},
+ varrho .meta:n = {
+ letter_rho_is_varrho = #1
+ },
+ varrho .default:n = {true},
+ varrho .initial:n = {false},
+
+ letter_sigma_is_sigma .bool_set:N = \g__paresse_letter_sigma_is_sigma_bool,
+ letter_sigma_is_varsigma .bool_set_inverse:N =
+ \g__paresse_letter_sigma_is_sigma_bool,
+ sigma .meta:n = {
+ letter_sigma_is_sigma = #1
+ },
+ sigma .default:n = {true},
+ sigma .initial:n = {true},
+ varsigma .meta:n = {
+ letter_sigma_is_varsigma = #1
+ },
+ varsigma .default:n = {true},
+ varsigma .initial:n = {false},
+
+ letter_epsilon_is_epsilon .bool_set:N =
+ \g__paresse_letter_epsilon_is_epsilon_bool,
+ letter_epsilon_is_varepsilon .bool_set_inverse:N =
+ \g__paresse_letter_epsilon_is_epsilon_bool,
+ epsilon .meta:n = {
+ letter_epsilon_is_epsilon = #1
+ },
+ epsilon .default:n = {true},
+ epsilon .initial:n = {false},
+ varepsilon .meta:n = {
+ letter_epsilon_is_varepsilon = #1
+ },
+ varepsilon .default:n = {true},
+ varepsilon .initial:n = {true},
+
+ letter_phi_is_phi .bool_set:N = \g__paresse_letter_phi_is_phi_bool,
+ letter_phi_is_varphi .bool_set_inverse:N =
+ \g__paresse_letter_phi_is_phi_bool,
+ phi .meta:n = {
+ letter_phi_is_phi = #1
+ },
+ phi .default:n = {true},
+ phi .initial:n = {false},
+ varphi .meta:n = {
+ letter_phi_is_varphi = #1
+ },
+ varphi .default:n = {true},
+ varphi .initial:n = {true},
+}
+\ProcessKeysOptions {paresse}
+\bool_if:nTF {\g__paresse_letter_epsilon_is_epsilon_bool}
+{\cs_new:Npn \__paresse_epsilon {\epsilon}}
+{\cs_new:Npn \__paresse_epsilon {\varepsilon}}
+
+\bool_if:nTF {\g__paresse_letter_theta_is_theta_bool}
+{\cs_new:Npn \__paresse_theta {\theta}}
+{\cs_new:Npn \__paresse_theta {\vartheta}}
+
+\bool_if:nTF {\g__paresse_letter_pi_is_pi_bool}
+{\cs_new:Npn \__paresse_pi {\pi}}
+{\cs_new:Npn \__paresse_pi {\varpi}}
+
+\bool_if:nTF {\g__paresse_letter_rho_is_rho_bool}
+{\cs_new:Npn \__paresse_rho {\rho}}
+{\cs_new:Npn \__paresse_rho {\varrho}}
+
+\bool_if:nTF {\g__paresse_letter_sigma_is_sigma_bool}
+{\cs_new:Npn \__paresse_sigma {\sigma}}
+{\cs_new:Npn \__paresse_sigma {\varsigma}}
+
+\bool_if:nTF {\g__paresse_letter_phi_is_phi_bool}
+{\cs_new:Npn \__paresse_phi {\phi}}
+{\cs_new:Npn \__paresse_phi {\varphi}}
+
+\bool_new:c {g__paresse_file_encoding_is_utf8_bool}
+}
+\begingroup
+\catcode`\"=12
+\catcode`\<=12
+\catcode`\.=12
+\catcode`\,=12
+\catcode`\;=12
+\catcode`\!=12
+\catcode`\~=13
+\global\let\GA at parse@UTFviii at a=\parse at UTFviii@a
+\global\let\GA at parse@UTFviii at b=\parse at UTFviii@b
+\gdef\declareunicodecharacter#1#2{
+ \count@"#1\relax
+ \wlog{\space\space Redefining~Unicode~char~U+#1~(decimal~\the\count@)}
+ \begingroup
+ \GA at parse@XML at charref
+ \def\UTFviii at two@octets##1##2{\csname u8:##1\string##2\endcsname}
+ \def\UTFviii at three@octets##1##2##3{\csname u8:##1
+ \string##2\string##3\endcsname}
+ \def\UTFviii at 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 at tmp{\IeC{#2}}
+ \endgroup}
+\gdef\GA at parse@XML at 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 at parse@UTFviii at a,
+ \GA at parse@UTFviii at b C\UTFviii at two@octets.,
+ \else\ifnum\count@<"10000\relax
+ \GA at parse@UTFviii at a;
+ \GA at parse@UTFviii at a,
+ \GA at parse@UTFviii at b E\UTFviii at three@octets.{,;}
+ \else
+ \GA at parse@UTFviii at a;
+ \GA at parse@UTFviii at a,
+ \GA at parse@UTFviii at a!
+ \GA at parse@UTFviii at b F\UTFviii at four@octets.{!,;}
+ \fi
+ \fi
+\fi}
+\endgroup
+\newcommand{\makeparesseletter}{\DeclareUnicodeCharacter{00A7}\S}
+\newcommand{\makeparesseother}{
+ \PackageWarning{paresse}{
+ Command \string\makeparesseother disabled}{
+ The command \string\makeparesseother would have been meaningless
+ in the current context}}
+\newcommand{\ActiveLaParesse}{\declareunicodecharacter{00A7}\@paresse}
+\newenvironment{ParesseActive}{\ActiveLaParesse}{}
+\ActiveLaParesse
+\def\@paresse{\futurelet\@toks\@i at paresse}
+\def\@i at paresse{
+ \csname\ifcat a\@toks @ii at paresse\else S\fi\endcsname}
+\def\@ii at paresse#1{
+ \ifcsname @paresse@#1\endcsname
+ \csname @paresse@#1\endcsname\expandafter\@gobble
+ \else
+ \expandafter\@firstofone
+ \fi{\S#1}}
+\def\define at paresse@car#1#2{
+ \expandafter\def\csname @paresse@#1\endcsname{\ensuremath{#2}}}
+
+\define at paresse@car Z\S
+\define at paresse@car a\alpha
+\define at paresse@car b\beta
+\define at paresse@car g\gamma
+\define at paresse@car d\delta
+\define at paresse@car e\__paresse_epsilon
+\define at paresse@car z\zeta
+\define at paresse@car h\eta
+\define at paresse@car i\iota
+\define at paresse@car k\kappa
+\define at paresse@car l\lambda
+\define at paresse@car m\mu
+\define at paresse@car n\nu
+\define at paresse@car x\xi
+\define at paresse@car p\__paresse_pi
+\define at paresse@car r\__paresse_rho
+\define at paresse@car s\__paresse_sigma
+\define at paresse@car u\upsilon
+\define at paresse@car f\__paresse_phi
+\define at paresse@car w\omega
+
+\bool_if:nTF {\g__paresse_encoding_is_legacy_bool}
+{
+ \define at paresse@car j\varsigma
+ \define at paresse@car v\__paresse_theta
+ \define at paresse@car y\tau
+ \define at paresse@car c\chi
+ \define at paresse@car q\psi
+
+ \bool_if:nTF {\g__paresse_letter_t_is_theta_bool}
+ {
+ \define at paresse@car t\__paresse_theta
+ }
+ {
+ \define at paresse@car t\tau
+ }
+}
+{
+ \define at paresse@car j\__paresse_theta
+ \define at paresse@car t\tau
+ \define at paresse@car q\chi
+ \define at paresse@car y\psi
+ \define at paresse@car c\varsigma
+}
+\define at paresse@car G\Gamma
+\define at paresse@car D\Delta
+\define at paresse@car L\Lambda
+\define at paresse@car P\Pi
+\define at paresse@car S\Sigma
+\define at paresse@car U\Upsilon
+\define at paresse@car F\Phi
+\define at paresse@car X\Xi
+\define at paresse@car W\Omega
+
+\bool_if:nTF {\g__paresse_encoding_is_legacy_bool}
+{
+ \define at paresse@car V\Theta
+ \define at paresse@car T\Theta
+ \define at paresse@car Q\Psi
+}
+{
+ \define at paresse@car J\Theta
+ \define at paresse@car Y\Psi
+}
+
+\bool_if:nF {\g__paresse_mood_is_wild_bool}{\makeparesseletter}
+\endinput
+%%
+%% End of file `paresse-utf8.sty'.
Property changes on: trunk/Master/texmf-dist/tex/latex/paresse/paresse-utf8.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/paresse/paresse.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/paresse/paresse.sty 2020-10-08 21:20:21 UTC (rev 56597)
+++ trunk/Master/texmf-dist/tex/latex/paresse/paresse.sty 2020-10-08 21:20:56 UTC (rev 56598)
@@ -4,109 +4,249 @@
%%
%% The original source files were:
%%
-%% paresse.dtx (with options: `common,package')
-%% This is a generated file.
+%% paresse.dtx (with options: `package,MAIN')
%%
-%% Copyright (C) 2011, 2013
-%% by Yvon Henel, alias le TeXnicien de surface
-%% <le.texnicien.de.surface at wanadoo.fr>
+%% Do not distribute this file without also distributing the
+%% source files specified above.
%%
-%% 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:
+%% Do not distribute a modified version of this file.
%%
+%% File: paresse.dtx
+%% Copyright (C) 2020 Yvon Henel aka Le TeXnicien de surface
+%%
+%% It may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License (LPPL), either version 1.3c of this
+%% license or (at your option) any later version. The latest version
+%% of this license is in the file
+%%
%% http://www.latex-project.org/lppl.txt
-%%
-%% and version 1.2 or later is part of all distributions of LaTeX
-%% version 1999/12/01 or later.
-\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\def\fileversion{v4.1}
-\def\filedate{2013/02/16}
-\def\fileinfo{fichier paresse par le TeXnicien de surface}
-\ProvidesPackage{paresse}
- [\filedate\space\fileversion\space\fileinfo]
-\RequirePackage{skeyval-bc}
-\RequirePackage{ifluatex}
-\RequirePackage{ifxetex}
-\define at bitogkeys[GA]{paresse.sty}[GA@]{legacy}[true]{levi}{}{}
-\define at bitogkeys[GA]{paresse.sty}[GA@]{wild}[true]{tame}{}{}
-\define at bitogkeys[GA]{paresse.sty}[GA@]{ttau}[true]{ttheta}{}{}
-\define at bitogkeys[GA]{paresse.sty}[GA@]{varepsilon}[true]{epsilon}{}{}
-\define at bitogkeys[GA]{paresse.sty}[GA@]{varphi}[true]{phi}{}{}
-\define at bitogkeys[GA]{paresse.sty}[GA@]{pi}[true]{varpi}{}{}
-\define at bitogkeys[GA]{paresse.sty}[GA@]{sigma}[true]{varsigma}{}{}
-\define at bitogkeys[GA]{paresse.sty}[GA@]{rho}[true]{varrho}{}{}
-\define at bitogkeys[GA]{paresse.sty}[GA@]{theta}[true]{vartheta}{}{}
-\DeclareOptionX*{\PackageError{paresse} {The option "\CurrentOption"
- is not known!\MessageBreak The default options are:\MessageBreak
- legacy, varepsilon, theta, pi, rho, sigma, and varphi.}%
- {Choose between `wild' (for an active Paresse in all the document)
- \MessageBreak and `tame', so that the character obtained by
- \string\S\MessageBreak prints the section symbol \string\S).
- \MessageBreak See the documentation for other options.}}
-\ExecuteOptionsX[GA]{legacy,wild,varepsilon,theta,pi,rho,sigma,varphi}
-\ProcessOptionsX[GA]\relax
-\iftogon{GA at varepsilon}{%
- \def\GA at epsilon{\varepsilon}}{\def\GA at epsilon{\epsilon}}
-\iftogon{GA at vartheta}{\def\GA at theta{\vartheta}}{\def\GA at theta{\theta}}
-\iftogon{GA at varpi}{\def\GA at pi{\varpi}}{\def\GA at pi{\pi}}
-\iftogon{GA at varrho}{\def\GA at rho{\varrho}}{\def\GA at rho{\rho}}
-\iftogon{GA at varsigma}{\def\GA at sigma{\varsigma}}{\def\GA at sigma{\sigma}}
-\iftogon{GA at varphi}{\def\GA at phi{\varphi}}{\def\GA at phi{\phi}}
+%%
+\RequirePackage{expl3}[2020/09/24]
+\GetIdInfo$Id: paresse.dtx 5.0 2020-10-06 TdS $
+ {}
+\ProvidesExplPackage
+ {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
+\RequirePackage{xparse}
+\RequirePackage{l3keys2e}
+\RequirePackage{iftex}
+\keys_define:nn {paresse}
+{
+ encoding_is_legacy .bool_set:N = \g__paresse_encoding_is_legacy_bool,
+ encoding_is_levi .bool_set_inverse:N =
+ \g__paresse_encoding_is_legacy_bool,
+ legacy .meta:n = {
+ encoding_is_legacy = #1
+ },
+ legacy .default:n = {true},
+ legacy .initial:n = {true},
+ levi .meta:n = {
+ encoding_is_levi = #1
+ },
+ levi .default:n = {true},
+ levi .initial:n = {false},
+
+ mood_is_wild .bool_set:N = \g__paresse_mood_is_wild_bool,
+ mood_is_tame .bool_set_inverse:N =
+ \g__paresse_mood_is_wild_bool,
+ wild .meta:n = {
+ mood_is_wild = #1
+ },
+ wild .default:n = {true},
+ wild .initial:n = {true},
+ tame .meta:n = {
+ mood_is_tame = #1
+ },
+ tame .default:n = {true},
+ tame .initial:n = {false},
+
+ letter_t_is_theta .bool_set:N = \g__paresse_letter_t_is_theta_bool,
+ letter_t_is_tau .bool_set_inverse:N =
+ \g__paresse_letter_t_is_theta_bool,
+ theta .meta:n = {
+ letter_t_is_theta = #1
+ },
+ theta .default:n = {true},
+ theta .initial:n = {true},
+ tau .meta:n = {
+ letter_t_is_tau = #1
+ },
+ tau .default:n = {true},
+ tau .initial:n = {false},
+
+ letter_theta_is_theta .bool_set:N = \g__paresse_letter_theta_is_theta_bool,
+ letter_theta_is_vartheta .bool_set_inverse:N =
+ \g__paresse_letter_theta_is_theta_bool,
+ theta .meta:n = {
+ letter_theta_is_theta = #1
+ },
+ theta .default:n = {true},
+ theta .initial:n = {true},
+ vartheta .meta:n = {
+ letter_theta_is_vartheta = #1
+ },
+ vartheta .default:n = {true},
+ vartheta .initial:n = {false},
+
+ letter_pi_is_pi .bool_set:N = \g__paresse_letter_pi_is_pi_bool,
+ letter_pi_is_varpi .bool_set_inverse:N =
+ \g__paresse_letter_pi_is_pi_bool,
+ pi .meta:n = {
+ letter_pi_is_pi = #1
+ },
+ pi .default:n = {true},
+ pi .initial:n = {true},
+ varpi .meta:n = {
+ letter_pi_is_varpi = #1
+ },
+ varpi .default:n = {true},
+ varpi .initial:n = {false},
+
+ letter_rho_is_rho .bool_set:N = \g__paresse_letter_rho_is_rho_bool,
+ letter_rho_is_varrho .bool_set_inverse:N =
+ \g__paresse_letter_rho_is_rho_bool,
+ rho .meta:n = {
+ letter_rho_is_rho = #1
+ },
+ rho .default:n = {true},
+ rho .initial:n = {true},
+ varrho .meta:n = {
+ letter_rho_is_varrho = #1
+ },
+ varrho .default:n = {true},
+ varrho .initial:n = {false},
+
+ letter_sigma_is_sigma .bool_set:N = \g__paresse_letter_sigma_is_sigma_bool,
+ letter_sigma_is_varsigma .bool_set_inverse:N =
+ \g__paresse_letter_sigma_is_sigma_bool,
+ sigma .meta:n = {
+ letter_sigma_is_sigma = #1
+ },
+ sigma .default:n = {true},
+ sigma .initial:n = {true},
+ varsigma .meta:n = {
+ letter_sigma_is_varsigma = #1
+ },
+ varsigma .default:n = {true},
+ varsigma .initial:n = {false},
+
+ letter_epsilon_is_epsilon .bool_set:N =
+ \g__paresse_letter_epsilon_is_epsilon_bool,
+ letter_epsilon_is_varepsilon .bool_set_inverse:N =
+ \g__paresse_letter_epsilon_is_epsilon_bool,
+ epsilon .meta:n = {
+ letter_epsilon_is_epsilon = #1
+ },
+ epsilon .default:n = {true},
+ epsilon .initial:n = {false},
+ varepsilon .meta:n = {
+ letter_epsilon_is_varepsilon = #1
+ },
+ varepsilon .default:n = {true},
+ varepsilon .initial:n = {true},
+
+ letter_phi_is_phi .bool_set:N = \g__paresse_letter_phi_is_phi_bool,
+ letter_phi_is_varphi .bool_set_inverse:N =
+ \g__paresse_letter_phi_is_phi_bool,
+ phi .meta:n = {
+ letter_phi_is_phi = #1
+ },
+ phi .default:n = {true},
+ phi .initial:n = {false},
+ varphi .meta:n = {
+ letter_phi_is_varphi = #1
+ },
+ varphi .default:n = {true},
+ varphi .initial:n = {true},
+}
+\ProcessKeysOptions {paresse}
+\bool_if:nTF {\g__paresse_letter_epsilon_is_epsilon_bool}
+{\cs_new:Npn \__paresse_epsilon {\epsilon}}
+{\cs_new:Npn \__paresse_epsilon {\varepsilon}}
+
+\bool_if:nTF {\g__paresse_letter_theta_is_theta_bool}
+{\cs_new:Npn \__paresse_theta {\theta}}
+{\cs_new:Npn \__paresse_theta {\vartheta}}
+
+\bool_if:nTF {\g__paresse_letter_pi_is_pi_bool}
+{\cs_new:Npn \__paresse_pi {\pi}}
+{\cs_new:Npn \__paresse_pi {\varpi}}
+
+\bool_if:nTF {\g__paresse_letter_rho_is_rho_bool}
+{\cs_new:Npn \__paresse_rho {\rho}}
+{\cs_new:Npn \__paresse_rho {\varrho}}
+
+\bool_if:nTF {\g__paresse_letter_sigma_is_sigma_bool}
+{\cs_new:Npn \__paresse_sigma {\sigma}}
+{\cs_new:Npn \__paresse_sigma {\varsigma}}
+
+\bool_if:nTF {\g__paresse_letter_phi_is_phi_bool}
+{\cs_new:Npn \__paresse_phi {\phi}}
+{\cs_new:Npn \__paresse_phi {\varphi}}
+
+\bool_new:c {g__paresse_file_encoding_is_utf8_bool}
+\cs_new:Nn \__paresse_main_package_loaded: {}
\ifluatex
- \PackageInfo{paresse}{compiling with luatex}
- \InputIfFileExists{paresseold.sto}{%
- \PackageInfo{paresse}{paresseold loaded}}{%
- \PackageInfo{paresse}{paresseold not loaded}}
+\PackageInfo{paresse}{compiling~with~luatex}
+\RequirePackageWithOptions{paresse-old}
\else
- \ifxetex
- \PackageInfo{paresse}{compiling with xetex}
- \InputIfFileExists{paresseold.sto}{%
- \PackageInfo{paresse}{paresseold loaded}}{%
- \PackageInfo{paresse}{paresseold not loaded}}
- \else
-\newcommand\encoding at error{%
- \@latex at error{%
- paresse needs inputenc loaded with option "utf8"
- or option such as "latin1" (8 bits encodign).}{}\stop}
-\@ifpackageloaded{inputenc}\relax
-{\PackageError{paresse}{%
- Please, load inputenc package before paresse}{%
- With LaTeX, "paresse" needs to know the encoding to work well and so
- the package "inputenc" must be loaded, with \string\usepackage, before
- loading "paresse" itself}}
-\AtBeginDocument{%
- \@ifpackageloaded{inputenc}\find at encoding\encoding at error}
-\newtog[GA@]{utf8}[false]
-\newcommand\find at encoding{%
+\ifxetex
+\PackageInfo{paresse}{compiling~with~xetex}
+\RequirePackageWithOptions{paresse-old}
+\else
+
+\PackageInfo{paresse}{compiling~with~tex}
+
+\newcommand\default at encoding@message{
+ \bool_gset_true:c {g__paresse_file_encoding_is_utf8_bool}
+ \PackageWarningNoLine{paresse}{
+ The~package~"paresse"~expects~a~"utf8"~encoded~file.~
+ In~case~of~an~8~bits~encoding,~
+ please~use~inputenc~with~the~correct~option}
+}
+
+\newcommand\find at encoding{
\begingroup
- \def\utf at encoding{utf8}%
- \def\temp at a{\togoff{GA at utf8}%
- \PackageInfo{paresse}{8-bit encoding expected\@gobble}}
+ \def\utf at encoding{utf8}
+ \def\temp at a{
+ \bool_gset_false:c {g__paresse_file_encoding_is_utf8_bool}
+ \PackageInfo{paresse}{8-bit~encoding~expected\@gobble}
+ }
\ifx\utf at encoding\inputencodingname
- \def\temp at a{\togon{GA at utf8}%
- \PackageInfo{paresse}{utf8 encoding detected\@gobble}}
+ \def\temp at a{
+ \bool_gset_true:c {g__paresse_file_encoding_is_utf8_bool}
+ \PackageInfo{paresse}{utf8~encoding~detected\@gobble}
+ }
\fi
\expandafter\endgroup\temp at a}
-\AtBeginDocument{%
+
+\@ifpackageloaded{inputenc}
+{
+ \PackageInfo{paresse}{inputenc~loaded}
+}
+{
+ \PackageInfo{paresse}{inputenc~not~loaded,~utf8~expected\@gobble}
+}
+
+\AtBeginDocument
+{
+ \@ifpackageloaded{inputenc} \find at encoding \default at encoding@message
+ \ExplSyntaxOn
\makeatletter
- \iftogoff{GA at 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
+ \bool_if:nTF {\use:c{g__paresse_file_encoding_is_utf8_bool}}
+ {
+ \PackageInfo{paresse}{charge~utf8}
+ \RequirePackageWithOptions{paresse-utf8}
+ }
+ {
+ \PackageInfo{paresse}{charge~vieux}
+ \RequirePackageWithOptions{paresse-old}
+ }
+ \makeatother
+ \ExplSyntaxOff
+}
+
+\fi % END OF ifxetex
+\fi % END OF ifluatex
\endinput
%%
%% End of file `paresse.sty'.
Deleted: trunk/Master/texmf-dist/tex/latex/paresse/paresseold.sto
===================================================================
--- trunk/Master/texmf-dist/tex/latex/paresse/paresseold.sto 2020-10-08 21:20:21 UTC (rev 56597)
+++ trunk/Master/texmf-dist/tex/latex/paresse/paresseold.sto 2020-10-08 21:20:56 UTC (rev 56598)
@@ -1,97 +0,0 @@
-%%
-%% This is file `paresseold.sto',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% paresse.dtx (with options: `oldpack')
-%% This is a generated file.
-%%
-%% Copyright (C) 2011, 2013
-%% by Yvon Henel, alias le TeXnicien de surface
-%% <le.texnicien.de.surface at wanadoo.fr>
-%%
-%% This file may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License, either version 1.2 of this license
-%% or (at your option) any later version. The latest version of this
-%% license is in:
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% and version 1.2 or later is part of all distributions of LaTeX
-%% version 1999/12/01 or later.
-\ProvidesFile{paresseold.sto}
-\count@=\catcode`\^^a7
-\let\GA at LaVieilleParesse= ^^a7
-\def\^^a7{\S}
-\newcommand{\makeparesseletter}{\catcode `\^^a7=11\relax}
-\newcommand{\makeparesseother}{\catcode `\^^a7=12\relax}
-\newcommand{\GA at MakeParesseActive}{\catcode `\^^a7=\active}
-\def\GA at ActiveLaParessexii{\catcode `\^^a7=\active}
-\def\GA at ActiveLaParessexiii{\catcode `\^^a7=\active
- \def^^a7##1{\ensuremath{\csname \string^^a7##1\endcsname}}}
-\ifnum\count@=12
- \let\GA at ActiveLaParesse \GA at ActiveLaParessexii
-\else
- \let\GA at ActiveLaParesse \GA at ActiveLaParessexiii
-\fi
-\newcommand{\ActiveLaParesse}{\GA at ActiveLaParesse}
-\newenvironment{ParesseActive}{\GA at ActiveLaParesse}{}
-\makeparesseletter
-\def\^^a7a {\alpha}
-\def\^^a7b {\beta}
-\def\^^a7g {\gamma}
-\def\^^a7d {\delta}
-\def\^^a7e {\GA at 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 at pi}
-\def\^^a7r {\GA at rho}
-\def\^^a7s {\GA at sigma}
-\def\^^a7u {\upsilon}
-\def\^^a7f {\GA at phi}
-\def\^^a7w {\omega}
-\iftogon{GA at legacy}{%
- \def\^^a7v {\GA at theta}
- \def\^^a7y {\tau}
- \def\^^a7c {\chi}
- \def\^^a7q {\psi}
- \iftogon{GA at ttau}{\def\^^a7t {\tau}}{\def\^^a7t {\GA at theta}}}{%
- \def\^^a7j {\GA at theta}
- \def\^^a7t {\tau}
- \def\^^a7q {\chi}
- \def\^^a7y {\psi}
- \def\^^a7c {\varsigma}}
-\def\^^a7G {\Gamma}
-\def\^^a7D {\Delta}
-\def\^^a7L {\Lambda}
-\def\^^a7P {\Pi}
-\def\^^a7S {\Sigma}
-\def\^^a7U {\Upsilon}
-\def\^^a7F {\Phi}
-\def\^^a7X {\Xi}
-\def\^^a7W {\Omega}
-\iftogon{GA at legacy}{%
- \def\^^a7V {\Theta}
- \def\^^a7T {\Theta}
- \def\^^a7Q {\Psi}
-}{%
- \def\^^a7J {\Theta}
- \def\^^a7Y {\Psi}
-}%
-\def\^^a7Z {\S}
-\catcode `\^^a7=\active
-\def^^a7#1{\ensuremath{\csname \string^^a7#1\endcsname}}
-\iftogon{GA at tame}{%
- \catcode`\^^a7=\count@
- \ifnum\count@=13 \let ^^a7=\GA at LaVieilleParesse \fi
-}%
-\endinput
-%%
-%% End of file `paresseold.sto'.
Deleted: trunk/Master/texmf-dist/tex/latex/paresse/paresseutf8.sto
===================================================================
--- trunk/Master/texmf-dist/tex/latex/paresse/paresseutf8.sto 2020-10-08 21:20:21 UTC (rev 56597)
+++ trunk/Master/texmf-dist/tex/latex/paresse/paresseutf8.sto 2020-10-08 21:20:56 UTC (rev 56598)
@@ -1,140 +0,0 @@
-%%
-%% This is file `paresseutf8.sto',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% paresse.dtx (with options: `utf8pack')
-%% This is a generated file.
-%%
-%% Copyright (C) 2011, 2013
-%% by Yvon Henel, alias le TeXnicien de surface
-%% <le.texnicien.de.surface at wanadoo.fr>
-%%
-%% This file may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License, either version 1.2 of this license
-%% or (at your option) any later version. The latest version of this
-%% license is in:
-%%
-%% http://www.latex-project.org/lppl.txt
-%%
-%% and version 1.2 or later is part of all distributions of LaTeX
-%% version 1999/12/01 or later.
-\ProvidesFile{paresseutf8.sto}
-\begingroup
-\catcode`\"=12
-\catcode`\<=12
-\catcode`\.=12
-\catcode`\,=12
-\catcode`\;=12
-\catcode`\!=12
-\catcode`\~=13
-\global\let\GA at parse@UTFviii at a=\parse at UTFviii@a
-\global\let\GA at parse@UTFviii at b=\parse at UTFviii@b
-\gdef\declareunicodecharacter#1#2{%
- \count@"#1\relax
- \wlog{\space\space Redefining Unicode char U+#1 (decimal \the\count@)}%
- \begingroup
- \GA at parse@XML at charref
- \def\UTFviii at two@octets##1##2{\csname u8:##1\string##2\endcsname}%
- \def\UTFviii at three@octets##1##2##3{\csname u8:##1%
- \string##2\string##3\endcsname}%
- \def\UTFviii at 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 at tmp{\IeC{#2}}%
- \endgroup}
-\gdef\GA at parse@XML at 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 at parse@UTFviii at a,%
- \GA at parse@UTFviii at b C\UTFviii at two@octets.,%
- \else\ifnum\count@<"10000\relax
- \GA at parse@UTFviii at a;%
- \GA at parse@UTFviii at a,%
- \GA at parse@UTFviii at b E\UTFviii at three@octets.{,;}%
- \else
- \GA at parse@UTFviii at a;%
- \GA at parse@UTFviii at a,%
- \GA at parse@UTFviii at a!%
- \GA at parse@UTFviii at b F\UTFviii at four@octets.{!,;}%
- \fi
- \fi
-\fi}
-\endgroup
-\newcommand{\makeparesseletter}{\DeclareUnicodeCharacter{00A7}\S}
-\newcommand{\makeparesseother}{%
- \PackageWarning{paresse}{%
- Command \string\makeparesseother disabled}{%
- The command \string\makeparesseother would have been meaningless
- in the current context}}
-\newcommand{\ActiveLaParesse}{\declareunicodecharacter{00A7}\@paresse}
-\newenvironment{ParesseActive}{\ActiveLaParesse}{}
-\ActiveLaParesse
-\def\@paresse{\futurelet\@toks\@i at paresse}
-\def\@i at paresse{%
- \csname\ifcat a\@toks @ii at paresse\else S\fi\endcsname}
-\def\@ii at paresse#1{%
- \ifcsname @paresse@#1\endcsname
- \csname @paresse@#1\endcsname\expandafter\@gobble
- \else
- \expandafter\@firstofone
- \fi{\S#1}}
-\def\define at paresse@car#1#2{%
- \expandafter\def\csname @paresse@#1\endcsname{\ensuremath{#2}}}
-\define at paresse@car Z\S
-\define at paresse@car a\alpha
-\define at paresse@car b\beta
-\define at paresse@car g\gamma
-\define at paresse@car d\delta
-\define at paresse@car e\GA at epsilon
-\define at paresse@car z\zeta
-\define at paresse@car h\eta
-\define at paresse@car i\iota
-\define at paresse@car k\kappa
-\define at paresse@car l\lambda
-\define at paresse@car m\mu
-\define at paresse@car n\nu
-\define at paresse@car x\xi
-\define at paresse@car p\GA at pi
-\define at paresse@car r\GA at rho
-\define at paresse@car s\GA at sigma
-\define at paresse@car u\upsilon
-\define at paresse@car f\GA at phi
-\define at paresse@car w\omega
-\iftogon{GA at legacy}{%
- \define at paresse@car v\GA at theta
- \define at paresse@car y\tau
- \define at paresse@car c\chi
- \define at paresse@car q\psi
- \iftogon{GA at ttau}{%
- \define at paresse@car t\tau}{%
- \define at paresse@car t\GA at theta}}{%
- \define at paresse@car j\GA at theta
- \define at paresse@car t\tau
- \define at paresse@car q\chi
- \define at paresse@car y\psi
- \define at paresse@car c\varsigma}
-\define at paresse@car G\Gamma
-\define at paresse@car D\Delta
-\define at paresse@car L\Lambda
-\define at paresse@car P\Pi
-\define at paresse@car S\Sigma
-\define at paresse@car U\Upsilon
-\define at paresse@car F\Phi
-\define at paresse@car X\Xi
-\define at paresse@car W\Omega
-\iftogon{GA at legacy}{%
- \define at paresse@car V\Theta
- \define at paresse@car T\Theta
- \define at paresse@car Q\Psi}{%
- \define at paresse@car J\Theta
- \define at paresse@car Y\Psi}%
-\iftogon{GA at tame}{\makeparesseletter}
-\endinput
-%%
-%% End of file `paresseutf8.sto'.
More information about the tex-live-commits
mailing list.