From ea3dd0f8322415638a00cbf860ff0cbc5bd00e9b Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 27 Feb 2013 00:27:25 +0000 Subject: xlop (26feb13) git-svn-id: svn://tug.org/texlive/trunk@29236 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/generic/xlop/LISEZ.MOI | 64 --------------- Master/texmf-dist/doc/generic/xlop/LISEZMOI | 70 ++++++++++++++++ Master/texmf-dist/doc/generic/xlop/README | 8 +- Master/texmf-dist/doc/generic/xlop/xlop-doc-fr.pdf | Bin 336088 -> 340255 bytes Master/texmf-dist/doc/generic/xlop/xlop-doc-fr.tex | 18 +++-- Master/texmf-dist/doc/generic/xlop/xlop-doc.pdf | Bin 317393 -> 321396 bytes Master/texmf-dist/doc/generic/xlop/xlop-doc.tex | 39 +++++---- Master/texmf-dist/tex/generic/xlop/xlop.tex | 88 ++++++++++++++++++--- 8 files changed, 189 insertions(+), 98 deletions(-) delete mode 100644 Master/texmf-dist/doc/generic/xlop/LISEZ.MOI create mode 100644 Master/texmf-dist/doc/generic/xlop/LISEZMOI (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/generic/xlop/LISEZ.MOI b/Master/texmf-dist/doc/generic/xlop/LISEZ.MOI deleted file mode 100644 index 8aa6c6b3c10..00000000000 --- a/Master/texmf-dist/doc/generic/xlop/LISEZ.MOI +++ /dev/null @@ -1,64 +0,0 @@ -PRÉSENTATION RAPIDE -------------------- -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 que la racine -carrée, l'exponentielle, les fonctions trigonométriques, etc.). - -DISTRIBUTION ------------- -Licence -------- -Tous les fichiers sources sont sous licence lppl - -Contenu -------- -La distribution comporte les fichiers suivants : - - LISEZ.MOI (celui que vous êtes en train de lire) ; - - README (la même en anglais) ; - - XLOP03 qui indique ce que devrait fournir la version prochaine ; - - history.txt qui retrace l'historique rapide du projet ; - - manual.sty qui est le fichier de style nécessaire à la compilation - du fichier fr-user.tex ; - - fr-user.tex qui est le source du manuel de l'utilisateur de xlop ; - - fr-user.pdf qui est le manuel de l'utilisateur de xlop ; - - xlop.tex qui contient le code de l'extension ; - - xlop.sty qui permet d'utiliser xlop comme une extension LaTeX. - -Installation ------------- -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/ -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 -être [texmf]/doc/xlop/. - -Il reste à rafraichir la base en lançant la commande texhash (ou -mktexlsr, ou ...) et tout devrait être opérationnel. - -BOGUES ET AUTRES DÉSAGREMENTS ------------------------------ -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écessaire. Envoyez -le source ainsi qu'une explication, éventuellement très courte, du -problème rencontré à l'adresse suivante : - -Jean-Come.Charpentier@wanadoo.fr - -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. diff --git a/Master/texmf-dist/doc/generic/xlop/LISEZMOI b/Master/texmf-dist/doc/generic/xlop/LISEZMOI new file mode 100644 index 00000000000..e8dbdc9449c --- /dev/null +++ b/Master/texmf-dist/doc/generic/xlop/LISEZMOI @@ -0,0 +1,70 @@ +PRÉSENTATION RAPIDE +------------------- +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 que la racine +carrée, l'exponentielle, les fonctions trigonométriques, etc.). + +DISTRIBUTION +------------ +Licence +------- +Tous les fichiers sources sont sous licence lppl + +Contenu +------- +La distribution comporte les fichiers suivants : + - LISEZ.MOI (celui que vous êtes en train de lire) ; + - README (la même en anglais) ; + - XLOP03 qui indique ce que devrait fournir la version prochaine ; + - history.txt qui retrace l'historique rapide du projet ; + - manual.sty qui est le fichier de style nécessaire à la compilation + des fichiers de documentation ; + - 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çais de l'utilisateur + de xlop ; + - xlop-doc.pdf qui est le pdf du manuel anglais de l'utilisateur de + xlop ; + - xlop.tex qui contient le code de l'extension ; + - xlop.sty qui permet d'utiliser xlop comme une extension LaTeX. + +Installation +------------ +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/ +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 +être [texmf]/doc/xlop/. + +Il reste à rafraichir la base en lançant la commande texhash (ou +mktexlsr, ou ...) et tout devrait être opérationnel. + +BOGUES ET AUTRES DÉSAGREMENTS +----------------------------- +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écessaire. Envoyez +le source ainsi qu'une explication, éventuellement très courte, du +problème rencontré à l'adresse suivante : + +Jean-Come.Charpentier@wanadoo.fr + +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. diff --git a/Master/texmf-dist/doc/generic/xlop/README b/Master/texmf-dist/doc/generic/xlop/README index 888cc82ec21..ea198b986ca 100644 --- a/Master/texmf-dist/doc/generic/xlop/README +++ b/Master/texmf-dist/doc/generic/xlop/README @@ -21,9 +21,11 @@ Distribution consists of files: * LISEZ.MOI (same in french) * XLOP03 indicates what features the next version should be provide * history.txt relates project history - * manual.sty package file to compile fr-user.tex - * fr-user.tex xlop user's manual input file - * fr-user.pdf xlop user's manual + * 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 + manual of xlop * xlop.tex xlop code * xlop.sty allow the use of xlop as LaTeX package diff --git a/Master/texmf-dist/doc/generic/xlop/xlop-doc-fr.pdf b/Master/texmf-dist/doc/generic/xlop/xlop-doc-fr.pdf index b24c2aaca8c..bf995e2639a 100644 Binary files a/Master/texmf-dist/doc/generic/xlop/xlop-doc-fr.pdf and b/Master/texmf-dist/doc/generic/xlop/xlop-doc-fr.pdf differ diff --git a/Master/texmf-dist/doc/generic/xlop/xlop-doc-fr.tex b/Master/texmf-dist/doc/generic/xlop/xlop-doc-fr.tex index 301c333b3a1..037aeb4c8f6 100644 --- a/Master/texmf-dist/doc/generic/xlop/xlop-doc-fr.tex +++ b/Master/texmf-dist/doc/generic/xlop/xlop-doc-fr.tex @@ -767,6 +767,13 @@ dans le cas o \opmul[displayintermediary=nonzero]{3.14159}{4} \end{CenterExample} +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è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 @@ -923,9 +930,10 @@ permettant le calcul des restes. Pour \package{xlop}, les nombres qui 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, la -valeur \texttt{all} affichera toutes les soustractions et la valeur -\texttt{nonzero} affichera les soustractions avec un nombre non nul. +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. \begin{CenterExample}[xrightmargin=0pt] \opdiv[displayintermediary=none,voperation=top] {251}{25}\quad @@ -2355,8 +2363,8 @@ page~\pageref{macro-opexport}. \chapter{Versions futures} \label{chap:Versions futures} -L'extension \package{xlop} en est à sa version~0.24 qui n'est qu'une -version déboguée de la version~0.2 qui est elle même +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. diff --git a/Master/texmf-dist/doc/generic/xlop/xlop-doc.pdf b/Master/texmf-dist/doc/generic/xlop/xlop-doc.pdf index 0d3bbaa5900..4b75108c46f 100644 Binary files a/Master/texmf-dist/doc/generic/xlop/xlop-doc.pdf and b/Master/texmf-dist/doc/generic/xlop/xlop-doc.pdf differ diff --git a/Master/texmf-dist/doc/generic/xlop/xlop-doc.tex b/Master/texmf-dist/doc/generic/xlop/xlop-doc.tex index 68dbdd3b871..396c09e141d 100644 --- a/Master/texmf-dist/doc/generic/xlop/xlop-doc.tex +++ b/Master/texmf-dist/doc/generic/xlop/xlop-doc.tex @@ -179,7 +179,7 @@ Here is a table showing a \TeX{} compilation for a multiplication with 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 have not remake the tests!} + lazy, and he has not remake the tests!} \begin{center} \begin{tabular}{|l|*{6}{c|}} \hline @@ -234,7 +234,7 @@ following code show it: \end{SideBySideExample} \index{number!name}% Note particullary that \verb+a/b_{^c}!&$+ and \verb+\prefix_{^c}!&$+ -produce exactly the same name\ldots{} obviously if \verb+\prefix+ have +produce exactly the same name\ldots{} obviously if \verb+\prefix+ has the right definition! This possibility to have a name using macro could seem useless but it is not true. For instance, you can realize loops\index{loop} with names as \verb+r1+, \verb+r2+, \ldots, @@ -571,7 +571,7 @@ matching digit in the second operand. The \parameter{deletezero} parameter is also a boolean parameter. It indicates if non-significant zeros must be deleted or not. Its default value is \texttt{true}. When this parameter is \texttt{false}, the -operands and the result have the same number of digits. For that, +operands and the result has the same number of digits. For that, \package{xlop} package adds non-significant zeros. Also, the non-significant zeros of operands are not removed. \begin{SideBySideExample} @@ -730,6 +730,12 @@ except when second factor has only one digit. \opmul[displayintermediary=nonzero]{3.14159}{4} \end{CenterExample} +Finally, parameter \parameter{displayintermediary} accepts the value +\texttt{None} which don't display any intermediary numbers in all cases. +\begin{CenterExample}[xrightmargin=0pt] + \opmul[displayintermediary=None]{453}{1001205} +\end{CenterExample} + The \parameter{hfactor} parameter indicates how align operands. The default value, \texttt{right}, gives a raggedleft alignment. The \texttt{decimal} value gives an alignment on dot. @@ -759,11 +765,11 @@ The \package{xlop} package deals with ``normal'' division via macro. Division is a very complex operation so it is not strange that there are many parameters to control it. -Pay attention that the \package{xlop} package v. 0.24 is unable to -deal with ``english'' division. In this package version, the division -is the ``french'' one, which is more or less used as it in some other -countries. The \package{xlop} package v. 0.3 will allow ``enlish'' -division (and many more feautures). +Pay attention that the \package{xlop} package v. \fileversion{} is +unable to deal with ``english'' division. In this package version, the +division is the ``french'' one, which is more or less used as it in +some other countries. The \package{xlop} package v. 0.3 will allow +``enlish'' division (and many more feautures). \subsection{End Control} \label{subsec:Controle de l'arret} @@ -853,7 +859,7 @@ you obtain the warning message: which indicates that this division period is~272 and that it can be achieved because of the \texttt{safedivstep} value. -The inline mode for division with period have some particularities. +The inline mode for division with period has some particularities. \begin{SideBySideExample} \opdiv[period,style=text]{150}{7} \end{SideBySideExample} @@ -1203,7 +1209,7 @@ it can't be greater than \texttt{214748364} for \macro{opdivperiod}. A warning is displayed for an overflow. Result is put in the third parameter. -There is also some checks on the two first parameters: a gcd mustn't +There is also some checks on the two first parameters: a gcd must not have null argument; length of period can't be processed with null quotient. Futhermore, if an argument is a non integer number, only the integer part will be take account. @@ -1219,7 +1225,7 @@ mathematical details, square of prime numbers are good choices. For instance with $257^2=66049$ you obtain: \begin{SideBySideExample} \opdivperiod{1}{66049}{p}% - $\frac{1}{66049}$ have a period + $\frac{1}{66049}$ has a period of length $\opprint{p}$. \end{SideBySideExample} @@ -1605,7 +1611,7 @@ expected. \\\hline \verb+\opdisplay[P]{S}{n}+ & Display number \verb+n+ width style \verb+S+ puting each figure in a - box which have a width of \verb+\opcolumnwidth+ and a height of + box which has a width of \verb+\opcolumnwidth+ and a height of \verb+\oplineheight+. \\\hline \verb+\opdiv[P]{n1}{n2}+ & Display result of n1/n2. \\\hline @@ -1886,7 +1892,8 @@ In this table, parameters: Indicates the displayed operation behavior depending of contry. Package \package{xlop} put forward only \verb+french+, \verb+american+, and \verb+russian+ but these different ways to - display operations aren't encoded in version 0.24. \\\hline + display operations aren't encoded in version + \fileversion{}. \\\hline \verb+operandstyle+ & & Style for operands. \\\hline @@ -2215,9 +2222,9 @@ braces. In this case, the simplest is to use \macro{opexport} macro \chapter{Future Versions} \label{chap:Versions futures} -Version of \package{xlop} package is~0.24 which is only a debuging -version of version~0.2, which is itself a correcting version of -version~0.1 (first public release). The next release will be +Version of \package{xlop} package is~\fileversion{} which is only a +debuging version of version~0.2, which is itself a correcting version +of version~0.1 (first public release). The next release will be version~0.3 and its ``stable'' version will be version~0.4. The features of version~0.3 aren't definitively fixed but there are diff --git a/Master/texmf-dist/tex/generic/xlop/xlop.tex b/Master/texmf-dist/tex/generic/xlop/xlop.tex index 48d52947c01..057cea4540a 100644 --- a/Master/texmf-dist/tex/generic/xlop/xlop.tex +++ b/Master/texmf-dist/tex/generic/xlop/xlop.tex @@ -1,5 +1,5 @@ -\def\fileversion{0.24} -\def\filedate{2011/04/15} +\def\fileversion{0.25} +\def\filedate{2013/02/26} %% %% xlop.tex: %% eXtra Large OPeration macros for Generic TeX. @@ -154,6 +154,9 @@ \def\op@string@last{last} \def\op@string@left{left} \def\op@string@none{none} +% add 0.25 +\def\op@string@None{None} +% end add 0.25 \def\op@string@nonzero{nonzero} \def\op@string@right{right} \def\op@string@russian{russian} @@ -331,11 +334,18 @@ \let\op@displayintermediary\op@string@nonzero \else\ifx\@tempa\op@string@none \let\op@displayintermediary\op@string@none +% add 0.25 + \else\ifx\@tempa\op@string@None + \let\op@displayintermediary\op@string@None +% end 0.25 \else - \op@error{Parameter style accept only `all', `none', and `nonzero'.^^J +% modification 0.25 + \op@error{Parameter style accept only `all', `none', `None', and + `nonzero'.^^J \space Here, the value is `#1'}% - {Value must be `all', `none', or `nonzero'}% - \fi\fi\fi + {Value must be `all', `none', `None', or `nonzero'}% + \fi\fi\fi\fi +% end modification 0.25 } \newif\ifop@lastcarry \def\pOP@lastcarry#1{\edef\@tempa{#1}% @@ -915,7 +925,7 @@ \xdef\op@@export{\op@decimalsepsymbol\op@@export}% % add 0.24 \fi - % en add 0.24 + % end add 0.24 \op@count@i=0 \loop \ifnum\op@count@i<\OP@tmp@i @@ -996,6 +1006,36 @@ \@namexdef{OP@#1@w}{\the\op@count@i}% \endgroup } +% add 0.25 +\def\op@unzeroleft#1{% + \begingroup + \op@count@z=\@nameuse{OP@#1@i}\relax + \op@count@i=\@nameuse{OP@#1@w}\relax + \op@count@ii=\@nameuse{OP@#1@i}\relax + \loop + \ifnum\op@count@z>1\relax + \ifnum\@nameuse{OP@#1@\the\op@count@i}=0\relax + \advance\op@count@ii by-1 + \else + \op@count@z=0 + \fi + \advance\op@count@z by-1 + \advance\op@count@i by-1 + \repeat + \@namexdef{OP@#1@i}{\the\op@count@ii}% + \ifnum\@nameuse{OP@#1@i}=1\relax + \ifnum\@nameuse{OP@#1@d}=0\relax + \ifnum\@nameuse{OP@#1@1}=0 + \@namexdef{OP@#1@s}{0}% + \fi + \fi + \fi + \op@count@i=\@nameuse{OP@#1@i}\relax + \advance\op@count@i by\@nameuse{OP@#1@d}\relax + \@namexdef{OP@#1@w}{\the\op@count@i}% + \endgroup +} +% end add 0.25 \def\opcopy#1#2{% \op@split{#1}{a}% \ifop@error @@ -1596,6 +1636,11 @@ \op@unzero{b}% \fi \op@mul{a}{b}{r}% +% add 0.25 + \ifop@deletezero + \op@unzeroleft{r}% + \fi +% end add 0.25 \ifnum\OP@b@i=1 \expandafter\if\csname OP@b@\OP@b@w\endcsname0 \ifnum\OP@r@i>1 @@ -1633,6 +1678,12 @@ \op@againfalse \fi \fi +% add 0.25 + \ifx\op@displayintermediary\op@string@None + \op@againfalse +%% \op@unzero{r}% + \fi +% end add 0.25 \global\op@count@z=0\relax \ifop@again \op@count@ii=0\relax @@ -2260,8 +2311,14 @@ \advance\op@count@i by1 \hbox{% \ifx\op@displayintermediary\op@string@none\else - \kern\opcolumnwidth - \advance\op@count@i by1 +% add 0.25 + \ifx\op@displayintermediary\op@string@None\else +% end add 0.25 + \kern\opcolumnwidth + \advance\op@count@i by1 +% add 0.25 + \fi +% end add 0.25 \fi \ifop@dividendbridge \vrule width0pt depth0pt height\oplineheight @@ -2280,6 +2337,10 @@ \op@count@ii=1\relax \ifx\op@displayintermediary\op@string@none \advance\op@count@i by-1\relax +% add 0.25 + \else\ifx\op@displayintermediary\op@string@None + \advance\op@count@i by-1\relax +% end add 0.25 \else \op@count@iv=\@nameuse{OP@q@\the\op@count@z}\relax \op@count@iii=\op@count@i @@ -2298,7 +2359,9 @@ \op@display{intermediarystyle.1}% {T\the\op@count@iv}% }% - \fi +% modif 0.25 + \fi\fi +% end modif 0.25 {\global\setbox4=\hbox{}\setbox4=\box4}% \loop \advance\op@count@z by-1 @@ -2353,6 +2416,9 @@ }% \advance\op@count@ii by1\relax \ifx\op@displayintermediary\op@string@none +% add 0.25 + \else\ifx\op@displayintermediary\op@string@None +% end add 0.25 \else \op@count@iii=\op@count@i \advance\op@count@iii by-\@nameuse{OP@T\the\op@count@iv @w}% @@ -2379,7 +2445,9 @@ \op@display{intermediarystyle.\the\op@count@ii}% {T\the\op@count@iv}% }% - \fi +% modif 0.25 + \fi\fi +% end modif 0.25 \fi \repeat \advance\op@count@i by-1 -- cgit v1.2.3