texlive[54936] Master/texmf-dist: xlop (29apr20)

commits+karl at tug.org commits+karl at tug.org
Wed Apr 29 23:21:14 CEST 2020


Revision: 54936
          http://tug.org/svn/texlive?view=revision&revision=54936
Author:   karl
Date:     2020-04-29 23:21:14 +0200 (Wed, 29 Apr 2020)
Log Message:
-----------
xlop (29apr20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/generic/xlop/LISEZMOI
    trunk/Master/texmf-dist/doc/generic/xlop/README
    trunk/Master/texmf-dist/doc/generic/xlop/xlop-doc-fr.pdf
    trunk/Master/texmf-dist/doc/generic/xlop/xlop-doc-fr.tex
    trunk/Master/texmf-dist/doc/generic/xlop/xlop-doc.pdf
    trunk/Master/texmf-dist/doc/generic/xlop/xlop-doc.tex
    trunk/Master/texmf-dist/tex/generic/xlop/xlop.sty
    trunk/Master/texmf-dist/tex/generic/xlop/xlop.tex

Removed Paths:
-------------
    trunk/Master/texmf-dist/source/generic/xlop/

Modified: trunk/Master/texmf-dist/doc/generic/xlop/LISEZMOI
===================================================================
--- trunk/Master/texmf-dist/doc/generic/xlop/LISEZMOI	2020-04-29 12:43:06 UTC (rev 54935)
+++ trunk/Master/texmf-dist/doc/generic/xlop/LISEZMOI	2020-04-29 21:21:14 UTC (rev 54936)
@@ -1,15 +1,15 @@
-PR\xC9SENTATION RAPIDE
+PRÉSENTATION RAPIDE
 -------------------
-L'extension xlop s'articule autour de deux fonctionnalit\xE9s
-g\xE9n\xE9rales. La premi\xE8re consiste \xE0 afficher les op\xE9rations de fa\xE7on
-automatique (pos\xE9es ou en ligne), c'est-\xE0-dire en ne fournissant que
-les op\xE9randes de l'op\xE9ration. La seconde consiste \xE0 permettre de
-manipuler des nombres de taille quelconque, la seule limitation \xE9tant
-la m\xE9moire de TeX. Ces manipulations incluent toutes les op\xE9rations
-usuelles, les entr\xE9es-sorties, la notion de variable num\xE9rique, les
-tests et quelques op\xE9rations de haut niveau (sans permettre les
-op\xE9rations n\xE9cessitant un traitement infini telles l'exponentielle,
-les fonctions trigonom\xE9triques, etc.).
+L'extension xlop s'articule autour de deux fonctionnalités
+générales. La première consiste à afficher les opérations de façon
+automatique (posées ou en ligne), c'est-à-dire en ne fournissant que
+les opérandes de l'opération. La seconde consiste à permettre de
+manipuler des nombres de taille quelconque, la seule limitation étant
+la mémoire de TeX. Ces manipulations incluent toutes les opérations
+usuelles, les entrées-sorties, la notion de variable numérique, les
+tests et quelques opérations de haut niveau (sans permettre les
+opérations nécessitant un traitement infini telles l'exponentielle,
+les fonctions trigonométriques, etc.).
 
 DISTRIBUTION
 ------------
@@ -20,16 +20,14 @@
 Contenu
 -------
 La distribution comporte les fichiers suivants :
-  - LISEZ.MOI (celui que vous \xEAtes en train de lire) ;
-  - README (le m\xEAme en anglais) ;
+  - LISEZ.MOI (celui que vous êtes en train de lire) ;
+  - README (le même en anglais) ;
   - history.txt qui retrace l'historique rapide du projet ;
-  - manual.sty qui est le fichier de style n\xE9cessaire \xE0 la compilation
-    des fichiers de documentation ; 
-  - xlop-doc-fr.tex qui est le source du manuel fran\xE7ais de l'utilisateur
+  - xlop-doc-fr.tex qui est le source du manuel français de l'utilisateur
       de xlop ;
   - xlop-doc.tex qui est le source du manuel anglais de l'utilisateur de
       xlop ;
-  - xlop-doc-fr.pdf qui est le pdf du manuel fran\xE7ais de l'utilisateur
+  - xlop-doc-fr.pdf qui est le pdf du manuel français de l'utilisateur
       de xlop ;
   - xlop-doc.pdf qui est le pdf du manuel anglais de l'utilisateur de
       xlop ;
@@ -38,7 +36,7 @@
 
 Installation
 ------------
-L'extension \xE9tant pr\xE9vue pour pouvoir fonctionner aussi bien sous TeX
+L'extension étant prévue pour pouvoir fonctionner aussi bien sous TeX
 que sous LaTeX, les recommandations de la TDS indiquent que l'endroit
 le plus correct pour placer le fichier xlop.tex est
   [texmf]/tex/generic/xlop/
@@ -45,25 +43,24 @@
 et celui pour placer le fichier xlop.sty est
   [texmf]/tex/latex/xlop/
 
-Il reste les fichiers de documentation (LISEZ.MOI, README,
-history.txt, manual.sty et fr-user.*). Leur place normale devrait
-\xEAtre [texmf]/doc/xlop/.
+Il reste les fichiers de documentation (LISEZ.MOI, README, history.txt
+et fr-user.*). Leur place normale devrait être [texmf]/doc/xlop/.
 
-Il reste \xE0 rafraichir la base en lan\xE7ant la commande texhash (ou
-mktexlsr, ou ...) et tout devrait \xEAtre op\xE9rationnel.
+Il reste à rafraichir la base en lançant la commande texhash (ou
+mktexlsr, ou ...) et tout devrait être opérationnel.
 
-BOGUES ET AUTRES D\xC9SAGREMENTS
+BOGUES ET AUTRES DÉSAGREMENTS
 -----------------------------
-Si vous d\xE9tectez un bogue, quel que soit sa gravit\xE9 (cela peut
-simplement \xEAtre des espaces parasites par exemple) essayez de r\xE9aliser
+Si vous détectez un bogue, quel que soit sa gravité (cela peut
+simplement être des espaces parasites par exemple) essayez de réaliser
 un exemple le plus court possible reproduisant le bogue. En
-particulier, ne mettez aucune autre extension non n\xE9cessaire. Envoyez
-le source ainsi qu'une explication, \xE9ventuellement tr\xE8s courte, du
-probl\xE8me rencontr\xE9 \xE0 l'adresse suivante :
+particulier, ne mettez aucune autre extension non nécessaire. Envoyez
+le source ainsi qu'une explication, éventuellement très courte, du
+problème rencontré à l'adresse suivante :
 
 Jean-Come.Charpentier at wanadoo.fr
 
-Si vous souhaitez une certaine fonctionnalit\xE9 pour une version
-ult\xE9rieure de l'extension, n'h\xE9sitez pas \xE0 en faire part \xE0
-l'auteur. Pour aider mon logiciel antispam, \xE9crivez 'xlop' dans le
+Si vous souhaitez une certaine fonctionnalité pour une version
+ultérieure de l'extension, n'hésitez pas à en faire part à
+l'auteur. Pour aider mon logiciel antispam, écrivez 'xlop' dans le
 sujet du message.

Modified: trunk/Master/texmf-dist/doc/generic/xlop/README
===================================================================
--- trunk/Master/texmf-dist/doc/generic/xlop/README	2020-04-29 12:43:06 UTC (rev 54935)
+++ trunk/Master/texmf-dist/doc/generic/xlop/README	2020-04-29 21:21:14 UTC (rev 54936)
@@ -20,7 +20,6 @@
   * README (the file you are reading)
   * LISEZ.MOI (same in french)
   * history.txt relates project history
-  * manual.sty package file to compile documentation
   * xlop-doc-fr.tex and xlop-doc-fr.pdf source and pdf of french user's
     manual of xlop
   * xlop-doc.tex and xlop-doc.pdf source and pdf of english user's
@@ -36,8 +35,8 @@
 and that the best place to put xlop xlop.sty is
   [texmf]/tex/latex/xlop/
 
-For documentation files (README, history.txt, manual.sty, and
-fr-user.*), best place should be [texmf]/doc/generic/xlop/.
+For documentation files (README, history.txt, and fr-user.*), best
+place should be [texmf]/doc/generic/xlop/.
 
 You have just to run texhash command (or mktexlsr, or ...) to refresh
 your texmf base and all should work fine.

Modified: trunk/Master/texmf-dist/doc/generic/xlop/xlop-doc-fr.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/generic/xlop/xlop-doc-fr.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/xlop/xlop-doc-fr.tex	2020-04-29 12:43:06 UTC (rev 54935)
+++ trunk/Master/texmf-dist/doc/generic/xlop/xlop-doc-fr.tex	2020-04-29 21:21:14 UTC (rev 54936)
@@ -1,9 +1,58 @@
 \documentclass[12pt]{report}
-\usepackage{manual}
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+\usepackage{fourier}
+\usepackage[scaled]{helvet}
+\usepackage[scaled]{luximono}
+\usepackage{makeidx}
+\usepackage{longtable}
+\usepackage{multicol}
+\usepackage{pst-node}
+\usepackage{fancyvrb-ex}
+\usepackage{geometry}
+\usepackage{xlop}
 \usepackage[frenchb]{babel}
 \usepackage[autolanguage]{numprint}
-\fvset{label=source}% fran\xE7ais
+\usepackage{dcolumn}
+\usepackage{hyperref}
+\usepackage{microtype}
 
+\fvset{label=source}% français
+
+\fvset{xrightmargin=5cm,frame=single,fontsize=\small}
+\geometry{a4paper,left=4cm,right=4cm,top=3cm,bottom=3cm,nohead}
+
+\let\SBSori\SideBySideExample
+\def\SideBySideExample{%
+  \par\bigbreak\SBSori
+}
+\let\endSBSori\endSideBySideExample
+\def\endSideBySideExample{%
+  \endSBSori
+  \par\bigskip\noindent}
+
+\newenvironment{syntaxBNF}{%
+  \catcode`\_=12
+  \def\*##1*{$\langle$##1$\rangle$}%
+  \def\alt{\unskip~$|$~\ignorespaces}%
+  \def\sameline{\multicolumn{1}{c}{} & \null\quad}%
+  \ttfamily
+  \begin{center}\begin{tabular}{r@{\quad:=\quad}l}}
+{\end{tabular}\end{center}}
+
+\setlongtables
+\newcommand\package[1]{\textsf{#1}}
+\newcommand\file[1]{\texttt{#1}}
+
+\newcommand\macro[1]{\texttt{$\backslash$#1}\index{#1@\texttt{\boi {#1}}}}
+\newcommand\parameter[1]{\texttt{#1}\index{#1@\texttt{#1}}%
+  \index{parametre at paramètre!\texttt{#1}}}
+
+\newcommand\bull{\vrule width3pt height4pt depth-1pt}
+
+\newcounter{stuff}
+\makeindex
+
 \begin{document}
 \begin{titlepage}
   \null\par\vfill
@@ -25,7 +74,7 @@
   \end{center}
   \vfill
   \begin{center}
-    Jean-C\xF4me Charpentier\\
+    Jean-Côme Charpentier\\
     \today
   \end{center}
   \vfill\null\par
@@ -36,59 +85,59 @@
 \newpage
 \pagenumbering{arabic}
 
-\chapter{Pr\xE9sentation}
-\label{chap:Pr\xE9sentation}
-L'extension \package{xlop} a \xE9t\xE9 d\xE9velopp\xE9e pour permettre de r\xE9aliser
-automatiquement des calculs arithm\xE9tiques sur des nombres de taille
-quelconque et d'afficher les r\xE9sultats sous forme pos\xE9e ou en
-ligne. Voici un premier exemple permettant de donner un aper\xE7u de la
+\chapter{Présentation}
+\label{chap:Présentation}
+L'extension \package{xlop} a été développée pour permettre de réaliser
+automatiquement des calculs arithmétiques sur des nombres de taille
+quelconque et d'afficher les résultats sous forme posée ou en
+ligne. Voici un premier exemple permettant de donner un aperçu de la
 syntaxe de base :
 \begin{SideBySideExample}
   \opadd{45,05}{78,4}
 \end{SideBySideExample}
 Ce premier exemple appelle quelques commentaires qui permettront de
-donner une id\xE9e sur la fa\xE7on de manipuler l'extension.
+donner une idée sur la façon de manipuler l'extension.
 
-L'addition est pos\xE9e \og comme \xE0 l'\xE9cole \fg{} : il s'agit de la
-pr\xE9sentation par d\xE9faut. On a un alignement sur la virgule des
-op\xE9randes et du r\xE9sultat, le symbole op\xE9ratoire plac\xE9 \xE0 gauche est
-centr\xE9e verticalement entre les deux op\xE9randes et le s\xE9parateur
-d\xE9cimal est un point malgr\xE9 le fait d'avoir indiquer les op\xE9randes
+L'addition est posée \og comme à l'école \fg{} : il s'agit de la
+présentation par défaut. On a un alignement sur la virgule des
+opérandes et du résultat, le symbole opératoire placé à gauche est
+centrée verticalement entre les deux opérandes et le séparateur
+décimal est un point malgré le fait d'avoir indiquer les opérandes
 avec une virgule dans l'appel de la macro. Enfin, on notera la
-pr\xE9sence d'une retenue au dessus de la premi\xE8re op\xE9rande.
+présence d'une retenue au dessus de la première opérande.
 
-Mis \xE0 part l'alignement sur la virgule qui est obligatoire pour
-l'addition pos\xE9e, toutes les autres caract\xE9ristiques d\xE9crites
-ci-dessus sont param\xE9trables. Certaines macros de l'extension et, en
-tout cas, toutes les macros affichant les op\xE9rations arithm\xE9tiques
-admettent un argument optionnel qui permettra de contr\xF4ler la
-pr\xE9sentation. Pour cela, on utilisera une syntaxe \og \xE0 la keyval
-\fg{} : on sp\xE9cifie une suite de modifications de param\xE8tres par une
-liste d'affectations s\xE9par\xE9es par des virgules. Une affectation a
+Mis à part l'alignement sur la virgule qui est obligatoire pour
+l'addition posée, toutes les autres caractéristiques décrites
+ci-dessus sont paramétrables. Certaines macros de l'extension et, en
+tout cas, toutes les macros affichant les opérations arithmétiques
+admettent un argument optionnel qui permettra de contrôler la
+présentation. Pour cela, on utilisera une syntaxe \og à la keyval
+\fg{} : on spécifie une suite de modifications de paramètres par une
+liste d'affectations séparées par des virgules. Une affectation a
 une des deux syntaxes possibles ci-dessous :
 \begin{verbatim}
-  <param\xE8tres>=<valeur>
-  <param\xE8tre>
+  <paramètres>=<valeur>
+  <paramètre>
 \end{verbatim}
-la seconde possibilit\xE9 \xE9tant en fait un raccourci pour :
+la seconde possibilité étant en fait un raccourci pour :
 \begin{verbatim}
-  <param\xE8tre>=true
+  <paramètre>=true
 \end{verbatim}
 Dans cette liste d'affectation, on peut faire suivre les virgules par
 un ou plusieurs espaces mais il ne faut pas mettre d'espace de part et
-d'autre du signe \xE9gal ou avant la virgule : un param\xE8tre ou une valeur
-pouvant (potentiellement) comporter le caract\xE8re espace.
+d'autre du signe égal ou avant la virgule : un paramètre ou une valeur
+pouvant (potentiellement) comporter le caractère espace.
 
-Ainsi, si l'on veut un s\xE9parateur d\xE9cimal qui soit une virgule, un
-symbole op\xE9ratoire plac\xE9 en face de la seconde op\xE9rande et en
-supprimant la pr\xE9sence des retenues, il suffit d'indiquer :
+Ainsi, si l'on veut un séparateur décimal qui soit une virgule, un
+symbole opératoire placé en face de la seconde opérande et en
+supprimant la présence des retenues, il suffit d'indiquer :
 \begin{SideBySideExample}
   \opadd[decimalsepsymbol={,},
          voperator=bottom,
          carryadd=false]{45.05}{78.4}
 \end{SideBySideExample}
-On notera la petite astuce consistant \xE0 mettre la virgule entre
-accolades dans la d\xE9finition du symbole du s\xE9parateur d\xE9cimal. En
+On notera la petite astuce consistant à mettre la virgule entre
+accolades dans la définition du symbole du séparateur décimal. En
 effet, la syntaxe :
 \begin{Verbatim}[xrightmargin=0pt]
   \opadd[decimalsepsymbol=,,voperator=bottom,
@@ -98,12 +147,12 @@
 cette \og liste \fg{} !
 
 Un autre point important quoique moins visible, est que les chiffres
-sont dispos\xE9s \xE0 des emplacements tr\xE8s pr\xE9cis. Chaque chiffre est plac\xE9
-dans une bo\xEEte de largeur et de hauteur fixes (param\xE9trables), le
-s\xE9parateur d\xE9cimal est, par d\xE9faut, plac\xE9 dans une bo\xEEte de largeur
-nulle et toutes les lignes sont r\xE9guli\xE8rement espac\xE9es qu'il y ait ou
+sont disposés à des emplacements très précis. Chaque chiffre est placé
+dans une boîte de largeur et de hauteur fixes (paramétrables), le
+séparateur décimal est, par défaut, placé dans une boîte de largeur
+nulle et toutes les lignes sont régulièrement espacées qu'il y ait ou
 non un trait horizontal. Cela permet d'obtenir des alignements
-rigoureux et permet \xE9galement de placer ce que l'on veut \xE0
+rigoureux et permet également de placer ce que l'on veut à
 l'emplacement que l'on veut.
 \begin{SideBySideExample}
   \psset{xunit=\opcolumnwidth,
@@ -112,28 +161,28 @@
   \oplput(1.5,3){retenue}
   \psline{->}(1,3.15)(-3.25,3.15)
 \end{SideBySideExample}
-Cet exemple a \xE9t\xE9 r\xE9alis\xE9 en utilisant l'extension
+Cet exemple a été réalisé en utilisant l'extension
 \package{pstricks}\index{pstricks@\package{pstricks}}
 
-Nous avons dit pr\xE9c\xE9demment que \package{xlop} \xE9tait capable de
+Nous avons dit précédemment que \package{xlop} était capable de
 manipuler des nombres de taille quelconque. Nous reviendrons plus en
-d\xE9tail sur cette possibilit\xE9 et nous nous contenterons ici de ne donner
+détail sur cette possibilité et nous nous contenterons ici de ne donner
 qu'un exemple de ce que cela peut offrir. Ne regardez pas trop le
-code, les explications seront donn\xE9es plus loin dans ce manuel, pour
-l'instant, admirez seulement le r\xE9sultat !
+code, les explications seront données plus loin dans ce manuel, pour
+l'instant, admirez seulement le résultat !
 \begin{CenterExample}[xrightmargin=0pt]
   \opdiv[style=text,period]{1}{49}
 \end{CenterExample}
 
-L'extension \package{xlop} offre quelques autres fonctionnalit\xE9s. Il
-est ainsi possible de manipuler les nombres par l'interm\xE9diaire de
-variables, ces variables pouvant \xEAtre cr\xE9\xE9es par une assignation
-simple ou bien comme r\xE9sultat d'un calcul. On peut \xE9galement manipuler
-les chiffres de fa\xE7on individuelle :
+L'extension \package{xlop} offre quelques autres fonctionnalités. Il
+est ainsi possible de manipuler les nombres par l'intermédiaire de
+variables, ces variables pouvant être créées par une assignation
+simple ou bien comme résultat d'un calcul. On peut également manipuler
+les chiffres de façon individuelle :
 \begin{SideBySideExample}
   \opadd*{45.05}{78.4}{r}%
-  Le premier chiffre apr\xE8s la virgule de
-  $45.05+78.4$ est un
+  Le premier chiffre apr\`es la
+  virgule de $45.05+78.4$ est un
   \opgetdecimaldigit{r}{1}{d}%
   $\opprint{d}$.
 \end{SideBySideExample}
@@ -142,18 +191,18 @@
   \opadd*{45.05}{78.4}{r}%
   La somme $45.05+78.4$ est
   \opcmp{r}{100}%
-  \ifopgt strictement sup\xE9rieure
-  \else\ifoplt strictement inf\xE9rieure
-  \else \xE9gale
+  \ifopgt strictement sup\'erieure
+  \else\ifoplt strictement inf\'erieure
+  \else \'egale
   \fi\fi
-  \xE0 $100$.
+  \`a $100$.
 \end{SideBySideExample}
-avoir acc\xE8s \xE0 quelques op\xE9rations ou fonctions :
+avoir accès à quelques opérations ou fonctions :
 \begin{SideBySideExample}
   Le pgcd de $182$ et $442$ est
   \opgcd{182}{442}{d}$\opprint{d}$
 \end{SideBySideExample}
-pouvoir r\xE9aliser des calculs complexes sous forme infixe :
+pouvoir réaliser des calculs complexes sous forme infixe :
 \begin{SideBySideExample}
   \opexpr{(2+3^2)/(gcd(22,33))}{r}%
   $$\frac{2+3^2}{\gcd(22,33)} =
@@ -161,31 +210,31 @@
 \end{SideBySideExample}
 
 \chapter{Instruction \package{xlop}}
-\`A quelques exceptions pr\xE8s qui seront \xE9tudi\xE9es en temps voulu, les
-macros de \package{xlop} peuvent \xE9ventuellement avoir un argument
+\`A quelques exceptions près qui seront étudiées en temps voulu, les
+macros de \package{xlop} peuvent éventuellement avoir un argument
 optionnel entre crochets pour modifier localement la valeur des
-param\xE8tres de fonctionnement, les autres arguments (qui sont
-obligatoires) \xE9tant presque toujours des nombres. Les deux sections de
-ce chapitre d\xE9crivent en d\xE9tail ce qu'est un nombre pour
-\package{xlop} et comment se servir des param\xE8tres.
+paramètres de fonctionnement, les autres arguments (qui sont
+obligatoires) étant presque toujours des nombres. Les deux sections de
+ce chapitre décrivent en détail ce qu'est un nombre pour
+\package{xlop} et comment se servir des paramètres.
 
-\section{Au d\xE9but \xE9tait le nombre}
-\label{sec:Au d\xE9but etait le nombre}
+\section{Au début était le nombre}
+\label{sec:Au début etait le nombre}
 \subsection{Taille}
 \label{subsec:Taille}
-Avant de voir la syntaxe g\xE9n\xE9rale d'un nombre, nous allons nous
-pencher sur la particularit\xE9 de \package{xlop} qui est de pouvoir
+Avant de voir la syntaxe générale d'un nombre, nous allons nous
+pencher sur la particularité de \package{xlop} qui est de pouvoir
 manipuler des nombres de taille quelconque.
 
-\index{nombre!taille}Pour \xEAtre tout \xE0 fait pr\xE9cis, la taille th\xE9orique
+\index{nombre!taille}Pour être tout à fait précis, la taille théorique
 maximum d'un nombre est de $2^{31}-1$ chiffres\index{nombre!limite}.
-En pratique, cette limite ne pourra pas \xEAtre atteinte pour deux
-raisons essentielles. La premi\xE8re est qu'une multiplication avec deux
-op\xE9randes ayant $2^{25}$ chiffres demanderait plus de $7\,000$ ann\xE9es
+En pratique, cette limite ne pourra pas être atteinte pour deux
+raisons essentielles. La première est qu'une multiplication avec deux
+opérandes ayant $2^{25}$ chiffres demanderait plus de $7\,000$ années
 de calcul sur l'ordinateur de l'auteur ! La seconde est beaucoup plus
-restrictive car elle est li\xE9e aux limites de taille des piles de
+restrictive car elle est liée aux limites de taille des piles de
 \TeX{}. Voici un tableau indiquant une compilation sous \TeX{} avec
-une multiplication de deux op\xE9randes de m\xEAme taille sur une machine
+une multiplication de deux opérandes de même taille sur une machine
 Linux, pentium~II~600 et 256~Mo de RAM :
 \begin{center}
   \begin{tabular}{|l|*{6}{c|}}
@@ -194,24 +243,24 @@
     temps de compilation (s) & 2 & 8 & 18 & 32 & 36 & crash \\\hline
   \end{tabular}
 \end{center}
-Le \og crash \fg{} indiqu\xE9 dans le tableau est d\xFB au d\xE9bordement de la
+Le \og crash \fg{} indiqué dans le tableau est dû au débordement de la
 table de hachage (hash table).  \index{hash table}%
-\index{depassement de capacite at d\xE9passement de capacit\xE9}%
-Sous \LaTeX{}, la limite avant crash sera plus r\xE9duite. D'autre part,
-ces tests ont \xE9t\xE9 effectu\xE9s sur un fichier minimum : avec un document
+\index{depassement de capacite at dépassement de capacité}%
+Sous \LaTeX{}, la limite avant crash sera plus réduite. D'autre part,
+ces tests ont été effectués sur un fichier minimum : avec un document
 source classique, cette limite sera un peu plus basse. Une autre
-limite qui risque d'\xEAtre atteinte relativement rapidement est la
+limite qui risque d'être atteinte relativement rapidement est la
 taille du spouleur (spool size).  \index{spool size}%
 Pour composer ce document qui contient un grand nombre d'appel aux
-macros de \package{xlop}, l'auteur a augment\xE9 la taille du spouleur
-de~$125\,000$ \xE0~$250\,000$ en \xE9ditant la ligne \verb+pool_size+ du
-fichier \file{texmf.cnf}. De m\xEAme, la table de hachage a d\xFB \xEAtre
-augment\xE9e en stipulant la valeur \texttt{1000} au niveau de la ligne
+macros de \package{xlop}, l'auteur a augmenté la taille du spouleur
+de~$125\,000$ à~$250\,000$ en éditant la ligne \verb+pool_size+ du
+fichier \file{texmf.cnf}. De même, la table de hachage a dû être
+augmentée en stipulant la valeur \texttt{1000} au niveau de la ligne
 \verb+hash_extra+ du fichier \file{texmf.cnf}.
 
 \subsection{Syntaxe}
 \label{subsec:Syntaxe}
-Nous allons pr\xE9senter cette syntaxe avec la grammaire BNF mais des
+Nous allons présenter cette syntaxe avec la grammaire BNF mais des
 explications plus humaines suivront :
 \begin{syntaxBNF}
   \*nombre* & \{\*signe*\}\*nombre_positif* \alt \*nom* \\
@@ -220,21 +269,21 @@
   \sameline \*entier*\*sep* \alt \*entier*\*sep*\*entier* \\
   \*sep* & . \alt , \\
   \*entier* & \*chiffre*\{\*chiffre*\} \\
-  \*nom* & \*d\xE9but*\{caract\xE8re\} \\
-  \*d\xE9but* & caract\xE8re \textnormal{autre que } \*signe*\textnormal{,}
+  \*nom* & \*début*\{caractère\} \\
+  \*début* & caractère \textnormal{autre que } \*signe*\textnormal{,}
   \*sep* \\
   \sameline \textnormal{et} \*chiffre*
 \end{syntaxBNF}
 \index{syntaxe BNF}\index{BNF}\index{grammaire BNF}
 
-Le symbole \texttt{caract\xE8re} d\xE9signe presque n'importe quel caract\xE8re
-accept\xE9 par \TeX{}. Les seules exceptions sont les caract\xE8res \verb+%+,
-et \verb+#+ qui sont totalement interdits. En fait, les caract\xE8res
-actifs risquent de poser des probl\xE8mes. Par exemple, la d\xE9finition de
-\verb+~+ sous \LaTeX{} emp\xEAche ce caract\xE8re de pouvoir faire partie
-d'un nom. D'autre part, le caract\xE8re \verb+\ +conserve sont r\xF4le de
-caract\xE8re d'\xE9chappement, c'est-\xE0-dire que le nom sera celui obtenu
-apr\xE8s d\xE9veloppement de la macro introduite. Il n'y a aucune autre
+Le symbole \texttt{caractère} désigne presque n'importe quel caractère
+accepté par \TeX{}. Les seules exceptions sont les caractères \verb+%+,
+et \verb+#+ qui sont totalement interdits. En fait, les caractères
+actifs risquent de poser des problèmes. Par exemple, la définition de
+\verb+~+ sous \LaTeX{} empêche ce caractère de pouvoir faire partie
+d'un nom. D'autre part, le caractère \verb+\ +conserve sont rôle de
+caractère d'échappement, c'est-à-dire que le nom sera celui obtenu
+après développement de la macro introduite. Il n'y a aucune autre
 contrainte comme le montre le code suivant :
 \begin{SideBySideExample}
   \newcommand\prefix{a/b}
@@ -243,83 +292,83 @@
 \end{SideBySideExample}
 \index{nom de nombre}%
 On notera que \verb+a/b_{^c}!&$+ et \verb+\prefix_{^c}!&$+
-repr\xE9sentent tr\xE8s exactement le m\xEAme nom, si \verb+\prefix+ a la
-d\xE9finition ad\xE9quate \xE9videmment. Cette possibilit\xE9 d'obtenir un nom en
+représentent très exactement le même nom, si \verb+\prefix+ a la
+définition adéquate évidemment. Cette possibilité d'obtenir un nom en
 utilisant des macros peut sembler inutile mais il n'en est rien. On
-peut ainsi r\xE9aliser des boucles\index{boucle} avec des noms tels que
+peut ainsi réaliser des boucles\index{boucle} avec des noms tels que
 \verb+r1+, \verb+r2+, \ldots, \verb+r<n>+ en utilisant le code
-\verb+r\the\cpt+ comme nom o\xF9 \verb+cpt+ est un compteur au sens
-\TeX{}. Le m\xE9canisme des compteurs avec \LaTeX{} donne un code un peu
-plus long avec \verb+r\number\value{cpt}+ o\xF9 \verb+cpt+ est maintenant
+\verb+r\the\cpt+ comme nom où \verb+cpt+ est un compteur au sens
+\TeX{}. Le mécanisme des compteurs avec \LaTeX{} donne un code un peu
+plus long avec \verb+r\number\value{cpt}+ où \verb+cpt+ est maintenant
 un compteur au sens \LaTeX. Nous verrons un exemple d'utilisation de
-cette forme \xE0 la section~\ref{sec:Creation d'operations complexes}
+cette forme à la section~\ref{sec:Creation d'operations complexes}
 page~\pageref{sec:Creation d'operations complexes}.
 
-\index{nombre!valide}En pratique, que signifient toutes ces r\xE8gles ?
-Elles indiquent d'abord qu'un nombre \xE9crit sous forme d\xE9cimale peut
-\xEAtre pr\xE9c\xE9d\xE9 par n'importe quelle s\xE9quence de signes plus et moins.
-\xC9videmment, le nombre sera n\xE9gatif lorsqu'il y aura un nombre impair
+\index{nombre!valide}En pratique, que signifient toutes ces règles ?
+Elles indiquent d'abord qu'un nombre écrit sous forme décimale peut
+être précédé par n'importe quelle séquence de signes plus et moins.
+Évidemment, le nombre sera négatif lorsqu'il y aura un nombre impair
 de signes moins.  Ensuite, un nombre ne peut comporter qu'un seul
-s\xE9parateur d\xE9cimal qui peut \xEAtre le point ou la virgule, celui-ci
-pouvant \xEAtre plac\xE9 n'importe o\xF9 dans le nombre. Enfin, l'\xE9criture d'un
-nombre s'effectue obligatoirement en base~10.  Attention : ces r\xE8gles
-signifient \xE9galement que \verb+-a+ n'est pas valide.
+séparateur décimal qui peut être le point ou la virgule, celui-ci
+pouvant être placé n'importe où dans le nombre. Enfin, l'écriture d'un
+nombre s'effectue obligatoirement en base~10.  Attention : ces règles
+signifient également que \verb+-a+ n'est pas valide.
 
-L'extension utilise quelques noms de fa\xE7on interne et il est plus
-prudent de ne pas commencer un nom de variable par le caract\xE8re
+L'extension utilise quelques noms de façon interne et il est plus
+prudent de ne pas commencer un nom de variable par le caractère
 \texttt{@}.
 
-\section{Param\xE8tres de \package{xlop}}
+\section{Paramètres de \package{xlop}}
 \label{sec:Parametres de xlop}
-\index{parametre at param\xE8tre!syntaxe|(}
-Les affectations de param\xE8tres restent locales \xE0 la macro lorsqu'elles
-sont indiqu\xE9es au niveau de son argument optionnel. Pour rendre de
+\index{parametre at paramètre!syntaxe|(}
+Les affectations de paramètres restent locales à la macro lorsqu'elles
+sont indiquées au niveau de son argument optionnel. Pour rendre de
 telles affectations globales, il faut utiliser la macro
 \macro{opset}. Par exemple
 \begin{Verbatim}[xrightmargin=0pt]
   \opset{decimalsepsymbol={,}}
 \end{Verbatim}
-fera que le symbole du s\xE9parateur d\xE9cimal sera la virgule pour tout le
-reste du document, ou, du moins, jusqu'\xE0 une prochaine red\xE9finition
-par la macro \verb+\opset+. Dans ce manuel, ce sera le cas \xE0 partir de
+fera que le symbole du séparateur décimal sera la virgule pour tout le
+reste du document, ou, du moins, jusqu'à une prochaine redéfinition
+par la macro \verb+\opset+. Dans ce manuel, ce sera le cas à partir de
 maintenant.\opset{decimalsepsymbol={,}}
 
 \subsection{Symboles}
 \label{subsecSymboles}
-Le param\xE8tre \parameter{afterperiodsymbol} indique le symbole qui suit
-l'\xE9criture d'un quotient en ligne lors d'une division avec recherche
-de p\xE9riode\index{division!p\xE9riode}. Sa valeur par d\xE9faut est
+Le paramètre \parameter{afterperiodsymbol} indique le symbole qui suit
+l'écriture d'un quotient en ligne lors d'une division avec recherche
+de période\index{division!période}. Sa valeur par défaut est
 \verb+$\ldots$+
 
-Le param\xE8tre \parameter{equalsymbol} indique le symbole utilis\xE9 pour
-l'\xE9galit\xE9.  Sa valeur par d\xE9faut est \verb+$=$+. En r\xE9alit\xE9, le
-param\xE8tre est d\xE9fini avec :
+Le paramètre \parameter{equalsymbol} indique le symbole utilisé pour
+l'égalité.  Sa valeur par défaut est \verb+$=$+. En réalité, le
+paramètre est défini avec :
 \begin{Verbatim}[xrightmargin=0pt]
   \opset{equalsymbol={$=$}}
 \end{Verbatim}
-c'est-\xE0-dire avec des accolades pour prot\xE9ger le signe \xE9gal. Sans les
-accolades, il y aurait une erreur \xE0 la compilation. On doit proc\xE9der
-de cette fa\xE7on lorsque la valeur comporte le signe \xE9gal ou une
-virgule\index{parametre at param\xE8tre!avec \og = \fg{} ou \og ,\fg}
+c'est-à-dire avec des accolades pour protéger le signe égal. Sans les
+accolades, il y aurait une erreur à la compilation. On doit procéder
+de cette façon lorsque la valeur comporte le signe égal ou une
+virgule\index{parametre at paramètre!avec \og = \fg{} ou \og ,\fg}
 
-Le param\xE8tre \parameter{approxsymbol} indique le symbole utilis\xE9 pour
-les approximations. Sa valeur par d\xE9faut est \verb+$\approx$+.
+Le paramètre \parameter{approxsymbol} indique le symbole utilisé pour
+les approximations. Sa valeur par défaut est \verb+$\approx$+.
 
-Le param\xE8tre \parameter{decimalsepsymbol} indique le symbole utilis\xE9
-pour le s\xE9parateur d\xE9cimal. Sa valeur par d\xE9faut est le point.
+Le paramètre \parameter{decimalsepsymbol} indique le symbole utilisé
+pour le séparateur décimal. Sa valeur par défaut est le point.
 
-Les param\xE8tres \parameter{addsymbol}, \parameter{subsymbol},
+Les paramètres \parameter{addsymbol}, \parameter{subsymbol},
 \parameter{mulsymbol} et \parameter{divsymbol} indiquent les symboles
-utilis\xE9s pour les quatre op\xE9rations arithm\xE9tiques. Les valeurs par
-d\xE9faut sont respectivement \verb!$+$!, \verb!$-$!, \verb!$\times$! et
+utilisés pour les quatre opérations arithmétiques. Les valeurs par
+défaut sont respectivement \verb!$+$!, \verb!$-$!, \verb!$\times$! et
 \verb!$\div$!.
 
-\subsection{Pr\xE9sentation g\xE9n\xE9rale}
+\subsection{Présentation générale}
 \label{subsec:Presentation generale}
-Le param\xE8tre \parameter{voperation} indique la fa\xE7on dont une
-op\xE9ration pos\xE9e sera plac\xE9e par rapport \xE0 la ligne de base. Les
+Le paramètre \parameter{voperation} indique la façon dont une
+opération posée sera placée par rapport à la ligne de base. Les
 valeurs possibles sont \verb+top+, \verb+center+ et \verb+bottom+
-(valeur par d\xE9faut).
+(valeur par défaut).
 \begin{SideBySideExample}
   top\quad
   \opadd[voperation=top]{45}{172}\par
@@ -329,9 +378,9 @@
   \opadd[voperation=bottom]{45}{172}
 \end{SideBySideExample}
 
-Le param\xE8tre \parameter{voperator} indique comment sera plac\xE9 le
-symbole op\xE9ratoire par rapport aux op\xE9randes. Les valeurs possibles
-sont \verb+top+, \verb+center+ (valeur par d\xE9faut) et \verb+bottom+.
+Le paramètre \parameter{voperator} indique comment sera placé le
+symbole opératoire par rapport aux opérandes. Les valeurs possibles
+sont \verb+top+, \verb+center+ (valeur par défaut) et \verb+bottom+.
 \begin{SideBySideExample}
   top\quad
   \opadd[voperator=top]{45}{172}\par
@@ -341,43 +390,43 @@
   \opadd[voperator=bottom]{45}{172}
 \end{SideBySideExample}
 
-Le param\xE8tre \parameter{deletezero} indique si certains nombres d'une
-op\xE9ration doivent \xEAtre affich\xE9s avec ou sans les z\xE9ros non
-significatifs. Le r\xF4le exact de ce param\xE8tre varie en fonction de
-l'op\xE9ration et nous y reviendrons lors de la pr\xE9sentation des
-diff\xE9rentes op\xE9rations.
+Le paramètre \parameter{deletezero} indique si certains nombres d'une
+opération doivent être affichés avec ou sans les zéros non
+significatifs. Le rôle exact de ce paramètre varie en fonction de
+l'opération et nous y reviendrons lors de la présentation des
+différentes opérations.
 
-Le param\xE8tre \parameter{style} indique si l'op\xE9ration doit \xEAtre pos\xE9e
-(avec la valeur \verb+display+ qui est la valeur par d\xE9faut) ou bien
-\xEAtre affich\xE9e en ligne (valeur \verb+text+). On reviendra sur ce
-param\xE8tre lors de la pr\xE9sentation de la division car les possibilit\xE9s
+Le paramètre \parameter{style} indique si l'opération doit être posée
+(avec la valeur \verb+display+ qui est la valeur par défaut) ou bien
+être affichée en ligne (valeur \verb+text+). On reviendra sur ce
+paramètre lors de la présentation de la division car les possibilités
 sont alors un peu plus nombreuses.
 \begin{SideBySideExample}
   \opadd[style=text]{45}{172}
 \end{SideBySideExample}
-Dans les op\xE9rations en ligne, \package{xlop} fait attention \xE0 ne pas
-composer la formule en mode math\xE9matique de fa\xE7on directe. Cela permet
-de sp\xE9cifier ce que l'on veut comme dans l'exemple qui suit et c'est
-\xE9galement pour cela qu'il faut indiquer les valeurs classiques des
-symboles entre d\xE9limiteurs math\xE9matiques.
+Dans les opérations en ligne, \package{xlop} fait attention à ne pas
+composer la formule en mode mathématique de façon directe. Cela permet
+de spécifier ce que l'on veut comme dans l'exemple qui suit et c'est
+également pour cela qu'il faut indiquer les valeurs classiques des
+symboles entre délimiteurs mathématiques.
 \begin{SideBySideExample}
   \opadd[addsymbol=plus,
          equalsymbol=\'egal,
          style=text]{42}{172}
 \end{SideBySideExample}
-Cependant, \package{xlop} introduit exactement les m\xEAmes p\xE9nalit\xE9s de
-coupures et exactement les m\xEAmes espacements que pour une formule
-math\xE9matique.
+Cependant, \package{xlop} introduit exactement les mêmes pénalités de
+coupures et exactement les mêmes espacements que pour une formule
+mathématique.
 
-Le param\xE8tre \parameter{parenthesisnegative} indique comment composer
-les nombres n\xE9gatifs dans les op\xE9rations en ligne. Les valeurs
+Le paramètre \parameter{parenthesisnegative} indique comment composer
+les nombres négatifs dans les opérations en ligne. Les valeurs
 possibles sont :
 \begin{itemize}
-\item \texttt{none} qui compose les nombres n\xE9gatifs sans parenth\xE8se ;
-\item \texttt{all} qui compose les nombres n\xE9gatifs en les pla\xE7ant
-  entre parenth\xE8ses ;
-\item \texttt{last} qui compose les nombres n\xE9gatifs en les pla\xE7ant
-  entre parenth\xE8ses s'il ne s'agit pas de la premi\xE8re op\xE9rande.
+\item \texttt{none} qui compose les nombres négatifs sans parenthèse ;
+\item \texttt{all} qui compose les nombres négatifs en les plaçant
+  entre parenthèses ;
+\item \texttt{last} qui compose les nombres négatifs en les plaçant
+  entre parenthèses s'il ne s'agit pas de la première opérande.
 \end{itemize}
 \begin{SideBySideExample}
   \opadd[style=text,
@@ -393,23 +442,23 @@
 
 \subsection{Dimensions}
 \label{subsec:Dimensions}
-Dans les op\xE9rations pos\xE9es, les chiffres sont plac\xE9s dans des bo\xEEtes
-de dimensions fix\xE9es. La largeur est donn\xE9e par le param\xE8tre
-\parameter{columnwidth} et la hauteur par le param\xE8tre
-\parameter{lineheight}. La valeur par d\xE9faut du param\xE8tre
+Dans les opérations posées, les chiffres sont placés dans des boîtes
+de dimensions fixées. La largeur est donnée par le paramètre
+\parameter{columnwidth} et la hauteur par le paramètre
+\parameter{lineheight}. La valeur par défaut du paramètre
 \texttt{lineheight} est \verb+\baselineskip+ ce qui fait que les
-lignes des op\xE9rations seront espac\xE9es, par d\xE9faut, comme les lignes
-d'un paragraphe. La valeur par d\xE9faut de \texttt{columnwidth} est de
+lignes des opérations seront espacées, par défaut, comme les lignes
+d'un paragraphe. La valeur par défaut de \texttt{columnwidth} est de
 \texttt{2ex} car la largeur \og normale \fg{} des chiffres aurait
-donn\xE9 des r\xE9sultats peu lisibles.
+donné des résultats peu lisibles.
 \begin{SideBySideExample}
   \opadd[columnwidth=0.5em]
         {45.89}{127.5}
 \end{SideBySideExample}
-Ce pi\xE8tre r\xE9sultat est d\xFB en partie au fait que la virgule est plac\xE9
-dans une bo\xEEte dont la largeur est contr\xF4l\xE9e par le param\xE8tre
-\parameter{decimalsepwidth} dont la valeur par d\xE9faut est nulle. Un
-essai d'am\xE9lioration peut \xEAtre effectu\xE9 en donnant \xE0 ce param\xE8tre la
+Ce piètre résultat est dû en partie au fait que la virgule est placé
+dans une boîte dont la largeur est contrôlée par le paramètre
+\parameter{decimalsepwidth} dont la valeur par défaut est nulle. Un
+essai d'amélioration peut être effectué en donnant à ce paramètre la
 largeur \og{} normale \fg d'une virgule.
 \begin{SideBySideExample}
   \opadd[columnwidth=0.5em,
@@ -416,53 +465,53 @@
          decimalsepwidth=0.27778em]
         {45.89}{127.5}
 \end{SideBySideExample}
-C'est meilleur mais le fait de donner une largeur non nulle \xE0 la bo\xEEte
-contenant le s\xE9parateur d\xE9cimal risque de poser des difficult\xE9s si
-l'on veut placer des \xE9l\xE9ments externes : cela va \xE0 l'encontre de
-l'id\xE9e de placer les chiffres dans une grille fixe. Ceci est donc \xE0
-\xE9viter en temps normal.
+C'est meilleur mais le fait de donner une largeur non nulle à la boîte
+contenant le séparateur décimal risque de poser des difficultés si
+l'on veut placer des éléments externes : cela va à l'encontre de
+l'idée de placer les chiffres dans une grille fixe. Ceci est donc à
+éviter en temps normal.
 
-Les deux param\xE8tres \parameter{columnwidth} et \parameter{lineheight}
+Les deux paramètres \parameter{columnwidth} et \parameter{lineheight}
 correspondent aux deux seules dimensions que l'extension rend
-publiques, \xE0 savoir respectivement
+publiques, à savoir respectivement
 \verb+\opcolumnwidth+\index{opcolumnwidth@\texttt{$\backslash$opcolumnwidth}}
 et
 \verb+\oplineheight+\index{oplineheight@\texttt{$\backslash$oplineheight}}.
-Il est cependant dangereux de vouloir modifier ces dimensions de fa\xE7on
+Il est cependant dangereux de vouloir modifier ces dimensions de façon
 directe puisque une modification par voie normale n'a pas pour seule
-cons\xE9quence d'obtenir une nouvelle valeur pour ces
+conséquence d'obtenir une nouvelle valeur pour ces
 dimensions. L'extension \package{xlop} a rendu ces dimensions
 publiques uniquement pour pouvoir les lire, pas pour les modifier.
 
-Les deux param\xE8tres suivants permettent de sp\xE9cifier les largeurs des
-traits horizontaux et verticaux trac\xE9s par \package{xlop}. Il s'agit
-des deux param\xE8tres \parameter{hrulewidth} et \parameter{vrulewidth}
-dont la valeur par d\xE9faut est \texttt{0.4pt}.
+Les deux paramètres suivants permettent de spécifier les largeurs des
+traits horizontaux et verticaux tracés par \package{xlop}. Il s'agit
+des deux paramètres \parameter{hrulewidth} et \parameter{vrulewidth}
+dont la valeur par défaut est \texttt{0.4pt}.
 
-Ces traits sont compos\xE9s sans perturber la grille, c'est-\xE0-dire sans
+Ces traits sont composés sans perturber la grille, c'est-à-dire sans
 ajouter d'espace vertical. Ainsi, avec des valeurs importantes pour
-l'\xE9paisseur, les traits risquent de d\xE9border au niveau des op\xE9randes.
+l'épaisseur, les traits risquent de déborder au niveau des opérandes.
 \begin{SideBySideExample}
   \opadd[hrulewidth=8pt]{42}{172}
 \end{SideBySideExample}
 
-Il existe \xE9galement un param\xE8tre permettant de contr\xF4ler le d\xE9calage
-horizontal du s\xE9parateur d\xE9cimal. Il s'agit de
-\parameter{decimalsepoffset} dont la valeur par d\xE9faut est \xE9gale
-\xE0~\texttt{-0.35}. Cette valeur par d\xE9faut indique une longueur en
-prenant \verb+\opcolumnwidth+ comme unit\xE9. Un exemple d'utilisation de
-ce param\xE8tre sera donn\xE9 \xE0 la section~\ref{sec:Division}
+Il existe également un paramètre permettant de contrôler le décalage
+horizontal du séparateur décimal. Il s'agit de
+\parameter{decimalsepoffset} dont la valeur par défaut est égale
+à~\texttt{-0.35}. Cette valeur par défaut indique une longueur en
+prenant \verb+\opcolumnwidth+ comme unité. Un exemple d'utilisation de
+ce paramètre sera donné à la section~\ref{sec:Division}
 page~\pageref{sec:Division}.
 
 \subsection{Styles des chiffres}
 \label{subsec:Styles des chiffres}
 L'extension \package{xlop} distingue cinq types de nombres et y
-associe cinq param\xE8tres de style :
+associe cinq paramètres de style :
 \begin{itemize}
-\item les op\xE9randes avec \parameter{operandstyle} ;
-\item le r\xE9sultat avec \parameter{resultstyle} ;
+\item les opérandes avec \parameter{operandstyle} ;
+\item le résultat avec \parameter{resultstyle} ;
 \item les restes avec \parameter{remainderstyle} ;
-\item les r\xE9sultats interm\xE9diaires avec \parameter{intermediarystyle}
+\item les résultats intermédiaires avec \parameter{intermediarystyle}
   ;
 \item les retenues avec \parameter{carrystyle}.
 \end{itemize}
@@ -475,12 +524,12 @@
 Rappelons que dans ce manuel, nous utilisons l'extension
 \package{pstricks}\index{pstricks}.
 
-\index{parametre at param\xE8tre!index\xE9|(}%
-En r\xE9alit\xE9, la gestion de ces styles est encore plus puissante car on
-peut distinguer les diff\xE9rents nombres d'une m\xEAme classe. Dans une
-m\xEAme op\xE9ration, on a plusieurs op\xE9randes et, \xE9ventuellement plusieurs
-restes et plusieurs nombres interm\xE9diaires. On acc\xE8de alors au style
-de ces nombres individuels en indexant le param\xE8tre de style
+\index{parametre at paramètre!indexé|(}%
+En réalité, la gestion de ces styles est encore plus puissante car on
+peut distinguer les différents nombres d'une même classe. Dans une
+même opération, on a plusieurs opérandes et, éventuellement plusieurs
+restes et plusieurs nombres intermédiaires. On accède alors au style
+de ces nombres individuels en indexant le paramètre de style
 correspondant.
 \begin{SideBySideExample}
   \opadd[operandstyle=\blue,
@@ -489,20 +538,20 @@
          carrystyle=\scriptsize\green]
          {45.89}{127.5}  
 \end{SideBySideExample}
-Sur cet exemple, on a indiqu\xE9 que la premi\xE8re op\xE9rande devait \xEAtre
-compos\xE9e avec le style \verb+\lightgray+ et comme rien n'\xE9tait indiqu\xE9
-pour la seconde op\xE9rande, celle-ci a repris le style de base de sa
-classe (donc a \xE9t\xE9 compos\xE9e avec le style \verb+\blue+).
+Sur cet exemple, on a indiqué que la première opérande devait être
+composée avec le style \verb+\lightgray+ et comme rien n'était indiqué
+pour la seconde opérande, celle-ci a repris le style de base de sa
+classe (donc a été composée avec le style \verb+\blue+).
 
-Ce m\xE9canisme va encore plus loin car on peut indicer \xE0 deux niveaux
-les styles des classes op\xE9rande, reste et nombre interm\xE9diaire et \xE0 un
-niveau les styles des classes r\xE9sultat et retenue pour acc\xE9der au
+Ce mécanisme va encore plus loin car on peut indicer à deux niveaux
+les styles des classes opérande, reste et nombre intermédiaire et à un
+niveau les styles des classes résultat et retenue pour accéder au
 style de chacun des chiffres de ces nombres. Afin de rendre les
-indexations plus facile \xE0 g\xE9rer, un index positif indiquera le rang
-d'un chiffre de la partie enti\xE8re (num\xE9rot\xE9e de droite \xE0 gauche,
-l'index~1 correspondant au chiffre des unit\xE9s) et un index n\xE9gatif
-indiquera le rang d'un chiffre de la partie d\xE9cimale (num\xE9rot\xE9e de
-gauche \xE0 droite, l'index $-1$ correspondant au chiffre des dixi\xE8mes).
+indexations plus facile à gérer, un index positif indiquera le rang
+d'un chiffre de la partie entière (numérotée de droite à gauche,
+l'index~1 correspondant au chiffre des unités) et un index négatif
+indiquera le rang d'un chiffre de la partie décimale (numérotée de
+gauche à droite, l'index $-1$ correspondant au chiffre des dixièmes).
 \begin{SideBySideExample}
   \opadd[operandstyle.1.1=\white,
          operandstyle.1.-2=\white,
@@ -511,7 +560,7 @@
          deletezero=false]
          {045.89}{127.50}
 \end{SideBySideExample}
-On peut \xE9galement utiliser une macro \xE0 un param\xE8tre comme style.
+On peut également utiliser une macro à un paramètre comme style.
 \begin{SideBySideExample}
   \newcommand\hole[1]{$\bullet$}
   \opadd[operandstyle.1.1=\hole,
@@ -520,9 +569,9 @@
          resultstyle.2=\hole]
          {45.89}{127.5}
 \end{SideBySideExample}
-\index{operation at op\xE9ration!\xE0 trou}%
+\index{operation at opération!à trou}%
 Lorsque le style est une macro, le chiffre constitue le dernier
-argument de cette macro. Voici un exemple plus compliqu\xE9 et utilisant
+argument de cette macro. Voici un exemple plus compliqué et utilisant
 l'extension \package{pst-node} de la suite \package{pstricks} :
 \begin{SideBySideExample}
   \newcommand\OPoval[3]{%
@@ -541,10 +590,10 @@
   \end{minipage}
 \end{SideBySideExample}
 
-Comme les chiffres, le s\xE9parateur d\xE9cimal tient compte du style d'un
-nombre. Pour acc\xE9der au style du s\xE9parateur d\xE9cimal de fa\xE7on
+Comme les chiffres, le séparateur décimal tient compte du style d'un
+nombre. Pour accéder au style du séparateur décimal de façon
 individuelle, il faut employer l'indice \texttt{d} au lieu des indices
-num\xE9riques des chiffres.
+numériques des chiffres.
 \begin{SideBySideExample}
   \newcommand\hole[1]{\texttt{\_}}
   \opmul[intermediarystyle=\hole,
@@ -551,49 +600,49 @@
     resultstyle=\hole,
     resultstyle.d=\white]{2.46}{35.7}
 \end{SideBySideExample}
-\index{parametre at param\xE8tre!index\xE9|)}%
-\index{parametre at param\xE8tre!syntaxe|)}
+\index{parametre at paramètre!indexé|)}%
+\index{parametre at paramètre!syntaxe|)}
 
-\chapter{Op\xE9rations arithm\xE9tiques}
-\label{chap:Op\xE9rations arithm\xE9tiques}
+\chapter{Opérations arithmétiques}
+\label{chap:Opérations arithmétiques}
 \section{Addition}
 \label{sec:Addition}
-L'addition est g\xE9r\xE9e par la macro \macro{opadd}. L'addition,
-lorsqu'elle est pos\xE9e, n'affiche que des nombres positifs. Cela va
-avoir comme cons\xE9quence d'afficher une soustraction lorsqu'une des
-op\xE9randes est n\xE9gative.%
-\index{nombre!n\xE9gatifs dans une op\xE9ration pos\xE9e}
+L'addition est gérée par la macro \macro{opadd}. L'addition,
+lorsqu'elle est posée, n'affiche que des nombres positifs. Cela va
+avoir comme conséquence d'afficher une soustraction lorsqu'une des
+opérandes est négative.%
+\index{nombre!négatifs dans une opération posée}
 \begin{SideBySideExample}
   \opadd{-245}{72}
 \end{SideBySideExample}
-De fa\xE7on g\xE9n\xE9rale, le principe est de poser l'op\xE9ration qui permet de
-retrouver le r\xE9sultat comme on le ferait \xE0 la main. En revanche,
+De façon générale, le principe est de poser l'opération qui permet de
+retrouver le résultat comme on le ferait à la main. En revanche,
 l'affichage en ligne donnera toujours une addition puisqu'on peut
-maintenant \xE9crire des nombres n\xE9gatifs.
+maintenant écrire des nombres négatifs.
 \begin{SideBySideExample}
   \opadd[style=text]{-245}{72}
 \end{SideBySideExample}
- Outre les param\xE8tres g\xE9n\xE9raux d\xE9crits \xE0 la
+ Outre les paramètres généraux décrits à la
  section~\ref{sec:Parametres de xlop}, la macro \verb+\opadd+ est
- sensible aux param\xE8tres \texttt{carryadd}, \texttt{lastcarry} et
+ sensible aux paramètres \texttt{carryadd}, \texttt{lastcarry} et
  \texttt{deletezero}.
 
-Le param\xE8tre \parameter{carryadd} est un param\xE8tre
-bool\xE9en\index{parametre at param\xE8tre!bool\xE9en} c'est-\xE0-dire n'acceptant
+Le paramètre \parameter{carryadd} est un paramètre
+booléen\index{parametre at paramètre!booléen} c'est-à-dire n'acceptant
 que les valeurs \texttt{true} et \texttt{false}. Comme il d'usage,
-l'omission du signe \xE9gal et de la partie droite de l'affectation
-\xE9quivaut \xE0 \texttt{=true}. Ce param\xE8tre indique si les retenues
-doivent \xEAtre ou non affich\xE9es. Sa valeur par d\xE9faut est
+l'omission du signe égal et de la partie droite de l'affectation
+équivaut à \texttt{=true}. Ce paramètre indique si les retenues
+doivent être ou non affichées. Sa valeur par défaut est
 \texttt{true}.
 
-Le param\xE8tre \parameter{lastcarry} est \xE9galement un param\xE8tre
-bool\xE9en. Il indique si une retenue sans chiffre correspondant au
-niveau des deux op\xE9randes doit \xEAtre ou non affich\xE9e. Sa valeur par
-d\xE9faut est \texttt{false}. On fera attention au r\xF4le exact de ce
-param\xE8tre. Ainsi, si la seconde op\xE9rande dans l'exemple qui suit avait
-\xE9t\xE9~15307, la derni\xE8re retenue aurait \xE9t\xE9 affich\xE9e quelle que soit la
-valeur du param\xE8tre \texttt{lastcarry} puisqu'il y aurait eu un
-chiffre correspondant au niveau de la seconde op\xE9rande.
+Le paramètre \parameter{lastcarry} est également un paramètre
+booléen. Il indique si une retenue sans chiffre correspondant au
+niveau des deux opérandes doit être ou non affichée. Sa valeur par
+défaut est \texttt{false}. On fera attention au rôle exact de ce
+paramètre. Ainsi, si la seconde opérande dans l'exemple qui suit avait
+été~15307, la dernière retenue aurait été affichée quelle que soit la
+valeur du paramètre \texttt{lastcarry} puisqu'il y aurait eu un
+chiffre correspondant au niveau de la seconde opérande.
 \begin{SideBySideExample}
   \opadd{4825}{5307}
 \end{SideBySideExample}
@@ -604,13 +653,13 @@
   \opadd[lastcarry]{4825}{5307}
 \end{SideBySideExample}
 
-Le param\xE8tre \parameter{deletezero} est \xE9galement un param\xE8tre bool\xE9en
-et son r\xF4le et d'indiquer si les z\xE9ros non significatifs doivent \xEAtre
-supprim\xE9s ou non. Sa valeur par d\xE9faut est \texttt{true}. Si ce
-param\xE8tre vaut \texttt{false}, les op\xE9randes et le r\xE9sultats auront le
-m\xEAme nombre de chiffres, \package{xlop} ajoutant des z\xE9ros non
-significatifs pour y parvenir. Les z\xE9ros non significatifs des
-op\xE9randes ne sont pas supprim\xE9s \xE9galement.
+Le paramètre \parameter{deletezero} est également un paramètre booléen
+et son rôle et d'indiquer si les zéros non significatifs doivent être
+supprimés ou non. Sa valeur par défaut est \texttt{true}. Si ce
+paramètre vaut \texttt{false}, les opérandes et le résultats auront le
+même nombre de chiffres, \package{xlop} ajoutant des zéros non
+significatifs pour y parvenir. Les zéros non significatifs des
+opérandes ne sont pas supprimés également.
 \begin{SideBySideExample}
   \opadd{012.3427}{5.2773}\par
   \opadd[deletezero=false]
@@ -617,70 +666,137 @@
     {012.3427}{5.2773}
 \end{SideBySideExample}
 
-Ce param\xE8tre a exactement le m\xEAme r\xF4le dans l'affichage en ligne que
-dans l'affichage pos\xE9.
+Ce paramètre a exactement le même rôle dans l'affichage en ligne que
+dans l'affichage posé.
 \begin{SideBySideExample}
   \opadd[style=text]{02.8}{1.2}\par
   \opadd[style=text,
-         deletezero=false]{02.8}{1.2}\par
+         deletezero=false]{02.8}{1.2}
 \end{SideBySideExample}
 
+La version 0.27 de xlop a introduit la macro \macro{opmanyyadd} qui
+permet de poser des additions avec plus de deux opérandes. Cette macro
+a quelques limitations:
+\begin{itemize}
+\item toutes les opérandes doivent être positives ;
+\item certains paramètres ne sont plus utilisés, par
+  exemple \parameter{style} ;
+\item les retenues ne sont pas affichées.
+\end{itemize}
+En revanche, le paramètre \parameter{vmanyoperator} permet de
+contrôler finement le placement des signes d'opération.
+
+Voici un premier exemple pour montrer la syntaxe de base. Les
+opérandes doivent être placées entre accolades et leur nombre n'est
+pas limité.
+\begin{SideBySideExample}
+  \opmanyadd{123.4}{3.1416}
+            {2.71828}{0.001}
+\end{SideBySideExample}
+La macro \macro{opmanyadd} accepte les paramètres de style pour les
+opérandes et le résultat. En ce qui concerne le style pour les
+opérandes, le premier index indique la place de l'opérande (du haut
+vers le bas) et la deuxième le chiffre de l'opérande. Par exemple :
+\begin{SideBySideExample}
+  \newcommand\R{\color{red}}
+  \opmanyadd[operandstyle.2.3=\R,
+             operandstyle.3.3=\R,
+             resultstyle.3=\R,
+             resultstyle.4=\R]
+             {12.6}{853.3}{158.1}
+\end{SideBySideExample}
+Cet exemple montre que les zéros non significatifs ne sont pas
+affichés. Ils peuvent l'être en utilisant le
+paramètre \parameter{deletezero} avec se valeur false :
+\begin{SideBySideExample}
+  \opmanyadd[deletezero=false]
+            {12.6}{853.3}{158.1}
+\end{SideBySideExample}
+
+La macro \macro{opmanyadd} utilise également le
+paramètre \parameter{voperation} comme le fait \macro{opadd}.
+
+Il existe un paramètre spécifique à la macro \macro{opmanyadd} : le
+paramètre \parameter{vmanyoperator}. Ce paramètre permet d'afficher
+l'opérateur plus de six façons différentes.
+\begin{CenterExample}
+  \opmanyadd{1}{12}{123}{1234}\quad
+  \opmanyadd[vmanyoperator=center]
+            {1}{12}{123}{1234}\quad
+  \opmanyadd[vmanyoperator=top]
+            {1}{12}{123}{1234}\quad
+  \opmanyadd[vmanyoperator=bottom]
+            {1}{12}{123}{1234}
+\end{CenterExample}
+On peut voir que la valeur par défaut est center. Les valeurs avec une
+première lettre minuscule affichent autant d'opérateurs qu'il y a
+d'opérandes moins une. Les mêmes valeurs avec la premiyère lettre en
+capitale affichent un unique signe opératoire:
+\begin{CenterExample}
+  \opmanyadd[vmanyoperator=Center]
+            {1}{12}{123}{1234}\quad
+  \opmanyadd[vmanyoperator=Top]
+            {1}{12}{123}{1234}\quad
+  \opmanyadd[vmanyoperator=Bottom]
+            {1}{12}{123}{1234}
+\end{CenterExample}
+
 \section{Soustraction}
 \label{sec:soustraction}
-La soustraction est g\xE9r\xE9e par la macro \macro{opsub}. La soustraction,
-lorsqu'elle est pos\xE9e, n'affiche que des nombres positifs.  Par
-cons\xE9quence cette macro va afficher une addition lorsqu'une des
-op\xE9randes est n\xE9gative.
+La soustraction est gérée par la macro \macro{opsub}. La soustraction,
+lorsqu'elle est posée, n'affiche que des nombres positifs.  Par
+conséquence cette macro va afficher une addition lorsqu'une des
+opérandes est négative.
 \begin{SideBySideExample}
   \opsub{-245}{72}
 \end{SideBySideExample}
-De fa\xE7on g\xE9n\xE9rale, le principe est de poser l'op\xE9ration qui permet de
-retrouver le r\xE9sultat comme on le ferait \xE0 la main. En revanche,
+De façon générale, le principe est de poser l'opération qui permet de
+retrouver le résultat comme on le ferait à la main. En revanche,
 l'affichage en ligne donnera toujours une soustraction puisqu'on peut
-maintenant \xE9crire des nombres n\xE9gatifs.
+maintenant écrire des nombres négatifs.
 \begin{SideBySideExample}
   \opsub[style=text]{-245}{72}
 \end{SideBySideExample}
-Ce principe s'applique \xE9galement lorsque la premi\xE8re op\xE9rande est
-inf\xE9rieure \xE0 la seconde (cas positif) o\xF9 on aura une inversion des
-op\xE9randes.
+Ce principe s'applique également lorsque la première opérande est
+inférieure à la seconde (cas positif) où on aura une inversion des
+opérandes.
 \begin{SideBySideExample}
   \opsub{1.2}{2.45}
 \end{SideBySideExample}
-Bien entendu, l'op\xE9ration en ligne donnera le r\xE9sultat exact.
+Bien entendu, l'opération en ligne donnera le résultat exact.
 \begin{SideBySideExample}
   \opsub[style=text]{1.2}{2.45}
 \end{SideBySideExample}
 
 
-Outre les param\xE8tres g\xE9n\xE9raux vus \xE0 la section~\ref{sec:Parametres de
-  xlop}, \verb+\opsub+ est sensible \xE0 \texttt{carrysub},
+Outre les paramètres généraux vus à la section~\ref{sec:Parametres de
+  xlop}, \verb+\opsub+ est sensible à \texttt{carrysub},
 \texttt{lastcarry}, \texttt{offsetcarry}, \texttt{deletezero} et
 \texttt{behaviorsub}.
 
-Le param\xE8tre \parameter{carrysub} est un param\xE8tre bool\xE9en
-qui indique si les retenues doivent \xEAtre ou non pr\xE9sentes. Sa valeur
-par d\xE9faut est \texttt{false} (rappelons que le param\xE8tre
-\texttt{carryadd} avait une valeur par d\xE9faut \xE9gale \xE0 \texttt{true}).
+Le paramètre \parameter{carrysub} est un paramètre booléen
+qui indique si les retenues doivent être ou non présentes. Sa valeur
+par défaut est \texttt{false} (rappelons que le paramètre
+\texttt{carryadd} avait une valeur par défaut égale à \texttt{true}).
 \begin{SideBySideExample}
   \opsub[carrysub]{1234}{567}
 \end{SideBySideExample}
 
-Dans l'exemple pr\xE9c\xE9dent, nous pouvons voir qu'il manque en fait une
-retenue au niveau du dernier chiffre de 1234, cette fa\xE7on de faire
-\xE9tant assez courante. N\xE9anmoins, on peut contr\xF4ler l'affichage de
-cette derni\xE8re retenue avec le param\xE8tre \parameter{lastcarry}. Ce
-param\xE8tre n'a pas tout \xE0 fait le m\xEAme r\xF4le que pour l'addition puisque
-la derni\xE8re retenue ne sera pas affich\xE9e dans le cas o\xF9 la seconde
-op\xE9rande n'a pas de chiffre correspondant (alors que pour l'addition,
-il fallait que les deux op\xE9randes n'aient pas de chiffres
+Dans l'exemple précédent, nous pouvons voir qu'il manque en fait une
+retenue au niveau du dernier chiffre de 1234, cette façon de faire
+étant assez courante. Néanmoins, on peut contrôler l'affichage de
+cette dernière retenue avec le paramètre \parameter{lastcarry}. Ce
+paramètre n'a pas tout à fait le même rôle que pour l'addition puisque
+la dernière retenue ne sera pas affichée dans le cas où la seconde
+opérande n'a pas de chiffre correspondant (alors que pour l'addition,
+il fallait que les deux opérandes n'aient pas de chiffres
 correspondant).
 \begin{SideBySideExample}
   \opsub[carrysub,lastcarry]{1234}{567}
 \end{SideBySideExample}
-On peut noter dans ce dernier cas qu'il est sans doute pr\xE9f\xE9rable de
-mettre le param\xE8tre \parameter{deletezero} \xE0 \texttt{false} pour
-obtenir une pr\xE9sentation plus correcte.
+On peut noter dans ce dernier cas qu'il est sans doute préférable de
+mettre le paramètre \parameter{deletezero} à \texttt{false} pour
+obtenir une présentation plus correcte.
 \begin{SideBySideExample}
   \opsub[carrysub,
          lastcarry,
@@ -688,10 +804,10 @@
 \end{SideBySideExample}
 
 L'affichage des retenues au niveau des soustractions peut sembler un
-peu trop compact. On peut \xE9largir la bo\xEEte des chiffres avec le
-param\xE8tre \parameter{opcolumnwidth} mais \xE9galement indiquer le
-d\xE9calage des retenues avec le param\xE8tre \parameter{offsetcarry}. La
-valeur par d\xE9faut de ce param\xE8tre est \texttt{-0.35}.
+peu trop compact. On peut élargir la boîte des chiffres avec le
+paramètre \parameter{opcolumnwidth} mais également indiquer le
+décalage des retenues avec le paramètre \parameter{offsetcarry}. La
+valeur par défaut de ce paramètre est \texttt{-0.35}.
 \begin{SideBySideExample}
   \opsub[carrysub,
          lastcarry,
@@ -707,12 +823,12 @@
 \end{SideBySideExample}
 
 Il peut arriver qu'une soustraction de deux nombres positifs, le
-premier \xE9tant inf\xE9rieur au second, soit le signe d'une erreur de
-l'utilisateur. Dans ce cas, et uniquement dans ce cas, le param\xE8tre
-\parameter{behaviorsub} permet d'obtenir un rappel \xE0 l'ordre. Les
-trois valeurs possibles de ce param\xE8tre sont \texttt{silent} qui est
-la valeur par d\xE9faut et qui donne le r\xE9sultat, \texttt{warning} qui
-donne \xE9galement le r\xE9sultat mais affiche le message d'avertissement :
+premier étant inférieur au second, soit le signe d'une erreur de
+l'utilisateur. Dans ce cas, et uniquement dans ce cas, le paramètre
+\parameter{behaviorsub} permet d'obtenir un rappel à l'ordre. Les
+trois valeurs possibles de ce paramètre sont \texttt{silent} qui est
+la valeur par défaut et qui donne le résultat, \texttt{warning} qui
+donne également le résultat mais affiche le message d'avertissement :
 \begin{Verbatim}[xrightmargin=0pt,frame=none]
   xlop warning.  Substraction with first operand less than second one
       See documentation for further information.
@@ -723,25 +839,25 @@
                    Type  H <return>  for immediate help.
   ! Substraction with first operand less than second one.
 \end{Verbatim}
-et l'op\xE9ration ne sera pas effectu\xE9e.
+et l'opération ne sera pas effectuée.
 
 \section{Multiplication}
 \label{sec:Multiplication}
-La multiplication est g\xE9r\xE9e par la macro \macro{opmul}.
-Nous pr\xE9senterons les param\xE8tres \texttt{hfactor},
+La multiplication est gérée par la macro \macro{opmul}.
+Nous présenterons les paramètres \texttt{hfactor},
 \texttt{displayintermediary}, \texttt{shiftintermediarysymbol},
 \texttt{displayshiftintermediary} et finalement \texttt{deletezero},
-les autres param\xE8tres ayant \xE9t\xE9 vus \xE0 la section~\ref{sec:Parametres
+les autres paramètres ayant été vus à la section~\ref{sec:Parametres
   de xlop}.
 
-Le param\xE8tre \parameter{shiftintermediarysymbol} indique quel symbole
-sera utilis\xE9 (sa valeur par d\xE9faut est \verb+$\cdot$+) pour visualiser
-les d\xE9calages des nombres interm\xE9diaires. Le param\xE8tre
+Le paramètre \parameter{shiftintermediarysymbol} indique quel symbole
+sera utilisé (sa valeur par défaut est \verb+$\cdot$+) pour visualiser
+les décalages des nombres intermédiaires. Le paramètre
 \parameter{displayshiftintermediary} peut prendre les valeurs
-\texttt{shift} (valeur par d\xE9faut) qui ne montre ce symbole que
-lorsque le d\xE9calage est sup\xE9rieur \xE0 un rang, \texttt{all} qui indique
-que ce symbole de d\xE9calage sera syst\xE9matiquement affich\xE9 et
-\texttt{none} qui indique que ce symbole ne sera jamais affich\xE9.
+\texttt{shift} (valeur par défaut) qui ne montre ce symbole que
+lorsque le décalage est supérieur à un rang, \texttt{all} qui indique
+que ce symbole de décalage sera systématiquement affiché et
+\texttt{none} qui indique que ce symbole ne sera jamais affiché.
 \begin{CenterExample}[xrightmargin=0pt]
   \opmul[displayshiftintermediary=shift]{453}{1001205}\qquad
   \opmul[displayshiftintermediary=all]{453}{1001205}\qquad
@@ -748,50 +864,50 @@
   \opmul[displayshiftintermediary=none]{453}{1001205}
 \end{CenterExample}
 
-En r\xE9alit\xE9, le non affichage des nombres interm\xE9diaires nuls est d\xFB \xE0
-la valeur par d\xE9faut \texttt{none} du param\xE8tre
+En réalité, le non affichage des nombres intermédiaires nuls est dû à
+la valeur par défaut \texttt{none} du paramètre
 \parameter{displayintermediary}. La valeur \texttt{all} va afficher
-tous les nombres interm\xE9diaires.
+tous les nombres intermédiaires.
 \begin{SideBySideExample}
   \opmul[displayintermediary=all]
         {453}{1001205}
 \end{SideBySideExample}
-On notera que les nombres interm\xE9diaires nuls sont affich\xE9s avec
+On notera que les nombres intermédiaires nuls sont affichés avec
 autant de chiffres que le premier facteur.
 
-Le param\xE8tre \parameter{displayintermediary} admet la valeur
-\texttt{nonzero} qui a le m\xEAme r\xF4le que la valeur \texttt{none} sauf
-dans le cas o\xF9 le second facteur ne comporte qu'un seul chiffre.
+Le paramètre \parameter{displayintermediary} admet la valeur
+\texttt{nonzero} qui a le même rôle que la valeur \texttt{none} sauf
+dans le cas où le second facteur ne comporte qu'un seul chiffre.
 \begin{CenterExample}[xrightmargin=0pt]
   \opmul{3.14159}{4}\qquad
   \opmul[displayintermediary=nonzero]{3.14159}{4}
 \end{CenterExample}
 
-Enfin, le param\xE8tre \parameter{displayintermediary} admet la valeur
-\texttt{None} qui n'affichera aucun r\xE9sultat interm\xE9diaire dans tous
+Enfin, le paramètre \parameter{displayintermediary} admet la valeur
+\texttt{None} qui n'affichera aucun résultat intermédiaire dans tous
 les cas.
 \begin{CenterExample}[xrightmargin=0pt]
   \opmul[displayintermediary=None]{453}{1001205}
 \end{CenterExample}
 
-Le param\xE8tre \parameter{hfactor} permet d'indiquer comment doit se
-faire l'alignement des op\xE9randes. La valeur par d\xE9faut \texttt{right}
-donne une composition au fer \xE0 droite tandis que la valeur
+Le paramètre \parameter{hfactor} permet d'indiquer comment doit se
+faire l'alignement des opérandes. La valeur par défaut \texttt{right}
+donne une composition au fer à droite tandis que la valeur
 \texttt{decimal} donne un alignement au niveau de la virgule.
 \begin{CenterExample}[xrightmargin=0pt]
   \opmul{3.1416}{12.8}\qquad\opmul[hfactor=decimal]{3.1416}{12.8}
 \end{CenterExample}
 
-Pour la multiplication pos\xE9e, le param\xE8tre \parameter{deletezero} ne
-concerne que les op\xE9randes, le r\xE9sultat gardant ses \xE9ventuels z\xE9ros
-non significatifs puisque ceux-ci sont n\xE9cessaires pour effectuer
-correctement le d\xE9calage de la virgule lorsqu'on travaille \og \xE0 la
+Pour la multiplication posée, le paramètre \parameter{deletezero} ne
+concerne que les opérandes, le résultat gardant ses éventuels zéros
+non significatifs puisque ceux-ci sont nécessaires pour effectuer
+correctement le décalage de la virgule lorsqu'on travaille \og à la
 main \fg{}.
 \begin{CenterExample}[xrightmargin=0pt]
   \opmul[deletezero=false]{01.44}{25}\qquad
   \opmul{01.44}{25}
 \end{CenterExample}
-En revanche, dans la multiplication en ligne, ce param\xE8tre retrouve
+En revanche, dans la multiplication en ligne, ce paramètre retrouve
 son comportement normal.
 \begin{CenterExample}[xrightmargin=0pt]
   \opmul[deletezero=false,style=text]{01.44}{25}\qquad
@@ -800,22 +916,22 @@
 
 \section{Division}
 \label{sec:Division}
-L'extension g\xE8re la division \og classique \fg{} avec la macro
+L'extension gère la division \og classique \fg{} avec la macro
 \macro{opdiv} et la division euclidienne avec la macro
-\macro{opidiv}. En raison de sa complexit\xE9, la division est l'op\xE9ration
-qui prend en compte le plus de param\xE8tres.
+\macro{opidiv}. En raison de sa complexité, la division est l'opération
+qui prend en compte le plus de paramètres.
 
-\subsection{Contr\xF4le de l'arr\xEAt}
+\subsection{Contrôle de l'arrêt}
 \label{subsec:Controle de l'arret}
-Dans ce qui suivra, le terme d'\emph{\xE9tape} indique l'ensemble des
+Dans ce qui suivra, le terme d'\emph{étape} indique l'ensemble des
 calculs permettant d'obtenir un chiffre au niveau du quotient. Ce
-nombre d'\xE9tapes est contr\xF4l\xE9 en partie par les param\xE8tres
+nombre d'étapes est contrôlé en partie par les paramètres
 \parameter{maxdivstep}, \parameter{safedivstep} et \parameter{period}.
-En partie seulement car une division classique s'arr\xEAtera
+En partie seulement car une division classique s'arrêtera
 automatiquement lors de l'obtention d'un reste nul, quelles que que
-soient les valeurs de ces trois param\xE8tres et une division euclidienne
-s'arr\xEAtera sur un quotient entier, sans tenir compte de ces trois
-param\xE8tres.
+soient les valeurs de ces trois paramètres et une division euclidienne
+s'arrêtera sur un quotient entier, sans tenir compte de ces trois
+paramètres.
 \begin{SideBySideExample}
   \opdiv{25}{7}
 \end{SideBySideExample}
@@ -822,19 +938,19 @@
 \begin{SideBySideExample}
   \opidiv{25}{7}
 \end{SideBySideExample}
-Le premier exemple s'arr\xEAte en raison de la valeur de
-\parameter{maxdivstep} qui est \xE9gale, par d\xE9faut, \xE0~10. On prendra
-garde \xE0 ce que le nombre maximum d'\xE9tapes peut entra\xEEner des r\xE9sultats
+Le premier exemple s'arrête en raison de la valeur de
+\parameter{maxdivstep} qui est égale, par défaut, à~10. On prendra
+garde à ce que le nombre maximum d'étapes peut entraîner des résultats
 aberrants lorsqu'il est trop faible.
 \begin{SideBySideExample}
   \opdiv[maxdivstep=2]{1248}{3}
 \end{SideBySideExample}
-Le r\xE9sultat pr\xE9c\xE9dent est clairement faux mais \package{xlop} a fait
-ce qu'on lui a demand\xE9, en l'occurrence avoir deux chiffres (maximum)
+Le résultat précédent est clairement faux mais \package{xlop} a fait
+ce qu'on lui a demandé, en l'occurrence avoir deux chiffres (maximum)
 au quotient.
 
-L'affichage en ligne va \xE9galement diff\xE9rer selon que la division s'est
-arr\xEAt\xE9e avec un reste final nul ou non ou selon qu'il s'agit d'une
+L'affichage en ligne va également différer selon que la division s'est
+arrêtée avec un reste final nul ou non ou selon qu'il s'agit d'une
 division classique ou euclidienne.
 \begin{SideBySideExample}
   \opdiv[style=text]{3.14}{2}\par
@@ -845,46 +961,46 @@
 On notera l'emploi de \parameter{equalsymbol} ou
 \parameter{approxsymbol} selon le cas ainsi que l'affichage avec une
 troncature et non un arrondi. Nous verrons comment obtenir un arrondi
-\xE0 la section~\ref{sec:Operations evoluees}
+à la section~\ref{sec:Operations evoluees}
 
 L'affichage en ligne de \verb+\opdiv+ tient compte de
 \parameter{maxdivstep}. Cela signifie que l'on peut obtenir des
-r\xE9sultats vraiment faux avec des valeurs trop faible de ce param\xE8tre
-et, contrairement \xE0 l'affichage pos\xE9, l'affichage en ligne ne
-permettra pas de comprendre ce qu'il s'est pass\xE9.
+résultats vraiment faux avec des valeurs trop faible de ce paramètre
+et, contrairement à l'affichage posé, l'affichage en ligne ne
+permettra pas de comprendre ce qu'il s'est passé.
 \begin{SideBySideExample}
   \opdiv[maxdivstep=2,style=text]
         {1248}{3}
 \end{SideBySideExample}
-Si en plus, le dernier reste calcul\xE9 est nul, on atteint un summum :
+Si en plus, le dernier reste calculé est nul, on atteint un summum :
 \begin{SideBySideExample}
   \opdiv[maxdivstep=1,style=text]
         {1208}{3}
 \end{SideBySideExample}
-puisqu'il n'y a m\xEAme plus d'approximation !
+puisqu'il n'y a même plus d'approximation !
 
-Une division non euclidienne peut \xE9galement s'arr\xEAter sur la d\xE9tection
-de la survenue d'une p\xE9riode. Pour cela, il suffit de donner la valeur
-\texttt{true} au param\xE8tre \parameter{period}\index{division!p\xE9riode}.
+Une division non euclidienne peut également s'arrêter sur la détection
+de la survenue d'une période. Pour cela, il suffit de donner la valeur
+\texttt{true} au paramètre \parameter{period}\index{division!période}.
 \begin{SideBySideExample}
   \opdiv[period]{100}{3}
 \end{SideBySideExample}
 
-Pour ne pas avoir \xE0 effectuer des comparaisons de chaque reste avec
-tous les restes pr\xE9c\xE9dents, \package{xlop} calcule d\xE8s le d\xE9part la
-longueur de la p\xE9riode ce qui permet de n'effectuer qu'une seule
-comparaison \xE0 chaque \xE9tape et donc d'acc\xE9l\xE9rer notablement les
-calculs\footnote{Je remercie \xE0 cette occasion Olivier Viennet pour ses
-  pr\xE9cisions math\xE9matiques qui ont permis d'implanter correctement ces
+Pour ne pas avoir à effectuer des comparaisons de chaque reste avec
+tous les restes précédents, \package{xlop} calcule dès le départ la
+longueur de la période ce qui permet de n'effectuer qu'une seule
+comparaison à chaque étape et donc d'accélérer notablement les
+calculs\footnote{Je remercie à cette occasion Olivier Viennet pour ses
+  précisions mathématiques qui ont permis d'implanter correctement ces
   calculs.}. Malheureusement, ces calculs se font avec des nombres
-directement accessibles \xE0 \TeX{} ce qui a pour cons\xE9quence de ne pas
-pouvoir utiliser d'op\xE9randes dont la valeur absolue exc\xE8de
+directement accessibles à \TeX{} ce qui a pour conséquence de ne pas
+pouvoir utiliser d'opérandes dont la valeur absolue excède
 $\left\lfloor\frac{2^{31}-1}{10}\right\rfloor = 214748364$.
 
-Pour ne pas entra\xEEner des calculs trop long, \package{xlop} ne
-d\xE9passera pas la valeur du param\xE8tre \parameter{safedivstep} dans les
-divisions avec d\xE9tection de p\xE9riode. Sa valeur par d\xE9faut est \xE9gale
-\xE0~50. Cependant, \package{xlop} signalera le probl\xE8me. Par exemple si
+Pour ne pas entraîner des calculs trop long, \package{xlop} ne
+dépassera pas la valeur du paramètre \parameter{safedivstep} dans les
+divisions avec détection de période. Sa valeur par défaut est égale
+à~50. Cependant, \package{xlop} signalera le problème. Par exemple si
 on demande un tel calcul avec le code :
 \begin{Verbatim}[xrightmargin=0pt,frame=none]
   \opdiv[period]{1}{289}
@@ -895,25 +1011,25 @@
       Division will stop before reach it.
       See documentation for further information.
 \end{Verbatim}
-qui indique que la p\xE9riode de cette division est de~272 et qu'elle ne
-sera donc pas atteinte \xE0 cause de la valeur de \texttt{safedivstep}.
+qui indique que la période de cette division est de~272 et qu'elle ne
+sera donc pas atteinte à cause de la valeur de \texttt{safedivstep}.
 
-L'affichage en ligne d'une telle division  pr\xE9sente quelque
-particularit\xE9s.
+L'affichage en ligne d'une telle division  présente quelque
+particularités.
 \begin{SideBySideExample}
   \opdiv[period,style=text]{150}{7}
 \end{SideBySideExample}
-On obtient donc une \xE9galit\xE9 au lieu d'une approximation, la pr\xE9sence
-d'un trait sous la p\xE9riode et des points de suspension \xE0 la suite de
-la p\xE9riode. Tous ces \xE9l\xE9ments peuvent \xEAtre configur\xE9s. Le symbole
-d'\xE9galit\xE9 est donn\xE9 par le param\xE8tre \parameter{equalsymbol} (valeur
-par d\xE9faut \verb+{$=$}+), la largeur du trait par le param\xE8tre
-\parameter{hrulewidth} (valeur par d\xE9faut \texttt{0.4pt}), sa position
-verticale par le param\xE8tre \parameter{vruleperiod} (valeur par d\xE9faut
-\texttt{-0.2}) qui indique un d\xE9calage vertical en prenant
-\verb+\oplineheight+ comme unit\xE9 et les points de suspension sont
-donn\xE9s par le param\xE8tre \parameter{afterperiodsymbol} (valeur par
-d\xE9faut \verb+$\ldots$+).
+On obtient donc une égalité au lieu d'une approximation, la présence
+d'un trait sous la période et des points de suspension à la suite de
+la période. Tous ces éléments peuvent être configurés. Le symbole
+d'égalité est donné par le paramètre \parameter{equalsymbol} (valeur
+par défaut \verb+{$=$}+), la largeur du trait par le paramètre
+\parameter{hrulewidth} (valeur par défaut \texttt{0.4pt}), sa position
+verticale par le paramètre \parameter{vruleperiod} (valeur par défaut
+\texttt{-0.2}) qui indique un décalage vertical en prenant
+\verb+\oplineheight+ comme unité et les points de suspension sont
+donnés par le paramètre \parameter{afterperiodsymbol} (valeur par
+défaut \verb+$\ldots$+).
 \begin{SideBySideExample}
   \opdiv[period,style=text,
          equalsymbol=$\approx$,
@@ -923,14 +1039,14 @@
         {150}{7}
 \end{SideBySideExample}
 
-\subsection{\xC9l\xE9ments suppl\xE9mentaires}
+\subsection{Éléments supplémentaires}
 \label{subsec:Elements supplementaires}
-Les divisions pos\xE9es peuvent comporter les soustractions successives
+Les divisions posées peuvent comporter les soustractions successives
 permettant le calcul des restes. Pour \package{xlop}, les nombres qui
-sont soustraits sont des nombres interm\xE9diaires donc les diff\xE9rentes
-fa\xE7ons de repr\xE9senter les soustractions utiliserons le param\xE8tre
-\parameter{displayintermediary} d\xE9j\xE0 vu pour la multiplication. La
-valeur \texttt{none} (d\xE9faut) n'affichera aucune soustraction ainsi
+sont soustraits sont des nombres intermédiaires donc les différentes
+façons de représenter les soustractions utiliserons le paramètre
+\parameter{displayintermediary} déjà vu pour la multiplication. La
+valeur \texttt{none} (défaut) n'affichera aucune soustraction ainsi
 que la valeur \texttt{None}, la valeur \texttt{all} affichera toutes
 les soustractions et la valeur \texttt{nonzero} affichera les
 soustractions avec un nombre non nul.
@@ -945,21 +1061,21 @@
 
 Lorsqu'on pose une division, on peut dessiner un \og pont \fg{}
 au-dessus de la partie du dividende qui sera prise en compte pour la
-premi\xE8re \xE9tape du calcul. L'extension \package{xlop} permet d'afficher
-ce symbole gr\xE2ce au param\xE8tre bool\xE9en \parameter{dividendbridge}
-(valeur par d\xE9faut \texttt{false}).
+première étape du calcul. L'extension \package{xlop} permet d'afficher
+ce symbole grâce au paramètre booléen \parameter{dividendbridge}
+(valeur par défaut \texttt{false}).
 \begin{SideBySideExample}
   \opdiv[dividendbridge]{1254}{30}
 \end{SideBySideExample}
 
-\subsection{Nombres non entiers et n\xE9gatifs}
+\subsection{Nombres non entiers et négatifs}
 \label{subsec:Nombres non entiers et negatifs}
-La pr\xE9sentation d'op\xE9randes non enti\xE8res est g\xE9r\xE9e par le param\xE8tre
-\parameter{shiftdecimalsep}. Sa valeur par d\xE9faut est \texttt{both} et
-indique que le s\xE9parateur d\xE9cimal sera d\xE9cal\xE9 pour obtenir un diviseur
+La présentation d'opérandes non entières est gérée par le paramètre
+\parameter{shiftdecimalsep}. Sa valeur par défaut est \texttt{both} et
+indique que le séparateur décimal sera décalé pour obtenir un diviseur
 et un dividende entiers. La valeur \texttt{divisor} indique qu'il y
-aura le d\xE9calage n\xE9cessaire pour obtenir un diviseur entier et la
-valeur \texttt{none} indique qu'il n'y aura aucun d\xE9calage.
+aura le décalage nécessaire pour obtenir un diviseur entier et la
+valeur \texttt{none} indique qu'il n'y aura aucun décalage.
 \begin{CenterExample}[xrightmargin=0pt]
   \opdiv[shiftdecimalsep=both]{3.456}{25.6}\quad
   \opdiv[shiftdecimalsep=divisor]{3.456}{25.6}\quad
@@ -966,10 +1082,10 @@
   \opdiv[shiftdecimalsep=none]{3.456}{25.6}
 \end{CenterExample}
 
-Un symbole indiqu\xE9 par le param\xE8tre \parameter{strikedecimalsepsymbol}
-est r\xE9serv\xE9 pour montrer l'ancien emplacement de la virgule lorsqu'on
-effectue un d\xE9calage. La valeur par d\xE9faut de ce param\xE8tre est vide ce
-qui fait que l'on ne voyait rien sur les exemples pr\xE9c\xE9dents.
+Un symbole indiqué par le paramètre \parameter{strikedecimalsepsymbol}
+est réservé pour montrer l'ancien emplacement de la virgule lorsqu'on
+effectue un décalage. La valeur par défaut de ce paramètre est vide ce
+qui fait que l'on ne voyait rien sur les exemples précédents.
 \begin{CenterExample}[xrightmargin=0pt]
   \opset{strikedecimalsepsymbol={\rlap{,}\rule[-1pt]{3pt}{0.4pt}}}
   \opdiv[shiftdecimalsep=both]{3.456}{25.6}\quad
@@ -977,8 +1093,8 @@
   \opdiv[shiftdecimalsep=none]{3.456}{25.6}
 \end{CenterExample}
 
-La pr\xE9sence d'un symbole non vide pour le s\xE9parateur d\xE9cimal barr\xE9
-peut laisser les z\xE9ros non significatifs au niveau des op\xE9randes.
+La présence d'un symbole non vide pour le séparateur décimal barré
+peut laisser les zéros non significatifs au niveau des opérandes.
 \begin{SideBySideExample}
   \opdiv[shiftdecimalsep=divisor,
          strikedecimalsepsymbol=%
@@ -986,14 +1102,14 @@
         {0.03456}{2.56}
 \end{SideBySideExample}
 
-Comme nous l'avons d\xE9j\xE0 vu, la macro \macro{opidiv} donne un quotient
-entier, cela m\xEAme si les op\xE9randes sont non enti\xE8res. Il est un peu
-bizarre de vouloir r\xE9aliser une division euclidienne sur des nombres
+Comme nous l'avons déjà vu, la macro \macro{opidiv} donne un quotient
+entier, cela même si les opérandes sont non entières. Il est un peu
+bizarre de vouloir réaliser une division euclidienne sur des nombres
 non entiers et la macro \macro{opidiv} sera assez stricte sur sa
-pr\xE9sentation. Les param\xE8tres \parameter{maxdivstep},
+présentation. Les paramètres \parameter{maxdivstep},
 \parameter{safedivstep} et \parameter{period} seront sans effet ainsi
-que le param\xE8tre \parameter{shiftdecimalsep}, les deux op\xE9randes \xE9tant
-rendues enti\xE8res.
+que le paramètre \parameter{shiftdecimalsep}, les deux opérandes étant
+rendues entières.
 \begin{SideBySideExample}
   \opidiv[strikedecimalsepsymbol=%
           \hspace{-3pt}\tiny$\times$]
@@ -1000,9 +1116,9 @@
           {34.57}{7}
 \end{SideBySideExample}
 
-Lorsque les op\xE9randes sont n\xE9gatives, l'affichage en ligne de
-\macro{opidiv} diff\xE9rera des donn\xE9es obtenues avec l'affichage
-pos\xE9e. Le reste sera n\xE9cessairement un nombre compris entre z\xE9ro
+Lorsque les opérandes sont négatives, l'affichage en ligne de
+\macro{opidiv} différera des données obtenues avec l'affichage
+posée. Le reste sera nécessairement un nombre compris entre zéro
 (inclus) et la valeur absolue du diviseur (exclu).
 \begin{SideBySideExample}
   \opdiv[style=text]{124}{7}\par
@@ -1012,7 +1128,7 @@
   \opidiv[style=text]{-124}{-7}
 \end{SideBySideExample}
 
-Cette condition sur le reste reste valable m\xEAme avec un diviseur non
+Cette condition sur le reste reste valable même avec un diviseur non
 entier.
 \begin{SideBySideExample}
   \opidiv[style=text]{1.24}{0.7}\par
@@ -1023,16 +1139,16 @@
 
 \chapter{Autres commandes}
 \label{chap:Autres commandes}
-\section{Macros \xE9toil\xE9es}
+\section{Macros étoilées}
 \label{sec:Macros etoilees}
-Les cinq macros vues au chapitre pr\xE9c\xE9dent ont une version
-\xE9toil\xE9e. Ces macros \xE9toil\xE9es r\xE9alisent le calcul mais ne proc\xE8dent \xE0
-aucun affichage, le r\xE9sultat \xE9tant stock\xE9 dans une variable donn\xE9e en
+Les cinq macros vues au chapitre précédent ont une version
+étoilée. Ces macros étoilées réalisent le calcul mais ne procèdent à
+aucun affichage, le résultat étant stocké dans une variable donnée en
 dernier argument.
 
-Comme ces commandes n'affichent rien, les param\xE8tres ne seront pas
-accept\xE9s pour les macros \macro{opadd*}, \macro{opsub*},
-\macro{opmul*} et \macro{opidiv*}. En revanche, les param\xE8tres
+Comme ces commandes n'affichent rien, les paramètres ne seront pas
+acceptés pour les macros \macro{opadd*}, \macro{opsub*},
+\macro{opmul*} et \macro{opidiv*}. En revanche, les paramètres
 \parameter{maxdivestep}, \parameter{safedivstep} et \parameter{period}
 influencent les calculs et la macro \macro{opdiv*} acceptera donc un
 argument optionnel pour pouvoir en tenir compte.
@@ -1042,7 +1158,7 @@
   \opadd[style=text]{a}{1}
 \end{SideBySideExample}
 Pour les macros \macro{opdiv} et \macro{opidiv}, il y aura deux
-arguments suppl\xE9mentaires pour pouvoir recevoir le quotient et le
+arguments supplémentaires pour pouvoir recevoir le quotient et le
 reste final.
 \begin{SideBySideExample}
   \opdiv*[maxdivstep=1]{-88}{16}{q}{r}%
@@ -1051,28 +1167,28 @@
   \opadd[style=text]{bq}{r}
 \end{SideBySideExample}
 
-\section{Entr\xE9es-sorties}
+\section{Entrées-sorties}
 \label{sec:Entree-sorties}
-La macro \macro{opcopy} recopie son premier argument dans son deuxi\xE8me
-argument. Le premier argument est donc un nombre \xE9crit sous forme
-d\xE9cimale ou via une variable alors que le second sera consid\xE9r\xE9e comme
+La macro \macro{opcopy} recopie son premier argument dans son deuxième
+argument. Le premier argument est donc un nombre écrit sous forme
+décimale ou via une variable alors que le second sera considérée comme
 un nom de variable.
 
 La macro \macro{opprint} affiche son argument. L'exemple qui suit
 utilise le compteur \macro{time} qui indique le nombre de minutes
-\xE9coul\xE9s depuis  minuit.
+écoulés depuis  minuit.
 \begin{SideBySideExample}
   \opidiv*{\the\time}{60}{h}{m}%
   Il est \opprint{h}~heures et
   \opprint{m}~minutes
 \end{SideBySideExample}
-On verra \xE0 la section~\ref{sec:Comparaisons} comment am\xE9liorer cet
+On verra à la section~\ref{sec:Comparaisons} comment améliorer cet
 affichage avec des tests.
 
-La macro \macro{opdisplay} affiche \xE9galement un nombre mais en
-\xE9crivant chaque chiffre dans une bo\xEEte de largeur donn\xE9e par
-\parameter{columnwidth} et de hauteur donn\xE9e par
-\parameter{lineheight}. Le style est sp\xE9cifi\xE9 par le premier argument
+La macro \macro{opdisplay} affiche également un nombre mais en
+écrivant chaque chiffre dans une boîte de largeur donnée par
+\parameter{columnwidth} et de hauteur donnée par
+\parameter{lineheight}. Le style est spécifié par le premier argument
 et cette macro accepte un argument optionnel pour permettre de donner
 un style particulier aux chiffres individuels.
 \begin{SideBySideExample}
@@ -1082,12 +1198,12 @@
 \end{SideBySideExample}
 
 Les macros \macro{oplput} et \macro{oprput} permettent de placer un
-objet \xE0 un emplacement d\xE9termin\xE9. La syntaxe de ces commandes ne
+objet à un emplacement déterminé. La syntaxe de ces commandes ne
 suit pas celle des autres macros de \package{xlop} puisque
-l'emplacement est indiqu\xE9 sous forme de coordonn\xE9es entre
-parenth\xE8ses. Les coordonn\xE9es utilisent \macro{opcolumnwidth} et
-\macro{oplineheight} comme unit\xE9s ce qui permet \xE0 l'utilisateur de
-construire lui-m\xEAme ses propres \og op\xE9rations \fg.
+l'emplacement est indiqué sous forme de coordonnées entre
+parenthèses. Les coordonnées utilisent \macro{opcolumnwidth} et
+\macro{oplineheight} comme unités ce qui permet à l'utilisateur de
+construire lui-même ses propres \og opérations \fg.
 \begin{SideBySideExample}
   \psset{xunit=\opcolumnwidth,
     yunit=\oplineheight}%
@@ -1098,18 +1214,18 @@
   $\bullet$
 \end{SideBySideExample}
 Sur l'exemple ci-dessus, on peut voir que ces deux macros ne modifient
-pas le point de r\xE9f\xE9rence. Elles prennent m\xEAme la pr\xE9caution d'inhiber
-l'espace automatique qui les suit pour qu'il ne soit pas n\xE9cessaire de
+pas le point de référence. Elles prennent même la précaution d'inhiber
+l'espace automatique qui les suit pour qu'il ne soit pas nécessaire de
 mettre un \verb+%+ en fin de ligne.
 
-Les macros \macro{ophline} et \macro{opvline} compl\xE8te les deux
-pr\xE9c\xE9dentes pour donner \xE0 l'utilisateur les outils lui permettant de
-construire ses propres op\xE9rations. La macro \macro{ophline} permet de
-placer un trait horizontal dont la longueur est donn\xE9 par le param\xE8tre
-qui suit les coordonn\xE9es. La macro \macro{opvline} fait de m\xEAme avec
-les traits verticaux. On rappelle que les param\xE8tres
+Les macros \macro{ophline} et \macro{opvline} complète les deux
+précédentes pour donner à l'utilisateur les outils lui permettant de
+construire ses propres opérations. La macro \macro{ophline} permet de
+placer un trait horizontal dont la longueur est donné par le paramètre
+qui suit les coordonnées. La macro \macro{opvline} fait de même avec
+les traits verticaux. On rappelle que les paramètres
 \parameter{hrulewidth} et \parameter{vrulewidth} indiquent les
-\xE9paisseurs respectives de ces types de traits.
+épaisseurs respectives de ces types de traits.
 \begin{CenterExample}[xrightmargin=0pt]
   \par\vspace{2\oplineheight}
   \oplput(1,2){O}\oplput(2,2){N}\oplput(3,2){E}
@@ -1121,14 +1237,14 @@
 
 La macro \macro{opexport}\refstepcounter{stuff}\label{macro-opexport}
 permet d'exporter un nombre dans une macro. Il s'agit d'un ajout de la
-version 0.23 qui est tr\xE8s utile pour faire dialoguer \package{xlop}
-avec le monde ext\xE9rieur. Le premier argument est un nombre au sens
-\package{xlop}, c'est-\xE0-dire soit un nombre \xE9crit directement avec des
-chiffres, soit un nom de variable. Le nombre sera \xE9crit sous une forme
-directement compr\xE9hensible par \TeX{} dans le deuxi\xE8me argument qui
-doit donc \xEAtre un nom de macro. On notera cependant que le s\xE9parateur
-d\xE9cimal sera celui d\xE9sign\xE9 par \parameter{decimalsepsymbol} d\xE9barrass\xE9
-de ses \xE9ventuelles accolades.
+version 0.23 qui est très utile pour faire dialoguer \package{xlop}
+avec le monde extérieur. Le premier argument est un nombre au sens
+\package{xlop}, c'est-à-dire soit un nombre écrit directement avec des
+chiffres, soit un nom de variable. Le nombre sera écrit sous une forme
+directement compréhensible par \TeX{} dans le deuxième argument qui
+doit donc être un nom de macro. On notera cependant que le séparateur
+décimal sera celui désigné par \parameter{decimalsepsymbol} débarrassé
+de ses éventuelles accolades.
 \begin{SideBySideExample}
   \opmul*{5}{3.141592654}{C}
   \opexport{C}{\fivepi}
@@ -1136,18 +1252,18 @@
 \end{SideBySideExample}
 
 On peut se servir de cette macro, par exemple, pour afficher des
-nombres calcul\xE9s par \package{xlop} dans un tableau avec un alignement
-d\xE9cimal ou encore pour initialiser un compteur ou une longueur (ne pas
-oublier l'unit\xE9 dans ce dernier cas).
+nombres calculés par \package{xlop} dans un tableau avec un alignement
+décimal ou encore pour initialiser un compteur ou une longueur (ne pas
+oublier l'unité dans ce dernier cas).
 
 \section{Chiffres d'un nombre}
 \label{sec:Chiffres d'un nombre}
 Les macros \macro{opwidth}, \macro{opintegerwidth} et
 \macro{opdecimalwidth} indiquent respectivement le nombre de chiffres
-du nombre dans sa totalit\xE9, de sa partie enti\xE8re et de sa partie
-d\xE9cimale. Le premier argument est le nombre sur lequel s'effectue le
-comptage et le second argument indique la variable o\xF9 sera stock\xE9 le
-r\xE9sultat.
+du nombre dans sa totalité, de sa partie entière et de sa partie
+décimale. Le premier argument est le nombre sur lequel s'effectue le
+comptage et le second argument indique la variable où sera stocké le
+résultat.
 \begin{SideBySideExample}
   \opcopy{123456.1234}{a}%
   \opwidth{a}{na}%
@@ -1159,9 +1275,9 @@
   d\'ecimale).
 \end{SideBySideExample}
 
-La macro \macro{opunzero} permet de supprimer les z\xE9ros non
-significatifs\index{zeros non significatifs at z\xE9ros non significatifs}
-du nombre pass\xE9 en argument.
+La macro \macro{opunzero} permet de supprimer les zéros non
+significatifs\index{zeros non significatifs at zéros non significatifs}
+du nombre passé en argument.
 \begin{SideBySideExample}
   \opcopy{00150.00250}{a}%
   Avant : \opprint{a}\par
@@ -1170,11 +1286,11 @@
 \end{SideBySideExample}
 
 Les macros \macro{integer} et \macro{opdecimal} donnent respectivement
-la partie enti\xE8re et la partie d\xE9cimale d'un nombre.
-\index{nombre!partie enti\xE8re}\index{partie enti\xE8re}%
-\index{nombre!partie d\xE9cimale}\index{partie d\xE9cimale}%
-Le premier argument est le nombre \xE0 traiter et le second est la
-variable qui contiendra le r\xE9sultat.
+la partie entière et la partie décimale d'un nombre.
+\index{nombre!partie entière}\index{partie entière}%
+\index{nombre!partie décimale}\index{partie décimale}%
+Le premier argument est le nombre à traiter et le second est la
+variable qui contiendra le résultat.
 \begin{SideBySideExample}
   \opcopy{-37.69911}{a}%
   \opinteger{a}{ia}%
@@ -1183,14 +1299,14 @@
   Partie d\'ecimale : \opprint{da}
 \end{SideBySideExample}
 
-Six macros servent \xE0 \xE9crire ou lire un chiffre d'un nombre. On peut
-lire ou \xE9crire un chiffre selon son rang dans le nombre, dans sa
-partie enti\xE8re ou dans sa partie d\xE9cimale. Les chiffres pour le nombre
-dans sa totalit\xE9 ou pour sa partie enti\xE8re sont num\xE9rot\xE9s de droite \xE0
-gauche et, pour sa partie d\xE9cimale de gauche \xE0 droite. Ainsi, avec le
-nombre 1234,56789, le deuxi\xE8me chiffre est 8, le deuxi\xE8me chiffre de
-sa partie enti\xE8re est 3 et le deuxi\xE8me chiffre de sa partie d\xE9cimale
-est 6. Il est alors facile de deviner le r\xF4le respectif des six macros
+Six macros servent à écrire ou lire un chiffre d'un nombre. On peut
+lire ou écrire un chiffre selon son rang dans le nombre, dans sa
+partie entière ou dans sa partie décimale. Les chiffres pour le nombre
+dans sa totalité ou pour sa partie entière sont numérotés de droite à
+gauche et, pour sa partie décimale de gauche à droite. Ainsi, avec le
+nombre 1234,56789, le deuxième chiffre est 8, le deuxième chiffre de
+sa partie entière est 3 et le deuxième chiffre de sa partie décimale
+est 6. Il est alors facile de deviner le rôle respectif des six macros
 :
 \begin{itemize}
 \item \parameter{opgetdigit} ;
@@ -1200,39 +1316,39 @@
 \item \parameter{opgetdecimaldigit} ;
 \item \parameter{opsetdecimaldigit} ;
 \end{itemize}
-La syntaxe est la m\xEAme pour ces six macros. Le premier argument est le
-nombre sur lequel doit porter la lecture ou l'\xE9criture, le deuxi\xE8me
-argument est l'index donnant la position du chiffre et le troisi\xE8me
+La syntaxe est la même pour ces six macros. Le premier argument est le
+nombre sur lequel doit porter la lecture ou l'écriture, le deuxième
+argument est l'index donnant la position du chiffre et le troisième
 argument est le nom de la variable qui contiendra le chiffre lu ou
-bien ce qui devra \xEAtre \xE9crit. Si l'index est en dehors du nombre, les
-macros de lecture donneront \texttt{0} comme r\xE9sultat et les macros
-d'\xE9criture \xE9tendront le nombre pour pouvoir atteindre cet index en
-cr\xE9ant des z\xE9ros dans les nouvelles positions.
+bien le chiffre qui devra être écrit. Si l'index est en dehors du
+nombre, les macros de lecture donneront \texttt{0} comme résultat et
+les macros d'écriture étendront le nombre pour pouvoir atteindre cet
+index en créant des zéros dans les nouvelles positions.
 
 \section{Comparaisons}
 \label{sec:Comparaisons}
-Lorsqu'on d\xE9sire concevoir des macros \xE9volu\xE9es, il est tr\xE8s souvent
-utile de pouvoir r\xE9aliser des tests. Pour cela, \package{xlop} met \xE0
+Lorsqu'on désire concevoir des macros évoluées, il est très souvent
+utile de pouvoir réaliser des tests. Pour cela, \package{xlop} met à
 disposition la macro \macro{opcmp} dont les deux arguments sont des
-nombres et qui mettra \xE0 jour les tests \macro{ifopgt}, \macro{ifopge},
+nombres et qui mettra à jour les tests \macro{ifopgt}, \macro{ifopge},
 \macro{ifople}, \macro{ifoplt}, \macro{ifopeq} et \macro{ifopneq} pour
-respectivement indiquer que la premi\xE8re op\xE9rande est strictement
-sup\xE9rieure, sup\xE9rieure, inf\xE9rieure, strictement inf\xE9rieure, \xE9gale ou
-diff\xE9rente de la seconde op\xE9rande.
+respectivement indiquer que la première opérande est strictement
+supérieure, supérieure, inférieure, strictement inférieure, égale ou
+différente de la seconde opérande.
 
-Pour des raisons techniques, \package{xlop} donne des d\xE9finitions
-globales aux six tests pr\xE9c\xE9dents. Ceux-ci ne seront donc pas prot\xE9g\xE9s
-par les groupes. Comme ces tests sont utilis\xE9s par un grand nombre de
-macros de \package{xlop}, une cons\xE9quence pratique est qu'il faut
-\emph{toujours} r\xE9aliser les tests \verb+\ifop...+ imm\xE9diatement
-apr\xE8s le \macro{opcmp}, ou, du moins, avant toute autre utilisation de
-macros de \package{xlop} sous peine de bogues \xE9ventuels difficiles \xE0
+Pour des raisons techniques, \package{xlop} donne des définitions
+globales aux six tests précédents. Ceux-ci ne seront donc pas protégés
+par les groupes. Comme ces tests sont utilisés par un grand nombre de
+macros de \package{xlop}, une conséquence pratique est qu'il faut
+\emph{toujours} réaliser les tests \verb+\ifop...+ immédiatement
+après le \macro{opcmp}, ou, du moins, avant toute autre utilisation de
+macros de \package{xlop} sous peine de bogues éventuels difficiles à
 comprendre !
 
-On va reprendre la macro d'affichage de l'heure donn\xE9e \xE0 la
-section~\ref{sec:Entree-sorties} mais en v\xE9rifiant si l'argument est
-compris entre~0 (inclus) et~1440 (exclu) puis en r\xE9alisant les tests
-n\xE9cessaires pour voir si \og heure \fg{} doit \xEAtre ou non au pluriel
+On va reprendre la macro d'affichage de l'heure donnée à la
+section~\ref{sec:Entree-sorties} mais en vérifiant si l'argument est
+compris entre~0 (inclus) et~1440 (exclu) puis en réalisant les tests
+nécessaires pour voir si \og heure \fg{} doit être ou non au pluriel
 ainsi que \og minute \fg{}.
 
 \begin{CenterExample}[xrightmargin=0pt]
@@ -1255,30 +1371,30 @@
   \heure{60} -- \heure{1080} -- \heure{1081} -- \heure{1082}
 \end{CenterExample}
 
-\section{Op\xE9rations \xE9volu\xE9es}
+\section{Opérations évoluées}
 \label{sec:Operations evoluees}
-Les macros qui nous restent \xE0 voir proviennent soit de commandes
-utilis\xE9es de fa\xE7on interne et qu'il aurait \xE9t\xE9 dommage de ne pas
+Les macros qui nous restent à voir proviennent soit de commandes
+utilisées de façon interne et qu'il aurait été dommage de ne pas
 rendre publiques, soit de demandes d'utilisateurs.
 
-Les macros utilis\xE9es de fa\xE7on interne sont \macro{opgcd}\index{pgcd}
+Les macros utilisées de façon interne sont \macro{opgcd}\index{pgcd}
 qui donne le pgcd de deux nombres et
-\macro{opdivperiod}\index{division!p\xE9riode} qui donne la longueur de
-la p\xE9riode d'un quotient de deux nombres. Pour des raisons
-d'efficacit\xE9, ces macros n'utilisent pas les nombres de \package{xlop}
-mais des nombres directement accessibles \xE0 \TeX{}. Cela a pour
-cons\xE9quence que les nombres pass\xE9s en param\xE8tres dans les deux
-premiers arguments ne devront pas d\xE9passer la valeur
+\macro{opdivperiod}\index{division!période} qui donne la longueur de
+la période d'un quotient de deux nombres. Pour des raisons
+d'efficacité, ces macros n'utilisent pas les nombres de \package{xlop}
+mais des nombres directement accessibles à \TeX{}. Cela a pour
+conséquence que les nombres passés en paramètres dans les deux
+premiers arguments ne devront pas dépasser la valeur
 \texttt{2147483647} pour \macro{opgcd} et \texttt{214748364} pour
-\macro{opdivperiod}. Un message d'avertissement rappellera \xE0 l'ordre
-en cas de d\xE9passement. Le r\xE9sultat sera stock\xE9 dans la variable
-indiqu\xE9 en troisi\xE8me param\xE8tre.
+\macro{opdivperiod}. Un message d'avertissement rappellera à l'ordre
+en cas de dépassement. Le résultat sera stocké dans la variable
+indiqué en troisième paramètre.
 
-Il y aura \xE9galement quelques v\xE9rifications sur les deux premiers
-param\xE8tres. Un pgcd ne peut pas avoir d'argument nul et le calcul de
-la longueur d'une p\xE9riode ne pourra pas se faire avec un quotient
-nul. D'autre part, si un nombre non entier est pass\xE9 en param\xE8tre,
-seule la partie enti\xE8re sera prise en compte.
+Il y aura également quelques vérifications sur les deux premiers
+paramètres. Un pgcd ne peut pas avoir d'argument nul et le calcul de
+la longueur d'une période ne pourra pas se faire avec un quotient
+nul. D'autre part, si un nombre non entier est passé en paramètre,
+seule la partie entière sera prise en compte.
 \begin{SideBySideExample}
   \opcopy{5376}{a}%
   \opcopy{2304}{b}%
@@ -1288,8 +1404,8 @@
   $\pgcd(\opprint{a},\opprint{b}) =
     \opprint{gcd(ab)}$
 \end{SideBySideExample}
-Si vous voulez vous amuser \xE0 trouver de grandes p\xE9riodes de divisions,
-sans entrer dans les d\xE9tails math\xE9matiques, les carr\xE9s de nombres
+Si vous voulez vous amuser à trouver de grandes périodes de divisions,
+sans entrer dans les détails mathématiques, les carrés de nombres
 premiers sont de bons candidats. Par exemple, avec $257^2=66049$ on
 trouve :
 \begin{SideBySideExample}
@@ -1301,13 +1417,13 @@
 Les macros \macro{opcastingoutnines}\index{preuve!par neuf} et
 \macro{opcastingoutelevens}\index{preuve!par onze} vont permettre de
 composer des preuves par neuf et par onze.  L'extension \package{xlop}
-ne propose pas directement ces compositions puisqu'elles n\xE9cessitent
-des traits en diagonal et donc le recours \xE0 d'autres extensions. En
-r\xE9alit\xE9, la macro \macro{opcastingoutnines} va faire la somme modulo~9
-des chiffres du premier argument et stockera le r\xE9sultat dans le
+ne propose pas directement ces compositions puisqu'elles nécessitent
+des traits en diagonal et donc le recours à d'autres extensions. En
+réalité, la macro \macro{opcastingoutnines} va faire la somme modulo~9
+des chiffres du premier argument et stockera le résultat dans le
 second argument tandis que la macro \macro{opcastingoutelevens} fera
 la somme des chiffres de rangs impairs, la somme des chiffres de rangs
-pairs puis la diff\xE9rence modulo~11 de ces deux sommes.
+pairs puis la différence modulo~11 de ces deux sommes.
 \begin{SideBySideExample}
   \newcommand\castingoutnines[3]{%
     \opcastingoutnines{#1}{cna}%
@@ -1328,28 +1444,28 @@
   \castingoutnines{157}{317}{49669}
 \end{SideBySideExample}
 Incidemment, cet exemple montre que $157\times317\neq49669$ ! La
-r\xE9ponse correcte est \opmul[style=text]{157}{317}.
+réponse correcte est \opmul[style=text]{157}{317}.
 
-Les deux macros suivantes sont tr\xE8s simples. Il s'agit de
-\macro{opneg} qui calcul l'oppos\xE9 de son premier argument et le
-sauvegarde dans la variable indiqu\xE9e par le second argument et de
-\macro{opabs} qui r\xE9alise la m\xEAme chose mais avec la valeur absolue.
+Les deux macros suivantes sont très simples. Il s'agit de
+\macro{opneg} qui calcul l'opposé de son premier argument et le
+sauvegarde dans la variable indiquée par le second argument et de
+\macro{opabs} qui réalise la même chose mais avec la valeur absolue.
 
-La macro \macro{oppower} calcule des puissances enti\xE8res. Cette macro
-demande trois param\xE8tres, le troisi\xE8me param\xE8tre \xE9tant la variable
-recevant le r\xE9sultat du premier param\xE8tre \xE0 la puissance le deuxi\xE8me
-param\xE8tre. Le deuxi\xE8me param\xE8tre doit \xEAtre un nombre entier. Lorsque
-le premier argument est nul, si le deuxi\xE8me param\xE8tre est nul, le
-r\xE9sultat sera~1, s'il est strictement positif, le r\xE9sultat sera nul et
-s'il est strictement n\xE9gatif il y aura une erreur et aucun r\xE9sultat ne
-sera fourni. Il n'y a aucune limitation sur le premier param\xE8tre ce
-qui peut entra\xEEner quelques probl\xE8mes. Par exemple :
+La macro \macro{oppower} calcule des puissances entières. Cette macro
+demande trois paramètres, le troisième paramètre étant la variable
+recevant le résultat du premier paramètre à la puissance le deuxième
+paramètre. Le deuxième paramètre doit être un nombre entier. Lorsque
+le premier argument est nul, si le deuxième paramètre est nul, le
+résultat sera~1, s'il est strictement positif, le résultat sera nul et
+s'il est strictement négatif il y aura une erreur et aucun résultat ne
+sera fourni. Il n'y a aucune limitation sur le premier paramètre ce
+qui peut entraîner quelques problèmes. Par exemple :
 \begin{CenterExample}[xrightmargin=0pt]
   \opcopy{0.8}{a}\opcopy{-17}{n}%
   \oppower{a}{n}{r}%
   $\opprint{a}^{\opprint{n}} = \opprint{r}$
 \end{CenterExample}
-Avec $0{,}7$ au lieu de $0{,}8$, le probl\xE8me aurait \xE9t\xE9 encore pire :
+Avec $0{,}7$ au lieu de $0{,}8$, le problème aurait été encore pire :
 \begin{CenterExample}[xrightmargin=0pt]
   \opcopy{0.7}{a}\opcopy{-8}{n}%
   \oppower{a}{n}{r}%
@@ -1357,30 +1473,30 @@
   $\opprint{a}^{\opprint{n}}$ a \opprint{dr} chiffres apr\`es la
   virgule.
 \end{CenterExample}
-Cela est d\xFB au fait que lorsque l'exposant est n\xE9gatif,
+Cela est dû au fait que lorsque l'exposant est négatif,
 \package{xlop} calcule \emph{d'abord} l'inverse du nombre pour
-\emph{ensuite} calculer la puissance avec l'oppos\xE9 de l'exposant. Si
-on avait laiss\xE9 $-17$ au lieu de $-8$ dans l'exemple pr\xE9c\xE9dent, les
-capacit\xE9s de \TeX{} auraient \xE9t\xE9 d\xE9pass\xE9es.
+\emph{ensuite} calculer la puissance avec l'opposé de l'exposant. Si
+on avait laissé $-17$ au lieu de $-8$ dans l'exemple précédent, les
+capacités de \TeX{} auraient été dépassées.
 
-Les trois macros qui suivent permettent de contr\xF4ler la pr\xE9cision des
-nombres manipul\xE9s. Elles permettent de construire un nombre en donnant
-une valeur approch\xE9e par d\xE9faut, par exc\xE8s ou un arrondi d'un nombre
-donn\xE9 en pr\xE9cisant le rang o\xF9 devra se faire l'arrondi. Ces macros
+Les trois macros qui suivent permettent de contrôler la précision des
+nombres manipulés. Elles permettent de construire un nombre en donnant
+une valeur approchée par défaut, par excès ou un arrondi d'un nombre
+donné en précisant le rang où devra se faire l'arrondi. Ces macros
 sont respectivement \macro{opfloor}, \macro{opceil} et
-\macro{opround}. Elles demandent trois param\xE8tres qui seront dans
-l'ordre le nombre de d\xE9part, le rang de l'arrondi et le nom de la
-variable qui contiendra le r\xE9sultat.
+\macro{opround}. Elles demandent trois paramètres qui seront dans
+l'ordre le nombre de départ, le rang de l'arrondi et le nom de la
+variable qui contiendra le résultat.
 
-Le rang est indiqu\xE9 par une valeur enti\xE8re donnant le nombre de
-chiffres apr\xE8s la virgule qui doivent \xEAtre pr\xE9sents. Si le rang est
-n\xE9gatif, l'arrondi se fera avant la virgule. Si le rang positif
-indique plus de chiffres que la partie d\xE9cimale n'en a, des z\xE9ros
-seront ajout\xE9s. Si le rang n\xE9gatif indique plus de chiffres que la
-partie enti\xE8re n'en a, l'arrondi restera bloqu\xE9 pour donner au moins
+Le rang est indiqué par une valeur entière donnant le nombre de
+chiffres après la virgule qui doivent être présents. Si le rang est
+négatif, l'arrondi se fera avant la virgule. Si le rang positif
+indique plus de chiffres que la partie décimale n'en a, des zéros
+seront ajoutés. Si le rang négatif indique plus de chiffres que la
+partie entière n'en a, l'arrondi restera bloqué pour donner au moins
 le premier chiffre du nombre.
 
-Voici un tableau r\xE9capitulatif pour mieux comprendre le fonctionnement
+Voici un tableau récapitulatif pour mieux comprendre le fonctionnement
 de ces trois macros.
 \begin{center}
   \opcopy{3838.3838}{a}
@@ -1461,23 +1577,23 @@
   \end{tabular}
 \end{center}
 
-\index{racine carr\xE9e}
-Avec la version~0.26, \package{xlop} propose l'op\xE9ration de racine
-carr\xE9e \macro{opsqrt}. Cette macro n'a pas la m\xEAme syntaxe que les
-autres macros arithm\xE9tiques puisqu'il n'y a pas de forme \xE9toil\xE9e. En
-r\xE9alit\xE9, il y a bien une fa\xE7on d'afficher l'op\xE9ration d'extraction de
-racine carr\xE9e mais elle n'est pas franchement courante. Je suis
-relativement \xE2g\xE9 et mon grand-p\xE8re me racontait qu'il l'avait vue
-lorsqu'il \xE9tait \xE0 l'\xE9cole. Ainsi, il y a une macro \macro{opgfsqrt} o\xF9
-le \og gf \fg{} est pour \og grandfather \fg{} (grand-p\xE8re).
+\index{racine carrée}
+Avec la version~0.26, \package{xlop} propose l'opération de racine
+carrée \macro{opsqrt}. Cette macro n'a pas la même syntaxe que les
+autres macros arithmétiques puisqu'il n'y a pas de forme étoilée. En
+réalité, il y a bien une façon d'afficher l'opération d'extraction de
+racine carrée mais elle n'est pas franchement courante. Je suis
+relativement âgé et mon grand-père me racontait qu'il l'avait vue
+lorsqu'il était à l'école. Ainsi, il y a une macro \macro{opgfsqrt} où
+le \og gf \fg{} est pour \og grandfather \fg{} (grand-père).
 
-Voyons la premi\xE8re macro : celle qui calcule la racine carr\xE9e et qui
-stocke le r\xE9sultat dans une variable \package{xlop}:
+Voyons la première macro : celle qui calcule la racine carrée et qui
+stocke le résultat dans une variable \package{xlop}:
 \begin{SideBySideExample}
   \opsqrt{2}{sqrt2}
   $\sqrt{2}\approx\opprint{sqrt2}$
 \end{SideBySideExample}
-Cette macro partage le param\xE8tre \parameter{maxdivstep} avec les
+Cette macro partage le paramètre \parameter{maxdivstep} avec les
 macros de division. Par exemple:
 \begin{SideBySideExample}
   \opsqrt[maxdivstep=15]{2}{sqrt2}
@@ -1484,44 +1600,44 @@
   $\sqrt{2}\approx\opprint{sqrt2}$
 \end{SideBySideExample}
 
-Pour la pr\xE9sentation \xE0 la \og grand-p\xE8re \fg{}, je n'ai vraiment pas
-le courage d'expliquer tout le processus. Il se base sur l'eidentiot\xE9
-remarquable $(a+b)^2=a^2+2ab+b^2$. Merci \xE0 Jean-Michel Sarlat d'avoir
-pris le temps de m'expliquer cette m\xE9thode afin que je puisse la coder
+Pour la présentation à la \og grand-père \fg{}, je n'ai vraiment pas
+le courage d'expliquer tout le processus. Il se base sur l'eidentioté
+remarquable $(a+b)^2=a^2+2ab+b^2$. Merci à Jean-Michel Sarlat d'avoir
+pris le temps de m'expliquer cette méthode afin que je puisse la coder
 dans \package{xlop}.
 
-Voici un exemple avec le calcul de la racine carr\xE9e de 15 :
+Voici un exemple avec le calcul de la racine carrée de 15 :
 \begin{CenterExample}
   \opgfsqrt[maxdivstep=5]{15}
 \end{CenterExample}
-Cette m\xE9thode est horrible, autant pour un humain que pour
-l'ordinateur. Par exemple, l'op\xE9ration r\xE9ellement effectu\xE9e par
-\package{xlop} se fonde sur la m\xE9thode de H\xE9ron.
+Cette méthode est horrible, autant pour un humain que pour
+l'ordinateur. Par exemple, l'opération réellement effectuée par
+\package{xlop} se fonde sur la méthode de Héron.
 
 \index{expression complexe|(}
-La derni\xE8re macro qui nous reste \xE0 voir est \macro{opexpr} qui permet
-de r\xE9aliser le calcul d'une expression complexe. Cette macro demande
-deux param\xE8tres : le premier est l'expression \xE0 calculer donn\xE9e sous
+La dernière macro qui nous reste à voir est \macro{opexpr} qui permet
+de réaliser le calcul d'une expression complexe. Cette macro demande
+deux paramètres : le premier est l'expression à calculer donnée sous
 forme infixe (la forme habituelle pour un humain) et le second est le
-nom de la variable qui contiendra le r\xE9sultat.
+nom de la variable qui contiendra le résultat.
 
-Initialement, la formule devait \xEAtre donn\xE9e sous forme polonaise
+Initialement, la formule devait être donnée sous forme polonaise
 inverse (la notation des calculatrices HP ou du langage PostScript par
 exemple) mais un travail commun avec Christophe Jorssen a finalement
-abouti \xE0 la possibilit\xE9 de donner l'expression sous une forme plus
-agr\xE9able pour l'utilisateur.
+abouti à la possibilité de donner l'expression sous une forme plus
+agréable pour l'utilisateur.
 
-Les formules acceptent les op\xE9rateurs arithm\xE9tiques habituels
-\texttt{+}, \texttt{-}, \texttt{*} et \texttt{/} ainsi que l'op\xE9rateur
+Les formules acceptent les opérateurs arithmétiques habituels
+\texttt{+}, \texttt{-}, \texttt{*} et \texttt{/} ainsi que l'opérateur
 \texttt{:} pour la division euclidienne et \verb+^+ pour
-l'exponentiation. L'op\xE9rateur \texttt{-} a les deux r\xF4les d'op\xE9rateur
-binaire de la soustraction et d'op\xE9rateur unaire pour l'oppos\xE9.
-L'op\xE9rateur \texttt{+} a \xE9galement les deux r\xF4les d'op\xE9rateur binaire
-de l'addition et d'op\xE9rateur unaire ne faisant \ldots{} rien ! Les
-op\xE9randes sont \xE9crites sous forme d\xE9cimale ou par l'interm\xE9diaire de
+l'exponentiation. L'opérateur \texttt{-} a les deux rôles d'opérateur
+binaire de la soustraction et d'opérateur unaire pour l'opposé.
+L'opérateur \texttt{+} a également les deux rôles d'opérateur binaire
+de l'addition et d'opérateur unaire ne faisant \ldots{} rien ! Les
+opérandes sont écrites sous forme décimale ou par l'intermédiaire de
 nom de variable cependant, la macro \macro{opexpr} va introduire une
 petite restriction sur les noms de variables puisque ceux-ci devront
-\xEAtre diff\xE9rents des noms de fonctions reconnus par cette macro. Les
+être différents des noms de fonctions reconnus par cette macro. Les
 fonctions accessibles sont :
 \begin{itemize}
 \item \texttt{abs(a)} ;
@@ -1530,23 +1646,23 @@
 \item \texttt{floor(a,i)} ;
 \item \texttt{gcd(a,b)} ;
 \item \texttt{integer(a)} ;
-\item \texttt{mod(a,b)} qui donne le r\xE9sultat de \texttt{a} modulo
+\item \texttt{mod(a,b)} qui donne le résultat de \texttt{a} modulo
   \texttt{b} ;
 \item \texttt{rest(a,b)} qui donne le reste de la division de
-  \texttt{a} par \texttt{b} (la diff\xE9rence entre reste et modulo est
-  la diff\xE9rence qui existe entre division non euclidienne et division
+  \texttt{a} par \texttt{b} (la différence entre reste et modulo est
+  la différence qui existe entre division non euclidienne et division
   euclidienne) ;
 \item \texttt{round(a,i)}.
 \end{itemize}
-o\xF9 les fonctions non d\xE9crites ci-dessus font appel aux macros
-correspondantes (la fonction \texttt{xxx} faisant appel \xE0 la macro
+où les fonctions non décrites ci-dessus font appel aux macros
+correspondantes (la fonction \texttt{xxx} faisant appel à la macro
 \verb+\opxxx+). Pour les fonctions \texttt{ceil}, \texttt{floor} et
 \texttt{round}, le nombre \texttt{i} indique le rang sur lequel doit
 se faire l'arrondi.
 
 La macro \macro{opexpr} accepte un argument optionnel car elle peut
-r\xE9aliser des divisions et que ces divisions doivent pouvoir \xEAtre
-contr\xF4l\xE9es \emph{via} les param\xE8tres \parameter{maxdivstep},
+réaliser des divisions et que ces divisions doivent pouvoir être
+contrôlées \emph{via} les paramètres \parameter{maxdivstep},
 \parameter{safedivstep} et \parameter{period}.
 Notre premier exemple est assez basique :
 \begin{CenterExample}[xrightmargin=0pt]
@@ -1554,7 +1670,7 @@
   $3--\gcd(15\times17,25\times27)\times2 = \opprint{r}$
 \end{CenterExample}
 
-Voici un autre exemple montrant que des donn\xE9es peuvent provenir d'une
+Voici un autre exemple montrant que des données peuvent provenir d'une
 macro :
 \begin{CenterExample}[xrightmargin=0pt]
   \newcommand\try{2}%
@@ -1569,41 +1685,41 @@
 \index{expression complexe|)}
 
 \appendix
-\chapter{Aide-m\xE9moire}
-\label{chap:Aide-m\xE9moire}
+\chapter{Aide-mémoire}
+\label{chap:Aide-mémoire}
 \section{Temps de compilation}
 \label{sec:Temps de compilation}
-Les temps de compilation ont \xE9t\xE9 mesur\xE9s sur une machine \xE0 processeur
+Les temps de compilation ont été mesurés sur une machine à processeur
 Pentium~II~600\,MHz ayant 256\,Mo de RAM et tournant sous Linux
-(Debian woody)\footnote{En r\xE9alit\xE9, ces mesures ont \xE9t\xE9 effectu\xE9es en
-  2004 lors de la sortie de la version 0.2. L'auteur \xE9tant fain\xE9ant,
-  il n'a pas repris ces tests avec son mat\xE9riel actuel (bien plus
-  performant) !}. Le principe a \xE9t\xE9 de faire un fichier TeX{} minimum
-dont le sch\xE9ma g\xE9n\xE9ral est donn\xE9 par :
+(Debian woody)\footnote{En réalité, ces mesures ont été effectuées en
+  2004 lors de la sortie de la version 0.2. L'auteur étant fainéant,
+  il n'a pas repris ces tests avec son matériel actuel (bien plus
+  performant) !}. Le principe a été de faire un fichier TeX{} minimum
+dont le schéma général est donné par :
 \begin{verbatim}
   \input xlop
   \count255=0
   \loop
   \ifnum\count255<1000
-    <op\xE9ration \xE0 tester>
+    <opération à tester>
    \advance\count255 by1
   \repeat
   \bye
 \end{verbatim}
-Le temps de compilation avec \verb+<op\xE9ration \xE0 tester>+ vide a \xE9t\xE9
-soustrait des autres tests et seul le temps utilisateur a \xE9t\xE9 pris en
-compte. Les r\xE9sultats sont donn\xE9s en millisecondes et sont \xE9videmment
-\xE0 prendre avec beaucoup de pr\xE9cautions.
+Le temps de compilation avec \verb+<opération à tester>+ vide a été
+soustrait des autres tests et seul le temps utilisateur a été pris en
+compte. Les résultats sont donnés en millisecondes et sont évidemment
+à prendre avec beaucoup de précautions.
 
 \index{compilation (temps de)|(}\index{temps de calcul|(}%
-Le tableau suivant donne le temps de compilation des op\xE9rations en
-millisecondes. Les op\xE9randes utilis\xE9es l'ont \xE9t\xE9 avec une \xE9criture
-sous forme de chiffres mais des essais avec des op\xE9randes sous forme
-de noms de variable ont montr\xE9 que les diff\xE9rences \xE9taient vraiment
+Le tableau suivant donne le temps de compilation des opérations en
+millisecondes. Les opérandes utilisées l'ont été avec une écriture
+sous forme de chiffres mais des essais avec des opérandes sous forme
+de noms de variable ont montré que les différences étaient vraiment
 minimes.
 
-La premi\xE8re ligne indique le nombre de chiffres des deux
-op\xE9randes. Ces nombres ont \xE9t\xE9 construits de la fa\xE7ons suivantes :
+La première ligne indique le nombre de chiffres des deux
+opérandes. Ces nombres ont été construits de la façons suivantes :
 \begin{itemize}
 \item $\mathrm{A} = 1$ et $\mathrm{B} = 9$ pour un chiffre ;
 \item $\mathrm{A} = 12$ et $\mathrm{B} = 98$ pour deux chiffres ;
@@ -1614,7 +1730,7 @@
 \item $\mathrm{A} = 12345678901234567890$ et $\mathrm{B} =
   98765432109876543210$ pour vingt chiffres ;
 \end{itemize}
-Voici les r\xE9sultats, quelques commentaires suivront :
+Voici les résultats, quelques commentaires suivront :
 
 \bigskip\noindent\hbox to\linewidth{\hss
   \begin{tabular}{|r|*{6}{l|}}
@@ -1656,38 +1772,38 @@
   \hss
 }
 \par\bigskip
-Il est normal que l'inversion des op\xE9randes n'ait aucune influence
+Il est normal que l'inversion des opérandes n'ait aucune influence
 pour l'addition. Il peut alors sembler anormal qu'elle en ait une pour
-la soustraction mais en fait, avoir une seconde op\xE9rande sup\xE9rieure \xE0
-la premi\xE8re va entra\xEEner quelques instructions suppl\xE9mentaires (double
-inversion, gestion plus longue du signe du r\xE9sultat).
+la soustraction mais en fait, avoir une seconde opérande supérieure à
+la première va entraîner quelques instructions supplémentaires (double
+inversion, gestion plus longue du signe du résultat).
 
-Il est normal que le temps de la division soit sup\xE9rieur \xE0 celui de la
+Il est normal que le temps de la division soit supérieur à celui de la
 multiplication. Il peut alors sembler anormal que la division ait
 l'air de \og rattraper \fg{} son retard. En fait, une multiplication
-voit sa complexit\xE9 fortement augmenter avec la taille des op\xE9randes
-mais la division normale est bloqu\xE9e par le param\xE8tre
-\parameter{maxdivstep}. On le voit bien sur l'exemple o\xF9 on limite ce
-maximum \xE0 5~\xE9tapes.
+voit sa complexité fortement augmenter avec la taille des opérandes
+mais la division normale est bloquée par le paramètre
+\parameter{maxdivstep}. On le voit bien sur l'exemple où on limite ce
+maximum à 5~étapes.
 
-Quelques r\xE9sultats semblent bizarres. Ainsi,
-\verb+\opdiv*{9}{1}{q}{r}+ est anormalement rapide : cela est d\xFB
-au fait d'avoir un quotient \xE0 un seul chiffre. Plus bizarre encore,
-\verb+\opdiv*{123}{987}{q}{r}+ est plut\xF4t rapide. Ici,
-l'explication est plus subtile : cela est d\xFB \xE0 la pr\xE9sence de nombreux
-z\xE9ros au quotient.
+Quelques résultats semblent bizarres. Ainsi,
+\verb+\opdiv*{9}{1}{q}{r}+ est anormalement rapide : cela est dû
+au fait d'avoir un quotient à un seul chiffre. Plus bizarre encore,
+\verb+\opdiv*{123}{987}{q}{r}+ est plutôt rapide. Ici,
+l'explication est plus subtile : cela est dû à la présence de nombreux
+zéros au quotient.
 
-Avec des op\xE9randes de taille comparable, la division euclidienne est
-tr\xE8s rapide par rapport \xE0 la division non euclidienne. Cela est d\xFB au
+Avec des opérandes de taille comparable, la division euclidienne est
+très rapide par rapport à la division non euclidienne. Cela est dû au
 fait que le quotient n'aura que peu de chiffres (un seul avec tous les
-nombres \texttt{A} et \texttt{B}). La derni\xE8re ligne du tableau est
-plus repr\xE9sentative des temps de compilation que l'on peut obtenir
-avec cette op\xE9ration.
+nombres \texttt{A} et \texttt{B}). La dernière ligne du tableau est
+plus représentative des temps de compilation que l'on peut obtenir
+avec cette opération.
 
-Toutes ces remarques sont faites pour bien insister sur la difficult\xE9
-\xE0 \xE9valuer un temps de compilation a priori : il d\xE9pend de trop de
-param\xE8tres. Cela dit, le tableau permet d'avoir quand m\xEAme une id\xE9e de
-ce \xE0 quoi il faut s'attendre.
+Toutes ces remarques sont faites pour bien insister sur la difficulté
+à évaluer un temps de compilation a priori : il dépend de trop de
+paramètres. Cela dit, le tableau permet d'avoir quand même une idée de
+ce à quoi il faut s'attendre.
 \index{compilation (temps de)|)}\index{temps de calcul|)}
 
 \clearpage
@@ -1704,182 +1820,185 @@
   \multicolumn{1}{c|}{\textbf{Description}} \\\hline\hline
   \endhead
   \hline
-  \multicolumn{2}{|c|}{$\ldots$ \xE0 suivre $\ldots$}\\
+  \multicolumn{2}{|c|}{$\ldots$ à suivre $\ldots$}\\
   \hline
   \endfoot
   \hline
   \endlastfoot
   \verb+\opabs{n}{N}+ &
-  \verb+N+ re\xE7oit la valeur absolue de \verb+n+. \\\hline
+  \verb+N+ reçoit la valeur absolue de \verb+n+. \\\hline
   \verb+\opadd[P]{n1}{n2}+ &
-  Affiche le r\xE9sultat de l'op\xE9ration \verb-n1+n2-. \\\hline
+  Affiche le résultat de l'opération \verb-n1+n2-. \\\hline
   \verb+\opadd*{n1}{n2}{N}+ &
-  Calcule \verb-n1+n2- et place le r\xE9sultat dans
+  Calcule \verb-n1+n2- et place le résultat dans
   \verb+N+. \\\hline
   \verb+\opcastingoutelevens{n}{N}+ &
-  Calcule la diff\xE9rence (modulo 11) de la somme des chiffres de rang
+  Calcule la différence (modulo 11) de la somme des chiffres de rang
   impair et de la somme des chiffres de rang pair de \verb+n+ et
-  place le r\xE9sultat dans \verb+N+. \\\hline
+  place le résultat dans \verb+N+. \\\hline
   \verb+\opcastingoutnines{n}{N}+. &
   Calcule la somme modulo 9 des chiffres de \verb+n+ et place le
-  r\xE9sultat dans \verb+N+. \\\hline
+  résultat dans \verb+N+. \\\hline
   \verb+\opceil{n}{T}{N}+ &
-  Place dans \verb+N+ la valeur approch\xE9e par exc\xE8s de
+  Place dans \verb+N+ la valeur approchée par excès de
   \verb+n+ au rang \verb+T+. \\\hline
   \verb+\opcmp{n1}{n2}+ &
-  Compare les nombres \verb+n1+ et \verb+n2+ et r\xE9alise la
-  mise \xE0 jour correspondante des tests \verb+\ifopeq+,
+  Compare les nombres \verb+n1+ et \verb+n2+ et réalise la
+  mise à jour correspondante des tests \verb+\ifopeq+,
   \verb+\ifopneq+, \verb+\ifopgt+, \verb+\ifopge+,
   \verb+\ifople+ et \verb+\ifoplt+. \\\hline
   \verb+\opcopy{n}{N}+ &
   Copie le nombre \verb+n+ dans \verb+N+. \\\hline
   \verb+\opdecimal{n}{N}+ &
-  Copie la partie d\xE9cimale (nombre entier positif) de \verb+n+
+  Copie la partie décimale (nombre entier positif) de \verb+n+
   dans \verb+N+. \\\hline
   \verb+\opdecimalwidth{n}{N}+ &
-  Le nombre \verb+N+ re\xE7oit la largeur de la partie d\xE9cimale du
+  Le nombre \verb+N+ reçoit la largeur de la partie décimale du
   nombre \verb+n+. \\\hline
   \verb+\opdisplay[P]{S}{n}+ &
   Affiche le nombre \verb+n+ avec le style \verb+S+ en
-  pla\xE7ant chaque chiffre dans une bo\xEEte de largeur
+  plaçant chaque chiffre dans une boîte de largeur
   \verb+\opcolumnwidth+ et de hauteur
   \verb+\oplineheight+. \\\hline
   \verb+\opdiv[P]{n1}{n2}+ &
-  Affiche le r\xE9sultat de l'op\xE9ration n1/n2. \\\hline
+  Affiche le résultat de l'opération n1/n2. \\\hline
   \verb+\opdiv*[P]{n1}{n2}{N1}{N2}+ &
   Calcule \verb+n1/n2+, place le quotient dans \verb+N1+ et
   le reste dans \verb+N2+. \\\hline
   \verb+\opdivperiod{T1}{T2}{N}+ &
-  Calcule la longueur de la p\xE9riode de la division de \verb+T1+
-  par \verb+T2+ et place le r\xE9sultat dans \verb+N+. \\\hline
+  Calcule la longueur de la période de la division de \verb+T1+
+  par \verb+T2+ et place le résultat dans \verb+N+. \\\hline
   \verb+\opexport[P]{n}\cmd+ &
   Copie le nombre \verb+n+ dans la macro \verb+\cmd+. \\\hline
   \verb+\opexpr[P]{F}{N}+ &
-  \'\xC9value la formule \texttt{F} est place le r\xE9sultat final dans le
+  Évalue la formule \texttt{F} est place le résultat final dans le
   nombre \texttt{N}. \\\hline
   \verb+\opfloor{n}{T}{N}+ &
-  Place dans \verb+N+ la valeur approch\xE9e par d\xE9faut de
+  Place dans \verb+N+ la valeur approchée par défaut de
   \verb+n+ au rang \verb+T+. \\\hline
   \verb+\opgcd{T1}{T2}{N}+ &
   Calcule le pgcd de \verb+T1+ et \verb+T2+ et place le
-  r\xE9sultat dans \verb+N+. \\\hline
+  résultat dans \verb+N+. \\\hline
   \verb+\opgetdecimaldigit{n}{T}{N}+ &
-  Construit le nombre \verb+N+ avec le seul chiffre situ\xE9 en
-  \verb+T+i\xE8me position de la partie d\xE9cimale du nombre
+  Construit le nombre \verb+N+ avec le seul chiffre situé en
+  \verb+T+ième position de la partie décimale du nombre
   \verb+n+. \\\hline
   \verb+\opgetdigit{n}{T}{N}+ &
-  Construit le nombre \verb+N+ avec le seul chiffre situ\xE9 en
-  \verb+T+i\xE8me position du nombre \verb+n+. \\\hline
+  Construit le nombre \verb+N+ avec le seul chiffre situé en
+  \verb+T+ième position du nombre \verb+n+. \\\hline
   \verb+\opgetintegerdigit{n}{T}{N}+ &
-  Construit le nombre \verb+N+ avec le seul chiffre situ\xE9 en
-  \verb+T+i\xE8me position de la partie enti\xE8re du nombre
+  Construit le nombre \verb+N+ avec le seul chiffre situé en
+  \verb+T+ième position de la partie entière du nombre
   \verb+n+. \\\hline
   \verb+\opgfsqrt{n}+ &
-  Affiche la fa\xE7on ancienne d'afficher le calcul de la racine
-  carr\xE9e de \verb+n+. \\\hline
+  Affiche la façon ancienne d'afficher le calcul de la racine
+  carrée de \verb+n+. \\\hline
   \verb+\ophline(T1,T2){T3}+ &
-  Trace un trait horizontal de longueur \verb+T3+, d'\xE9paisseur
-  \verb+hrulewidth+ et d\xE9butant en \verb+(T1,T2)+ par
-  rapport au point de r\xE9f\xE9rence. \\\hline
+  Trace un trait horizontal de longueur \verb+T3+, d'épaisseur
+  \verb+hrulewidth+ et débutant en \verb+(T1,T2)+ par
+  rapport au point de référence. \\\hline
   \verb+\opidiv[P]{n1}{n2}+ &
-  Affiche le r\xE9sultat de l'op\xE9ration \verb+n1/n2+ (division
-  euclidienne,   c'est-\xE0-dire avec un quotient entier). \\\hline
+  Affiche le résultat de l'opération \verb+n1/n2+ (division
+  euclidienne,   c'est-à-dire avec un quotient entier). \\\hline
   \verb+\opidiv*{n1}{n2}{N1}{N2}+ &
   Calcule \verb+n1/n2+ (division euclidienne), place le quotient
   (entier) dans \verb+N1+ et le reste (compris entre 0 inclus et
   \verb+|n2|+ exclu) dans \verb+N2+. \\\hline
   \verb+\opinteger{n}{N}+ &
-  Copie la partie enti\xE8re (nombre entier positif) de \verb+n+
+  Copie la partie entière (nombre entier positif) de \verb+n+
   dans \verb+N+. \\\hline
   \verb+\opintegerwidth{n}{N}+ &
-  Le nombre \verb+N+ re\xE7oit la longueur de la partie enti\xE8re du
+  Le nombre \verb+N+ reçoit la longueur de la partie entière du
   nombre \verb+n+. \\\hline
   \verb+\oplput(T1,T2){<objet>}+ &
-  Place \verb+<objet>+ \xE0 droite du point situ\xE9 en
-  \verb+(T1,T2)+ par rapport au point de r\xE9f\xE9rence. \\\hline
+  Place \verb+<objet>+ à droite du point situé en
+  \verb+(T1,T2)+ par rapport au point de référence. \\\hline
+  \verb+\opmanyadd[P]{n1}...{np}+ &
+  Affiche le résultat de l'opération
+  $\mathrm{n1}+\cdots+\mathrm{np}$. \\\hline
   \verb+\opmul[P]{n1}{n2}+ &
-  Affiche le r\xE9sultat de l'op\xE9ration \verb+n1*n2+. \\\hline
+  Affiche le résultat de l'opération \verb+n1*n2+. \\\hline
   \verb+\opmul*{n1}{n2}{N}+ &
-  Calcule \verb+n1*n2+ et place le r\xE9sultat dans
+  Calcule \verb+n1*n2+ et place le résultat dans
   \verb+N+. \\\hline
   \verb+\opneg{n}{N}+ &
-  Le nombre \verb+N+ re\xE7oit l'oppos\xE9 de \verb+n+. \\\hline
+  Le nombre \verb+N+ reçoit l'opposé de \verb+n+. \\\hline
   \verb+\oppower{n}{T}{N}+ &
-  Calcule \verb+n+ \xE0 la puissance \verb+T+ et place le
-  r\xE9sultat dans \verb+N+. \\\hline
+  Calcule \verb+n+ à la puissance \verb+T+ et place le
+  résultat dans \verb+N+. \\\hline
   \verb+\opprint{n}+ &
-  Affiche le nombre \verb+n+ de fa\xE7on directe. \\\hline
+  Affiche le nombre \verb+n+ de façon directe. \\\hline
   \verb+\opround{n}{T}{N}+ &
   Place dans \verb+N+ la valeur arrondie de \verb+n+ au rang
   \verb+T+. \\\hline
   \verb+\oprput(T1,T2){<objet>}+ &
-  Place \verb+<objet>+ \xE0 gauche du point situ\xE9 en
-  \verb+(T1,T2)+ par rapport au point de r\xE9f\xE9rence. \\\hline
+  Place \verb+<objet>+ à gauche du point situé en
+  \verb+(T1,T2)+ par rapport au point de référence. \\\hline
   \verb+\opset{L}+ &
-  Effectue une affectation globale des param\xE8tres de \package{xlop}
-  d\xE9sign\xE9s dans la liste \verb+L+. \\\hline
+  Effectue une affectation globale des paramètres de \package{xlop}
+  désignés dans la liste \verb+L+. \\\hline
   \verb+\opsetdecimaldigit{n}{T}{N}+ &
-  Modifie le \verb+T+i\xE8me chiffre de la partie d\xE9cimale de
-  \verb+N+ pour qu'il soit \xE9gal \xE0 \verb+n+. \\\hline
+  Modifie le \verb+T+ième chiffre de la partie décimale de
+  \verb+N+ pour qu'il soit égal à \verb+n+. \\\hline
   \verb+\opsetdigit{n}{T}{N}+ &
-  Modifie le \verb+T+i\xE8me chiffre de \verb+N+ pour qu'il
-  soit \xE9gal \xE0 \verb+n+. \\\hline
+  Modifie le \verb+T+ième chiffre de \verb+N+ pour qu'il
+  soit égal à \verb+n+. \\\hline
   \verb+\opsetintegerdigit{n}{T}{N}+ &
-  Modifie le \verb+T+i\xE8me chiffre de la partie enti\xE8re de
-  \verb+N+ pour qu'il soit \xE9gal \xE0 \verb+n+. \\\hline
+  Modifie le \verb+T+ième chiffre de la partie entière de
+  \verb+N+ pour qu'il soit égal à \verb+n+. \\\hline
   \verb+\opsqrt{n}{N}+ &
-  M\xE9morise la racine carr\xE9e de \verb+n+ dans \verb+N+. \\\hline
+  Mémorise la racine carrée de \verb+n+ dans \verb+N+. \\\hline
   \verb+\opsub[P]{n1}{n2}+ &
-  Affiche le r\xE9sultat de l'op\xE9ration n1-n2. \\\hline
+  Affiche le résultat de l'opération n1-n2. \\\hline
   \verb+\opsub*{n1}{n2}{N}+ &
-  Calcule n1-n2 et place le r\xE9sultat dans N. \\\hline
+  Calcule n1-n2 et place le résultat dans N. \\\hline
   \verb+\opunzero{N}+ &
-  Supprime les z\xE9ros non significatifs du nombre \verb+N+. \\\hline
+  Supprime les zéros non significatifs du nombre \verb+N+. \\\hline
   \verb+\opvline(T1,T2){T3}+ &
-  Trace un trait vertical de longueur \verb+T3+, d'\xE9paisseur
-  \verb+hrulewidth+ et d\xE9butant en \verb+(T1,T2)+ par
-  rapport au point de r\xE9f\xE9rence. \\\hline
+  Trace un trait vertical de longueur \verb+T3+, d'épaisseur
+  \verb+hrulewidth+ et débutant en \verb+(T1,T2)+ par
+  rapport au point de référence. \\\hline
   \verb+\opwidth{n}{N}+ &
-  Le nombre \verb+N+ re\xE7oit le nombre de chiffres du nombre
+  Le nombre \verb+N+ reçoit le nombre de chiffres du nombre
   \verb+n+. \\\hline
 \end{longtable}\index{macros!table des|)}
 
-Dans ce tableau, les param\xE8tres :
+Dans ce tableau, les paramètres :
 \begin{itemize}
-\item \texttt{n} et \texttt{ni} (o\xF9 \texttt{i} repr\xE9sente un indice)
-  indiquent que le param\xE8tre doit \xEAtre un nombre donn\xE9 sous forme
-  d\xE9cimale ou sous forme d'un nom de variable ;
-\item \texttt{N} et \texttt{Ni} (o\xF9 \texttt{i} repr\xE9sente un indice)
-  indiquent que le param\xE8tre doit \xEAtre un nombre donn\xE9 sous forme d'un
+\item \texttt{n} et \texttt{ni} (où \texttt{i} représente un indice)
+  indiquent que le paramètre doit être un nombre donné sous forme
+  décimale ou sous forme d'un nom de variable ;
+\item \texttt{N} et \texttt{Ni} (où \texttt{i} représente un indice)
+  indiquent que le paramètre doit être un nombre donné sous forme d'un
   nom de variable ;
-\item \texttt{[P]} indique que la macro accepte un param\xE8tre optionnel
-  permettant de modifier les param\xE8tres de \package{xlop} ;
-\item \texttt{T} et \texttt{Ti} (o\xF9 \texttt{i} repr\xE9sente un indice)
-  indiquent que le param\xE8tre doit \xEAtre un nombre donn\xE9 sous forme
-  d\xE9cimale ou sous forme d'un nom de variable mais ne devant pas
-  exc\xE9der la taille des nombres directement acceptables par \TeX{}
+\item \texttt{[P]} indique que la macro accepte un paramètre optionnel
+  permettant de modifier les paramètres de \package{xlop} ;
+\item \texttt{T} et \texttt{Ti} (où \texttt{i} représente un indice)
+  indiquent que le paramètre doit être un nombre donné sous forme
+  décimale ou sous forme d'un nom de variable mais ne devant pas
+  excéder la taille des nombres directement acceptables par \TeX{}
   ($-2147483648 \le \mathtt{T} \le 2147483647$ en l'occurrence).
 \end{itemize}
 
 \newpage
-\section{Liste des param\xE8tres}
+\section{Liste des paramètres}
 \label{sec:Liste des parametres}
-\index{parametres at param\xE8tres!table des|(}%
+\index{parametres at paramètres!table des|(}%
 \begingroup
 \advance\hoffset by-1.75cm \advance\linewidth by1.75cm
 \begin{longtable}{|l|l|p{7cm}|}
   \hline
-  \multicolumn{1}{|c|}{\textbf{Param\xE8tre}} &
-  \multicolumn{1}{c|}{\textbf{D\xE9faut}} &
+  \multicolumn{1}{|c|}{\textbf{Paramètre}} &
+  \multicolumn{1}{c|}{\textbf{Défaut}} &
   \multicolumn{1}{c|}{\textbf{Signification}} \\\hline\hline
   \endfirsthead
   \hline
-  \multicolumn{1}{|c|}{\textbf{Param\xE8tre}} &
-  \multicolumn{1}{c|}{\textbf{D\xE9faut}} &
+  \multicolumn{1}{|c|}{\textbf{Paramètre}} &
+  \multicolumn{1}{c|}{\textbf{Défaut}} &
   \multicolumn{1}{c|}{\textbf{Signification}} \\\hline\hline
   \endhead
   \hline
-  \multicolumn{3}{|c|}{$\ldots$ \xE0 suivre $\ldots$}\\
+  \multicolumn{3}{|c|}{$\ldots$ à suivre $\ldots$}\\
   \hline
   \endfoot
   \hline
@@ -1886,117 +2005,129 @@
   \endlastfoot
   \verb+afterperiodsymbol+ &
   \verb+$\ldots$+ &
-  Symbole utilis\xE9 \xE0 la suite de la p\xE9riode d'une division. \\\hline
+  Symbole utilisé à la suite de la période d'une division. \\\hline
   \verb+approxsymbol+ &
   \verb+$\approx$+ &
-  Symbole utilis\xE9 comme relation d'\xE9galit\xE9 approximative dans les
-  op\xE9rations en ligne. \\\hline
+  Symbole utilisé comme relation d'égalité approximative dans les
+  opérations en ligne. \\\hline
   \verb+equalsymbol+ &
   \verb+{$=$}+ &
-  Symbole utilis\xE9 comme relation d'\xE9galit\xE9 dans les op\xE9rations en
+  Symbole utilisé comme relation d'égalité dans les opérations en
   ligne. \\\hline
   \verb+addsymbol+ &
   \verb-$+$- &
-  Symbole utilis\xE9 comme op\xE9rateur d'addition. \\\hline
+  Symbole utilisé comme opérateur d'addition. \\\hline
   \verb+subsymbol+ &
   \verb+$-$+ &
-  Symbole utilis\xE9 comme op\xE9rateur de soustraction. \\\hline
+  Symbole utilisé comme opérateur de soustraction. \\\hline
   \verb+mulsymbol+ &
   \verb+$\times$+ &
-  Symbole utilis\xE9 comme op\xE9rateur de  multiplication. \\\hline
+  Symbole utilisé comme opérateur de  multiplication. \\\hline
   \verb+divsymbol+ &
   \verb+$\div$+ &
-  Symbole utilis\xE9 comme op\xE9rateur de division pour les op\xE9rations en
+  Symbole utilisé comme opérateur de division pour les opérations en
   ligne. \\\hline
   \verb+decimalsepsymbol+ &
   \verb+.+ &
-  Symbole utilis\xE9 comme s\xE9parateur d\xE9cimal. \\\hline
+  Symbole utilisé comme séparateur décimal. \\\hline
   \verb+strikedecimalsepsymbol+ &
   &
-  Symbole utilis\xE9 pour un s\xE9parateur d\xE9cimal d\xE9plac\xE9 au niveau du
-  dividende et du diviseur dans les divisions pos\xE9es. \\\hline
+  Symbole utilisé pour un séparateur décimal déplacé au niveau du
+  dividende et du diviseur dans les divisions posées. \\\hline
   \verb+shiftintermediarysymbol+ &
   \verb+$\cdot$+ &
-  Symbole utilis\xE9 pour montrer les d\xE9calages des nombres
-  interm\xE9diaires dans les multiplications pos\xE9es. \\\hline
+  Symbole utilisé pour montrer les décalages des nombres
+  intermédiaires dans les multiplications posées. \\\hline
   \verb+displayshiftintermediary+ &
   \verb+shift+ &
-  Indique que le caract\xE8re de d\xE9calage dans les multiplications sera
-  affich\xE9 uniquement pour le d\xE9calage suppl\xE9mentaire (valeur
-  \verb+shift+), pour tous les d\xE9calages (valeur \verb+all+)
+  Indique que le caractère de décalage dans les multiplications sera
+  affiché uniquement pour le décalage supplémentaire (valeur
+  \verb+shift+), pour tous les décalages (valeur \verb+all+)
   ou jamais (valeur \verb+none+). \\\hline
+  \verb+vmanyoperator+ &
+  \verb+center+ &
+  Positionnement vertical des opérateurs. La valeur \verb+top+ place
+  les opérateurs en face des opérandes, de la première opérande
+  jusqu'à l'avant-dernière. La valeur \verb+center+ place les
+  opérateurs entre les opérandes. La valeur \verb+bottom+ place les
+  opérateurs en face des opérandes, de la deuxième opérande jusqu'à la
+  dernière. La valeur \verb+Top+ place un unique opérateur au niveau
+  de la première opérande. La valeur \verb+\center+ place un unique
+  opérateur au milieu vertical des opérandes. La valeur
+  \verb+Bottom+ place un unique opérateur au niveau de la dernière
+  opérande. \\\hline
   \verb+voperation+ &
   \verb+bottom+ &
-  Type d'alignement vertical d'une op\xE9ration pos\xE9e. La
-  valeur \verb+bottom+ indique que le bas de l'op\xE9ration sera
+  Type d'alignement vertical d'une opération posée. La
+  valeur \verb+bottom+ indique que le bas de l'opération sera
   au niveau de la ligne de base. La valeur \verb+top+ indique
-  que la premi\xE8re ligne de l'op\xE9ration sera sur la ligne de base. La
-  valeur \verb+center+ indique que l'op\xE9ration sera centr\xE9e
+  que la première ligne de l'opération sera sur la ligne de base. La
+  valeur \verb+center+ indique que l'opération sera centrée
   verticalement sur la ligne de base. \\\hline
   \verb+voperator+ &
   \verb+center+ &
-  Positionnement vertical de l'op\xE9rateur dans les
-  op\xE9rations pos\xE9es. La valeur \verb+top+ place l'op\xE9rateur au
-  niveau de la premi\xE8re op\xE9rande. La valeur \verb+bottom+ place
-  l'op\xE9rateur au niveau de la seconde op\xE9rande. La valeur
-  \verb+center+ place l'op\xE9rateur entre les deux
-  op\xE9randes. \\\hline
+  Positionnement vertical de l'opérateur dans les
+  opérations posées. La valeur \verb+top+ place l'opérateur au
+  niveau de la première opérande. La valeur \verb+bottom+ place
+  l'opérateur au niveau de la seconde opérande. La valeur
+  \verb+center+ place l'opérateur entre les deux
+  opérandes. \\\hline
   \verb+hfactor+ &
   \verb+decimal+ &
-  Type d'alignement des op\xE9randes dans les
-  multiplications pos\xE9es. La valeur \verb+decimal+ indique un
+  Type d'alignement des opérandes dans les
+  multiplications posées. La valeur \verb+decimal+ indique un
   alignement sur la virgule. La valeur \verb+right+ indique une
-  composition au fer \xE0 droite. \\\hline
+  composition au fer à droite. \\\hline
   \verb+vruleperiod+ &
   \verb+-0.2+ &
-  Position verticale du trait indiquant la p\xE9riode du quotient
+  Position verticale du trait indiquant la période du quotient
   dans les divisions en ligne. \\\hline
   \verb+dividendbridge+ &
   \verb+false+ &
-  Indique si le \og pont \fg{} au-dessus du dividende est pr\xE9sent ou
+  Indique si le \og pont \fg{} au-dessus du dividende est présent ou
   non. \\\hline
   \verb+shiftdecimalsep+ &
   \verb+both+ &
-  Indique la fa\xE7on dont se fait le d\xE9calage de virgule au niveau des
-  op\xE9randes d'une division pos\xE9e. La valeur \verb+both+ indique
-  que le d\xE9calage doit rendre le diviseur et le dividende
-  entiers. La valeur \verb+divisor+ indique que le d\xE9calage
+  Indique la façon dont se fait le décalage de virgule au niveau des
+  opérandes d'une division posée. La valeur \verb+both+ indique
+  que le décalage doit rendre le diviseur et le dividende
+  entiers. La valeur \verb+divisor+ indique que le décalage
   doit rendre le diviseur entier. La valeur \verb+none+ indique
-  qu'il n'y aura aucun d\xE9calage. \\\hline
+  qu'il n'y aura aucun décalage. \\\hline
   \verb+maxdivstep+ &
   \verb+10+ &
-  Nombre d'\xE9tapes maximum d'une division. \\\hline
+  Nombre d'étapes maximum d'une division. \\\hline
   \verb+safedivstep+ &
   \verb+50+ &
-  Nombre d'\xE9tapes maximum d'une division lors d'un arr\xEAt sur
-  p\xE9riode. \\\hline
+  Nombre d'étapes maximum d'une division lors d'un arrêt sur
+  période. \\\hline
   \verb+period+ &
   \verb+false+ &
-  Indique si la division doit s'arr\xEAter sur une d\xE9tection de p\xE9riode
+  Indique si la division doit s'arrêter sur une détection de période
   ou non. \\\hline
   \verb+deletezero+ &
   \verb+true+ &
   Indique si on affiche (\verb+false+) ou on supprime
-  (\verb+true+) les z\xE9ros non significatifs. \\\hline
+  (\verb+true+) les zéros non significatifs. \\\hline
   \verb+carryadd+ &
   \verb+true+ &
-  Indique si les retenues doivent \xEAtre affich\xE9es pour les additions
-  pos\xE9es. \\\hline
+  Indique si les retenues doivent être affichées pour les additions
+  posées. \\\hline
   \verb+carrysub+ &
   \verb+false+ &
-  Indique si les retenues doivent \xEAtre affich\xE9es pour les
-  soustractions pos\xE9es. \\\hline
+  Indique si les retenues doivent être affichées pour les
+  soustractions posées. \\\hline
   \verb+offsetcarry+ &
   \verb+-0.35+ &
-  D\xE9calage horizontal pour les retenues dans les
-  soustractions pos\xE9es. \\\hline
+  Décalage horizontal pour les retenues dans les
+  soustractions posées. \\\hline
   \verb+style+ &
   \verb+display+ &
-  Indique si l'op\xE9ration doit \xEAtre en ligne (\verb+text+) ou
-  pos\xE9e (\verb+display+). \\\hline
+  Indique si l'opération doit être en ligne (\verb+text+) ou
+  posée (\verb+display+). \\\hline
   \verb+displayintermediary+ &
   \verb+nonzero+ &
-  Indique si les r\xE9sultats interm\xE9diaires doivent \xEAtre affich\xE9s
+  Indique si les résultats intermédiaires doivent être affichés
   (\verb+all+) ou seulement les non nuls (\verb+nonzero+) ou
   aucun (valeur \verb+none+) dans les multiplications et les
   divisions. \\\hline
@@ -2003,91 +2134,93 @@
   \verb+lastcarry+ &
   \verb+false+ &
   Indique si la retenue au niveau d'une absence de chiffre devra
-  \xEAtre affich\xE9e ou non. \\\hline
+  être affichée ou non. \\\hline
   \verb+parenthesisnegative+ &
   \verb+none+ &
-  Comportement \xE0 adopter pour l'affichage des nombres
-  n\xE9gatifs dans les op\xE9rations en lignes. La valeur \verb+none+
-  les affiche sans parenth\xE8se, \verb+all+ les mettra
-  syst\xE9matiquement les nombres n\xE9gatifs entre parenth\xE8ses et
-  \verb+last+ les mettra entre parenth\xE8ses
-  sauf pour la premi\xE8re valeur d'une expression. \\\hline
+  Comportement à adopter pour l'affichage des nombres
+  négatifs dans les opérations en lignes. La valeur \verb+none+
+  les affiche sans parenthèse, \verb+all+ les mettra
+  systématiquement les nombres négatifs entre parenthèses et
+  \verb+last+ les mettra entre parenthèses
+  sauf pour la première valeur d'une expression. \\\hline
   \verb+columnwidth+ &
   \verb+2ex+ &
-  Largeur des bo\xEEtes contenant un chiffre. \\\hline
+  Largeur des boîtes contenant un chiffre. \\\hline
   \verb+lineheight+ &
   \verb+\baselineskip+ &
-  Hauteur des bo\xEEtes contenant un chiffre. \\\hline
+  Hauteur des boîtes contenant un chiffre. \\\hline
   \verb+decimalsepwidth+ &
   \verb+0pt+ &
-  Largeur de la bo\xEEte contenant le s\xE9parateur d\xE9cimal. \\\hline
+  Largeur de la boîte contenant le séparateur décimal. \\\hline
   \verb+decimalsepoffset+ &
   \verb+0pt+ &
-  D\xE9calage horizontal du s\xE9parateur d\xE9cimal. \\\hline
+  Décalage horizontal du séparateur décimal. \\\hline
   \verb+hrulewidth+ &
   \verb+0.4pt+ &
-  \'\xC9paisseur des lignes horizontales. \\\hline
+  Épaisseur des lignes horizontales. \\\hline
   \verb+vrulewidth+ &
   \verb+0.4pt+ &
-  \'\xC9paisseur des lignes verticales. \\\hline
+  Épaisseur des lignes verticales. \\\hline
   \verb+behaviorsub+ &
   \verb+silent+ &
-  Comportement de \package{xlop} face \xE0 une
-  soustraction \og impossible \fg{}, c'est-\xE0-dire une soustraction
-  ayant ses deux op\xE9randes positives avec une seconde op\xE9rande
-  strictement sup\xE9rieure \xE0 la premi\xE8re. La valeur \verb+silent+
-  effectuera l'op\xE9ration en permutant les op\xE9randes de fa\xE7on
-  silencieuse. La valeur \verb+warning+ fera de m\xEAme mais en
-  \xE9mettant un message d'avertissement. Enfin, la valeur
-  \verb+error+ affichera un message d'erreur et l'op\xE9ration ne
-  sera pas effectu\xE9e. \\\hline
+  Comportement de \package{xlop} face à une
+  soustraction \og impossible \fg{}, c'est-à-dire une soustraction
+  ayant ses deux opérandes positives avec une seconde opérande
+  strictement supérieure à la première. La valeur \verb+silent+
+  effectuera l'opération en permutant les opérandes de façon
+  silencieuse. La valeur \verb+warning+ fera de même mais en
+  émettant un message d'avertissement. Enfin, la valeur
+  \verb+error+ affichera un message d'erreur et l'opération ne
+  sera pas effectuée. \\\hline
   \verb+country+ &
   \verb+french+ &
-  Indique le comportement des op\xE9rations pos\xE9es en fonction du
-  pays. L'extension pr\xE9voit pour l'instant \verb+french+,
-  \verb+american+ et \verb+russian+ mais les diff\xE9rentes
-  fa\xE7ons de pr\xE9senter les op\xE9rations ne sont pas implant\xE9es dans la
+  Indique le comportement des opérations posées en fonction du
+  pays. L'extension prévoit pour l'instant \verb+french+,
+  \verb+american+ et \verb+russian+ mais les différentes
+  façons de présenter les opérations ne sont pas implantées dans la
   version 0.2. \\\hline
   \verb+operandstyle+ &
   &
-  Style utilis\xE9 pour les op\xE9randes. \\\hline
+  Style utilisé pour les opérandes. \\\hline
   \verb+resultstyle+ &
   &
-  Style utilis\xE9 pour les r\xE9sultats. \\\hline
+  Style utilisé pour les résultats. \\\hline
   \verb+remainderstyle+ &
   &
-  Style utilis\xE9 pour les restes. \\\hline
+  Style utilisé pour les restes. \\\hline
   \verb+intermediarystyle+ &
   &
-  Style utilis\xE9 pour les r\xE9sultats interm\xE9diaires (nombres
-  interm\xE9diaires dans une multiplication et nombres \xE0 soustraire
-  dans une division o\xF9 apparaissent les soustractions
+  Style utilisé pour les résultats intermédiaires (nombres
+  intermédiaires dans une multiplication et nombres à soustraire
+  dans une division où apparaissent les soustractions
   successives). \\\hline
   \verb+carrystyle+ &
   \verb+\scriptsize+ &
-  Style utilis\xE9 pour les retenues. La valeur par d\xE9faut lorsqu'on ne
+  Style utilisé pour les retenues. La valeur par défaut lorsqu'on ne
   compile pas sous \LaTeX{} est \verb+\sevenrm+. \\\hline
-\end{longtable}\index{parametres at param\xE8tres!table des|)}
+\end{longtable}\index{parametres at paramètres!table des|)}
 \newpage\endgroup
 
 \chapter{Trucs et astuces}
 \label{chap:Trucs et astuces}
-\section{Comparaison avec \package{calc} et \package{fp}}
+\section{Comparaison avec \package{calc} et \package{xfp}}
 On pourrait croire que \package{xlop} puisse remplacer avantageusement
 des extensions telles que
 \package{calc}\index{extension!calc}\index{calc} et
-\package{fp}\index{extension!fp}\index{fp}. En r\xE9alit\xE9, c'est un peu
-plus compliqu\xE9 que cela. Bien s\xFBr, \package{xlop} permet des calculs
-complexes et sur des nombres comportant un nombre arbitraire de
-chiffres mais, contrairement \xE0 \package{calc}, il ne permet pas de
-g\xE9rer directement les unit\xE9s. La comparaison avec \package{fp} est un
-peu plus r\xE9aliste mais il ne faut pas perdre de vue que \package{xlop}
-peut devenir gourmand en m\xE9moire et en temps de calcul.
+\package{xfp}\index{extension!xfp}\index{xfp}. En réalité, c'est un
+peu plus compliqué que cela. Bien sûr, \package{xlop} permet des
+calculs complexes et sur des nombres comportant un nombre arbitraire
+de chiffres mais, contrairement à \package{calc}, il ne permet pas de
+gérer directement les unités. La comparaison avec \package{xfp} est un
+peu plus réaliste mais il ne faut pas perdre de vue que \package{xlop}
+peut devenir gourmand en mémoire et en temps de calcul. En réalité,
+\package{xfp} est bien plus efficace que \package{xlop} en ce qui
+concerne les calculs purs.
 
-Si vous voulez vraiment r\xE9aliser des calculs sur des
+Si vous voulez vraiment réaliser des calculs sur des
 longueurs\index{longueur}, vous pouvez toujours utiliser le fait
-qu'une affectation d'un registre de longueur \xE0 un compteur donnera un
-nombre correspondant \xE0 cette longueur avec l'unit\xE9 \texttt{sp}.
+qu'une affectation d'un registre de longueur à un compteur donnera un
+nombre correspondant à cette longueur avec l'unité \texttt{sp}.
 \begin{CenterExample}[xrightmargin=0pt]
   \newcommand\getsize[2]{%
     \dimen0=#1\relax
@@ -2104,9 +2237,9 @@
   \getsize{1sp}{r}$1\,\mathrm{sp}=\opprint{r}\,\mathrm{sp}$\quad
 \end{CenterExample}
 N'oubliez cependant pas que le but principal de \package{xlop} est
-d'\emph{afficher} automatiquement les op\xE9rations.
+d'\emph{afficher} automatiquement les opérations.
 
-Muni de la macro \macro{getsize}, il est possible de r\xE9aliser des
+Muni de la macro \macro{getsize}, il est possible de réaliser des
 calculs sur des longueurs.
 \newcommand\getsize[2]{%
   \dimen0=#1\relax
@@ -2133,14 +2266,14 @@
   \opprint{S}\,$\mathrm{cm}^2$
 \end{Verbatim}
 
-\section{Cr\xE9ation d'op\xE9rations complexes}
+\section{Création d'opérations complexes}
 \label{sec:Creation d'operations complexes}
-L'utilisation des macros de \package{xlop} associ\xE9es au m\xE9canisme de
-boucle de \TeX{} permet de cr\xE9er des op\xE9rations \xE0 volont\xE9. Nous ne
-donnerons que deux exemples. Le premier est la d\xE9composition d'un
-nombre en facteurs premiers, le second est un calcul g\xE9n\xE9ral de
+L'utilisation des macros de \package{xlop} associées au mécanisme de
+boucle de \TeX{} permet de créer des opérations à volonté. Nous ne
+donnerons que deux exemples. Le premier est la décomposition d'un
+nombre en facteurs premiers, le second est un calcul général de
 fraction continue.\index{nombre!premier}\index{boucle|(}%
-\index{decomposition at d\xE9composition en nombres premiers}
+\index{decomposition at décomposition en nombres premiers}
 \begin{Verbatim}[xrightmargin=0pt]
   \newcount\primeindex
   \newcount\tryindex
@@ -2230,7 +2363,7 @@
   \endgroup
 }
 
-Avec ce code, on dispose d'un moyen de cr\xE9er une liste de nombres
+Avec ce code, on dispose d'un moyen de créer une liste de nombres
 premiers (en l'occurrence les 20~premiers).
 \begin{SideBySideExample}
   \getprime{20}%
@@ -2238,18 +2371,18 @@
   \opprint{P9}, \ldots \opprint{P19}.
 \end{SideBySideExample}
 
-On notera toutefois que ce code est tr\xE8s mauvais, il est excessivement
-lent et n'apporte rien par rapport \xE0 une approche directe avec des
-nombres manipul\xE9s par les op\xE9rations natives de \TeX{}. Ce n'est
-qu'un exemple p\xE9dagogique. On notera \xE9galement l'astuce permettant
-d'embo\xEEter deux boucles avec la macro \verb+\testprimality+
-enti\xE8rement mise dans un groupe : s'il est n\xE9cessaire de rendre les
+On notera toutefois que ce code est très mauvais, il est excessivement
+lent et n'apporte rien par rapport à une approche directe avec des
+nombres manipulés par les opérations natives de \TeX{}. Ce n'est
+qu'un exemple pédagogique. On notera également l'astuce permettant
+d'emboîter deux boucles avec la macro \verb+\testprimality+
+entièrement mise dans un groupe : s'il est nécessaire de rendre les
 affectations \verb+\primetrue+ et \verb+\primefalse+ globales, les
-op\xE9rations de \package{xlop} rendent leurs r\xE9sultats globaux
+opérations de \package{xlop} rendent leurs résultats globaux
 directement.\index{affectation globale}%
 
 Une fois que vous avez votre \og table \fg{} de nombres premiers, vous
-pouvez vous en servir pour d\xE9composer un nombre en facteurs
+pouvez vous en servir pour décomposer un nombre en facteurs
 premiers.
 \begin{CenterExample}[xrightmargin=0pt]
   \newcommand\primedecomp[2][nil]{%
@@ -2308,28 +2441,28 @@
                intermediarystyle.2=\red]{252}
 \end{CenterExample}
 Dans ce code, on notera l'emploi d'un groupe entourant l'ensemble de
-la macro pour prot\xE9ger les modifications de param\xE8tres de
-\package{xlop}.\index{parametre at param\xE8tre!modifications locales}
-\`A ce propos, on notera \xE9galement qu'un param\xE8tre vide n'est pas
-accept\xE9. C'est tout \xE0 fait volontaire, l'auteur de l'extension pensant
-qu'un utilisateur tapant des crochets sans rien mettre \xE0 l'int\xE9rieur
-est sans doute en train de commettre une erreur. Pour pallier \xE0 cette
-impossibilit\xE9 de transmettre un param\xE8tre vide
-\index{parametre at param\xE8tre!vide}%
-il existe le param\xE8tre particulier \parameter{nil} qui a exactement ce
-r\xF4le.
+la macro pour protéger les modifications de paramètres de
+\package{xlop}.\index{parametre at paramètre!modifications locales}
+\`A ce propos, on notera également qu'un paramètre vide n'est pas
+accepté. C'est tout à fait volontaire, l'auteur de l'extension pensant
+qu'un utilisateur tapant des crochets sans rien mettre à l'intérieur
+est sans doute en train de commettre une erreur. Pour pallier à cette
+impossibilité de transmettre un paramètre vide
+\index{parametre at paramètre!vide}%
+il existe le paramètre particulier \parameter{nil} qui a exactement ce
+rôle.
 \index{boucle|)}
 
 On notera enfin l'astuce \verb+{\setbox2=\box2}+ qui permet
-d'obtenir un registre de bo\xEEte vide et les manipulations finales
-permettant de repr\xE9senter la barre verticale de fa\xE7on lisible.
+d'obtenir un registre de boîte vide et les manipulations finales
+permettant de représenter la barre verticale de façon lisible.
 
 Le second exemple permet de calculer une fraction continue du type :
 \def\dfrac#1#2{\frac{\displaystyle #1}{\displaystyle #2}}
 \[a_0+\dfrac{1}{a_1+\dfrac{1}{a_2+\dfrac{1}{a_3+\cdots}}}\]
-en donnant la suite $a_0,a_1,a_2,a_3,\ldots$ \xE0 la macro. L'exemple
+en donnant la suite $a_0,a_1,a_2,a_3,\ldots$ à la macro. L'exemple
 donne les fractions correspondant au nombre d'or et aux racines
-carr\xE9es de~2 et~3.
+carrées de~2 et~3.
 \makeatletter
 \begin{CenterExample}[xrightmargin=0pt]
   \begingroup
@@ -2361,33 +2494,33 @@
   \continuedfraction{1,1,2,1,2,1,2,1,2,1,2,1}{r}\opprint{r}
 \end{CenterExample}
 \makeatother
-Une fois n'est pas coutume, nous avons fait appel \xE0 des commandes
-\LaTeX{} pour effectuer une boucle. Ce manuel \xE9tant compos\xE9 en
-fran\xE7ais, le caract\xE8re \og \texttt{\string:} \fg{} est actif ce qui
-emp\xEAche la macro \verb+\@for+ de fonctionner correctement d'o\xF9 le
-groupe o\xF9 ce caract\xE8re re\xE7oit un code de cat\xE9gorie ad\xE9quat.
+Une fois n'est pas coutume, nous avons fait appel à des commandes
+\LaTeX{} pour effectuer une boucle. Ce manuel étant composé en
+français, le caractère \og \texttt{\string:} \fg{} est actif ce qui
+empêche la macro \verb+\@for+ de fonctionner correctement d'où le
+groupe où ce caractère reçoit un code de catégorie adéquat.
 
-\section{Acc\xE8s direct aux nombres}
+\section{Accès direct aux nombres}
 \label{sec:Acces direct aux nombres}
-Lorsqu'on r\xE9cup\xE8re un nombre dans une variable, on peut le traiter de
-multiples fa\xE7ons \xE0 l'aide des macros de \package{xlop}. Toutefois,
+Lorsqu'on récupère un nombre dans une variable, on peut le traiter de
+multiples façons à l'aide des macros de \package{xlop}. Toutefois,
 dans certaines situations, on peut souhaiter construire ses propres
 macros ou utiliser des macros externes en passant un tel nombre en
-param\xE8tre.
+paramètre.
 
-Passer directement \verb+\opprint{var}+ est inop\xE9rant car cette macro
+Passer directement \verb+\opprint{var}+ est inopérant car cette macro
 est suffisamment complexe pour induire des effets de bord dans ce
-genre de situations. Il devient alors n\xE9cessaire d'acc\xE9der directement
-\xE0 ce nombre. Lorsqu'un nombre est m\xE9moris\xE9 dans une variable
-\verb+var+, \package{xlop} cr\xE9e une macro
+genre de situations. Il devient alors nécessaire d'accéder directement
+à ce nombre. Lorsqu'un nombre est mémorisé dans une variable
+\verb+var+, \package{xlop} crée une macro
 \texttt{$\backslash$Op at var}\index{Opvar@\texttt{\boi {Op\at var}}}
 qui contient
 ce nombre. On notera le \og O \fg{} majuscule et le \og p \fg{}
-minuscule. L'arrobas est l\xE0 pour rendre cette d\xE9finition priv\xE9e
-c'est-\xE0-dire qu'il faut faire un effort pour y acc\xE9der avec
+minuscule. L'arrobas est là pour rendre cette définition privée
+c'est-à-dire qu'il faut faire un effort pour y accéder avec
 l'utilisation des macros \macro{makeatletter} et \macro{makeatother}
-de \LaTeX{} ou bien en indiquant un code de cat\xE9gorie \xE9gal \xE0~11
-(lettre) pour ce caract\xE8re lorsqu'on travaille sous \TeX{}.
+de \LaTeX{} ou bien en indiquant un code de catégorie égal à~11
+(lettre) pour ce caractère lorsqu'on travaille sous \TeX{}.
 \begin{SideBySideExample}
   \opcopy{1234}{a}\opcopy{56}{b}%
   \opmul*{a}{b}{r}%
@@ -2397,66 +2530,64 @@
   \makeatother
 \end{SideBySideExample}
 
-On notera que cette fa\xE7on de faire ne fonctionne plus forc\xE9ment
-lorsque le s\xE9parateur d\xE9cimal est entre accolade car la macro
+On notera que cette façon de faire ne fonctionne plus forcément
+lorsque le séparateur décimal est entre accolade car la macro
 \verb+\opprint{var}+ contiendra ces accolades. Dans ce cas, le plus
-simple est de passer par la macro \macro{opexport} d\xE9crite \xE0 la
+simple est de passer par la macro \macro{opexport} décrite à la
 page~\pageref{macro-opexport}.
 
 \chapter{Versions futures}
 \label{chap:Versions futures}
-L'extension \package{xlop} en est \xE0 sa version~\fileversion{} qui
-n'est qu'une version d\xE9bogu\xE9e de la version~0.2 qui est elle m\xEAme
-essentiellement une version corrig\xE9e de la version~0.1 (premi\xE8re
+L'extension \package{xlop} en est à sa version~\fileversion{} qui
+n'est qu'une version déboguée de la version~0.2 qui est elle même
+essentiellement une version corrigée de la version~0.1 (première
 version publique). La prochaine version sera la~0.3 dont la version
 \og stable \fg{} sera alors la version~0.4.
 
-L'ensemble des sp\xE9cificit\xE9s de la version 0.3 n'est pas totalement
-arr\xEAt\xE9 mais il y a d\xE9j\xE0 plusieurs points pr\xE9vus :
+L'ensemble des spécificités de la version 0.3 n'est pas totalement
+arrêté mais il y a déjà plusieurs points prévus :
 \begin{itemize}
-\item gestion internationale des op\xE9rations pos\xE9es ;
-\item op\xE9rations en base 2 \xE0 36 ;
+\item gestion internationale des opérations posées ;
+\item opérations en base 2 à 36 ;
 \item ajout de fonctions de haut niveau avec les racines
   (\macro{oproot} pour les racines quelconques et \macro{opsqrt} pour
-  la racine carr\xE9e), exponentielle, logarithme, fonctions
-  trigonom\xE9triques (directes, inverses, hyperboliques) en passant par
-  l'extension \package{xfp} qui est une version d\xE9bogu\xE9e (par
+  la racine carrée), exponentielle, logarithme, fonctions
+  trigonométriques (directes, inverses, hyperboliques) en passant par
+  l'extension \package{xfp} qui est une version déboguée (par
   l'auteur) de l'extension \package{fp} ;
-\item ajout d'une macro permettant de r\xE9aliser une \xE9criture format\xE9e,
-  c'est-\xE0-dire une \xE9criture d'un nombre o\xF9 les longueurs des parties
-  enti\xE8re et d\xE9cimale seront indiqu\xE9es (si ces longueurs ne sont pas
-  celles du nombre, il y aura un d\xE9bordement ou un remplissage) ;
+\item ajout d'une macro permettant de réaliser une écriture formatée,
+  c'est-à-dire une écriture d'un nombre où les longueurs des parties
+  entière et décimale seront indiquées (si ces longueurs ne sont pas
+  celles du nombre, il y aura un débordement ou un remplissage) ;
   cette macro existait dans la version~0.1 et permettait
   essentiellement d'afficher des nombres avec un alignement sur la
-  virgule, au fer \xE0 droite ou au fer \xE0 gauche ;
-\item ajout d'une macro permettant les additions \xE0 plus de deux
-  op\xE9randes ;
-\item ajout d'un param\xE8tre permettant l'\xE9criture scientifique ou
-  ing\xE9nieur ;
-\item possibilit\xE9 d'\xE9crire un nombre sur plusieurs lignes et/ou en
-  utilisant un s\xE9parateur des milliers ;
+  virgule, au fer à droite ou au fer à gauche ;
+\item ajout d'un paramètre permettant l'écriture scientifique ou
+  ingénieur ;
+\item possibilité d'écrire un nombre sur plusieurs lignes et/ou en
+  utilisant un séparateur des milliers ;
 \item retenues dans les multiplications ;
 \item rendre publics les restes successives d'une division ;
-\item les valeurs n\xE9gatives de \parameter{maxdivstep} et
-  \parameter{safedivstep} r\xE9aliseront un comptage sur les chiffres
-  d\xE9cimaux du quotient ;
+\item les valeurs négatives de \parameter{maxdivstep} et
+  \parameter{safedivstep} réaliseront un comptage sur les chiffres
+  décimaux du quotient ;
 \item manuel en anglais.
 \end{itemize}
 
 Pour toute demande ou rapport de bogue, l'auteur vous sera
-\xE9ternellement reconnaissant de le contacter \xE0 l'adresse :
+éternellement reconnaissant de le contacter à l'adresse :
 \begin{verbatim}
     Jean-Come.Charpentier at wanadoo.fr
 \end{verbatim}
-en pla\xE7ant le mot \og \texttt{xlop} \fg{} dans le sujet du message.
+en plaçant le mot \og \texttt{xlop} \fg{} dans le sujet du message.
 
 Il serait souhaitable d'avoir un manuel du hacker qui expliquerait en
-d\xE9tail le code source. Cet outil pourrait \xEAtre tout \xE0 fait b\xE9n\xE9fique
-pour que chacun puisse apporter plus facilement des am\xE9liorations au
+détail le code source. Cet outil pourrait être tout à fait bénéfique
+pour que chacun puisse apporter plus facilement des améliorations au
 code. Malheureusement, le code actuel fait plus de~\nombre{4000}
-lignes et le travail n\xE9cessaire risque d'\xEAtre trop important.
-\xC9ventuellement, il pourra y avoir un manuel du hacker expliquant les
-sp\xE9cifications g\xE9n\xE9rales du code sans entrer dans trop de d\xE9tails
+lignes et le travail nécessaire risque d'être trop important.
+Éventuellement, il pourra y avoir un manuel du hacker expliquant les
+spécifications générales du code sans entrer dans trop de détails
 techniques.
 
 %\printindex

Modified: trunk/Master/texmf-dist/doc/generic/xlop/xlop-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/generic/xlop/xlop-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/xlop/xlop-doc.tex	2020-04-29 12:43:06 UTC (rev 54935)
+++ trunk/Master/texmf-dist/doc/generic/xlop/xlop-doc.tex	2020-04-29 21:21:14 UTC (rev 54936)
@@ -1,16 +1,62 @@
 \documentclass[12pt]{report}
-\usepackage{manual}
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+\usepackage{fourier}
+\usepackage[scaled]{helvet}
+\usepackage[scaled]{luximono}
+\usepackage{makeidx}
+\usepackage{longtable}
+\usepackage{multicol}
+\usepackage{pst-node}
+\usepackage{fancyvrb-ex}
+\usepackage{geometry}
+\usepackage{xlop}
 \usepackage[english]{babel}
 \usepackage[autolanguage]{numprint}
 \usepackage{dcolumn}
+\usepackage{hyperref}
+\usepackage{microtype}
 
+\fvset{label=source}% english
+
 \newcommand*\boi{\textbackslash}
 \newcommand*\at{@}
-\fvset{label=source}% english
 
-\renewcommand\parameter[1]{\texttt{#1}\index{#1@\texttt{#1}}%
+\fvset{xrightmargin=5cm,frame=single,fontsize=\small}
+\geometry{a4paper,left=4cm,right=4cm,top=3cm,bottom=3cm,nohead}
+
+\let\SBSori\SideBySideExample
+\def\SideBySideExample{%
+  \par\bigbreak\SBSori
+}
+\let\endSBSori\endSideBySideExample
+\def\endSideBySideExample{%
+  \endSBSori
+  \par\bigskip\noindent
+}
+
+\newenvironment{syntaxBNF}{%
+  \catcode`\_=12
+  \def\*##1*{$\langle$##1$\rangle$}%
+  \def\alt{\unskip~$|$~\ignorespaces}%
+  \def\sameline{\multicolumn{1}{c}{} & \null\quad}%
+  \ttfamily
+  \begin{center}\begin{tabular}{r@{\quad:=\quad}l}}
+{\end{tabular}\end{center}}
+
+\setlongtables
+\newcommand\package[1]{\textsf{#1}}
+\newcommand\file[1]{\texttt{#1}}
+
+\newcommand\macro[1]{\texttt{$\backslash$#1}\index{#1@\texttt{\boi {#1}}}}
+\newcommand\parameter[1]{\texttt{#1}\index{#1@\texttt{#1}}%
   \index{parameter!\texttt{#1}}}
 
+\newcommand\bull{\vrule width3pt height4pt depth-1pt}
+
+\newcounter{stuff}
+\makeindex
+
 \begin{document}
 \begin{titlepage}
   \null\par\vfill
@@ -32,7 +78,7 @@
   \end{center}
   \vfill
   \begin{center}
-    Jean-C\xF4me Charpentier\\
+    Jean-Côme Charpentier\\
     \today
   \end{center}
   \vfill\null\par
@@ -44,9 +90,9 @@
 \pagenumbering{arabic}
 
 \chapter{Overview}
-\label{chap:Pr\xE9sentation}
+\label{chap:Présentation}
 The \package{xlop} package is intended to make automatic arithmetic
-operation on arbitrary sized numbers and to display result either on
+operations on arbitrary sized numbers and to display result either on
 display mode or inline mode. Here is a first exemple for an overview
 of the syntax:
 \begin{SideBySideExample}
@@ -156,13 +202,13 @@
 
 \chapter{\package{xlop} Instructions}
 Except some macros which will be examined later, the \package{xlop}'s
-macros can have an optional argument between squared braces in order
-to localy modify parameter's values. The other arguments (mandatory)
+macros can have an optional argument between brackets in order
+to localy modify parameter's values. The other (mandatory) arguments
 are (nearly) always numbers. The two sections of this chapter describe
 in details what is a number for \package{xlop} and how use parameters.
 
 \section{In the Beginning Was the Number}
-\label{sec:Au d\xE9but etait le nombre}
+\label{sec:Au début etait le nombre}
 \subsection{Size}
 \label{subsec:Taille}
 Before we see the general syntax of number, we examin the very
@@ -179,7 +225,7 @@
 two operands of same size, on a linux computer, pentium~II~600 and
 256~Mb RAM:\footnote{In fact it was the author computer in 2004. The
   actual author computer is \emph{more} powerfull but the author is
-  lazy, and he has not remake the tests!}
+  lazy, and he has not remade the tests!}
 \begin{center}
   \begin{tabular}{|l|*{6}{c|}}
     \hline
@@ -217,7 +263,7 @@
   \*sep* \\
   \sameline \textnormal{, and } \*digit*
 \end{syntaxBNF}
-\index{syntax!BNF}\index{BNF grammar}
+\index{syntax (BNF)}\index{BNF syntax}
 
 The \texttt{character} symbol means nearly any character accepted by
 \TeX{}. The exceptions are characters \verb+%+ and \verb+#+ which are
@@ -239,7 +285,7 @@
 could seem useless but it is not true. For instance, you can realize
 loops\index{loop} with names as \verb+r1+, \verb+r2+, \ldots,
 \verb+r<n>+ using the code \verb+r\the\cpt+ as variable name, where
-\verb+cpt+ is a counter in the \TeX{} meaning. With \LaTeX{}, the code
+\verb+cpt+ is a counter in \TeX{} meaning. With \LaTeX{}, the code
 is more verbose with \verb+r\number\value{cpt}+ where \verb+cpt+ is
 now a \LaTeX{} counter. We will see an example using this syntax in
 the section~\ref{sec:Creation d'operations complexes}
@@ -246,7 +292,7 @@
 page~\pageref{sec:Creation d'operations complexes}.
 
 \index{number!valid}In practice, what does it mean all these rules?
-First, they means that a number writes in a decimal form can be
+First, they mean that a number written in a decimal form can be
 preceded by any sequence of plus or minus signs. Obviously, if there
 is an odd number of minus signs, the number will be negative. Next, a
 decimal number admits only one decimal separator symbol which can
@@ -266,7 +312,7 @@
 \begin{Verbatim}[xrightmargin=0pt]
   \opset{decimalsepsymbol={,}}
 \end{Verbatim}
-give the comma as decimal separator symbol for the whole document, at
+gives the comma as decimal separator symbol for the whole document, at
 least, until another redefinition with \verb+\opset+.
 
 \subsection{Symbols}
@@ -273,7 +319,8 @@
 \label{subsecSymboles}
 The \parameter{afterperiodsymbol} parameter indicates the symbol that
 follows a quotient in line in a division with period
-search\index{division!period}. Its default value is \verb+$\ldots$+
+search\index{division!period}. We will see this parameter with the
+division. Its default value is \verb+$\ldots$+
 
 The \parameter{equalsymbol} parameter indicates the symbol used for
 equality. Its default value is  \verb+$=$+. In fact, this parameter is
@@ -305,9 +352,11 @@
 default value.
 \begin{SideBySideExample}
   top\quad
-  \opadd[voperation=top]{45}{172}\par
+  \opadd[voperation=top]{45}{172}
+
   center\quad
-  \opadd[voperation=center]{45}{172}\par
+  \opadd[voperation=center]{45}{172}
+
   bottom\quad
   \opadd[voperation=bottom]{45}{172}
 \end{SideBySideExample}
@@ -317,16 +366,18 @@
 \verb+center+ (default value), and \verb+bottom+.
 \begin{SideBySideExample}
   top\quad
-  \opadd[voperator=top]{45}{172}\par
+  \opadd[voperator=top]{45}{172}
+  
   center\quad
-  \opadd[voperator=center]{45}{172}\par
+  \opadd[voperator=center]{45}{172}
+  
   bottom\quad
   \opadd[voperator=bottom]{45}{172}
 \end{SideBySideExample}
 
-The \parameter{deletezero} parameter indicates if some numbers in
+The \parameter{deletezero} parameter indicates if numbers in
 operation should be displayed with or whithout non-significant
-zeros. Exact r\xF4le of this parameter depends of the actual
+zeros. Exact rôle of this parameter depends of the actual
 operation. We will see that when we will study the different
 operations.
 
@@ -374,10 +425,10 @@
 \subsection{Dimensions}
 \label{subsec:Dimensions}
 In displayed operations, figures are put in fixed size boxes. The
-width is given by the \parameter{lineheight} parameter and the height
-is given by the \parameter{lineheight} parameter. The default value of
-\texttt{lineheight} is \verb+\baselineskip+ that is, interline space
-in operation is the same (by default) as in the normal text. The
+width and height are given by the \parameter{lineheight}
+and \parameter{lineheight} parameters. The default value of
+\texttt{lineheight} is \verb+\baselineskip+, that is, the interline
+space in operation is the same (by default) as in the normal text. The
 default value for \texttt{columnwidth} is \texttt{2ex} because the
 ``normal'' width of figures would give bad results.
 \begin{SideBySideExample}
@@ -393,14 +444,14 @@
          decimalsepwidth=0.27778em]
         {45.89}{127.5}
 \end{SideBySideExample}
-It is better but give a positive width to the box that contain the
-decimal separator is risked. It will be more difficult to place
-extern object and it is counter against the idea to have a fixed
+It is better but it is dangerous to give a positive width to the box
+which contains the decimal separator. It will be more difficult to
+place extern object and it is counter against the idea to have a fixed
 grid. You should avoid this in normal time.
 
 The \parameter{columnwidth} and \parameter{lineheight} parameters
 correspond to the only dimensions that \package{xlop} provides as
-public one, that is,
+public ones, that is,
 \verb+\opcolumnwidth+\index{opcolumnwidth@\texttt{$\backslash$opcolumnwidth}}
 and
 \verb+\oplineheight+\index{oplineheight@\texttt{$\backslash$oplineheight}}
@@ -421,8 +472,8 @@
   \opadd[hrulewidth=8pt]{42}{172}
 \end{SideBySideExample}
 
-There is also a paramater which allows to control the horizontal shift
-of decimal separator. It is the \parameter{decimalsepoffset} paramater
+There is also a parameter which allows to control the horizontal shift
+of decimal separator. It is the \parameter{decimalsepoffset} parameter
 with a default value of~\texttt{-0.35}. This value indicates a length
 with the unit \verb+\opcolumnwidth+. We will see an example at
 section~\ref{sec:Division} page~\pageref{sec:Division}.
@@ -430,7 +481,7 @@
 \subsection{Figure's Styles}
 \label{subsec:Styles des chiffres}
 The \package{xlop} package provides five types of numbers and
-associates five style paramaters:
+associates five style parameters:
 \begin{itemize}
 \item operands with \parameter{operandstyle};
 \item result with \parameter{resultstyle};
@@ -445,7 +496,7 @@
          {45.89}{127.5}
 \end{SideBySideExample}
 Keep in mind that, in this manual, we use
-\package{pstricks}\index{pstricks} package.
+\package{pstricks}\index{pstricks@\package{pstricks}} package.
 
 \index{parameter!index|(}%
 In fact, the management of these styles is even more powerfull since
@@ -465,7 +516,7 @@
 second operand, so it takes the basic style for its class. (Then with
 \verb+\blue+ style.)
 
-This mechanism is even more powerfull since you can write two level
+This mechanism is even more powerfull since you can write two levels
 index for operands, carries, and intermediary numbers (one level for
 result and carry) in order to access to each style figure of these
 numbers. To simplify index, a positive index indicates the rank of a
@@ -522,7 +573,7 @@
 \index{parameter!syntax|)}
 
 \chapter{Arithmetic Operations}
-\label{chap:Op\xE9rations arithm\xE9tiques}
+\label{chap:Opérations arithmétiques}
 \section{Addition}
 \label{sec:Addition}
 Addition is deal by the \macro{opadd} macro. When it is in display
@@ -554,7 +605,7 @@
 The \parameter{lastcarry} parameter is also a boolean parameter. It
 indicates if a carry without matching digit for the two operands must
 be showed or not. Its default value is \texttt{false}. Take care to
-the exact r\xF4le of this parameter. For instance, if the second operand
+the exact rôle of this parameter. For instance, if the second operand
 in the following example is~15307, the last carry would be showed for
 any value of the \texttt{lastcarry} parameter since there is a
 matching digit in the second operand.
@@ -575,19 +626,85 @@
 \package{xlop} package adds non-significant zeros. Also, the
 non-significant zeros of operands are not removed.
 \begin{SideBySideExample}
-  \opadd{012.3427}{5.2773}\par
+  \opadd{012.3427}{5.2773}
+  
   \opadd[deletezero=false]
     {012.3427}{5.2773}
 \end{SideBySideExample}
 
-This parameter has exactly the same r\xF4le for inline mode than for
+This parameter has exactly the same rôle for inline mode than for
 displayed mode.
 \begin{SideBySideExample}
-  \opadd[style=text]{02.8}{1.2}\par
+  \opadd[style=text]{02.8}{1.2}
+
   \opadd[style=text,
-         deletezero=false]{02.8}{1.2}\par
+         deletezero=false]{02.8}{1.2}
 \end{SideBySideExample}
 
+Version 0.27 adds a \macro{opmanyadd} macro in order to add more than
+two operands. There are some limitations:
+\begin{itemize}
+\item all the operands must be non negative;
+\item some parameters are useless, for instance \parameter{style};
+\item carries aren't displayed.
+\end{itemize}
+In the other hand, the \parameter{vmanyoperator} allows to control the
+operator signs.
+
+Here is the first example with the basic syntax. The operands must be
+enclosed inside braces. The number of arguments is not limited.
+\begin{SideBySideExample}
+  \opmanyadd{123.4}{3.1416}
+            {2.71828}{0.001}
+\end{SideBySideExample}
+
+The \macro{opmanyadd} macro accepts the style parameters for operands
+and result. About the operand style, the first index is the operand's
+place (top to bottom ones) and the second index is the digit of
+operand. For instance:
+\begin{SideBySideExample}
+  \newcommand\R{\color{red}}
+  \opmanyadd[operandstyle.2.3=\R,
+             operandstyle.3.3=\R,
+             resultstyle.3=\R,
+             resultstyle.4=\R]
+             {12.6}{853.3}{158.1}
+\end{SideBySideExample}
+This example shows that non significant zeros are discarded. They can
+be display with the \parameter{deletezero} parameter at false value:
+\begin{SideBySideExample}
+  \opmanyadd[deletezero=false]
+            {12.6}{853.3}{158.1}
+\end{SideBySideExample}
+
+The \macro{opmanyadd} macro uses also the \parameter{voperation}
+parameter as for \macro{opadd} macro.
+
+There is a parameter which is specific to \macro{opmanyadd}:
+the \parameter{vmanyoperator} one. These parameter allows to
+display plus operator in six different ways.
+\begin{CenterExample}
+  \opmanyadd{1}{12}{123}{1234}\quad
+  \opmanyadd[vmanyoperator=center]
+            {1}{12}{123}{1234}\quad
+  \opmanyadd[vmanyoperator=top]
+            {1}{12}{123}{1234}\quad
+  \opmanyadd[vmanyoperator=bottom]
+            {1}{12}{123}{1234}
+\end{CenterExample}
+We can see that the default value is center. The values with lowercase
+first letter display as many operators than operands minus one. The
+same values with upercase first letter display one single plus
+operator:
+\begin{CenterExample}
+  \opmanyadd[vmanyoperator=Center]
+            {1}{12}{123}{1234}\quad
+  \opmanyadd[vmanyoperator=Top]
+            {1}{12}{123}{1234}\quad
+  \opmanyadd[vmanyoperator=Bottom]
+            {1}{12}{123}{1234}
+\end{CenterExample}
+
 \section{Substraction}
 \label{sec:soustraction}
 Substraction is made by \macro{opsub} macro. In displayed mode, the
@@ -990,7 +1107,7 @@
 Since these commands don't display anything, parameters don't make
 sens and aren't allowed for \macro{opadd*}, \macro{opsub*},
 \macro{opmul*}, and \macro{opidiv*}. In the other hand,
-parameters \parameter{maxdivestep}, \parameter{safedivstep},
+parameters \parameter{maxdivstep}, \parameter{safedivstep},
 and \parameter{period} influence calculations, then \macro{opdiv*}
 macro accepts an optional argument to take account of them.
 \begin{SideBySideExample}
@@ -1135,7 +1252,7 @@
 are numbered from left to right. For instance, with the number
 1234.56789, the second figure is 8, the second figure of the integer
 part is 3, and the second figure of the decimal part is 6. It is now
-easy to guess the r\xF4le of the six next macros:
+easy to guess the rôle of the six next macros:
 \begin{itemize}
 \item \parameter{opgetdigit} ;
 \item \parameter{opsetdigit} ;
@@ -1146,11 +1263,11 @@
 \end{itemize}
 Syntax is the same for these macros. The first argument is the
 processed number (reading or writting), the second one is the index of
-te figure, and the third one is the variable name which hold the
-result (figure read or changed number). If index is out of the range,
-the reading macros give  \texttt{0} as result and writing macros
-extend the number in order to reach this index (for that, zero will be
-created in new slots).
+the figure, and the third one is the variable name which hold the
+result (figure read) or the new figure (changed number). If index is
+out of the range, the reading macros give \texttt{0} as result and
+writing macros extend the number in order to reach this index (for
+that, zero will be created in new slots).
 
 \section{Comparisons}
 \label{sec:Comparaisons}
@@ -1438,8 +1555,8 @@
 Formulas accept usual arithmetic operators \texttt{+}, \texttt{-},
 \texttt{*}, and \texttt{/}. They accept also \texttt{:} operator for
 euclidian division, and  \verb+^+ for power. The \texttt{-} operator
-has both r\xF4le of substraction and unary operator for opposite. The
-\texttt{+} has also these r\xF4les, here the unary operator do\dots{}
+has both rôle of substraction and unary operator for opposite. The
+\texttt{+} has also these rôles, here the unary operator do\dots{}
 nothing! Operands are written in decimal form or \emph{via} variable
 name. However, \macro{opexpr} introduces a restriction about variable
 name since variable names must be different to function names
@@ -1487,7 +1604,7 @@
 
 \appendix
 \chapter{Short Summary}
-\label{chap:Aide-m\xE9moire}
+\label{chap:Aide-mémoire}
 \section{Compilation times}
 \label{sec:Temps de compilation}
 Compilation times was measured on a computer with
@@ -1700,6 +1817,8 @@
   \verb+\oplput(T1,T2){<object>}+ &
   Put \verb+<object>+ to the right of the point with coordinates
   \verb+(T1,T2)+ in relation to reference point. \\\hline
+  \verb+opmanyadd[P]{n1}...{np}+ &
+  Display result of $\mathrm{n1}+\cdots+\mathrm{np}$ \\\hline
   \verb+\opmul[P]{n1}{n2}+ &
   Display result of \verb+n1*n2+. \\\hline
   \verb+\opmul*{n1}{n2}{N}+ &
@@ -1763,7 +1882,7 @@
 
 \section{Parameter list}
 \label{sec:Liste des parametres}
-\index{parameter at parameter!table of|(}%
+\index{parameter!table of|(}%
 \begingroup
 \advance\hoffset by-1.75cm \advance\linewidth by1.75cm
 \begin{longtable}{|l|l|p{7cm}|}
@@ -1822,9 +1941,21 @@
   displayed only for additional shifting (value \verb+shift+), for
   all the shifting (value \verb+all+), or never (value
   \verb+none+). \\\hline
+  \verb+vmanyoperator+ &
+  \verb+center+ &
+  Vertical alignment for add symbol in displayed many operand
+  addition. The value \verb+top+ put operators from the level of first
+  operand to the level of second to last operand. The value
+  \verb+center+ put operators between operands. The value
+  \verb+bottom+ put operators from the level of second operand to the
+  level of last operand. The value \verb+Top+ put one single operator
+  at the level of first operand. The value \verb+\center+ put one
+  single operator at the vertical middle of operands. The value
+  \verb+Bottom+ put one single operator at the level of last
+  operand. \\\hline
   \verb+voperation+ &
   \verb+bottom+ &
-  Vertical alignement for displayed operation. The value \verb+bottom+
+  Vertical alignment for displayed operation. The value \verb+bottom+
   indicates that the bottom of operation will be aligned with
   baseline. The value \verb+top+ indicates that the top of operation
   will be aligned with baseline. The value \verb+center+ indicates
@@ -1831,15 +1962,15 @@
   that operation will be verticaly centred with baseline. \\\hline
   \verb+voperator+ &
   \verb+center+ &
-  Vertical alignement for operators in displayed operations. The value
+  Vertical alignment for operators in displayed operations. The value
   \verb+top+ put operator at the level of first operand. The value
   \verb+bottom+ put operator at the level of second operand. The value
   \verb+center+ put operator between operands. \\\hline
   \verb+hfactor+ &
   \verb+decimal+ &
-  Sort of operands alignement for displayed operation. The value
-  \verb+decimal+ indicates an alignement on decimal separator. The
-  value \verb+right+ indicates a flushright alignement. \\\hline
+  Sort of operands alignment for displayed operation. The value
+  \verb+decimal+ indicates an alignment on decimal separator. The
+  value \verb+right+ indicates a flushright alignment. \\\hline
   \verb+vruleperiod+ &
   \verb+-0.2+ &
   Vertical position of rule which indicates period of quotient for
@@ -1954,20 +2085,21 @@
   \verb+\scriptsize+ &
   Style for carries. The default value when compilation are made
   without \LaTeX{} is \verb+\sevenrm+. \\\hline
-\end{longtable}\index{parameter at parameter!table of|)}
+\end{longtable}\index{parameter!table of|)}
 \endgroup
 
 \chapter{Tricks}
 \label{chap:Trucs et astuces}
-\section{\package{xlop} vs. \package{calc} and \package{fp}}
+\section{\package{xlop} vs. \package{calc} and \package{xfp}}
 You could believe that \package{xlop} can replace package such
 \package{calc}\index{package!calc}\index{calc} and
-\package{fp}\index{package!fp}\index{fp}. In fact, that is not so
+\package{xfp}\index{package!xfp}\index{xfp}. In fact, that is not so
 simple. Obviously \package{xlop} can do complex calculations, on arbitrary
 long numbers but, unlike \package{calc}, it don't allow to process
-directly dimensions. Comparison with \package{fp} is somewhere more
+directly dimensions. Comparison with \package{xfp} is somewhere more
 realistic but remember that \package{xlop} can make memory usage too
-high.
+high. In fact \package{xfp} is far more powerfull than \package{xlop}
+about pure calmculation!
 
 If you want to process calculations on length\index{length}, you can use
 that a dimen register allocation to a counter gives a number which
@@ -2182,7 +2314,7 @@
 user who write brackets without anything between these brackets is
 going to make a mistake. To obviate this
 prohibition\index{parameter!void}, there is the particular
-parameter \parameter{nil} which has exactly this r\xF4le.
+parameter \parameter{nil} which has exactly this rôle.
 \index{loop|)}
 
 Finally, note the trick \verb+{\setbox2=\box2}+ to obtain a void box
@@ -2272,8 +2404,8 @@
 The features of version~0.3 aren't definitively fixed but there are
 some points planned:
 \begin{itemize}
-\item international version for pos\xE9es;
-\item op\xE9rations from 2 to 36~basis;
+\item international version for posées;
+\item opérations from 2 to 36~basis;
 \item additional high level functions with roots (\macro{oproot} for
   any roots and \macro{opsqrt} for square root), exponential function,
   logarithm, trigonometric functions (direct, inverse, hyperbolic);
@@ -2282,7 +2414,6 @@
   are not the ones of the number, there will be overflow or filling);
   this macro was present in version~0.1 and allow to display numbers
   decimal aligned, right aligned, or left aligned;
-\item macro for addition with more than two operands;
 \item parameter for scientific or engineer notation;
 \item macro to allow to write a multi-line number and/or with thousand
   separator;

Modified: trunk/Master/texmf-dist/tex/generic/xlop/xlop.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/xlop/xlop.sty	2020-04-29 12:43:06 UTC (rev 54935)
+++ trunk/Master/texmf-dist/tex/generic/xlop/xlop.sty	2020-04-29 21:21:14 UTC (rev 54936)
@@ -1,3 +1,3 @@
-\ProvidesPackage{xlop}[2009/12/02 package wrapper for xlop.tex]
+\ProvidesPackage{xlop}[2020/04/26 package wrapper for xlop.tex]
 \input xlop.tex
 \endinput

Modified: trunk/Master/texmf-dist/tex/generic/xlop/xlop.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/xlop/xlop.tex	2020-04-29 12:43:06 UTC (rev 54935)
+++ trunk/Master/texmf-dist/tex/generic/xlop/xlop.tex	2020-04-29 21:21:14 UTC (rev 54936)
@@ -1,12 +1,12 @@
-\def\fileversion{0.26}
-\def\filedate{2017/01/07}
+\def\fileversion{0.27}
+\def\filedate{2020/04/28}
 %%
 %% xlop.tex: 
 %% eXtra Large OPeration macros for Generic TeX.
-%% See `user.pdf' for documentation;
-%%     `hacker.pdf' for explanation.
+%% See `xlop-doc.pdf' for documentation;
+%%     `xlop-doc-fr.pdf' for french documentation.
 %%
-%% Copyright 2005,2017, by Jean-C\^ome Charpentier
+%% Copyright 2005-2020, by Jean-C\^ome Charpentier
 %%   Jean-Come.Charpentier at wanadoo.fr
 %%
 %% This program may be distributed and/or modified under the
@@ -28,6 +28,9 @@
 \newcount\op at count@iv
 \newcount\op at count@v
 \newcount\op at count@vi
+% add 0.27
+\newcount\op at nbop
+% end add 0.27
 \newtoks\op at currentstyle
 \expandafter\ifx\csname @latexerr\endcsname\relax
 \long\def\@ifundefined#1#2#3{%
@@ -143,7 +146,13 @@
 \def\op at string@american{american}
 \def\op at string@both{both}
 \def\op at string@bottom{bottom}
+% add 0.27
+\def\op at string@Bottom{Bottom}
+% end add 0.27
 \def\op at string@center{center}
+% add 0.27
+\def\op at string@Center{Center}
+% end add 0.27
 \def\op at string@decimal{decimal}
 \def\op at string@delete{delete}
 \def\op at string@display{display}
@@ -165,6 +174,9 @@
 \def\op at string@strike{strike}
 \def\op at string@text{text}
 \def\op at string@top{top}
+% add 0.27
+\def\op at string@Top{Top}
+% end add 0.27
 \def\op at string@true{true}
 \def\op at string@warning{warning}
 
@@ -217,6 +229,29 @@
     {Value must be `top', `center', or `bottom'}%
   \fi\fi\fi
 }
+% add 0.27
+\def\pOP at vmanyoperator#1{\edef\@tempa{#1}%
+  \ifx\@tempa\op at string@top
+    \let\op at vmanyoperator\op at string@top
+  \else\ifx\@tempa\op at string@bottom
+    \let\op at vmanyoperator\op at string@bottom
+  \else\ifx\@tempa\op at string@center
+    \let\op at vmanyoperator\op at string@center
+  \else\ifx\@tempa\op at string@Top
+    \let\op at vmanyoperator\op at string@Top
+  \else\ifx\@tempa\op at string@Bottom
+    \let\op at vmanyoperator\op at string@Bottom
+  \else\ifx\@tempa\op at string@Center
+    \let\op at vmanyoperator\op at string@Center
+  \else
+    \op at error{Parameter vmanyoperator accept only `top', `center',
+    `bottom', ^^J \space
+    `Top', `Center', and `Bottom'. Here, the value is `#1'}%
+    {Value must be `top', `center', `bottom', `Top', `Center',
+      or `Bottom'}%
+  \fi\fi\fi\fi\fi\fi
+}
+% end add 0.27
 \def\pOP at hfactor#1{\edef\@tempa{#1}%
   \ifx\@tempa\op at string@right
     \let\op at hfactor\op at string@right
@@ -473,7 +508,11 @@
   hrulewidth=0.4pt,vrulewidth=0.4pt,
   behaviorsub=silent,country=french,
   operandstyle=,resultstyle=,remainderstyle=,
-  intermediarystyle=}
+  intermediarystyle=,
+  % add 0.27
+  vmanyoperator=center%
+  % end add 0.27 
+}
 \expandafter\ifx\csname @latexerr\endcsname\relax
   \opset{carrystyle=\sevenrm}
 \else
@@ -1575,6 +1614,107 @@
     \fi
   \endgroup
 }
+% add 0.27
+\def\opmanyadd{\@ifnextchar[{\op at manyadd}{\op at manyadd[nil]}}
+\def\op at manyadd[#1]{%
+  \begingroup
+  \opset{#1}%
+  \op at nbop \z@
+  \opcopy{0}{OMA at result}%
+  \op@@manyadd
+}
+\def\op@@manyadd#1{%
+  \advance \op at nbop \@ne
+  \op at split{#1}{OMA at op\the\op at nbop}%
+  \ifop at deletezero
+    \op at unzero{OMA at op\the\op at nbop}%
+  \fi
+  \opadd*{OMA at result}{#1}{OMA at result}%
+  \op at split{OMA at result}{OMA at result}%
+  \@ifnextchar\bgroup{\op@@manyadd}{\op at manyaddend}%
+}
+\def\op at manyaddend{%
+  \op at count@i = \csname OP at OMA@op1 at i\endcsname
+  \count@ \@ne
+  \loop
+    \ifnum\count@ < \op at nbop
+    \advance\count@ \@ne
+    \op at count@i = \op at max{\the\op at count@i}
+                         {\csname OP at OMA@op\the\count@ @i\endcsname}%
+  \repeat
+  \op at count@i = \op at max{\the\op at count@i}{\OP at OMA@result at i}%
+  \advance\op at count@i \@ne
+  \op at count@ii = \csname OP at OMA@op1 at d\endcsname
+  \count@ \@ne
+  \loop
+    \ifnum\count@ < \op at nbop
+    \advance\count@ \@ne
+    \op at count@ii = \op at max{\the\op at count@ii}
+                         {\csname OP at OMA@op\the\count@ @d\endcsname}%
+  \repeat
+  \op at count@ii = \op at max{\the\op at count@ii}{\OP at OMA@result at d}%
+  \op at count@z = \op at count@i
+  \advance\op at count@z \op at count@ii
+  \setbox1=\hbox to\op at count@z\opcolumnwidth{%
+    \ophline(0,0.75){\the\op at count@z}%
+    \ifx\op at vmanyoperator\op at string@Top
+      \oplput(0,\the\op at nbop){\op at addsymbol}%
+    \else\ifx\op at vmanyoperator\op at string@Bottom
+      \oplput(0,1){\op at addsymbol}%
+    \else\ifx\op at vmanyoperator\op at string@Center
+      \count@ \op at nbop
+      \divide \count@ \tw@
+      \ifodd\op at nbop
+        \advance\count@ \@ne
+        \oplput(0,\the\count@){\op at addsymbol}%
+      \else
+        \oplput(0,\the\count at .5){\op at addsymbol}%
+      \fi
+    \fi\fi\fi
+    \count@ \tw@
+    \op at count@iii \@ne
+    \loop
+    \ifx\op at vmanyoperator\op at string@top
+      \oplput(0,\the\count@){\op at addsymbol}%
+    \else\ifx\op at vmanyoperator\op at string@bottom
+      \oplput(0,\the\op at count@iii){\op at addsymbol}%
+    \else\ifx\op at vmanyoperator\op at string@center
+      \oplput(0,\the\op at count@iii.5){\op at addsymbol}%
+    \fi\fi\fi
+    \ifnum \count@ < \op at nbop
+      \advance \count@ \@ne
+      \advance \op at count@iii \@ne
+    \repeat
+    \vbox{%
+    \count@ \@ne
+    \loop
+      \op at makebox{\the\op at count@i}
+                 {\the\op at count@ii}
+                 {operandstyle.\the\count@}
+                 {OMA at op\the\count@}%
+      \hbox{\box0}%
+    \ifnum \count@ < \op at nbop
+      \advance \count@ \@ne
+    \repeat
+    \op at makebox{\the\op at count@i}
+               {\the\op at count@ii}
+               {resultstyle}
+               {OMA at result}%
+    \hbox{\box0}%
+    }%
+  }%
+  \leavevmode
+  \dimen0=\op at nbop\oplineheight
+  \ifx\op at voperation\op at string@center
+    \lower0.5\dimen0\box1
+  \else\ifx\op at voperation\op at string@top
+    \lower\dimen0\box1
+  \else
+    \box1
+  \fi\fi
+  \endgroup
+}
+% end add 0.27
 \def\opmul{\@ifnextchar*{\op at mulstar}{\op at mulnostar}}
 \def\op at mulstar*#1#2#3{%
   \begingroup
@@ -1881,16 +2021,14 @@
     \opset{#1}
     \op at split{#2}{a}%
     \op at split{#3}{b}%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Ajout du 20/11/2006                 %%%
-%%% Sur indication de Christophe Poulain %%%
+    % add 20/11/2006
+    % Thanks to Christophe Poulain
     \op at cmp{b}{zero}%
     \ifopeq
       \op at error{divisor must be nonzero}%
                {You have to learn some math}%
     \fi
-%%% Fin ajout                           %%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+    % end add
     \ifop at error
       \op at errorwrite
     \else
@@ -1934,16 +2072,14 @@
     \opset{#1}%
     \op at split{#2}{a}%
     \op at split{#3}{b}%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Ajout du 20/11/2006                 %%%
-%%% Sur indication de Cristophe Poulain %%%
+    % add 20/11/2006
+    % thanks to Christophe Poulain
     \op at cmp{b}{zero}%
     \ifopeq
       \op at error{divisor must be nonzero}%
                {You have to learn some math}%
     \fi
-%%% Fin ajout                           %%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+    % end add
     \ifop at error
       \op at errorwrite
     \else
@@ -2118,16 +2254,14 @@
   \begingroup
     \op at split{#1}{a}%
     \op at split{#2}{b}%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Ajout du 20/11/2006                 %%%
-%%% Sur indication de Cristophe Poulain %%%
+    % add 20/11/2006
+    % thanks to Christophe Poulain
     \op at cmp{b}{zero}%
     \ifopeq
       \op at error{divisor must be nonzero}%
                {You have to learn some math}%
     \fi
-%%% Fin ajout                           %%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+    % end add
     \ifop at error
       \op at errorwrite
     \else
@@ -2170,16 +2304,14 @@
     \let\op at shiftdecimalsep\op at string@both
     \op at split{#2}{a}%
     \op at split{#3}{b}%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%% Ajout du 20/11/2006                 %%%
-%%% Sur indication de Cristophe Poulain %%%
+    % add 20/11/2006
+    % thanks to Christophe Poulain
     \op at cmp{b}{zero}%
     \ifopeq
       \op at error{divisor must be nonzero}%
                {You have to learn some math}%
     \fi
-%%% Fin ajout                           %%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+    % end add
     \ifop at error
       \op at errorwrite
     \else
@@ -3031,11 +3163,13 @@
   \ifop at error
     \op at errorwrite
   \else
-    \ifnum\@nameuse{OP at a@w}>#2\relax
+    % modif 0.27
+    \ifnum\OP at a@w<#2\relax
+      \@namexdef{Op@#3}{0}%
+    \else
       \@namexdef{Op@#3}{\@nameuse{OP at a@#2}}%
-    \else
-      \@namexdef{Op@#3}{0}%
     \fi
+    % end modif 0.27
   \fi
 }
 \def\opsetdigit#1#2#3{%
@@ -3072,11 +3206,13 @@
     \else
       \op at count@z=\OP at a@d
       \advance\op at count@z by#2\relax
-      \ifnum\OP at a@w>\op at count@z\relax
+      % modif 0.27
+      \ifnum\OP at a@w<\op at count@z\relax
+        \@namexdef{Op@#3}{0}%
+      \else
         \@namexdef{Op@#3}{\@nameuse{OP at a@\the\op at count@z}}%
-      \else
-        \@namexdef{Op@#3}{0}%
       \fi
+      % end modif 0.27
     \fi
   \endgroup
 }
@@ -3127,7 +3263,9 @@
 \def\opsetdecimaldigit#1#2#3{%
   \begingroup
     \op at split{#1}{a}%
-    \op at split{#3}{b}%
+    % modif 0.27
+    \op at split{#2}{b}%
+    % end modif 0.27
     \ifop at error
       \op at errorwrite
     \else
@@ -3135,9 +3273,9 @@
       \ifnum\OP at a@d<\Op@@b\relax
         \op at count@z=\Op@@b
         \advance\op at count@z by-\OP at a@d
-%%% [2006/10/06] Bug find by Dave Jarvis. 
-%        \advance\op at count@z by1\relax
-%%% end bug fixing
+        % [2006/10/06] Bug find by Dave Jarvis. 
+        % \advance\op at count@z by1\relax
+        % end bug fixing
         \op at count@i=\OP at a@w
         \advance\op at count@i by\op at count@z\relax
         \op at count@z=\OP at a@w
@@ -3154,21 +3292,25 @@
           \@namexdef{OP at a@\the\op at count@i}{0}%
           \advance\op at count@i by-1
         \repeat
-%%% [2006/10/06] Bug find by Dave Jarvis. 
-%        \@namexdef{OP at a@1}{\Op@@b}%
-        \@namexdef{OP at a@1}{#2}%
-%%% end bug fixing
+        % [2006/10/06] Bug find by Dave Jarvis. 
+        % \@namexdef{OP at a@1}{\Op@@b}%
+        % modif 0.27
+        \@namexdef{OP at a@1}{#3}%
+        % end modif 0.27
+        % end bug fixing
       \else
         \op at count@z=\OP at a@d
-%%% [2006/10/06] Bug find by Dave Jarvis. 
-%        \advance\op at count@z by-#2\relax
+        % [2006/10/06] Bug find by Dave Jarvis. 
+        % \advance\op at count@z by-#2\relax
         \advance\op at count@z by-\Op@@b\relax
-%%% end bug fixing
+        % end bug fixing
         \advance\op at count@z by1
-%%% [2006/10/06] Bug find by Dave Jarvis. 
-%        \@namexdef{OP at a@\the\op at count@z}{\Op@@b}%
-        \@namexdef{OP at a@\the\op at count@z}{#2}%
-%%% end bug fixing
+        % [2006/10/06] Bug find by Dave Jarvis. 
+        % \@namexdef{OP at a@\the\op at count@z}{\Op@@b}%
+        % modif 0.27
+        \@namexdef{OP at a@\the\op at count@z}{#3}%
+        % end modif 0.27
+        % end bug fixing
       \fi
       \op at unsplit{a}{#1}%
     \fi



More information about the tex-live-commits mailing list.