diff options
author | Karl Berry <karl@freefriends.org> | 2011-04-20 01:03:05 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-04-20 01:03:05 +0000 |
commit | 251fba88ba88c1933446fe148caa2329687c5b17 (patch) | |
tree | abfad81ed357be918aea697297354a941d0871ab /Master/texmf-dist/source/latex | |
parent | 695bdab05077ae6db369ce39763e4c69bc49d737 (diff) |
paresse (19apr11)
git-svn-id: svn://tug.org/texlive/trunk@22131 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r-- | Master/texmf-dist/source/latex/paresse/Makefile | 152 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/paresse/paresse-doc.dtx | 791 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/paresse/paresse.dtx | 1536 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/paresse/paresse.ins | 41 |
4 files changed, 1394 insertions, 1126 deletions
diff --git a/Master/texmf-dist/source/latex/paresse/Makefile b/Master/texmf-dist/source/latex/paresse/Makefile deleted file mode 100644 index 8e8dad4c02f..00000000000 --- a/Master/texmf-dist/source/latex/paresse/Makefile +++ /dev/null @@ -1,152 +0,0 @@ -# --------------------------------------------------------------- -# Makefile for the paresse package by Y. Henel -# modified version of the Makefile of the kerntest package -# many thanks to Harald Harders whose kerntest.xml I have also -# hacked to obtain my paresse.xml -# --------------------------------------------------------------- -PKGNAME=paresse -VERSION=3 - -SOURCE= \ - Makefile \ - $(PKGNAME).dtx \ - $(PKGNAME).ins \ - LISEZMOI \ - README - -PDFDOC= \ - $(PKGNAME).pdf \ - $(PKGNAME)-fr.pdf \ - $(PKGNAME)-en.pdf \ - $(PKGNAME)-ex-fr.pdf \ - $(PKGNAME)-ex-en.pdf \ - $(PKGNAME)-fourier-fr.pdf \ - $(PKGNAME)-fourier-en.pdf \ - - -SRCDOC= \ - $(PKGNAME).dtx - -TEXDOC= \ - $(PKGNAME)-fr.tex \ - $(PKGNAME)-en.tex \ - $(PKGNAME)-ex-fr.tex \ - $(PKGNAME)-ex-en.tex \ - $(PKGNAME)-fourier-fr.tex \ - $(PKGNAME)-fourier-en.tex \ - -DOC= \ - $(PDFDOC)\ - $(SRCDOC)\ - $(TEXDOC) - -CTANDOC= \ - $(PDFDOC) - -DECHETS = \ - $(TEXDOC)\ - $(PDFDOC) - -REPERTS = \ - doc \ - tex \ - source - -TEX = $(PKGNAME).sty - - -# --------------------------------------------------------------- - -.SUFFIXES: .sty .ins .dtx .pdf - -# --------------------------------------------------------------- -.ins.sty: - latex $< - -.dtx.pdf: - pdflatex $< - pdflatex $< - makeindex -s gind.ist $(*D)/$(*F) - makeindex -s gglo.ist -o $(*D)/$(*F).gls $(*D)/$(*F).glo - pdflatex $< - -.tex.pdf: - pdflatex $< - pdflatex $< - -# --------------------------------------------------------------- - -all: $(PKGNAME).sty $(PDFDOC)\ - $(TEXDOC) $(PKGNAME).ins - - -# produce rename - -produce: $(PKGNAME).sty $(PDFDOC)\ - $(TEXDOC) $(PKGNAME).ins - -help: - @-echo "******************************************************" - @-echo "** Choisir une des options : *" - @-echo "== Choose one of the options: *" - @-echo "** 'all' pour produire tous les fichiers *" - @-echo "== 'all' to produce all the files *" - @-echo "** 'clean' suppression des fichiers auxiliaires *" - @-echo "== 'clean' delete the auxiliary files *" - @-echo "** 'distclean' pour ne conserver que les sources *" - @-echo "== 'distclean' to keep only the sources *" - @-echo "******************************************************" - -dist: all clean - -# --------------------------------------------------------------- - -clean: - @-rm -f *.{out,glo,gls,idx,ilg,ind,aux,log,toc} - @-rm -f *~ - -distclean: clean - @-rm -f $(DECHETS) - @-rm -f $(PKGNAME).sty - -# --------------------------------------------------------------- - -texlive: dist - @-rm -rf $(REPERTS) - @-mkdir -p tex/latex/$(PKGNAME) - @-mkdir -p doc/latex/$(PKGNAME) - @-mkdir -p source/latex/$(PKGNAME) - @-cp $(TEX) tex/latex/$(PKGNAME) - @-cp $(CTANDOC) doc/latex/$(PKGNAME) - @-cp $(TEXDOC) doc/latex/$(PKGNAME) - @-cp $(SOURCE) source/latex/$(PKGNAME) - @-mkdir -p $(PKGNAME) - @-cp $(CTANDOC) ./$(PKGNAME) - @-cp $(SOURCE) ./$(PKGNAME) - @-cp $(PKGNAME).sty ./$(PKGNAME) - -# --------------------------------------------------------------- - -zip: texlive - @-rm -f $(PKGNAME).zip - @-zip -r $(PKGNAME) $(REPERTS) - @-rm -rf $(REPERTS) - @mv $(PKGNAME).zip $(PKGNAME).tds.zip - @zip -r $(PKGNAME) $(PKGNAME) - @zip -r $(PKGNAME) $(PKGNAME).tds.zip - @-rm -rf $(PKGNAME) - @-rm -f $(PKGNAME).tds.zip - -# --------------------------------------------------------------- - -ctan: zip distclean - -# --------------------------------------------------------------- - -$(PKGNAME).sty: $(PKGNAME).ins $(PKGNAME).dtx -doc: $(PKGNAME).ins $(PKGNAME).pdf -$(TEXDOC): $(PKGNAME).ins $(PKGNAME).dtx -$(PDFDOC): $(TEXDOC) -# --------------------------------------------------------------- -# echu e an abaden -# Le \TeX nicien de surface 2010/03/21 diff --git a/Master/texmf-dist/source/latex/paresse/paresse-doc.dtx b/Master/texmf-dist/source/latex/paresse/paresse-doc.dtx new file mode 100644 index 00000000000..d0798aee819 --- /dev/null +++ b/Master/texmf-dist/source/latex/paresse/paresse-doc.dtx @@ -0,0 +1,791 @@ +% \iffalse meta-comment +%-*- coding: iso-8859-15 -*- +% Time-stamp: <2011-04-19 17:59:41 yvon> +% -------------------------------------------------------------------- +% +% Copyright (C) 2011 +% by Yvon Henel alias le TeXnicien de surface +% <le.texnicien.de.surface@wanadoo.fr> +% +% -------------------------------------------------------------------- +% +% This file may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.2 +% of this license or (at your option) any later version. +% The latest version of this license is in: +% +% http://www.latex-project.org/lppl.txt +% +% and version 1.2 or later is part of all distributions of LaTeX +% version 1999/12/01 or later. +% \fi +% +% \iffalse +%<*doc> +\documentclass[a4paper]{ltxdoc} +\usepackage[latin1]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[tame]{paresse} +\usepackage{xspace,url,array,ifthen,hologo} +\IfFileExists{lmodern.sty}{\usepackage{lmodern}}{} +%<fr>\usepackage[english,frenchb]{babel} +%<en>\usepackage[frenchb,english]{babel} +\usepackage[colorlinks=true, + linkcolor=blue, + urlcolor=blue, + citecolor=blue]{hyperref} +\input{common} +\makeatletter +\newcommand\DescribeOption[1]{\@bsphack \marginpar{\raggedleft + \textsc{#1}}\index{#1 (option)}\@esphack} +\newcommand*\PS{\texttt{\S}\xspace} +\newcommand*\PSVerb[1]{\texttt{\S #1}} +%<*fr> +\GlossaryPrologue{% + \section*{{Changements}} + \markboth{{Changements}}{{Changements}}} +\IndexPrologue{% + \section*{Index}\markboth{Index}{Index}% + Les nombres en italique renvoient à la page où l'entrée est décrite; + les nombres soulignés renvoient à la ligne de code de la définition; + les nombres en caractères romains renvoient à la ligne de code où + l'entrée est utilisée.} +\def\generalname{Général} +\def\SpecialMainEnvIndex#1{% + \@bsphack\special@index{% + #1\actualchar + {\string\ttfamily\space#1} + (environnement)% + \encapchar main}% + \special@index{environnements:\levelchar#1\actualchar{% + \string\ttfamily\space#1}\encapchar + main}\@esphack} +\makeatother +\newcommand{\CAD}{c.-à-d.\xspace} +%</fr> +\newcommand{\TO}{\textemdash\ \ignorespaces} +\newcommand{\TF}{\unskip\ \textemdash\xspace} +\newcommand\BOP{\discretionary{}{}{}} +\newcommand\Option[1]{\textsc{#1}} +\newcommand\Pkg[1]{\textsf{#1}} +\newcommand\NOUVO{% + \marginpar{\hspace*{\stretch{1}}% + \textbf{N (v4)}\hspace*{.5em}}\xspace} + +\EnableCrossrefs +\CodelineIndex + +\begin{document} + +%<*fr> +\title{Le module \Pkg{paresse}\thanks{Ce document correspond au + fichier \Pkg{paresse}~\fileversion, du \filedate.}} +%</fr> +%<*en> +\title{The package \Pkg{paresse}\thanks{This document corresponds + to the file \Pkg{paresse}~\fileversion, dated \filedate.} + \mbox{}\thanks{English translation by the author. Any comment + about the translation is welcome.}} +%</en> +\author{Le \TeX nicien de surface\\ +\url{le.texnicien.de.surface@wanadoo.fr}} +\maketitle{} + +%<*fr> +\begin{abstract} + Ce module, reprenant un exemple de T.~\textsc{Lachand-Robert} + dans~\cite{tlachand}, fournit un moyen de taper des lettres grecques + isolées à l'aide du caractère \PS actif et redéfini. Au lieu de + |\(\alpha\)| ou tape |§a| pour obtenir \(\alpha\). + + \textbf{Important} : Il doit être chargé \textbf{après} + \Pkg{inputenc} si ce dernier est utilisé. De plus, il faut que le + signe § soit une lettre pour \TeX. + + Le fichier \texttt{paresse.pdf} contient le code commenté en + anglais. +\end{abstract} +\begin{otherlanguage}{english} + \begin{abstract} + This is the French documentation for the final user of the package + \Pkg{paresse}. The English documentation for the final user is + available in the file \texttt{paresse-en.pdf}. + \end{abstract} +\end{otherlanguage} +%</fr> +%<*en> +\begin{abstract} + This package implements an example from T.~\textsc{Lachand-Robert} + in~\cite{tlachand}. It provides a means of typing isolated greek + letters with the character § activated and redefined. Instead of + |\(\alpha\)| one types |§a| to obtain \(\alpha\). + +\end{abstract} +\begin{otherlanguage}{french} + \begin{abstract} + La documentation française pour l'utilisateur de l'extension + \Pkg{paresse} est désormais disponible sous le nom de + \texttt{paresse-fr.pdf}. + + Le fichier \texttt{paresse.pdf} contient le code commenté en + anglais. + \end{abstract} +\end{otherlanguage} +%</en> + +\tableofcontents{} + +\newpage + +%<fr>\section{Introduction} +%<en>\section{Introduction} + +%<*fr> +Cette extension ne fournit qu'un accès \og rapide et économique \fg +aux lettres grecques qui s'obtiennent à l'aide d'une macro comme +\cs{alpha} ou \cs{Omega}. Elle fournit un environnement et une commande +qui permettent d'utiliser § pour taper ces lettres. Un \cs{ensuremath} +nous dispense de nous placer explicitement \TO c'est-à-dire en +tapant |$ $| ou bien |\( \)| ou encore |\[ \]| ou tout autre chose +ayant le même effet\TF en mode mathématique pour obtenir une lettre +grecque. +%</fr> +%<*en> +This package provides only a `quick and low-cost' access to greek +letters which one can obtain with a macro such as \cs{alpha} or +\cs{Omega}. It provides also an environment and a macro which make +possible the use of § to type in those letters. Because of an +\cs{ensuremath} we are not bound to explicitly enter ---i.e. by typing +|$ $| or |\( \)| or else |\[ \]| or anything whatsoever with the same +effect--- mathematics mode to obtain a greek letter. +%</en> + +%<*fr> +L'idée de la méthode est due à T.~\textsc{Lachand-Robert} et est +exposée dans~\cite{tlachand}. Je n'ai fait qu'ajouter le +\cs{ensuremath} bien agréable pour l'écriture de macros. +%</fr> +%<*en> +The idea of the method is from T.~\textsc{Lachand-Robert} and +described in~\cite{tlachand}. I have just add the \cs{ensuremath} which +is so agreeable to write macros. +%</en> + +%<*fr> +Bien entendu, on \textbf{ne} dispose \textbf{pas} de macros pour la +minuscule omicron ni pour les majuscules alpha, beta\dots{} qui +s'obtiennent à l'aide des latines romaines de même +apparence\footnote{Je ne ferai aucune remarque sur les problèmes de + codage que cela pose.}. Je ne me suis pas senti le courage ni la +force de fournir une solution qui permettent d'obtenir dans une +formule baignant dans un texte en italique gras un alpha majuscule +droit, romain, \&c. +%</fr> +%<*en> +There is \emph{no} macros for the lowercase omicron nor for the +uppercase alpha, beta\dots{} that one can obtain with the latin roman +letters with the same look. I have not had the courage nor the +strength to build a solution which would provide a means of obtaining +an upright uppercase alpha in a math formula enbedded in an italic +boldfaced text. +%</en> + +%<*fr> +Pour finir cette introduction, glosons le nom de cette +extension. |paresse| vient de ce que le signe § indique un \og +paragraphe \fg en ayant une forme lointainement apparentée au +S et n'a donc aucun lien avec le \emph{défaut} si fréquent, +encore que, à bien y réfléchir\dots +%</fr> +%<*en> +Even if the meaning of the French `paresse' is just `lazyness' I would +like to enphasize that the name of this package comes from the fact +that the sign § can be used to point at a paragraph and looks like an +S. So there is no connection between the name and the not unfrequent +sin of the same (French) name\dots{} or maybe\dots{} +%</en> + + +%<fr>\section{Pourquoi une 4\ieme version?} +%<en>\section{Why a 4th Version?} + +%<*fr> +Je ne sais plus bien à quelle occasion \TO l'age et les pannes de +machine avec \og crachage\fg de disque aidant\TF et encore moins quand +\TO si ce n'est que cela remonte à plus d'un an maintenant\TF +Christian \textsc{Tellechea} me faisait part de son désir d'utiliser +\Pkg{paresse} avec des sources codées en utf-8 sous \hologo{LaTeX} \TO +et non \hologo{XeLaTeX} ou \hologo{LuaLaTeX}. + +Une discussion s'engagea, Christian me fit parvenir du matériel en +ordre de marche. Il me fit même cadeau de deux versions, la deuxième +améliorant la reconnaissance du codage déclaré avec +\Pkg{inputenc}. Toutefois, je procrastinais. Il se peut que ma vie +personnelle et mon travail aient interféré avec le développement de +cette extension. + +Enfin, voici la chose. +%</fr> +%<*en> +I don't remember exactly on what occasion \TO age, disk crash and +computer mishap aiding\TF and even less when \TO more than a year ago, +I'm afraid\TF Christian \textsc{Tellechea} wrote me that he would be +glad to use \Pkg{paresse} in his utf-8 encoded sources with +\hologo{LaTeX} \TO not with \hologo{XeLaTeX} nor \hologo{LuaLaTeX}. + +We exchanged emails, Christian sent me working material. He even made +me the gift of two versions, the second better for the identification +of the encoding passed, as an option, to \Pkg{inputenc}. However I +procrastinated. My personal life and my job may have interfered with +the development of this package. + +At last, here is the thing. +%</en> + +%<*fr> +Le plus nouveau devrait échapper à l'utilisateur de \hologo{LuaLaTeX} +ou \hologo{XeLaTeX} et même de \hologo{LaTeX} chargeant \Pkg{inputenc} +avec une option comme \texttt{latin1} ou \texttt{latin9}. Cependant, +désormais, on peut utiliser cette extension avec \hologo{LaTeX} en +chargeant \Pkg{inputenc} avec l'option \texttt{utf8}. +%</fr> +%<*en> +The newest feature should escape the user of \hologo{LuaLaTeX} +or \hologo{XeLaTeX} and even of \hologo{LaTeX} loading \Pkg{inputenc} +with an option such as \texttt{latin1} or \texttt{latin9}. However, +henceforth, one can use this package with \hologo{LaTeX} loading +\Pkg{inputenc} with option \texttt{utf8}. +%</en> + +%<*fr> +J'ai profité de cette nouvelle version pour ajouter une macro en \PS: +\NOUVO\PSVerb{Z} qui produit \S, symbole déjà accessible par |\S|, ce qui +fait que je n'ose pas vraiment parler de \og raccourci\fg. +%</fr> +%<*en> +I take advantage of this new version to add a \PS-macro: +\NOUVO\PSVerb{Z} which produces \S, symbol already available with +|\S|, so I don't dare to present it as a real ``shortcut''. +%</en> + +%<fr>\section{Pourquoi une 3\ieme version?} +%<en>\section{Why a 3rd Version?} + +%<*fr> +C'est par courriel que Claudio \textsc{Beccari} m'a signalé très +aimablement qu'il existait un codage de l'alphabet grec en lettres +latines près de 15~ans avant que je ne commette cette extension. Ce +codage était dû à Sylvio \textsc{Levi} qui l'avait mis au point, alors +qu'il dessinait les premières fontes grecques pour \TeX, en s'appuyant +sur la correspondance entre les claviers américain et grec. Il me +faisait remarquer à juste titre que si quelqu'un avait pris l'habitude +du codage de Sylvio \textsc{Levi}, il préférerait conserver ses +habitudes pour \Pkg{paresse}. +%</fr> +%<*en> +With a mail Claudio \textsc{Beccari} kindly informed me that there was +an encoding of the greek alphabet with latin letters some 15~years +before I commited this extension. This encoding was devised by Sylvio +\textsc{Levi} who, at the time, was designing the first greek font for +\TeX, using the correspondance between greek and us keyboard. Claudio +wrote to me, and I can't but agree with him, that if one is used to +\textsc{Levi}'s encoding, one would rather keep one's habit in order +to use \Pkg{paresse}. +%</en> + +%<*fr> +J'ai donc décidé de fournir un nouveau couple d'options exclusives +l'une de l'autre que j'ai nommées, pour l'une, \Option{legacy} --- +pour \og héritage\fg --- qui assure le codage originel de cette +extension et qui est active par défaut et, pour l'autre, \Option{Levi} +qui assure le codage de Sylvio \textsc{Levi}. +%</fr> +%<*en> +I, then, decided to provide a new couple of mutually exclusive +options: the first one is \Option{legacy} with which one obtain the +original encoding of this extension and which is active by default, +the other one is \Option{Levi} which provides Sylvio \textsc{Levi}'s +encoding. +%</en> + +%<*fr> +J'en profite pour faire quelques changements cosmétiques: +désormais toutes les macros internes \emph{secrètes} ont un nom qui +commence par \cs{GA@}; +le fichier |.dtx| est réorganisé pour faciliter la tache de +traduction de la documentation. +%</fr> +%<*en> +I take advantage of this update to make some cosmetic changes: from +now on all inner \emph{secret} macros have a name which begins with +\cs{GA@}; the |.dtx| file is reorganised to facilitate the translation +of the documentation. +%</en> + +%<fr>\section{Utilisation} +%<en>\section{Usage} + +%<*fr> +On charge cette extension avec |\usepackage{paresse}| \textbf{après} +l'extension \Pkg{inputenc} quand on utilise \hologo{LaTeX}. Il faut +que la \og caractère \fg § soit reconnu par \TeX\ comme une lettre. On +pourra, par exemple, utiliser l'option |latin1| de \Pkg{inputenc} pour +obtenir cela. + +On obtiendra le même comportement, à l'exception signalée +page~\pageref{restriction} près, avec \Pkg{inputenc} et l'option +\texttt{utf8}.\NOUVO + +Il n'y a pas ce genre de restriction quand on travaille avec +\hologo{LuaLaTeX} ou \hologo{XeLaTeX} sur un source codé en +UTF-8.\NOUVO +%</fr> +%<*en> +One loads the package with |\usepackage{paresse}| \textbf{after} the +package \Pkg{inputenc} when using \hologo{LaTeX}. The sign § must be +recognised as a letter by \TeX. On can use for instance \Pkg{inputenc} +with option |latin1| for such a purpose. + +One will obtain the same behaviour, but for the exception +pointed out on page~\pageref{restriction}, with \Pkg{inputenc} and +option \texttt{utf8}.\NOUVO + +There is no such restriction when one compiles with \hologo{LuaLaTeX} +or \hologo{XeLaTeX} a source encoded in UTF-8.\NOUVO +%</en> + +%<*fr> +Par défaut, l'extension est chargée avec l'option |wild| ce qui +signifie que les macros de la forme |§a| sont disponibles. Si l'on +préfère, on peut passer à |paresse| l'option \Option{tame} avec +|\usepackage[tame]{paresse}|. Il faut alors utiliser la commande +\cs{ActiveLaParesse} ou l'environnement |ParesseActive| pour utiliser +les macros en §. +%</fr> +%<*en> +By default the package is loaded with option |wild| and so the macros +such as |§a| are immediately available. If one prefers one can choose +the option \Option{tame} by writing |\usepackage[tame]{paresse}|. One +must then use the command \cs{ActiveLaParesse} or the environment +|ParesseActive| to use the `§-macros'. +%</en> + +%<*fr> +Lorsque la \og paresse est active \fg, il suffit de taper |§a| pour +obtenir \(\alpha\). On a de même accès à toutes les lettres grecques +auxquelles sont consacrées une macro comme \cs{alpha}, +voyez~\ref{codageorig} et~\ref{codagelevi}. On obtient, de même, +\(\alpha^{\beta}\) avec |\(§a^{§b}\)| lorsque § est active. +%</fr> +%<*en> +When `paresse' is active, one has just to type |§a| in to obtain +\(\alpha\). One has access, by the same means, to all the other greek +letters to which a macro is devoted such as \cs{alpha}, see the +tables~\ref{codageorig} and~\ref{codagelevi}. One obtains +\(\alpha^{\beta}\) with |\(§a^{§b}\)| when § is active. +%</en> + +%<*fr> +On notera que les accolades sont optionelles et qu'on obtient un +résultat identique avec |\(§a^§b\)|, \textbf{à moins que} l'on utilise +un source codé en utf-8 avec \hologo{LaTeX}.\label{restriction} +%</fr> +%<*en> +One will note that the curly braces are \emph{not} compulsory and that +one obtains the same result with just |\(§a^§b\)| \textbf{unless} one +uses a utf-8 encoded source with \hologo{LaTeX}.\label{restriction} +%</en> + +%<fr>\subsection{Les options} +%<en>\subsection{Options} + +\begin{itemize} +%<*fr> +\item \Option{tame}\DescribeOption{tame / wild} s'oppose à + \Option{wild} qui est l'option par défaut. Lorsque \Option{tame} + règne, il \textbf{faut} un environnement |ParesseActive| ou une + commande \cs{ActiveLaParesse} pour utiliser les macros à §. +%</fr> +%<*en> +\item \Option{tame}\DescribeOption{tame / wild} is the contrary of + \Option{wild} which is the option by default. When \Option{tame} + reigns, one \textbf{must} use an environment |ParesseActive| or a + command \cs{ActiveLaParesse} in order to use the §-macros. +%</en> + + +%<*fr> +\item \Option{Levi}\DescribeOption{legacy / Levi} s'oppose à + \Option{legacy} qui est l'option par défaut. Avec l'option + \Option{legacy} on utilise le codage \og originel\fg de + \Pkg{paresse.sty} tel que le donne la + table~\ref{codageorig}. Sinon, le codage est celui défini par Sylvio + \textsc{Levi}, cf. la table~\ref{codagelevi}. +%</fr> +%<*en> +\item \Option{Levi}\DescribeOption{legacy / Levi} is the + contrary of \Option{legacy} which is the default. With + \Option{legacy} one uses the original encoding of + \Pkg{paresse.sty} as it is given by the + table~\ref{codageorig}. If the option \Option{Levi} is enforced, one + uses the Sylvio \textsc{Levi} encoding, see the + table~\ref{codagelevi}. +%</en> + +%<*fr> +\item \Option{ttau}\DescribeOption{ttau / ttheta} s'oppose à + \Option{ttheta} qui est l'option par défaut. Lorsque \Option{ttheta} + est active |§t| donne \(\theta\) dans le cas contraire |§t| donne + \(\tau\). En tous cas, \(\theta\) est accessible par |§v| et + \(\tau\) par |§y|. Cette option est inopérante si l'option + \Option{Levi} a été choisie. +%</fr> +%<*en> +\item \Option{ttau}\DescribeOption{ttau / ttheta} is the contrary of + \Option{ttheta} which is selected by default. When \Option{ttheta} + is active |§t| gives \(\theta\) in the contrary |§t| gives + \(\tau\). In all cases, \(\theta\) is given by |§v| and \(\tau\) by + |§y|. That option is ineffective when one has chosen + \Option{Levi}. +%</en> + +%<*fr> + \textbf{Remarque :} quand l'option \Option{legacy} a été choisie, + \(\Theta\) est obtenu par |§V| de manière \og régulière \fg et + \emph{également} par |§T| quelle que soit l'option choisie. Dans + le cas de l'option \Option{Levi}, |§V| ne correspond à aucune lettre + grecque. +%</fr> +%<*en> +\textbf{Remark:} when one has chosen the option +\Option{legacy}, \(\Theta\) is `regularly' obtained with |§V| and +\emph{also} with |§T| whatever is the chosen option. In the case of +the option \Option{Levi}, |§V| doesn't correspond to any greek letter. +%</en> + +%<*fr> +\item \Option{epsilon}\DescribeOption{epsilon / varepsilon} s'oppose à + \Option{varepsilon} qui est l'option par défaut. Avec + \Option{epsilon}, |§e| donne \(\epsilon\) sinon |§e| donne + \(\varepsilon\). +%</fr> +%<*en> +\item \Option{epsilon}\DescribeOption{epsilon / varepsilon} is the + contrary of \Option{varepsilon} which is selected by default. With + \Option{epsilon}, |§e| gives \(\epsilon\) otherwide |§e| gives + \(\varepsilon\). +%</en> + +%<*fr> +\item Se comportent comme le couple \Option{epsilon}, + \Option{varepsilon} les couples suivants \Option{theta} et + \Option{vartheta} ; \Option{pi} et \Option{varpi} ; \Option{rho} et + \Option{varrho} ; \Option{sigma} et \Option{varsigma} \og |§s| donne + \(\varsigma\)\fg; \Option{phi} et \Option{varphi}. +%</fr> +%<*en> +\item The following `couples' behave as \Option{epsilon}, + \Option{varepsilon}: \Option{theta} and \Option{vartheta}; + \Option{pi} and \Option{varpi}; \Option{rho} and \Option{varrho}; + \Option{sigma} and \Option{varsigma}; \Option{phi} and + \Option{varphi}. +%</en> +\end{itemize} + +%<*fr> +Par défaut on a \Option{varepsilon}, \Option{theta}, \Option{pi}, +\Option{rho}, \Option{sigma}, \Option{varphi}, \Option{wild} et +\Option{legacy}. Cela assure que cette version~3, se comporte, +par défaut, comme la précédente. +%</fr> +%<*en> +The default options are \Option{varepsilon}, \Option{theta}, +\Option{pi}, \Option{rho}, \Option{sigma}, \Option{varphi}, +\Option{wild} and \Option{legacy}. That ensures that this 3rd +version behaves, by default, as the preceding one. +%</en> + +%<fr>\subsection{Commandes et environnement} +%<en>\subsection{Commands and Environment} + +\DescribeMacro{\makeparesseletter} +%<*fr> +Cette macro donne au \og caractère \fg § le catcode d'une +lettre. Après cela, on peut se servir de § dans un nom de macro, par +exemple. C'est le pendant de \cs{makeatletter}. +%</fr> +%<*en> +This command gives the letter-catcode to the `character' §. After that +one can use § in the name of a macro, for instance. It corresponds to +the well-known |\makeatletter|. +%</en> + +\DescribeMacro{\makeparesseother} +%<*fr> +Cette macro donne au caractère § le catcode \emph{other}. C'est le \og +contraire \fg de la précédente. Cela équivaut au \cs{makeatother}. + +Cette macro est inactive avec un codage utf-8 sous +\hologo{LaTeX}. Elle n'aurait d'ailleurs pas vraiment de sens. Son +utilisation produit un avertissement dans le fichier |.log|. +%</fr> +%<*en> +This macro gives the catcode \emph{other} to the character §. It is +the `contrary' of the preceding one. It corresponds to |\makeatother|. + +This macro is inactivated when one uses a utf-8 encoding with +\hologo{LaTeX}. In such a case it wouldn't have a clear meaning. When +used it issues a warning in the |.log| file. +%</en> + +\DescribeMacro{\ActiveLaParesse} +%<*fr> +Cette macro active le caractère § et permet ainsi d'accéder aux +macros dont le nom commence par § comme |§a|. Pour une liste de ces +macros et leurs significations, voyez les tableaux~\ref{codageorig} +et~\ref{codagelevi}. +%</fr> +%<*en> +This macro makes § active and thus enable one to access the macros the +name of which begins with § such as |§a|. A list of these macros and +theirs meanings is given in the tables~\ref{codageorig} +and~\ref{codagelevi}. +%</en> + +\DescribeEnv{ParesseActive} +%<*fr> +Dans cet environnement le caractère § est actif ce qui permet +d'utiliser les macros en §. On utilisera cet environnement si l'on +veut utiliser les macros quand on a chargé l'extension +\Pkg{paresse} avec l'option \texttt{tame}. +%</fr> +%<*en> +In this environment § is active and one can use the §-macros. One +could use this environment if one want to use the §-macros when the +package \texttt{paresse.sty} is loaded whith the option \texttt{tame}. +%</en> + +%<fr>\subsection{Tableaux des macros} +%<en>\subsection{Tables of the Macros} + +%<fr>\subsubsection{Codage originel de \Pkg{paresse.sty}} +%<en>\subsubsection{\Pkg{paresse.sty}'s Original Encoding} + +%<*fr> +C'est le codage actif lorsque l'on a choisit l'option \Option{legacy} qui +est l'option par défaut. +%</fr> +%<*en> +This is the active encoding when one choses the option \Option{legacy} +which is the default. +%</en> + +\begin{center}\Large +\begin{ParesseActive} \label{codageorig} +\begin{tabular}{*4{||>{\ttfamily \§}c|c}||}\hline +a & §a & b & §b & g & §g & d & §d\\ \hline +e & §e & z & §z & h & §h & v & §v\\ \hline +i & §i & k & §k & l & §l & m & §m\\ \hline +n & §n & x & §x & p & §p & r & §r\\ \hline +s & §s & y & §y & u & §u & f & §f\\ \hline +c & §c & q & §q & w & §w &\multicolumn{1}{c|}{}&\\ \hline\hline +G & §G & D & §D & V & §V & L & §L\\ \hline +X & §X & P & §P & S & §S & U & §U\\ \hline +F & §F & Q & §Q & W & §W & Z & §Z\\ \hline +\end{tabular} +\end{ParesseActive} +\end{center} + +%<*fr> +\paragraph{Remarques : } à l'exception de {\ActiveLaParesse §v, §y +et §q} les lettres utilisées dans les noms des macros sont chargées +de vertu mnémotechniques \texttt{:-)} et les majuscules grecques +s'obtiennent à l'aide de la majuscule correspondante. +%</fr> +%<*en> +\paragraph{Remarks : } all the latin letters used in the name of the +§-macros, but for {\ActiveLaParesse §v, §y and §q}, are loaded with +reminiscences, I hope \texttt{:-)} and the greek uppercases are +obtained with the (latin) corresponding uppercases. +%</en> + +\pagebreak[4] + +%<fr>\subsubsection{Codage de Sylvio \textsc{Levi}} +%<en>\subsubsection{Sylvio \textsc{Levi}'s Encoding} + +%<*fr> +On active ce codage avec l'option \Option{Levi}. +%</fr> +%<*en> +One make this encoding active with the option \Option{Levi}. +%</en> + +\begin{center}\Large +\begin{ParesseActive} \label{codagelevi} +\begin{tabular}{*4{||>{\ttfamily \§}c|c}||}\hline +a & §a & b & §b & g & §g & d & §d\\ \hline +e & §e & z & §z & h & §h & j & §v\\ \hline +i & §i & k & §k & l & §l & m & §m\\ \hline +n & §n & x & §x & p & §p & r & §r\\ \hline +s & §s & t & §y & u & §u & f & §f\\ \hline +q & §c & y & §q & w & §w & c & \(\varsigma\)\\ \hline\hline +G & §G & D & §D & J & §V & L & §L\\ \hline +X & §X & P & §P & S & §S & U & §U\\ \hline +F & §F & Y & §Q & W & §W & Z & §Z\\ \hline +\end{tabular} +\end{ParesseActive} +\end{center} + +%<*fr> +Le codage de Sylvio \textsc{Levi} donne accès directement à \cs{varsigma} +(\(\varsigma\)) avec |§c| et ne diffère du codage originel que pour +les lettres {\ActiveLaParesse §v, §y, §c et §q}. Voici un résumé de +ces différences: +%</fr> +%<*en> +Sylvio \textsc{Levi}'s encoding gives a direct acces to \cs{varsigma} +(\(\varsigma\)) with |§c| and is different from the original encoding +just for the letters {\ActiveLaParesse §v, §y, §c et §q}. Here is a +summary of theses differences: +%</en> + +\begin{center} +\newcommand\CT[1]{\multicolumn{1}{c|}{\texttt{#1}}} +\begin{ParesseActive} +\begin{tabular}{|l|*{7}{c|}}\hline +%<fr>lettres grecques +%<en>greek letters +& §v & §y & §c & §q & §V & §Q & \(\varsigma\)\\\hline +%<fr>codage originel +%<en>original encoding +&\CT{\§v/\§t}&\CT{\§y/\§t}&\CT{\§c} +&\CT{\§q}&\CT{\§V/\§T}&\CT{\§Q}& --- \\\hline +%<fr>codage de S. \textsc{Levi} +%<en>S. \textsc{Levi}'s encoding +&\CT{\§j}&\CT{\§t}&\CT{\§q}&\CT{\§y} +&\CT{\§J}&\CT{\§Y} & \CT{\§c}\\\hline +\end{tabular} +\end{ParesseActive} +\end{center} + +\begin{thebibliography}{99} +%<fr>\addcontentsline{toc}{section}{Bibliographie} +%<en>\addcontentsline{toc}{section}{References} +\bibitem{tlachand} T.~\textsc{Lachand-Robert}. +\emph{La maîtrise de \TeX{} et \LaTeX{}}. +Masson, Paris, Milan, Barcelone, \oldstylenums{1995}.\\ +\textsc{isbn} : \texttt{2-225-84832-7}. +\end{thebibliography} +\PrintIndex +\end{document} +%</doc> +%<*exemple> +\documentclass[a4paper,12pt]{article} +\usepackage[latin1]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[tame]{paresse} +% \usepackage{amsmath} +\usepackage{xspace,array,fancyvrb} +%<fr>\usepackage[frenchb]{babel} +%<en>\usepackage[english]{babel} +\IfFileExists{lmodern.sty}{\usepackage{lmodern}}{} +\setlength{\parindent}{0pt} +\newcommand\BOP{\discretionary{}{}{}} +\begin{document} +\pagestyle{empty} +\begin{center}\large +%<fr>Exemples d'utilisation de l'extension \texttt{paresse}.\\ +%<en>Examples of \texttt{paresse} package usage.\\ + le \TeX nicien de surface\\ + 2011-04-19 +\end{center} + +%<*fr> +Ce fichier charge +% les extensions \texttt{amsmath} et, +l'extension \texttt{lmodern} +si elle est disponible localement.%, \texttt{lmodern}. + +\textbf{Attention}: l'extension \texttt{paresse} est chargée avec +l'option \texttt{tame} pour montrer l'utilisation de la commande +\verb!\ActiveLaParesse! et de l'environnement +\verb!Pares!\BOP\verb!se!\BOP\verb!Ac!\BOP\verb!tive!. +%</fr> +%<*en> +This file loads %the \texttt{amsmath} package and, +the \texttt{lmodern} package if it locally exists. + +\textbf{Caution}: the \texttt{paresse} package is loaded with the +option \texttt{tame} to show the usage of macro +\verb!\ActiveLaParesse! and environment \verb!ParesseActive!. +%</en> + +\vspace{\baselineskip} + +%<fr>Avec la commande \verb!\ActiveLaParesse! pour activer le caractère §. +%<en>With the macro \verb!\ActiveLaParesse! to make the § character active. +%<*fr> +\begin{Verbatim}[frame=single] +{\ActiveLaParesse +\(§a^{§b}_{§g}\) et encore \(§D^§a_§d\) +} +\end{Verbatim} +%</fr> +%<*en> +\begin{Verbatim}[frame=single] +{\ActiveLaParesse +\(§a^{§b}_{§g}\) and also \(§D^§a_§d\) +} +\end{Verbatim} +%</en> +%<fr>pour obtenir : +%<en>to obtain: +{\ActiveLaParesse \(§a^{§b}_{§g}\) +%<fr> et encore +%<en> and also +\(§D^§a_§d\)} +\vspace{\baselineskip} + +%<fr>Avec l'environnement \verb!ParesseActive!. +%<en>With the environment \verb!ParesseActive!. + +\begin{Verbatim}[frame=single] +\begin{ParesseActive}\large +\begin{tabular}{*4{||>{\ttfamily \§}c|c}||} \hline +a & §a & b & §b & g & §g & d & §d\\ \hline +e & §e & z & §z & h & §h & v & §v\\ \hline +... +X & §X & P & §P & S & §S & U & §U\\ \hline +F & §F & Q & §Q & W & §W & Z & §Z\\ \hline +\end{tabular} +\end{ParesseActive} +\end{Verbatim} + +\medskip + +\begin{center} +\begin{ParesseActive}\large +\begin{tabular}{*4{||>{\ttfamily \§}c|c}||} \hline +a & §a & b & §b & g & §g & d & §d\\ \hline +e & §e & z & §z & h & §h & v & §v\\ \hline +i & §i & k & §k & l & §l & m & §m\\ \hline +n & §n & x & §x & p & §p & r & §r\\ \hline +s & §s & y & §y & u & §u & f & §f\\ \hline +c & §c & q & §q & w & §w &\multicolumn{1}{c|}{}& \\ \hline\hline +G & §G & D & §D & V & §V & L & §L\\ \hline +X & §X & P & §P & S & §S & U & §U\\ \hline +F & §F & Q & §Q & W & §W & Z & §Z\\ \hline +\end{tabular} +\end{ParesseActive} +\end{center} +\end{document} +%</exemple> +% \fi +\endinput +%%% Local Variables: +%%% mode: doctex +%%% fill-column: 70 +%%% coding: iso-8859-15 +%%% TeX-master: t +%%% End: diff --git a/Master/texmf-dist/source/latex/paresse/paresse.dtx b/Master/texmf-dist/source/latex/paresse/paresse.dtx index 87cd632d60c..5a1b6a47287 100644 --- a/Master/texmf-dist/source/latex/paresse/paresse.dtx +++ b/Master/texmf-dist/source/latex/paresse/paresse.dtx @@ -1,14 +1,14 @@ % \iffalse meta-comment %-*- coding: iso-8859-15 -*- -% Time-stamp: <2010-03-21 14:57:16 yvon> +% Time-stamp: <2011-04-19 17:31:53 yvon> % -------------------------------------------------------------------- % -% Copyright (C) 2004, 2008, 2010 by Yvon Henel -% dit « le TeXnicien de surface » <le.texnicien.de.surface@wanadoo.fr> +% Copyright (C) 2011 +% by Yvon Henel alias le TeXnicien de surface +% <le.texnicien.de.surface@wanadoo.fr> % % -------------------------------------------------------------------- % -% % This file may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.2 % of this license or (at your option) any later version. @@ -22,12 +22,17 @@ % % \iffalse %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] -%<package|doc>\def\fileversion{v3} -%<package|doc>\def\filedate{2010/03/21} -%<package>\def\fileinfo{fichier paresse.dtx par le TeXnicien de surface} -%<package>\ProvidesPackage{paresse} -%<package> [\filedate\space\fileversion\space\fileinfo] -% +%<*common> +\def\fileversion{v4} +\def\filedate{2011/04/19} +\def\fileinfo{fichier paresse par le TeXnicien de surface} +%</common> +%<*package> +\ProvidesPackage{paresse} + [\filedate\space\fileversion\space\fileinfo] +%</package> +% \fi +% \iffalse %<*driver> \documentclass[a4paper]{ltxdoc} \usepackage[latin1]{inputenc} @@ -35,61 +40,34 @@ \usepackage[tame]{paresse} \usepackage{xspace,url,array, ifthen} \IfFileExists{lmodern.sty}{\usepackage{lmodern}}{} -\usepackage[english,frenchb]{babel} -\usepackage[colorlinks=true, - linkcolor=blue, - urlcolor=blue, - citecolor=blue]{hyperref} +\usepackage[frenchb,english]{babel} +\usepackage{hypdoc,hologo} + +\newcommand*\PS{\texttt{\S}\xspace} +\newcommand*\PSVerb[1]{\texttt{\S #1}} +\newcommand\BOP{\discretionary{}{}{}} +\newcommand\Option[1]{\textsc{#1}} +\newcommand\Pkg[1]{\textsf{#1}} +\newcommand\NOUVO{% + \marginpar{\hspace*{\stretch{1}}% + \textbf{N (v4)}\hspace*{.5em}}\xspace} % commentez la ligne suivante pour avoir un document avec le code % \OnlyDescription +% comment the preceding line to obtain a document with the code % puis cherchez \StopEventually pour d'éventuels réglages -\EnableCrossrefs +% then look for \StopEventually to make a bit of setup +\EnableCrossrefs \CodelineIndex \RecordChanges -\makeatletter -%%% <francisation> -\makeatletter -\GlossaryPrologue{% - \section*{{Changements}} - \markboth{{Changements}}{{Changements}}} -\IndexPrologue{% - \section*{Index}\markboth{Index}{Index}% - Les nombres en italique renvoient à la page où l'entrée est décrite; - les nombres soulignés renvoient à la ligne de code de la définition; - les nombres en caractères romains renvoient à la ligne de code où - l'entrée est utilisée.} -\def\generalname{Général} -\newcommand\DescribeOption[1]{\@bsphack \marginpar{\raggedleft - \textsc{#1}}\index{#1 (option)}\@esphack} -\def\SpecialMainEnvIndex#1{% - \@bsphack\special@index{% - #1\actualchar - {\string\ttfamily\space#1} - (environnement)% - \encapchar main}% - \special@index{environnements:\levelchar#1\actualchar{% - \string\ttfamily\space#1}\encapchar - main}\@esphack} -\makeatother -%%% </francisation> -\newcommand{\TO}{\textemdash\ \ignorespaces} -\newcommand{\TF}{\unskip\ \textemdash\xspace} -\newcommand{\CAD}{c.-à-d.\xspace} -\newcommand\BOP{\discretionary{}{}{}} -\newcommand\Option[1]{\textsc{#1}} -\newcommand\MODULE[1]{\textsf{#1}} -\newcommand\NOUVO{% - \marginpar{\hspace*{\stretch{1}}% - \textbf{N (v3)}\hspace*{.5em}}\xspace} \begin{document} \DocInput{paresse.dtx} \end{document} %</driver> % \fi % -% \CheckSum{332} +% \CheckSum{592} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -108,73 +86,89 @@ % Right brace \} Tilde \~} % % -% \changes{v0.0}{2004/02/07}{Nouveau nom, quelques redéfinitions, -% première version publique.} -% \changes{v1}{2004/04/17}{Mise à jour de la documentation.} -% \changes{v1a}{2005/03/01}{Correction d'une erreur dans Infofile qui -% empéchait le chargement du module.} -% \changes{v2}{2008/08/13}{Suppression d'une macro inutile.} -% \changes{v2}{2008/08/13}{Réorganisation de la documentation.} -% \changes{v2}{2008/08/13}{Réemballage pour fournir un tds.zip.} -% \changes{v2.1}{2008/08/16}{Correction d'une erreur dans Infofile qui -% empéchait le chargement du module. Une fois encore!} -% \changes{v3}{2010/03/19}{Option pour codage de Sylvio \textsc{Levi}.} +% \changes{v0.0}{2004/02/07}{New name, some redefinitions, +% first public version} +% \changes{v1}{2004/04/17}{Documentation updated} +% \changes{v1a}{2005/03/01}{Correction of a bug in Infofile which prevented the loading of the package} +% \changes{v2}{2008/08/13}{A useless macro is deleted} +% \changes{v2}{2008/08/13}{Documentation reorganised} +% \changes{v2}{2008/08/13}{New wrapping to provide a tds.zip.} +% \changes{v2.1}{2008/08/16}{Correction of a bug in Infofile, once again} +% \changes{v3}{2010/03/19}{Option for Sylvio \textsc{Levi}'s encoding} +% \changes{v4}{2011/04/16}{Documentation of the code in English} +% \changes{v4}{2011/04/16}{paresse goes utf8} % % \GetFileInfo{paresse.sty} % -% \DoNotIndex{\newcommand,\newenvironment,\i,\ae,\oe,\DeclareOption,% -% \ifthenelse,\if,\else,\fi,\tr@@c,\ExecuteOptions,\ProcessOptions,% -% \relax,\MessageBreak,\CurrentOption,\RequirePackage,\PackageError,% -% \def,\endinput,\let,\boolean,\newboolean,\setboolean,\renewcommand,% -% \afterassignment,\global,\aftergroup,\bgroup,\egroup,\csname,% -% \endcsname,\emph,\catcode,\space,\string,\next,\active,\rmfamily,\rule,% -% \textsl,\upshape, \alpha, \beta, \gamma, \delta, \epsilon, % -% \varepsilon, \zeta, \eta, \theta, \vartheta, \iota, \kappa, % -% \lambda, \mu, \nu, \xi, \pi, \varpi, \rho, \varrho, \sigma, % -% \varsigma, \tau, \upsilon, \phi, \varphi, \chi, \psi, \omega, % -% \Delta, \Gamma, \Theta, \Lambda, \Xi, \Pi, \Sigma, \Upsilon, % -% \Phi, \Psi, \Omega, \newif, \ifnum, \count@, \ensuremath} % +% \DoNotIndex{\newcommand,\newenvironment,\i,\ae,\oe,\DeclareOption,^^A +% \ifthenelse,\if,\else,\fi,\tr@@c,\ExecuteOptions,\ProcessOptions,^^A +% \relax,\MessageBreak,\CurrentOption,\RequirePackage,\PackageError,^^A +% \def,\endinput,\let,\boolean,\newboolean,\setboolean,\renewcommand,^^A +% \afterassignment,\global,\aftergroup,\bgroup,\egroup,\csname,^^A +% \endcsname,\emph,\catcode,\space,\string,\next,\active,\rmfamily,\rule,^^A +% \textsl,\upshape, \alpha, \beta, \gamma, \delta, \epsilon, ^^A +% \varepsilon, \zeta, \eta, \theta, \vartheta, \iota, \kappa, ^^A +% \lambda, \mu, \nu, \xi, \pi, \varpi, \rho, \varrho, \sigma, ^^A +% \varsigma, \tau, \upsilon, \phi, \varphi, \chi, \psi, \omega, ^^A +% \Delta, \Gamma, \Theta, \Lambda, \Xi, \Pi, \Sigma, \Upsilon, ^^A +% \ExecuteOptionsX,\ProcessOptionsX,\DeclareOptionX,^^A +% \DeclareUnicodeCharacter, \parse@XML@charref, ^^A +% \parse@UTFviii@a, \parse@UTFviii@b, \AtBeginDocument, ^^A +% \@eha, \@firstofone, \@gobble,\@toks, \@latex@error, ^^A +% \begingroup, \endgroup, \gdef, \IeC, \ifcat, \ifcsname, ^^A +% \ifluatex, \ifxetex, \iftogoff, \iftogon, \UTFviii@tmp, ^^A +% \UTFviii@four@octets, \UTFviii@three@octets, \UTFviii@two@octets,^^A +% \ifx, \the, \wlog, \togoff, \togon, \@ifpackageloaded, ^^A +% \expandafter, \futurelet, \makeatletter, \makeatother, ^^A +% \inputencodingname, \InputIfFileExists, \PackageInfo,^^A +% \PackageWarning, \newtog, \ProvidesFile, \PS, \PSVerb, ^^A +% \stop, \S, \usepackage, \temp@a, \define@bitogkeys, ^^A +% \Phi, \Psi, \Omega, \newif, \ifnum, \count@, \ensuremath, ^^A +% \~, \", \^} ^^A % -% \title{Le module \MODULE{paresse}\thanks{Ce document correspond au -% fichier \MODULE{paresse.sty}~\fileversion, du \filedate, édition du -% cinquantenaire.}} +% \title{The package \Pkg{paresse}\thanks{This document corresponds +% to file \Pkg{paresse.sty}~\fileversion, dated \filedate.}} % \author{Le \TeX nicien de surface\\ % \url{le.texnicien.de.surface@wanadoo.fr}} % % \maketitle % \begin{abstract} -% Ce module, reprenant un exemple de T.~\textsc{Lachand-Robert} -% dans~\cite{tlachand}, fournit un moyen de taper des lettres -% grecques isolées à l'aide du caractère actif et -% redéfini. Au lieu de |\(\alpha\)| ou tape |§a| pour obtenir -% \(\alpha\). +% This package implements an example from T.~\textsc{Lachand-Robert} +% in~\cite{tlachand}. It provides a means of typing isolated greek +% letters with the character \PS activated and redefined. Instead of +% |\(\alpha\)| one types \PSVerb{a} to obtain \(\alpha\). % -% \textbf{Important} : Il doit être chargé \textbf{après} -% \MODULE{inputenc} si ce dernier est utilisé. De plus, il faut que -% le signe § soit une lettre pour \TeX. +% \textbf{Important}: You have to load it \textbf{after} the +% \Pkg{inputenc} package if the latter is used. Moreover the sign +% \PS must be a letter for \TeX. +% +% \textbf{New}: with this version~4, one can use this package even +% with utf8-encoded source for \hologo{LaTeX}, \hologo{LuaLaTeX}, or +% \hologo{XeLaTeX}. +% +% The English documentation for the final user of the package +% \Pkg{paresse} is available in the file \texttt{paresse-en.pdf}. % -% La documentation française pour l'utilisateur de l'extension -% \MODULE{paresse} est désormais disponible sous le nom de -% \texttt{paresse-fr}. % \end{abstract} -% \begin{otherlanguage}{english} +% \begin{otherlanguage}{french} % \begin{abstract} -% This package implements an example from -% T.~\textsc{Lachand-Robert} in~\cite{tlachand}. It provides a -% means of typing isolated greek letters with the character § -% activated and redefined. Instead of |\(\alpha\)| one types |§a| -% to obtain \(\alpha\). +% Ce module, reprenant un exemple de T.~\textsc{Lachand-Robert} +% dans~\cite{tlachand}, fournit un moyen de taper des lettres +% grecques isolées à l'aide du caractère \PS actif et redéfini. Au +% lieu de |\(\alpha\)| ou tape \PSVerb{a} pour obtenir +% \(\alpha\). % -% \textbf{Important}: You have to load it \textbf{after} the -% \MODULE{inputenc} package if the latter is used. Moreover the -% sign § must be a letter for \TeX. +% \textbf{Important} : Il doit être chargé \textbf{après} +% \Pkg{inputenc} si ce dernier est utilisé. De plus, il faut +% que le signe \PS soit une lettre pour \TeX. % -% The English documentation for the final user of the package -% \MODULE{paresse} is available in the file \texttt{paresse-en}. +% \textbf{Nouveau}: avec cette version~4, on peut utiliser cette +% extension même dans un source codé en utf-8 avec \hologo{LaTeX}, +% \hologo{LuaLaTeX} ou \hologo{XeLaTeX}. % -% The code documentation is in French only. Sorry. But nonetheless, -% in case you really want it, look at the \texttt{.dtx} file and -% find \cs{OnlyDescription} as usual. +% La documentation française pour l'utilisateur de l'extension +% \Pkg{paresse} est disponible sous le nom de +% \texttt{paresse-fr.pdf}. % \end{abstract} % \end{otherlanguage} % @@ -192,907 +186,555 @@ % \iffalse %<*package> % \fi -% \section{Le code} -% Le code est fourni presque sans commentaire. J'espère qu'il est -% assez clair. Cela dit, il ressemble beaucoup à celui de -% l'extension |engpron| du même \emph{auteur}. -% -% Ici j'utilise |\def| à outrance pour récupérer les -% redéfinitions des macros faites par des extensions comme -% |fourier|\footnote{Mes remerciements à Michel \textsc{Bovani} -% pour ses conseils sur \url{fr.comp.text.tex}.}. -% -% On dit bonjour. On définit quelques variables booléennes et on -% fixe leur valeur par défaut. On traite les options et on crie -% si l'une d'elles n'est pas connue. +% \section{The code} +% +% +% \subsection{The sty file} +% +% From this 4th version, I use \Pkg{skeyval} for it provides +% toggle-keys. \Pkg{skeyval} loads \Pkg{xkeyval} the macros of +% which I use to manage options. +% +% \Pkg{ifluatex} and \Pkg{ifxetex} are required to take care of +% \hologo{LuaLaTeX} and \hologo{XeLaTeX} respectively. +% % \begin{macrocode} -\newif\ifGA@optiontame -\newif\ifGA@optiontau -\newif\ifGA@optionvareps -\newif\ifGA@optionvartheta -\newif\ifGA@optionvarrho -\newif\ifGA@optionvarsigma -\newif\ifGA@optionvarphi -\newif\ifGA@optionvarpi +\RequirePackage{skeyval} +\RequirePackage{ifluatex} +\RequirePackage{ifxetex} % \end{macrocode} -% \changes{v3}{2010/03/19}{pour l'option Levi} +% +% With \cmd{\define@bitogkeys}, from \Pkg{skeyval}, I define nine +% pairs of complementary toggle keys. If one of the pair is set to +% \texttt{true}, the other will be automatically set to \texttt{false} +% and vice-versa. % \begin{macrocode} -\newif\ifGA@optionlegacy +\define@bitogkeys[GA]{paresse.sty}[GA@]{legacy}[true]{levi}{}{} +\define@bitogkeys[GA]{paresse.sty}[GA@]{wild}[true]{tame}{}{} +\define@bitogkeys[GA]{paresse.sty}[GA@]{ttau}[true]{ttheta}{}{} +\define@bitogkeys[GA]{paresse.sty}[GA@]{varepsilon}[true]{epsilon}{}{} +\define@bitogkeys[GA]{paresse.sty}[GA@]{varphi}[true]{phi}{}{} +\define@bitogkeys[GA]{paresse.sty}[GA@]{pi}[true]{varpi}{}{} +\define@bitogkeys[GA]{paresse.sty}[GA@]{sigma}[true]{varsigma}{}{} +\define@bitogkeys[GA]{paresse.sty}[GA@]{rho}[true]{varrho}{}{} +\define@bitogkeys[GA]{paresse.sty}[GA@]{theta}[true]{vartheta}{}{} % \end{macrocode} % -% Déclarations des options. Suivant l'option on fixe la valeur des -% booléens avec les \cs{@option...true/false}. +% I set the behaviour of the package in case of an unknown option +% with \cmd{\DeclareOptionX*}, from \Pkg{xkeyval}. % \begin{macrocode} -\DeclareOption{tame}{\GA@optiontametrue} -\DeclareOption{wild}{\GA@optiontamefalse} -\DeclareOption{ttau}{\GA@optiontautrue} -\DeclareOption{ttheta}{\GA@optiontaufalse} -\DeclareOption{varepsilon}{\GA@optionvarepstrue} -\DeclareOption{epsilon}{\GA@optionvarepsfalse} -\DeclareOption{vartheta}{\GA@optionvarthetatrue} -\DeclareOption{theta}{\GA@optionvarthetafalse} -\DeclareOption{varrho}{\GA@optionvarrhotrue} -\DeclareOption{rho}{\GA@optionvarrhofalse} -\DeclareOption{varpi}{\GA@optionvarpitrue} -\DeclareOption{pi}{\GA@optionvarpifalse} -\DeclareOption{varsigma}{\GA@optionvarsigmatrue} -\DeclareOption{sigma}{\GA@optionvarsigmafalse} -\DeclareOption{varphi}{\GA@optionvarphitrue} -\DeclareOption{phi}{\GA@optionvarphifalse} +\DeclareOptionX*{\PackageError{paresse} {The option "\CurrentOption" + is not known!\MessageBreak The default options are:\MessageBreak + legacy, varepsilon, theta, pi, rho, sigma, and varphi.}% + {Choose between `wild' (for an active Paresse in all the document) + \MessageBreak and `tame', so that the character obtained by + \string\S\MessageBreak prints the section symbol \string\S). + \MessageBreak See the documentation for other options.}} % \end{macrocode} -% \changes{v3}{2010/03/20}{ajout des options |legacy| et |Levi|} +% +% The default options are: |legacy|, |wild|, |varepsilon|, +% |theta|, |pi|, |rho|, |sigma|, and |varphi|. +% \changes{v3}{2010/03/20}{Default option |legacy| added} % \begin{macrocode} -\DeclareOption{legacy}{\GA@optionlegacytrue} -\DeclareOption{Levi}{\GA@optionlegacyfalse} +\ExecuteOptionsX[GA]{legacy,wild,varepsilon,theta,pi,rho,sigma,varphi} +\ProcessOptionsX[GA]\relax % \end{macrocode} % -% On traite le cas des options inconnues avec un message d'erreur. +% The prefix of the \emph{secret} macros of this package is +% |GA@|. Here I define the macros which will print the correct +% character according to the chosen options. \cs{iftogon} is provided +% by \Pkg{skeyval}. % \begin{macrocode} -\DeclareOption*{\PackageError{paresse} - {The option \CurrentOption\space is not known!\MessageBreak - The default options are:\MessageBreak - legacy, varepsilon, theta, pi, rho, sigma, and varphi.}% - {Choose between `wild' (for an active Paresse in all the document) - \MessageBreak and `tame' (so that § prints the paragraph symbol). - \MessageBreak See the documentation for other options.}} +\iftogon{GA@varepsilon}{% + \def\GA@epsilon{\varepsilon}}{\def\GA@epsilon{\epsilon}} +\iftogon{GA@vartheta}{\def\GA@theta{\vartheta}}{\def\GA@theta{\theta}} +\iftogon{GA@varpi}{\def\GA@pi{\varpi}}{\def\GA@pi{\pi}} +\iftogon{GA@varrho}{\def\GA@rho{\varrho}}{\def\GA@rho{\rho}} +\iftogon{GA@varsigma}{\def\GA@sigma{\varsigma}}{\def\GA@sigma{\sigma}} +\iftogon{GA@varphi}{\def\GA@phi{\varphi}}{\def\GA@phi{\phi}} +% \end{macrocode} +% +% +% I test the engine, it it is \hologo{XeTeX} or \hologo{LuaTeX}, the +% file \texttt{paresseold.sto} is loaded. +% \begin{macrocode} +\ifluatex + \PackageInfo{paresse}{compiling with luatex} + \InputIfFileExists{paresseold.sto}{% + \PackageInfo{paresse}{paresseold loaded}}{% + \PackageInfo{paresse}{paresseold not loaded}} +\else + \ifxetex + \PackageInfo{paresse}{compiling with xetex} + \InputIfFileExists{paresseold.sto}{% + \PackageInfo{paresse}{paresseold loaded}}{% + \PackageInfo{paresse}{paresseold not loaded}} + \else +% \end{macrocode} +% We arrive here if the working engine is good old \hologo{TeX} (in +% fact, good not so old \hologo{eTeX} I hope for some things could +% depend on \hologo{eTeX}-nical internals). +% +% First some useful macros to take care of the encoding. The macros +% have been given to me by Christian \textsc{Tellechea} I do heartily +% thank for his kindness. +% +% The first one takes care of problems of encoding. +% \begin{macrocode} +\newcommand\encoding@error{% + \@latex@error{% + paresse needs inputenc loaded with option "utf8" + or option such as "latin1" (8 bits encodign).}{}\stop} +% \end{macrocode} +% The second checks that \Pkg{inputenc} has been loaded before +% \Pkg{paresse}. +% \begin{macrocode} +\@ifpackageloaded{inputenc}\relax +{\PackageError{paresse}{% + Please, load inputenc package before paresse}{% + With LaTeX, "paresse" needs to know the encoding to work well and so + the package "inputenc" must be loaded, with \string\usepackage, before + loading "paresse" itself}} +% \end{macrocode} +% The test for \Pkg{inputenc} and encoding is delayed at the beginning +% of the document where all things about encoding should be settled. +% \begin{macrocode} +\AtBeginDocument{% + \@ifpackageloaded{inputenc}\find@encoding\encoding@error} +% \end{macrocode} +% I create a new toggle |GA@utf8| and set it to \texttt{false}. It +% will be used later to chose the correct action. +% \begin{macrocode} +\newtog[GA@]{utf8}[false] % \end{macrocode} +% A bit of code to find the declared encoding and set up the toggle +% |GA@utf8| accordingly. There again work by Christian +% \textsc{Tellechea}. +% \begin{macrocode} +\newcommand\find@encoding{% + \begingroup + \def\utf@encoding{utf8}% + \def\temp@a{\togoff{GA@utf8}% + \PackageInfo{paresse}{8-bit encoding expected\@gobble}} + \ifx\utf@encoding\inputencodingname + \def\temp@a{\togon{GA@utf8}% + \PackageInfo{paresse}{utf8 encoding detected\@gobble}} + \fi + \expandafter\endgroup\temp@a} +% \end{macrocode} +% +% The main action is then delayed at the beginning of the document for +% reasons already given above. In case the utf8 encoding has been +% detected, the file \texttt{paresseutf8.sto} is loaded, otherwise it +% is \texttt{paresseold.sto} once again. % -% On active les options par défaut: |legacy|, |wild|, |varepsilon|, -% |theta|, |pi|, |rho|, |sigma| et |varphi|. -% \changes{v3}{2010/03/20}{Ajout de l'option |legacy| par défaut} +% \cs{makeatletter} is needed to mimic the loading of a \texttt{sty} +% file for, at the beginning of the document, |@| is no more a +% letter. Naturally, we must revert |@| to its non-letter status at +% the end of the loading. % \begin{macrocode} -\ExecuteOptions{legacy,wild,varepsilon,theta,pi,rho,sigma,varphi} -\ProcessOptions\relax +\AtBeginDocument{% + \makeatletter + \iftogoff{GA@utf8}{% + \InputIfFileExists{paresseold.sto}{% + \PackageInfo{paresse}{old loaded\@gobble}}{% + \PackageError{paresse}{paresseold.sto not found}{% + The package "paresse" needs to load the file "paresseold.sto" + but can't find it. Something seems to be broken in your TeX + system}}}{% + \InputIfFileExists{paresseutf8.sto}{% + \PackageInfo{paresse}{utf8 loaded\@gobble}}{% + \PackageError{paresse}{paresseutf8 not found}{% + The package "paresse" needs to load the file "paresseutf8.sto" + but can't find it. Something seems to be broken in your TeX + system}}} + \makeatother} +\fi +\fi % \end{macrocode} % -% On sauvegarde le catcode et la définition courante du caractère §. +% And that's all for the main file. +% \iffalse +%</package> +% \fi +% \iffalse +%<*oldpack> +% \fi +% +%\subsection{The file paresseold.sto} +% +% This file will be loaded in all cases except when the working engine is +% \hologo{LaTeX} with |[utf8]{inputenc}| loaded. |^^a7| is \TeX nical +% code for the character I type, on my French keypad, with key \S. +% +% This is almost the content of the version~3 of +% \texttt{paresse.sty}. The changes are the use of toggles provided by +% \Pkg{skeyval} and the appearance of \PSVerb{Z} to obtain \S --- +% which is always available through \cs{S}\footnote{So could I speak +% of \PSVerb{Z} in terms of ``shortcut''?}. +% +% \begin{macrocode} +\ProvidesFile{paresseold.sto} +% \end{macrocode} +% Presentations made, I save the current category code (catcode) of +% the character \PS and its definition in \cs{GA@LaVieilleParesse}. % \begin{macrocode} -\count@=\catcode`\§ -\let\GA@LaVieilleParesse= § +\count@=\catcode`\^^a7 +\let\GA@LaVieilleParesse= ^^a7 % \end{macrocode} -% On définit une macro pour pouvoir obtenir le caractère lui-même. Ça -% peut servir, parfois\dots +% For sake of convienience, \PS is def'ed as |\S|. % \begin{macrocode} -\def\§{\S} +\def\^^a7{\S} % \end{macrocode} % -% On définit une série de macros plus ou moins \og cachées \fg. -% On doit recourir à des acrobaties pour obtenir ce que l'on veut -% et pour éviter que \TeX\ ne hurle des méchancetés du genre -% |\inaccessible|. +% Come some end-user macros. \cs{makeparesseletter} changes the +% \DescribeMacro{\makeparesseletter} catcode of \PS to~\(11\) which is +% the code of letter and \DescribeMacro{\makeparesseother} +% \cs{makeparesseother} changes that code to~\(12\) the code of other +% characters. % \begin{macrocode} -\newcommand{\makeparesseletter}{\catcode `\§=11\relax} -\newcommand{\makeparesseother}{\catcode `\§=12\relax} -\newcommand{\GA@MakeParesseActive}{\catcode `\§=\active} -\def\GA@ActiveLaParessexii{\catcode `\§=\active} -\def\GA@ActiveLaParessexiii{\catcode `\§=\active - \def§##1{\ensuremath{\csname \string§##1\endcsname}}} +\newcommand{\makeparesseletter}{\catcode `\^^a7=11\relax} +\newcommand{\makeparesseother}{\catcode `\^^a7=12\relax} +% \end{macrocode} +% \cs{GA@MakeParesseActive} is an internal macro to activate \PS. +% \DescribeMacro{\GA@MakeParesseActive} +% Then come two macros to activate \PS for the remaining part of the +% file. On of them is applied according to the catcode of \PS at the +% beginning --- catcode saved in |\count@|. +% \begin{macrocode} +\newcommand{\GA@MakeParesseActive}{\catcode `\^^a7=\active} +\def\GA@ActiveLaParessexii{\catcode `\^^a7=\active} +\def\GA@ActiveLaParessexiii{\catcode `\^^a7=\active + \def^^a7##1{\ensuremath{\csname \string^^a7##1\endcsname}}} \ifnum\count@=12 -\let\GA@ActiveLaParesse \GA@ActiveLaParessexii + \let\GA@ActiveLaParesse \GA@ActiveLaParessexii \else -\let\GA@ActiveLaParesse \GA@ActiveLaParessexiii + \let\GA@ActiveLaParesse \GA@ActiveLaParessexiii \fi % \end{macrocode} -% La macro utile puis l'environnement itou. Ils font tous les -% deux appels à la macro \emph{cachée} qui suit. -% \begin{macro}{\ActiveLaParesse} -% Ce n'est qu'un alias pour \cs{GA@ActiveLaParesse}. +% +% It's time to provide one end-user macro and one environment useful +% \DescribeMacro{\ActiveLaParesse} +% \DescribeEnv{ParesseActive} +% when the package has been loaded with option \Option{tame} to +% locally activate \PS. % \begin{macrocode} \newcommand{\ActiveLaParesse}{\GA@ActiveLaParesse} +\newenvironment{ParesseActive}{\GA@ActiveLaParesse}{} % \end{macrocode} -% \end{macro} % -% \begin{environment}{ParesseActive} -% Environnement minimaliste qui se contente d'appeler -% \cs{GA@ActiveLaParesse} en bornant son effet par le groupe créé par -% l'environnement. +% Now come the definitions of the meanings of the \PS-macros. For +% these definitions to work, \PS is made a letter. % \begin{macrocode} -\newenvironment{ParesseActive}{\GA@ActiveLaParesse}{} +\makeparesseletter +\def\^^a7a {\alpha} +\def\^^a7b {\beta} +\def\^^a7g {\gamma} +\def\^^a7d {\delta} +\def\^^a7e {\GA@epsilon} +\def\^^a7z {\zeta} +\def\^^a7h {\eta} +\def\^^a7i {\iota} +\def\^^a7k {\kappa} +\def\^^a7l {\lambda} +\def\^^a7m {\mu} +\def\^^a7n {\nu} +\def\^^a7x {\xi} +\def\^^a7p {\GA@pi} +\def\^^a7r {\GA@rho} +\def\^^a7s {\GA@sigma} +\def\^^a7u {\upsilon} +\def\^^a7f {\GA@phi} +\def\^^a7w {\omega} +% \end{macrocode} +% In case of option \Option{legacy}, definitions of \PSVerb{v}, +% \PSVerb{y}, \PSVerb{c}, and \PSVerb{q} as in the first two versions +% of this package. +% \begin{macrocode} +\iftogon{GA@legacy}{% + \def\^^a7v {\GA@theta} + \def\^^a7y {\tau} + \def\^^a7c {\chi} + \def\^^a7q {\psi} +% \end{macrocode} +% Care is taken of options \Option{ttau} and \Option{ttheta}. +% \begin{macrocode} + \iftogon{GA@ttau}{\def\^^a7t {\tau}}{\def\^^a7t {\GA@theta}}}{% +% \end{macrocode} +% Definitions of the same \PSVerb{v}, \PSVerb{y}, \PSVerb{c}, and +% \PSVerb{q} with option \Option{levi}. In that case, options +% \Option{ttau} and \Option{ttheta} are no-op. +% \begin{macrocode} + \def\^^a7j {\GA@theta} + \def\^^a7t {\tau} + \def\^^a7q {\chi} + \def\^^a7y {\psi} + \def\^^a7c {\varsigma}} +% \end{macrocode} +% Upper case letters are treated thence: +% \begin{macrocode} +\def\^^a7G {\Gamma} +\def\^^a7D {\Delta} +\def\^^a7L {\Lambda} +\def\^^a7P {\Pi} +\def\^^a7S {\Sigma} +\def\^^a7U {\Upsilon} +\def\^^a7F {\Phi} +\def\^^a7X {\Xi} +\def\^^a7W {\Omega} +% \end{macrocode} +% Once again \Option{legacy} vs. \Option{levi}: +% \begin{macrocode} +\iftogon{GA@legacy}{% + \def\^^a7V {\Theta} + \def\^^a7T {\Theta} + \def\^^a7Q {\Psi} +}{% + \def\^^a7J {\Theta} + \def\^^a7Y {\Psi} +}% +% \changes{va4}{2011/04/17}{\PSVerb{Z} added to produce \PS} +\def\^^a7Z {\S} % \end{macrocode} -% \end{environment} % -% Une série de macros pour les lettres à variantes. +% The end is near! \PS is made active and the \PS-macros defined. This +% is old code --- directly from~\cite{tlachand}. % \begin{macrocode} -\ifGA@optionvareps\def\GA@epsilon{\varepsilon}\else\def\GA@epsilon{\epsilon}\fi -\ifGA@optionvartheta\def\GA@theta{\vartheta}\else\def\GA@theta{\theta}\fi -\ifGA@optionvarpi\def\GA@pi{\varpi}\else\def\GA@pi{\pi}\fi -\ifGA@optionvarrho\def\GA@rho{\varrho}\else\def\GA@rho{\rho}\fi -\ifGA@optionvarsigma\def\GA@sigma{\varsigma}\else\def\GA@sigma{\sigma}\fi -\ifGA@optionvarphi\def\GA@phi{\varphi}\else\def\GA@phi{\phi}\fi +\catcode `\^^a7=\active +\def^^a7#1{\ensuremath{\csname \string^^a7#1\endcsname}} % \end{macrocode} -% On fait de § une lettre et on définit les macros à coup de -% |\def\§...|. Avant de passer aux majuscules, on s'occupe de la -% lettre t (option |ttau| et |ttheta|). +% In case option \Option{tame} is chosen, \PS is given its first +% catcode and meaning back. % \begin{macrocode} -\makeparesseletter +\iftogon{GA@tame}{% + \catcode`\^^a7=\count@ + \ifnum\count@=13 \let ^^a7=\GA@LaVieilleParesse \fi +}% % \end{macrocode} +% +% And that's all for \texttt{paresseold.sto}. +% +% \iffalse +%</oldpack> +% \fi +% \iffalse +%<*utf8pack> +% \fi +% +%\subsection{The file paresseutf8.sto} +% +% This part is brand new. It deals with the document encoded in utf8 +% via |\usepackage[utf8]{fontenc}| and compiled with \hologo{LaTeX}. +% +% It is at the request of Christian \textsc{Tellechea} that this +% package now deals with such source. Most of the macros of this part +% were created by the same Christian. % -% Définitions des macros communes aux options |legacy| et |Levi|: +% First a bit of identification % \begin{macrocode} -\def\§a {\alpha} -\def\§b {\beta} -\def\§g {\gamma} -\def\§d {\delta} -\def\§e {\GA@epsilon} -\def\§z {\zeta} -\def\§h {\eta} -\def\§i {\iota} -\def\§k {\kappa} -\def\§l {\lambda} -\def\§m {\mu} -\def\§n {\nu} -\def\§x {\xi} -\def\§p {\GA@pi} -\def\§r {\GA@rho} -\def\§s {\GA@sigma} -\def\§u {\upsilon} -\def\§f {\GA@phi} -\def\§w {\omega} +\ProvidesFile{paresseutf8.sto} % \end{macrocode} -% Traitements pour l'option |legacy|: +% followed by code partially taken from \texttt{utf8.def} for I wanted +% to implement the option \Option{tame} and, to do so, needed to +% redeclare the character \PS. Four macros are used in such a +% redeclaration and they are made unavailable outside preamble in +% \texttt{utf8.def}. +% +% The original \cs{DeclareUnicodeCharacter} depends on +% \cs{parse@XML@charref} which itself depends on \cs{parse@UTFviii@a} +% and \cs{parse@UTFviii@b}. Those two last macros are defined in terms +% of accessible macros. Therefore, I first create an alias of the last +% two and then define \cs{declareunicodecharacter} and +% \cs{GA@parse@XML@charref} in terms of the \emph{localised} version +% of \cs{parse@UTFviii@a} and \cs{parse@UTFviii@b}. +% +% To be on the safe side, I repeat the invocations of catcode of +% \texttt{utf8.def}. % \begin{macrocode} -\ifGA@optionlegacy -\def\§v {\GA@theta} -\def\§y {\tau} -\def\§c {\chi} -\def\§q {\psi} +\begingroup +\catcode`\"=12 +\catcode`\<=12 +\catcode`\.=12 +\catcode`\,=12 +\catcode`\;=12 +\catcode`\!=12 +\catcode`\~=13 +\global\let\GA@parse@UTFviii@a=\parse@UTFviii@a +\global\let\GA@parse@UTFviii@b=\parse@UTFviii@b +\gdef\declareunicodecharacter#1#2{% + \count@"#1\relax + \wlog{\space\space Redefining Unicode char U+#1 (decimal \the\count@)}% + \begingroup + \GA@parse@XML@charref + \def\UTFviii@two@octets##1##2{\csname u8:##1\string##2\endcsname}% + \def\UTFviii@three@octets##1##2##3{\csname u8:##1% + \string##2\string##3\endcsname}% + \def\UTFviii@four@octets##1##2##3##4{\csname u8:##1% + \string##2\string##3\string##4\endcsname}% + \expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter + \expandafter + \gdef\UTFviii@tmp{\IeC{#2}}% + \endgroup} +\gdef\GA@parse@XML@charref{% + \ifnum\count@<"A0\relax + \PackageError{inputenc}{Cannot\space define\space Unicode\space + char\space value\space <\space 00A0}\@eha + \else\ifnum\count@<"800\relax + \GA@parse@UTFviii@a,% + \GA@parse@UTFviii@b C\UTFviii@two@octets.,% + \else\ifnum\count@<"10000\relax + \GA@parse@UTFviii@a;% + \GA@parse@UTFviii@a,% + \GA@parse@UTFviii@b E\UTFviii@three@octets.{,;}% + \else + \GA@parse@UTFviii@a;% + \GA@parse@UTFviii@a,% + \GA@parse@UTFviii@a!% + \GA@parse@UTFviii@b F\UTFviii@four@octets.{!,;}% + \fi + \fi +\fi} +\endgroup % \end{macrocode} -% +% Here ends the \emph{localisation}. +% +% I provide the same macros as in the preceding case but in such a +% context \cs{makeparesseother} doesn't make sense. It just produces a +% warning. % \begin{macrocode} -\ifGA@optiontau \def\§t {\tau}\else \def\§t {\GA@theta}\fi +\newcommand{\makeparesseletter}{\DeclareUnicodeCharacter{00A7}\S} +\newcommand{\makeparesseother}{% + \PackageWarning{paresse}{% + Command \string\makeparesseother disabled}{% + The command \string\makeparesseother would have been meaningless + in the current context}} % \end{macrocode} -% traitements pour l'option |Levi|: +% +% The end-user macro \cs{ActiveLaParesse} and the corresponding +% environment |ParesseActive|. +% +% The Unicode character of code \texttt{00A7} is made equal to the +% macro \cs{@paresse}. % \begin{macrocode} -\else -\def\§j {\GA@theta} -\def\§t {\tau} -\def\§q {\chi} -\def\§y {\psi} -\def\§c {\varsigma} -\fi +\newcommand{\ActiveLaParesse}{\declareunicodecharacter{00A7}\@paresse} +\newenvironment{ParesseActive}{\ActiveLaParesse}{} % \end{macrocode} -% Idem pour majuscules: +% +% It's time to prepare the definition of the \PS-macros. To begin with +% we activate the character \PS. % \begin{macrocode} -\def\§G {\Gamma} -\def\§D {\Delta} -\def\§L {\Lambda} -\def\§P {\Pi} -\def\§S {\Sigma} -\def\§U {\Upsilon} -\def\§F {\Phi} -\def\§X {\Xi} -\def\§W {\Omega} +\ActiveLaParesse % \end{macrocode} -% +% +% And now for the \emph{working} code: when the paresse is active, the +% byte \texttt{00A7} is an alias for \cs{@paresse} and, because of the +% following, the code \cs{@paresse}\meta{token} is changed into +% \cs{@i@paresse}\meta{token} with the side effect that \cs{@toks} is +% let to \meta{token}. % \begin{macrocode} -\ifGA@optionlegacy -\def\§V {\Theta} -\def\§T {\Theta} -\def\§Q {\Psi} -\else -\def\§J {\Theta} -\def\§Y {\Psi} -\fi +\def\@paresse{\futurelet\@toks\@i@paresse} % \end{macrocode} -% On rend actif le caractère § et on définit les macros à -% noms commençant par §. +% Then if \meta{token}, now ``in'' \cs{@toks}, has the same category +% than \texttt{a} --- hopefully a letter --- then we obtain +% \cs{@ii@paresse} else \cs{S}. +% % \begin{macrocode} -\catcode `\§=\active -\def§#1{\ensuremath{\csname \string§#1\endcsname}} +\def\@i@paresse{% + \csname\ifcat a\@toks @ii@paresse\else S\fi\endcsname} % \end{macrocode} -% Si l'option |tame| est en vigueur, on remet § dans son état -% initial et on sort. +% At that point, the code which was \cs{@paresse}\meta{token} is +% either \cs{S}\meta{token} or \cs{@ii@paresse} which awaits for an +% argument. That argument will be the still present \meta{token}. +% +% If the command \cs{@paresse@}\meta{token} is defined then it does +% its job, else we obtain \cs{S}\meta{token}. % \begin{macrocode} -\ifGA@optiontame -\catcode`\§=\count@ -\ifnum\count@=13 \let §=\GA@LaVieilleParesse \fi -\fi +\def\@ii@paresse#1{% + \ifcsname @paresse@#1\endcsname + \csname @paresse@#1\endcsname\expandafter\@gobble + \else + \expandafter\@firstofone + \fi{\S#1}} +% \end{macrocode} +% +% The next macro is used to define the \PS-macros. +% +% I have not used it in \texttt{paresseold.sto} for that definition +% prevent a feature I'm attached to, to wit, obtaining +% \(\alpha^{\beta}\) with |\(|\PSVerb{a}|^|\PSVerb{b}|\)|. I would +% have been loath to force some of the users to change their until now +% working sources. +% \begin{macrocode} +\def\define@paresse@car#1#2{% + \expandafter\def\csname @paresse@#1\endcsname{\ensuremath{#2}}} +% \end{macrocode} +% +% From now on, there are just definitions of \PS-macros. +% +% The first one, \PSVerb{Z} is new. +% \begin{macrocode} +\define@paresse@car Z\S +\define@paresse@car a\alpha +\define@paresse@car b\beta +\define@paresse@car g\gamma +\define@paresse@car d\delta +\define@paresse@car e\GA@epsilon +\define@paresse@car z\zeta +\define@paresse@car h\eta +\define@paresse@car i\iota +\define@paresse@car k\kappa +\define@paresse@car l\lambda +\define@paresse@car m\mu +\define@paresse@car n\nu +\define@paresse@car x\xi +\define@paresse@car p\GA@pi +\define@paresse@car r\GA@rho +\define@paresse@car s\GA@sigma +\define@paresse@car u\upsilon +\define@paresse@car f\GA@phi +\define@paresse@car w\omega +\iftogon{GA@legacy}{% + \define@paresse@car v\GA@theta + \define@paresse@car y\tau + \define@paresse@car c\chi + \define@paresse@car q\psi + \iftogon{GA@ttau}{% + \define@paresse@car t\tau}{% + \define@paresse@car t\GA@theta}}{% + \define@paresse@car j\GA@theta + \define@paresse@car t\tau + \define@paresse@car q\chi + \define@paresse@car y\psi + \define@paresse@car c\varsigma} +\define@paresse@car G\Gamma +\define@paresse@car D\Delta +\define@paresse@car L\Lambda +\define@paresse@car P\Pi +\define@paresse@car S\Sigma +\define@paresse@car U\Upsilon +\define@paresse@car F\Phi +\define@paresse@car X\Xi +\define@paresse@car W\Omega +\iftogon{GA@legacy}{% + \define@paresse@car V\Theta + \define@paresse@car T\Theta + \define@paresse@car Q\Psi}{% + \define@paresse@car J\Theta + \define@paresse@car Y\Psi}% % \end{macrocode} +% +% At the end of the package, if the option \Option{tame} is chosen, \PS +% is made a letter again. +% \begin{macrocode} +\iftogon{GA@tame}{\makeparesseletter} +% \end{macrocode} +% +% And that's all for the file \texttt{paresseutf8.sto}. % \iffalse -%</package> +%</utf8pack> % \fi % \Finale -% \iffalse -%<*doc> -\documentclass[a4paper]{ltxdoc} -\usepackage[latin1]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[tame]{paresse} -\usepackage{xspace,url,array,ifthen} -\IfFileExists{lmodern.sty}{\usepackage{lmodern}}{} -%<fr>\usepackage[english,frenchb]{babel} -%<en>\usepackage[frenchb,english]{babel} -\usepackage[colorlinks=true, - linkcolor=blue, - urlcolor=blue, - citecolor=blue]{hyperref} -\makeatletter -\newcommand\DescribeOption[1]{\@bsphack \marginpar{\raggedleft - \textsc{#1}}\index{#1 (option)}\@esphack} -%<*fr> -\GlossaryPrologue{% - \section*{{Changements}} - \markboth{{Changements}}{{Changements}}} -\IndexPrologue{% - \section*{Index}\markboth{Index}{Index}% - Les nombres en italique renvoient à la page où l'entrée est décrite; - les nombres soulignés renvoient à la ligne de code de la définition; - les nombres en caractères romains renvoient à la ligne de code où - l'entrée est utilisée.} -\def\generalname{Général} -\def\SpecialMainEnvIndex#1{% - \@bsphack\special@index{% - #1\actualchar - {\string\ttfamily\space#1} - (environnement)% - \encapchar main}% - \special@index{environnements:\levelchar#1\actualchar{% - \string\ttfamily\space#1}\encapchar - main}\@esphack} -\makeatother -\newcommand{\TO}{\textemdash\ \ignorespaces} -\newcommand{\TF}{\unskip\ \textemdash\xspace} -\newcommand{\CAD}{c.-à-d.\xspace} -%</fr> -\newcommand\BOP{\discretionary{}{}{}} -\newcommand\Option[1]{\textsc{#1}} -\newcommand\MODULE[1]{\textsf{#1}} -\newcommand\NOUVO{% - \marginpar{\hspace*{\stretch{1}}% - \textbf{N (v3)}\hspace*{.5em}}\xspace} - -\begin{document} -\GetFileInfo{paresse.sty} % marche pô! :( - -%<*fr> -\title{Le module \MODULE{paresse}\thanks{Ce document correspond au - fichier \MODULE{\filename}~\fileversion, du \filedate.}} -%</fr> -%<*en> -\title{The package \MODULE{paresse}\thanks{This document corresponds - to the file \MODULE{\filename}~\fileversion, dated \filedate.} - \mbox{}\thanks{English translation by the author. Any comment - about the translation is welcome.}} -%</en> -\author{Le \TeX nicien de surface\\ -\url{le.texnicien.de.surface@wanadoo.fr}} -\maketitle{} - -%<*fr> -\begin{abstract} - Ce module, reprenant un exemple de T.~\textsc{Lachand-Robert} - dans~\cite{tlachand}, fournit un moyen de taper des lettres grecques - isolées à l'aide du caractère actif et redéfini. Au lieu de - |\(\alpha\)| ou tape |§a| pour obtenir \(\alpha\). - - \textbf{Important} : Il doit être chargé \textbf{après} - \MODULE{inputenc} si ce dernier est utilisé. De plus, il faut que le - signe § soit une lettre pour \TeX. - - Le fichier \texttt{paresse.pdf} contient le code commenté en - français. -\end{abstract} -\begin{otherlanguage}{english} - \begin{abstract} - This is the French documentation for the final user of the package - \MODULE{paresse}. The English documentation for the final user is - available in the file \texttt{paresse-en.pdf}. - - The code is not commented in English any more. Sorry. See the - French documentation for French commented code in - \texttt{paresse.pdf}. - \end{abstract} -\end{otherlanguage} -%</fr> -%<*en> -\begin{abstract} - This package implements an example from T.~\textsc{Lachand-Robert} - in~\cite{tlachand}. It provides a means of typing isolated greek - letters with the character § activated and redefined. Instead of - |\(\alpha\)| one types |§a| to obtain \(\alpha\). - - The code is not commented in English any more. Sorry. See the French - documentation for French commented code in \texttt{paresse.pdf}. -\end{abstract} -\begin{otherlanguage}{french} - \begin{abstract} - La documentation française pour l'utilisateur de l'extension - \MODULE{paresse} est désormais disponible sous le nom de - \texttt{paresse-fr.pdf}. - - Le fichier \texttt{paresse.pdf} contient le code commenté en - français. - \end{abstract} -\end{otherlanguage} -%</en> - -\tableofcontents{} - -\newpage - -%<fr>\section{Introduction} -%<en>\section{Introduction} - -%<*fr> -Cette extension ne fournit qu'un accès \og rapide et économique \fg -aux lettres grecques qui s'obtiennent à l'aide d'une macro comme -\cs{alpha} ou \cs{Omega}. Elle fournit un environnement et une commande -qui permettent d'utiliser § pour taper ces lettres. Un \cs{ensuremath} -nous dispense de nous placer explicitement \TO c'est-à-dire en -tapant |$ $| ou bien |\( \)| ou encore |\[ \]| ou tout autre chose -ayant le même effet\TF en mode mathématique pour obtenir une lettre -grecque. -%</fr> -%<*en> -This package provides only a `quick and low-cost' access to greek -letters which one can obtain with a macro such as \cs{alpha} or -\cs{Omega}. It provides also an environment and a macro which make -possible the use of § to type in those letters. Because of an -\cs{ensuremath} we are not bound to explicitly enter ---i.e. by typing -|$ $| or |\( \)| or else |\[ \]| or anything whatsoever with the same -effect--- mathematics mode to obtain a greek letter. -%</en> - -%<*fr> -L'idée de la méthode est due à T.~\textsc{Lachand-Robert} et est -exposée dans~\cite{tlachand}. Je n'ai fait qu'ajouter le -\cs{ensuremath} bien agréable pour l'écriture de macros. -%</fr> -%<*en> -The idea of the method is from T.~\textsc{Lachand-Robert} and -described in~\cite{tlachand}. I have just add the \cs{ensuremath} which -is so agreeable to write macros. -%</en> - -%<*fr> -Bien entendu, on \textbf{ne} dispose \textbf{pas} de macros pour la -minuscule omicron ni pour les majuscules alpha, beta\dots{} qui -s'obtiennent à l'aide des latines romaines de même -apparence\footnote{Je ne ferai aucune remarque sur les problèmes de - codage que cela pose.}. Je ne me suis pas senti le courage ni la -force de fournir une solution qui permettent d'obtenir dans une -formule baignant dans un texte en italique gras un alpha majuscule -droit, romain, \&c. -%</fr> -%<*en> -There is \emph{no} macros for the lowercase omicron nor for the -uppercase alpha, beta\dots{} that one can obtain with the latin roman -letters with the same look. I have not had the courage nor the -strength to build a solution which would provide a means of obtaining -an upright uppercase alpha in a math formula enbedded in an italic -boldfaced text. -%</en> - -%<*fr> -Pour finir cette introduction, glosons le nom de cette -extension. |paresse| vient de ce que le signe § indique un \og -paragraphe \fg en ayant une forme lointainement apparentée au -S et n'a donc aucun lien avec le \emph{défaut} si fréquent, -encore que, à bien y réfléchir\dots -%</fr> -%<*en> -Even if the meaning of the French `paresse' is just `lazyness' I would -like to enphasize that the name of this package comes from the fact -that the sign § can be used to point at a paragraph and looks like an -S. So there is no connection between the name and the not unfrequent -sin of the same (French) name\dots{} or maybe\dots{} -%</en> - -%<fr>\section{Pourquoi une 3\ieme version?} -%<en>\section{Why a 3rd Version?} - -%<*fr> -C'est par un courriel du 3~mars 2003 que Claudio \textsc{Beccari} me -signalait très aimablement qu'il existait un codage de l'alphabet -grec en lettres latines près de 15~ans avant que je ne commette -cette extension. Ce codage était dû à Sylvio \textsc{Levi} qui -l'avait mis au point, alors qu'il dessinait les premières fontes -grecques pour \TeX, en s'appuyant sur la correspondance entre les -claviers américain et grec. Il me faisait remarquer à juste titre -que si quelqu'un avait pris l'habitude du codage de Sylvio -\textsc{Levi}, il préférerait conserver ses habitudes pour -\MODULE{paresse}. -%</fr> -%<*en> -With a mail dated march, 3, 2003, Claudio \textsc{Beccari} kindly -informed me that there was an encoding of the greek alphabet with latin -letters some 15~years before I commited this extension. This encoding -was devised by Sylvio \textsc{Levi} who, at the time, was designing -the first greek font for \TeX, using the correspondance between greek -and us keyboard. Claudio wrote to me, and I can't but agree with him, -that if one is used to \textsc{Levi}'s encoding, one would rather keep -one's habit in order to use \MODULE{paresse}. -%</en> - -%<*fr> -J'ai donc décidé de fournir un nouveau couple d'options exclusives -l'une de l'autre que j'ai nommées, pour l'une, \Option{legacy} --- -pour \og héritage\fg --- qui assure le codage originel de cette -extension et qui est active par défaut et, pour l'autre, \Option{Levi} -qui assure le codage de Sylvio \textsc{Levi}. -%</fr> -%<*en> -I, then, decided to provide a new couple of mutually exclusive -options: the first one is \Option{legacy} with which one obtain the -original encoding of this extension and which is active by default, -the other one is \Option{Levi} which provides Sylvio \textsc{Levi}'s -encoding. -%</en> - -%<*fr> -J'en profite pour faire quelques changements cosmétiques: -désormais toutes les macros internes \emph{secrètes} ont un nom qui -commence par \cs{GA@}; -le fichier |.dtx| est réorganisé pour faciliter la tache de -traduction de la documentation. -%</fr> -%<*en> -I take advantage of this update to make some cosmetic changes: from -now on all inner \emph{secret} macros have a name which begins with -\cs{GA@}; the |.dtx| file is reorganised to facilitate the translation -of the documentation. -%</en> - -%<fr>\section{Utilisation} -%<en>\section{Usage} - -%<*fr> -On charge cette extension avec |\usepackage{paresse}| \textbf{après} -l'extension |inputenc|. Il faut que la \og caractère \fg § soit -reconnu par \TeX\ comme une lettre. On pourra, par exemple, utiliser -l'option |latin1| de |inputenc| pour obtenir cela. -%</fr> -%<*en> -One loads the package with |\usepackage{paresse}| \textbf{after} the -package |inputenc|. The sign § must be recognised as a letter by -\TeX. On can use for instance |inputenc| with option |latin1| for such -a purpose. -%</en> - -%<*fr> -Par défaut, l'extension est chargée avec l'option |wild| ce qui -signifie que les macros de la forme |§a| sont disponibles. Si l'on -préfère, on peut passer à |paresse| l'option \Option{tame} avec -|\usepackage[tame]{paresse}|. Il faut alors utiliser la commande -\cs{ActiveLaParesse} ou l'environnement |ParesseActive| pour utiliser -les macros en §. -%</fr> -%<*en> -By default the package is loaded with option |wild| and so the macros -such as |§a| are immediately available. If one prefers one can choose -the option \Option{tame} by writing |\usepackage[tame]{paresse}|. One -must then use the command \cs{ActiveLaParesse} or the environment -|ParesseActive| to use the `§-macros'. -%</en> - -%<*fr> -Lorsque la \og paresse est active \fg, il suffit de taper |§a| pour -obtenir \(\alpha\). On a de même accès à toutes les lettres grecques -auxquelles sont consacrées une macro comme \cs{alpha}, -voyez~\ref{codageorig} et~\ref{codagelevi}. On obtient, de même, -\(\alpha^{\beta}\) avec |\(§a^{§b}\)| lorsque § est active. On notera -que, si l'extension |amsmath| est utilisée, les accolades sont -optionelles et qu'on obtient un résultat identique avec |\(§a^§b\)|. -%</fr> -%<*en> -When `paresse' is active, one has just to type |§a| in to obtain -\(\alpha\). One has access, by the same means, to all the other greek -letters to which a macro is devoted such as \cs{alpha}, see the -tables~\ref{codageorig} and~\ref{codagelevi}. One obtains -\(\alpha^{\beta}\) with |\(§a^{§b}\)| when § is active. One will note -that, if the package |amsmath| is loaded, the curly braces are -\emph{not} compulsory and that one obtains the same result with just -|\(§a^§b\)|. -%</en> - -%<fr>\subsection{Les options} -%<en>\subsection{Options} - -\begin{itemize} -%<*fr> -\item \Option{tame}\DescribeOption{tame / wild} s'oppose à - \Option{wild} qui est l'option par défaut. Lorsque \Option{tame} - règne, il \textbf{faut} un environnement |ParesseActive| ou une - commande \cs{ActiveLaParesse} pour utiliser les macros à §. -%</fr> -%<*en> -\item \Option{tame}\DescribeOption{tame / wild} is the contrary of - \Option{wild} which is the option by default. When \Option{tame} - reigns, one \textbf{must} use an environment |ParesseActive| or a - command \cs{ActiveLaParesse} in order to use the §-macros. -%</en> - - -%<*fr> -\item \Option{Levi}\NOUVO\DescribeOption{legacy / Levi} s'oppose à - \Option{legacy} qui est l'option par défaut. Avec l'option - \Option{legacy} on utilise le codage \og originel\fg de - \MODULE{paresse.sty} tel que le donne la - table~\ref{codageorig}. Sinon, le codage est celui défini par Sylvio - \textsc{Levi}, cf. la table~\ref{codagelevi}. -%</fr> -%<*en> -\item \Option{Levi}\NOUVO\DescribeOption{legacy / Levi} is the - contrary of \Option{legacy} which is the default. With - \Option{legacy} one uses the original encoding of - \MODULE{paresse.sty} as it is given by the - table~\ref{codageorig}. If the option \Option{Levi} is enforced, one - uses the Sylvio \textsc{Levi} encoding, see the - table~\ref{codagelevi}. -%</en> - -%<*fr> -\item \Option{ttau}\DescribeOption{ttau / ttheta} s'oppose à - \Option{ttheta} qui est l'option par défaut. Lorsque \Option{ttheta} - est active |§t| donne \(\theta\) dans le cas contraire |§t| donne - \(\tau\). En tous cas, \(\theta\) est accessible par |§v| et - \(\tau\) par |§y|. \NOUVO Cette option est inopérante si l'option - \Option{Levi} a été choisie. -%</fr> -%<*en> -\item \Option{ttau}\DescribeOption{ttau / ttheta} is the contrary of - \Option{ttheta} which is selected by default. When \Option{ttheta} - is active |§t| gives \(\theta\) in the contrary |§t| gives - \(\tau\). In all cases, \(\theta\) is given by |§v| and \(\tau\) by - |§y|. \NOUVO That option is ineffective when one has chosen - \Option{Levi}. -%</en> - -%<*fr> - \textbf{Remarque :} \NOUVO quand l'option \Option{legacy} a été choisie, - \(\Theta\) est obtenu par |§V| de manière \og régulière \fg et - \emph{également} par |§T| quelle que soit l'option choisie. Dans - le cas de l'option \Option{Levi}, |§V| ne correspond à aucune lettre - grecque. -%</fr> -%<*en> -\textbf{Remark:} \NOUVO when one has chosen the option -\Option{legacy}, \(\Theta\) is `regularly' obtained with |§V| and -\emph{also} with |§T| whatever is the chosen option. In the case of -the option \Option{Levi}, |§V| doesn't correspond to any greek letter. -%</en> - -%<*fr> -\item \Option{epsilon}\DescribeOption{epsilon / varepsilon} s'oppose à - \Option{varepsilon} qui est l'option par défaut. Avec - \Option{epsilon}, |§e| donne \(\epsilon\) sinon |§e| donne - \(\varepsilon\). -%</fr> -%<*en> -\item \Option{epsilon}\DescribeOption{epsilon / varepsilon} is the - contrary of \Option{varepsilon} which is selected by default. With - \Option{epsilon}, |§e| gives \(\epsilon\) otherwide |§e| gives - \(\varepsilon\). -%</en> - -%<*fr> -\item Se comportent comme le couple \Option{epsilon}, - \Option{varepsilon} les couples suivants \Option{theta} et - \Option{vartheta} ; \Option{pi} et \Option{varpi} ; \Option{rho} et - \Option{varrho} ; \Option{sigma} et \Option{varsigma} \og |§s| donne - \(\varsigma\)\fg; \Option{phi} et \Option{varphi}. -%</fr> -%<*en> -\item The following `couples' behave as \Option{epsilon}, - \Option{varepsilon}: \Option{theta} and \Option{vartheta}; - \Option{pi} and \Option{varpi}; \Option{rho} and \Option{varrho}; - \Option{sigma} and \Option{varsigma}; \Option{phi} and - \Option{varphi}. -%</en> -\end{itemize} - -%<*fr> -Par défaut on a \Option{varepsilon}, \Option{theta}, \Option{pi}, -\Option{rho}, \Option{sigma}, \Option{varphi}, \Option{wild} et -\Option{legacy}\NOUVO. Cela assure que cette version~3, se comporte, -par défaut, comme la précédente. -%</fr> -%<*en> -The default options are \Option{varepsilon}, \Option{theta}, -\Option{pi}, \Option{rho}, \Option{sigma}, \Option{varphi}, -\Option{wild} and \Option{legacy}\NOUVO. That ensures that this 3rd -version behaves, by default, as the preceding one. -%</en> - -%<fr>\subsection{Commandes et environnement} -%<en>\subsection{Commands and Environment} - -\DescribeMacro{\makeparesseletter} -%<*fr> -Cette macro donne au \og caractère \fg § le catcode d'une -lettre. Après cela, on peut se servir de § dans un nom de macro, par -exemple. C'est le pendant de \cs{makeatletter}. -%</fr> -%<*en> -This command gives the letter-catcode to the `character' §. After that -one can use § in the name of a macro, for instance. It corresponds to -the well-known |\makeatletter|. -%</en> - -\DescribeMacro{\makeparesseother} -%<*fr> -Cette macro donne au caractère § le catcode \emph{other}. C'est le \og -contraire \fg de la précédente. Cela équivaut au \cs{makeatother}. -%</fr> -%<*en> -This macro gives the catcode \emph{other} to the character §. It is -the `contrary' of the preceding one. It corresponds to |\makeatother|. -%</en> - -\DescribeMacro{\ActiveLaParesse} -%<*fr> -Cette macro active le caractère § et permet ainsi d'accéder aux -macros dont le nom commence par § comme |§a|. Pour une liste de ces -macros et leurs significations, voyez les tableaux~\ref{codageorig} -et~\ref{codagelevi}. -%</fr> -%<*en> -This macro makes § active and thus enable one to access the macros the -name of which begins with § such as |§a|. A list of these macros and -theirs meanings is given in the tables~\ref{codageorig} -and~\ref{codagelevi}. -%</en> - -\DescribeEnv{ParesseActive} -%<*fr> -Dans cet environnement le caractère § est actif ce qui permet -d'utiliser les macros en §. On utilisera cet environnement si l'on -veut utiliser les macros quand on a chargé l'extension -\MODULE{paresse} avec l'option \texttt{tame}. -%</fr> -%<*en> -In this environment § is active and one can use the §-macros. One -could use this environment if one want to use the §-macros when the -package \texttt{paresse.sty} is loaded whith the option \texttt{tame}. -%</en> - -%<fr>\subsection{Tableaux des macros} -%<en>\subsection{Tables of the Macros} - -%<fr>\subsubsection{Codage originel de \MODULE{paresse.sty}} -%<en>\subsubsection{\MODULE{paresse.sty}'s Original Encoding} - -%<*fr> -C'est le codage actif lorsque l'on a choisit l'option \Option{legacy} qui -est l'option par défaut. -%</fr> -%<*en> -This is the active encoding when one choses the option \Option{legacy} -which is the default. -%</en> - -\begin{center}\Large -\begin{ParesseActive} \label{codageorig} -\begin{tabular}{*4{||>{\ttfamily \§}c|c}||}\hline -a & §a & b & §b & g & §g & d & §d\\ \hline -e & §e & z & §z & h & §h & v & §v\\ \hline -i & §i & k & §k & l & §l & m & §m\\ \hline -n & §n & x & §x & p & §p & r & §r\\ \hline -s & §s & y & §y & u & §u & f & §f\\ \hline -c & §c & q & §q & w & §w &\multicolumn{1}{c|}{}&\\ \hline\hline -G & §G & D & §D & V & §V & L & §L\\ \hline -X & §X & P & §P & S & §S & U & §U\\ \hline -F & §F & Q & §Q & W & §W &\multicolumn{1}{c|}{}&\\ \hline -\end{tabular} -\end{ParesseActive} -\end{center} - -%<*fr> -\paragraph{Remarques : } à l'exception de {\ActiveLaParesse §v, §y -et §q} les lettres utilisées dans les noms des macros sont chargées -de vertu mnémotechniques \texttt{:-)} et les majuscules grecques -s'obtiennent à l'aide de la majuscule correspondante. -%</fr> -%<*en> -\paragraph{Remarks : } all the latin letters used in the name of the -§-macros, but for {\ActiveLaParesse §v, §y and §q}, are loaded with -reminiscences, I hope \texttt{:-)} and the greek uppercases are -obtained with the (latin) corresponding uppercases. -%</en> - -%<fr>\subsubsection{Codage de Sylvio \textsc{Levi}} -%<en>\subsubsection{Sylvio \textsc{Levi}'s Encoding} - -%<*fr> -On active ce codage avec l'option \Option{Levi}. -%</fr> -%<*en> -One make this encoding active with the option \Option{Levi}. -%</en> - -\begin{center}\Large\NOUVO -\begin{ParesseActive} \label{codagelevi} -\begin{tabular}{*4{||>{\ttfamily \§}c|c}||}\hline -a & §a & b & §b & g & §g & d & §d\\ \hline -e & §e & z & §z & h & §h & j & §v\\ \hline -i & §i & k & §k & l & §l & m & §m\\ \hline -n & §n & x & §x & p & §p & r & §r\\ \hline -s & §s & t & §y & u & §u & f & §f\\ \hline -q & §c & y & §q & w & §w & c & \(\varsigma\)\\ \hline\hline -G & §G & D & §D & J & §V & L & §L\\ \hline -X & §X & P & §P & S & §S & U & §U\\ \hline -F & §F & Y & §Q & W & §W &\multicolumn{1}{c|}{}&\\ \hline -\end{tabular} -\end{ParesseActive} -\end{center} - -%<*fr> -Le codage de Sylvio \textsc{Levi} donne accès directement à \cs{varsigma} -(\(\varsigma\)) avec |§c| et ne diffère du codage originel que pour -les lettres {\ActiveLaParesse §v, §y, §c et §q}. Voici un résumé de -ces différences: -%</fr> -%<*en> -Sylvio \textsc{Levi}'s encoding gives a direct acces to \cs{varsigma} -(\(\varsigma\)) with |§c| and is different from the original encoding -just for the letters {\ActiveLaParesse §v, §y, §c et §q}. Here is a -summary of theses differences: -%</en> - -\begin{center} -\newcommand\CT[1]{\multicolumn{1}{c|}{\texttt{#1}}} -\begin{ParesseActive} -\begin{tabular}{|l|*{7}{c|}}\hline -%<fr>lettres grecques -%<en>greek letters -& §v & §y & §c & §q & §V & §Q & \(\varsigma\)\\\hline -%<fr>codage originel -%<en>original encoding -&\CT{\§v/\§t}&\CT{\§y/\§t}&\CT{\§c} -&\CT{\§q}&\CT{\§V/\§T}&\CT{\§Q}& --- \\\hline -%<fr>codage de S. \textsc{Levi} -%<en>S. \textsc{Levi}'s encoding -&\CT{\§j}&\CT{\§t}&\CT{\§q}&\CT{\§y} -&\CT{\§J}&\CT{\§Y} & \CT{\§c}\\\hline -\end{tabular} -\end{ParesseActive} -\end{center} - -\begin{thebibliography}{99} -\addcontentsline{toc}{section}{Bibliographie} -\bibitem{tlachand} T.~\textsc{Lachand-Robert}. -\emph{La maîtrise de \TeX{} et \LaTeX{}}. -Masson, Paris, Milan, Barcelone, \oldstylenums{1995}.\\ -\textsc{isbn} : \texttt{2-225-84832-7}. -\end{thebibliography} - -\end{document} -%</doc> -%<*exemple> -\documentclass[a4paper,12pt]{article} -\usepackage[latin1]{inputenc} -\usepackage[T1]{fontenc} -\usepackage[tame]{paresse} -\usepackage{amsmath,xspace,array,fancyvrb} -%<fr>\usepackage[frenchb]{babel} -%<en>\usepackage[english]{babel} -%<lmodern>\IfFileExists{lmodern.sty}{\usepackage{lmodern}}{} -%<fourier>\IfFileExists{fourier.sty}{\usepackage[upright]{fourier}}{} -\setlength{\parindent}{0pt} -\newcommand\BOP{\discretionary{}{}{}} -\begin{document} -\pagestyle{empty} -\begin{center}\large -%<fr>Exemples d'utilisation de l'extension \texttt{paresse}.\\ -%<en>Examples of \texttt{paresse} package usage.\\ - le \TeX nicien de surface\\ - 2008-08-12 -\end{center} - -%<*fr> -Ce fichier charge les extensions \texttt{amsmath} et, -%<lmodern>si elle est disponible localement, \texttt{lmodern}. -%<*fourier> -\texttt{fourier} avec l'option \texttt{upright} si cette extension est -présente sur votre installation. - -\IfFileExists{fourier.sty}{}{% - {\Large Désolé l'extension fourier.sty semble absente ! Vous - obtiendrez la fonte par défaut de votre site.}} -%</fourier> - -\textbf{Attention}: l'extension \texttt{paresse} est chargée avec -l'option \texttt{tame} pour montrer l'utilisation de la commande -\verb!\ActiveLaParesse! et de l'environnement -\verb!Pares!\BOP\verb!se!\BOP\verb!Ac!\BOP\verb!tive!. -%</fr> -%<*en> -This file loads the \texttt{amsmath} package and, -%<lmodern>if it locally exists, the \texttt{lmodern} package. -%<*fourier> -if it locally exists, the \texttt{fourier} package with option -\texttt{upright}. - -\IfFileExists{fourier.sty}{}{% - {\Large Sorry the fourier.sty seems to be missing! You will obtain the - default font of your site.}} -%</fourier> - -\textbf{Caution}: the \texttt{paresse} package is loaded with the -option \texttt{tame} to show the usage of macro -\verb!\ActiveLaParesse! and environment \verb!ParesseActive!. -%</en> - -\vspace{\baselineskip} - -%<fr>Avec la commande \verb!\ActiveLaParesse! pour activer le caractère §. -%<en>With the macro \verb!\ActiveLaParesse! to make the § character active. -%<*fr> -\begin{Verbatim}[frame=single] -{\ActiveLaParesse -\(§a^{§b}_{§g}\) et encore \(§D^§a_§d\) -} -\end{Verbatim} -%</fr> -%<*en> -\begin{Verbatim}[frame=single] -{\ActiveLaParesse -\(§a^{§b}_{§g}\) and also \(§D^§a_§d\) -} -\end{Verbatim} -%</en> -%<fr>pour obtenir : -%<en>to obtain: -%<fr>{\ActiveLaParesse \(§a^{§b}_{§g}\) et encore \(§D^§a_§d\)} -%<en>{\ActiveLaParesse \(§a^{§b}_{§g}\) and also \(§D^§a_§d\)} - -\vspace{\baselineskip} - -%<fr>Avec l'environnement \verb!ParesseActive!. -%<en>With the environment \verb!ParesseActive!. - -\begin{Verbatim}[frame=single] -\begin{ParesseActive}\large -\begin{tabular}{*4{||>{\ttfamily \§}c|c}||} \hline -a & §a & b & §b & g & §g & d & §d\\ \hline -e & §e & z & §z & h & §h & v & §v\\ \hline -... -X & §X & P & §P & S & §S & U & §U\\ \hline -F & §F & Q & §Q & W & §W &\multicolumn{1}{c|}{}& \\ \hline -\end{tabular} -\end{ParesseActive} -\end{Verbatim} - -\medskip - -\begin{center} -\begin{ParesseActive}\large -\begin{tabular}{*4{||>{\ttfamily \§}c|c}||} \hline -a & §a & b & §b & g & §g & d & §d\\ \hline -e & §e & z & §z & h & §h & v & §v\\ \hline -i & §i & k & §k & l & §l & m & §m\\ \hline -n & §n & x & §x & p & §p & r & §r\\ \hline -s & §s & y & §y & u & §u & f & §f\\ \hline -c & §c & q & §q & w & §w &\multicolumn{1}{c|}{}& \\ \hline\hline -G & §G & D & §D & V & §V & L & §L\\ \hline -X & §X & P & §P & S & §S & U & §U\\ \hline -F & §F & Q & §Q & W & §W &\multicolumn{1}{c|}{}& \\ \hline -\end{tabular} -\end{ParesseActive} -\end{center} -\end{document} -%</exemple> -% \fi \endinput %%% Local Variables: %%% mode: doctex diff --git a/Master/texmf-dist/source/latex/paresse/paresse.ins b/Master/texmf-dist/source/latex/paresse/paresse.ins index 0078ae23e48..685a5fdcaa7 100644 --- a/Master/texmf-dist/source/latex/paresse/paresse.ins +++ b/Master/texmf-dist/source/latex/paresse/paresse.ins @@ -1,5 +1,5 @@ %% -%% Copyright (C) 2004, 2008, 2010 +%% Copyright (C) 2011 %% by Yvon Henel alias Le TeXnicien de surface %% <le.texnicien.de.surface@wanadoo.fr> %% @@ -13,26 +13,13 @@ %% and version 1.2 or later is part of all distributions of LaTeX version %% 1999/12/01 or later. %% -\ifx\documentclass\YvonHenelAliasLeTexnicienDeSurfaceIsNotUndefined -\def\End{\csname fi\endcsname\end} -\bgroup -\obeyspaces -\immediate\write16 {*************************************************************} -\immediate\write16 {** *} -\immediate\write16 {** CAUTION: Use LaTeX to compile this file! *} -\immediate\write16 {** *} -\immediate\write16 {** ATTENTION: Utiliser LaTeX pour compiler ce fichier ! *} -\immediate\write16 {** *} -\immediate\write16 {*************************************************************} -\egroup -\End -\else -\input{docstrip} +\input docstrip.tex \keepsilent \preamble This is a generated file. -Copyright (C) 2003-2010 Y. Henel, le TeXnicien de surface +Copyright (C) 2011 +by Yvon Henel, alias le TeXnicien de surface <le.texnicien.de.surface@wanadoo.fr> This file may be distributed and/or modified under the conditions of @@ -42,19 +29,20 @@ license is in: http://www.latex-project.org/lppl.txt -and version 1.2 or later is part of all distributions of LaTeX version -1999/12/01 or later. +and version 1.2 or later is part of all distributions of LaTeX +version 1999/12/01 or later. \endpreamble \askforoverwritefalse \generate{ - \file{paresse.sty}{\from{paresse.dtx}{package}} - \file{paresse-en.tex}{\from{paresse.dtx}{doc,en}} - \file{paresse-fr.tex}{\from{paresse.dtx}{doc,fr}} - \file{paresse-ex-fr.tex}{\from{paresse.dtx}{exemple,lmodern,fr}} - \file{paresse-ex-en.tex}{\from{paresse.dtx}{exemple,lmodern,en}} - \file{paresse-fourier-fr.tex}{\from{paresse.dtx}{exemple,fourier,fr}} - \file{paresse-fourier-en.tex}{\from{paresse.dtx}{exemple,fourier,en}} + \file{paresse.sty}{\from{paresse.dtx}{common,package}} + \file{paresseold.sto}{\from{paresse.dtx}{oldpack}} + \file{paresseutf8.sto}{\from{paresse.dtx}{utf8pack}} + \file{common.tex}{\from{paresse.dtx}{common}} + \file{paresse-en.ltx}{\from{paresse-doc.dtx}{doc,en}} + \file{paresse-fr.ltx}{\from{paresse-doc.dtx}{doc,fr}} + \file{paresse-ex-fr.elx}{\from{paresse-doc.dtx}{exemple,fr}} + \file{paresse-ex-en.elx}{\from{paresse-doc.dtx}{exemple,en}} } \obeyspaces \Msg{*****************************************************************} @@ -73,5 +61,4 @@ and version 1.2 or later is part of all distributions of LaTeX version \Msg{** Happy TeXing **} \Msg{** TeXez dans la joie ! **} \Msg{*****************************************************************} -\fi \endbatchfile |