summaryrefslogtreecommitdiff
path: root/macros/generic/xlop/doc
diff options
context:
space:
mode:
Diffstat (limited to 'macros/generic/xlop/doc')
-rw-r--r--macros/generic/xlop/doc/history.txt107
-rw-r--r--macros/generic/xlop/doc/xlop-doc-fr.pdfbin394072 -> 389668 bytes
-rw-r--r--macros/generic/xlop/doc/xlop-doc-fr.tex98
-rw-r--r--macros/generic/xlop/doc/xlop-doc.pdfbin373942 -> 369408 bytes
-rw-r--r--macros/generic/xlop/doc/xlop-doc.tex17
5 files changed, 183 insertions, 39 deletions
diff --git a/macros/generic/xlop/doc/history.txt b/macros/generic/xlop/doc/history.txt
new file mode 100644
index 0000000000..bcc7b35864
--- /dev/null
+++ b/macros/generic/xlop/doc/history.txt
@@ -0,0 +1,107 @@
+%%
+%% xlop.tex:
+%% eXtra Large OPeration macros for Generic TeX.
+%% See `xlop-doc.pdf' for documentation;
+%% `xlop-doc-fr.pdf' for french documentation.
+%%
+%% Copyright 2005-2020, by Jean-C\^ome Charpentier
+%% Jean-Come.Charpentier@wanadoo.fr
+%%
+%% This program may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+
+10 janvier 2004 version 0.01-beta01
+---------------
+ Division posée.
+
+28 janvier 2004 version 0.01-beta02
+---------------
+ Quatre opérations posées et en ligne.
+
+5 février 2004 version 0.01-beta03
+--------------
+ Ajout de la division euclidienne.
+
+3 mars 2004 version 0.01-beta04
+-----------
+ Ajout de plein de détails de présentations.
+ Changement complet de certains algorithmes et du codage interne des
+ nombres développés.
+ Manuel de l'utilisateur.
+ Première version envoyée aux beta-testeurs. Un grand merci à :
+ Pascal Chantriaux
+ Marc Chaudemanche
+ Olivier Deutsch
+ Paul Gaborit
+ Martine Gautier
+ Yvon Henel
+ Christophe Jorssen
+ Ahmed Kadi
+ Josselin Noirel
+ Olivier Viennet
+ Damien Wyard
+
+26 mai 2004 version 0.1
+-----------
+ Refonte complète du code
+ Ajout de certains détails de présentation.
+ syntaxe "à la keyval" des paramètres ;
+ correction de bogues de la version 0.01-beta04 ;
+ manipulations de chiffres ;
+ \opexpr ;
+ changement de codage des noms de nombre.
+ Première version publique.
+
+25 juin 2004 version 0.2
+------------
+ Correction de bogues
+ Style pour le séparateur décimal
+
+6 avril 2005 version 0.21
+------------
+ Correction d'un bogue sur la division
+
+4 janvier 2006 version 0.22
+--------------
+ Correction d'un bogue sur l'affichage de la multiplication posée
+
+16 décembre 2010 version 0.23
+---------------
+ Correction d'un bogue sur la division
+ Ajout de \opexport
+ Manuel en anglais
+
+15 avril 2011 version 0.24
+---------------
+ Correction d'un bogue dans \opexport
+ Correction d'un bogue dans l'affichage des zéros dans la
+ multiplication
+
+26 février 2012 version 0.25
+---------------
+ Ajout de la valeur None (N capital) pour le paramètre
+ displayintermediary.
+ Correction d'un bogue dans l'affichage des zéros dans la
+ multiplication
+
+7 janvier 2017 version 0.26
+---------------
+ Correction d'un bogue sur \opexport
+ Ajout des commandes \opsqrt et \opgfsqrt pour les racines carrées
+
+28 avril 2020 version 0.27
+---------------
+ Passage systématique de tous les fichiers en UTF-8.
+ Correction d'un bogue sur quelques macros de manipulation de
+ chiffres.
+ Ajout de \opmanyadd pour les additions à nombre quelconque
+ d'opérandes.
+11 novembre 2020 version 0.28
+---------------
+ Correction d'espace parasite (merci à Christian Tellechea)
+ Corrections mineures de la documentation
diff --git a/macros/generic/xlop/doc/xlop-doc-fr.pdf b/macros/generic/xlop/doc/xlop-doc-fr.pdf
index 0766e91477..ab528c746d 100644
--- a/macros/generic/xlop/doc/xlop-doc-fr.pdf
+++ b/macros/generic/xlop/doc/xlop-doc-fr.pdf
Binary files differ
diff --git a/macros/generic/xlop/doc/xlop-doc-fr.tex b/macros/generic/xlop/doc/xlop-doc-fr.tex
index de4a1b7785..731ea3c81b 100644
--- a/macros/generic/xlop/doc/xlop-doc-fr.tex
+++ b/macros/generic/xlop/doc/xlop-doc-fr.tex
@@ -1,3 +1,20 @@
+%%
+%% xlop-doc-fr.tex:
+%% eXtra Large OPeration macros for Generic TeX.
+%% See `xlop-doc.pdf' for documentation;
+%% `xlop-doc-fr.pdf' for french documentation.
+%%
+%% Copyright 2005-2020, by Jean-C\^ome Charpentier
+%% Jean-Come.Charpentier@wanadoo.fr
+%%
+%% This program may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+
\documentclass[12pt]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
@@ -19,7 +36,7 @@
\fvset{label=source}% français
-\fvset{xrightmargin=5cm,frame=single,fontsize=\small}
+\fvset{xrightmargin=5cm, frame=single, fontsize=\small, gobble=2}
\geometry{a4paper,left=4cm,right=4cm,top=3cm,bottom=3cm,nohead}
\let\SBSori\SideBySideExample
@@ -47,6 +64,7 @@
\newcommand\macro[1]{\texttt{$\backslash$#1}\index{#1@\texttt{\boi {#1}}}}
\newcommand\parameter[1]{\texttt{#1}\index{#1@\texttt{#1}}%
\index{parametre@paramètre!\texttt{#1}}}
+\newcommand\keyword[1]{\texttt{#1}}
\newcommand\bull{\vrule width3pt height4pt depth-1pt}
@@ -126,7 +144,7 @@ la seconde possibilité étant en fait un raccourci pour :
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 égal ou avant la virgule : un paramètre ou une valeur
-pouvant (potentiellement) comporter le caractère espace.
+pouvant potentiellement comporter le caractère espace.
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
@@ -322,7 +340,7 @@ prudent de ne pas commencer un nom de variable par le caractère
\label{sec:Parametres de xlop}
\index{parametre@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
+sont indiquées au niveau de leurs arguments optionnels. Pour rendre de
telles affectations globales, il faut utiliser la macro
\macro{opset}. Par exemple
\begin{Verbatim}[xrightmargin=0pt]
@@ -367,8 +385,8 @@ défaut sont respectivement \verb!$+$!, \verb!$-$!, \verb!$\times$! et
\label{subsec:Presentation generale}
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éfaut).
+valeurs possibles sont \keyword{top}, \keyword{center} et
+\keyword{bottom} (valeur par défaut).
\begin{SideBySideExample}
top\quad
\opadd[voperation=top]{45}{172}\par
@@ -380,7 +398,8 @@ valeurs possibles sont \verb+top+, \verb+center+ 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+.
+sont \keyword{top}, \keyword{center} (valeur par défaut) et
+\keyword{bottom}.
\begin{SideBySideExample}
top\quad
\opadd[voperator=top]{45}{172}\par
@@ -397,10 +416,10 @@ l'opération et nous y reviendrons lors de la présentation des
différentes opérations.
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.
+(avec la valeur \keyword{display} qui est la valeur par défaut) ou
+bien être affichée en ligne (valeur \keyword{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}
@@ -446,11 +465,11 @@ 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é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é des résultats peu lisibles.
+\texttt{lineheight} est \keyword{\string\baselineskip} ce qui fait que
+les 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é des résultats peu lisibles.
\begin{SideBySideExample}
\opadd[columnwidth=0.5em]
{45.89}{127.5}
@@ -459,7 +478,7 @@ 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.
+largeur \og{} normale \fg{} d'une virgule.
\begin{SideBySideExample}
\opadd[columnwidth=0.5em,
decimalsepwidth=0.27778em]
@@ -623,7 +642,7 @@ maintenant écrire des nombres négatifs.
\opadd[style=text]{-245}{72}
\end{SideBySideExample}
Outre les paramètres généraux décrits à la
- section~\ref{sec:Parametres de xlop}, la macro \verb+\opadd+ est
+ section~\ref{sec:Parametres de xlop}, la macro \macro{opadd} est
sensible aux paramètres \texttt{carryadd}, \texttt{lastcarry} et
\texttt{deletezero}.
@@ -707,7 +726,7 @@ vers le bas) et la deuxième le chiffre de l'opérande. Par exemple :
\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 :
+paramètre \parameter{deletezero} avec la valeur false :
\begin{SideBySideExample}
\opmanyadd[deletezero=false]
{12.6}{853.3}{158.1}
@@ -730,7 +749,7 @@ l'opérateur plus de six façons différentes.
\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
+d'opérandes moins une. Les mêmes valeurs avec la première lettre en
capitale affichent un unique signe opératoire:
\begin{CenterExample}
\opmanyadd[vmanyoperator=Center]
@@ -770,7 +789,7 @@ Bien entendu, l'opération en ligne donnera le résultat exact.
Outre les paramètres généraux vus à la section~\ref{sec:Parametres de
- xlop}, \verb+\opsub+ est sensible à \texttt{carrysub},
+ xlop}, \macro{opsub} est sensible à \texttt{carrysub},
\texttt{lastcarry}, \texttt{offsetcarry}, \texttt{deletezero} et
\texttt{behaviorsub}.
@@ -963,7 +982,7 @@ On notera l'emploi de \parameter{equalsymbol} ou
troncature et non un arrondi. Nous verrons comment obtenir un arrondi
à la section~\ref{sec:Operations evoluees}
-L'affichage en ligne de \verb+\opdiv+ tient compte de
+L'affichage en ligne de \macro{opdiv} tient compte de
\parameter{maxdivstep}. Cela signifie que l'on peut obtenir des
résultats vraiment faux avec des valeurs trop faible de ce paramètre
et, contrairement à l'affichage posé, l'affichage en ligne ne
@@ -987,17 +1006,18 @@ de la survenue d'une période. Pour cela, il suffit de donner la valeur
\end{SideBySideExample}
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 à \TeX{} ce qui a pour conséquence de ne pas
-pouvoir utiliser d'opérandes dont la valeur absolue excède
+l'ensemble de 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 à \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îner des calculs trop long, \package{xlop} ne
+Pour ne pas entraîner des calculs trop longs, \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
@@ -1601,7 +1621,7 @@ macros de division. Par exemple:
\end{SideBySideExample}
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é
+le courage d'expliquer tout le processus. Il se base sur l'identité
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}.
@@ -1621,11 +1641,11 @@ 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ésultat.
-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 à la possibilité de donner l'expression sous une forme plus
-agréable pour l'utilisateur.
+Dans un premier temps, 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 à la possibilité de donner l'expression sous une
+forme plus agréable pour l'utilisateur.
Les formules acceptent les opérateurs arithmétiques habituels
\texttt{+}, \texttt{-}, \texttt{*} et \texttt{/} ainsi que l'opérateur
@@ -1715,11 +1735,11 @@ compte. Les résultats sont donnés en millisecondes et sont évidemment
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
+de noms de variables ont montré que les différences étaient vraiment
minimes.
La première ligne indique le nombre de chiffres des deux
-opérandes. Ces nombres ont été construits de la façons suivantes :
+opérandes. Ces nombres ont été construits de la façon suivante :
\begin{itemize}
\item $\mathrm{A} = 1$ et $\mathrm{B} = 9$ pour un chiffre ;
\item $\mathrm{A} = 12$ et $\mathrm{B} = 98$ pour deux chiffres ;
@@ -1793,7 +1813,7 @@ au fait d'avoir un quotient à un seul chiffre. Plus bizarre encore,
l'explication est plus subtile : cela est dû à la présence de nombreux
zéros au quotient.
-Avec des opérandes de taille comparable, la division euclidienne est
+Avec des opérandes de tailles comparables, 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ère ligne du tableau est
diff --git a/macros/generic/xlop/doc/xlop-doc.pdf b/macros/generic/xlop/doc/xlop-doc.pdf
index e0b0a4b699..ce6fc3022e 100644
--- a/macros/generic/xlop/doc/xlop-doc.pdf
+++ b/macros/generic/xlop/doc/xlop-doc.pdf
Binary files differ
diff --git a/macros/generic/xlop/doc/xlop-doc.tex b/macros/generic/xlop/doc/xlop-doc.tex
index 26581f844c..7530330415 100644
--- a/macros/generic/xlop/doc/xlop-doc.tex
+++ b/macros/generic/xlop/doc/xlop-doc.tex
@@ -1,3 +1,20 @@
+%%
+%% xlop-doc.tex:
+%% eXtra Large OPeration macros for Generic TeX.
+%% See `xlop-doc.pdf' for documentation;
+%% `xlop-doc-fr.pdf' for french documentation.
+%%
+%% Copyright 2005-2020, by Jean-C\^ome Charpentier
+%% Jean-Come.Charpentier@wanadoo.fr
+%%
+%% This program may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+
\documentclass[12pt]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}