summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/xlop
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-02-27 00:27:25 +0000
committerKarl Berry <karl@freefriends.org>2013-02-27 00:27:25 +0000
commitea3dd0f8322415638a00cbf860ff0cbc5bd00e9b (patch)
treee7c427eee61bac7a17479444851b6b0b5fafd205 /Master/texmf-dist/tex/generic/xlop
parent9f7c646a94369523ce7ca5a77e110c543abaf9c1 (diff)
xlop (26feb13)
git-svn-id: svn://tug.org/texlive/trunk@29236 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/xlop')
-rw-r--r--Master/texmf-dist/tex/generic/xlop/xlop.tex88
1 files changed, 78 insertions, 10 deletions
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