diff options
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xint.sty | 403 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintbinhex.sty | 13 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintcfrac.sty | 13 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintexpr.sty | 289 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintfrac.sty | 13 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintgcd.sty | 13 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintseries.sty | 13 |
7 files changed, 529 insertions, 228 deletions
diff --git a/Master/texmf-dist/tex/generic/xint/xint.sty b/Master/texmf-dist/tex/generic/xint/xint.sty index ead0a68fb9c..bb99f667863 100644 --- a/Master/texmf-dist/tex/generic/xint/xint.sty +++ b/Master/texmf-dist/tex/generic/xint/xint.sty @@ -22,7 +22,7 @@ %% in the same archive or directory.) %% %%---------------------------------------------------------------- -%% The xint bundle (version 1.09b of October 3, 2013) +%% The xint bundle (version 1.09c of October 9, 2013) %% xint: Expandable operations on long numbers %% Copyright (C) 2013 by Jean-Francois Burnol %%---------------------------------------------------------------- @@ -143,20 +143,16 @@ }% \XINT_setcatcodes }% -\begingroup - \catcode58=12 % : (does not matter, actually) - \expandafter\ifx\csname ProvidesPackage\endcsname\relax - \def\x{\endgroup - \def\XINT_providespackage ##1##2[##3]% - {\immediate\write-1{Package: ##2 ##3}% - \expandafter\xdef\csname ver@##2.sty\endcsname{##3}}}% - \else - \def\x{\endgroup\let\XINT_providespackage\relax }% - \fi -\x +\ifdefined\ProvidesPackage + \let\XINT_providespackage\relax +\else + \def\XINT_providespackage #1#2[#3]% + {\immediate\write-1{Package: #2 #3}% + \expandafter\xdef\csname ver@#2.sty\endcsname{#3}}% +\fi \XINT_providespackage \ProvidesPackage {xint}% - [2013/10/03 v1.09b Expandable operations on long numbers (jfB)]% + [2013/10/09 v1.09c Expandable operations on long numbers (jfB)]% \def\xint_gobble_ {}% \def\xint_gobble_i #1{}% \def\xint_gobble_ii #1#2{}% @@ -166,6 +162,7 @@ \def\xint_gobble_vi #1#2#3#4#5#6{}% \def\xint_gobble_vii #1#2#3#4#5#6#7{}% \def\xint_gobble_viii #1#2#3#4#5#6#7#8{}% +\def\xint_firstofone #1{#1}% \def\xint_firstoftwo #1#2{#1}% \def\xint_secondoftwo #1#2{#2}% \def\xint_firstoftwo_andstop #1#2{ #1}% @@ -181,7 +178,7 @@ \def\xint_gob_til_zero #10{}% \def\xint_gob_til_one #11{}% \def\xint_gob_til_G #1G{}% -\def\xint_gob_til_minus #1-{}% was missing since 1.06b, \xintDSR could not work. +\def\xint_gob_til_minus #1-{}% \def\xint_gob_til_zeros_iii #1000{}% \def\xint_gob_til_zeros_iv #10000{}% \def\xint_gob_til_relax #1\relax {}% @@ -207,6 +204,7 @@ \chardef\xint_c_ix 9 \chardef\xint_c_x 10 \newcount\xint_c_x^viii \xint_c_x^viii 100000000 +\newtoks\XINT_toks \def\xintRev {\romannumeral0\xintrev }% \def\xintrev #1% {% @@ -409,34 +407,41 @@ \long\def\XINT_lws_end\Z\XINT_lws_loop_b #1#2#3{ #1}% \def\xintNthElt {\romannumeral0\xintnthelt }% \def\xintNthEltNoExpand {\romannumeral0\xintntheltnoexpand }% -\def\xintnthelt #1#2% +\def\xintnthelt #1% {% - \expandafter\XINT_nthelt_a\expandafter {\the\numexpr #1\expandafter}% - \expandafter {\romannumeral-`0#2}% + \expandafter\XINT_nthelt_a\expandafter {\the\numexpr #1}% }% -\def\xintntheltnoexpand #1#2% +\def\xintntheltnoexpand #1% {% - \expandafter\XINT_nthelt_a\expandafter {\the\numexpr #1}{#2}% + \expandafter\XINT_ntheltnoexpand_a\expandafter {\the\numexpr #1}% }% -\def\XINT_nthelt_a #1% +\def\XINT_nthelt_a #1#2% {% \ifnum #1<0 - \expandafter\XINT_nthelt_b\else\expandafter\XINT_nthelt_c - \fi {#1}% + \xint_afterfi{\expandafter\XINT_nthelt_c\expandafter + {\romannumeral0\xintrevwithbraces {#2}}{-#1}}% + \else + \xint_afterfi{\expandafter\XINT_nthelt_c\expandafter + {\romannumeral-`0#2}{#1}}% + \fi }% -\def\XINT_nthelt_b #1#2% +\def\XINT_ntheltnoexpand_a #1#2% {% - \expandafter\XINT_nthelt_c\expandafter - {\the\numexpr -#1\expandafter}\expandafter - {\romannumeral0\xintrevwithbraces {#2}}% + \ifnum #1<0 + \xint_afterfi{\expandafter\XINT_nthelt_c\expandafter + {\romannumeral0\xintrevwithbracesnoexpand {#2}}{-#1}}% + \else + \xint_afterfi{\expandafter\XINT_nthelt_c\expandafter + {#2}{#1}}% + \fi }% \def\XINT_nthelt_c #1#2% {% - \ifnum #1>\xint_c_ - \xint_afterfi {\XINT_nthelt_loop_a {#1}}% + \ifnum #2>\xint_c_ + \expandafter\XINT_nthelt_loop_a \else - \xint_afterfi {\XINT_length_loop {0}}% - \fi #2\xint_relax\xint_relax\xint_relax\xint_relax + \expandafter\XINT_length_loop + \fi {#2}#1\xint_relax\xint_relax\xint_relax\xint_relax \xint_relax\xint_relax\xint_relax\xint_relax\Z }% \def\XINT_nthelt_loop_a #1% @@ -503,17 +508,327 @@ \def\XINT_applyunbr_loop_b #1#2{\XINT_applyunbr_loop_a {#2#1}}% \def\XINT_applyunbr_end\Z \expandafter\XINT_applyunbr_loop_b\expandafter #1#2#3{ #2}% +\def\xintSeq {\romannumeral0\xintseq }% +\def\xintseq #1{\XINT_seq_chkopt #1\Z }% +\def\XINT_seq_chkopt #1% +{% + \ifx [#1\expandafter\XINT_seq_opt + \else\expandafter\XINT_seq_noopt + \fi #1% +}% +\def\XINT_seq_noopt #1\Z #2% +{% + \expandafter\XINT_seq\expandafter + {\the\numexpr#1\expandafter}\expandafter{\the\numexpr #2}% +}% +\def\XINT_seq #1#2% +{% + \ifcase\xintiSgn{\the\numexpr #2-#1\relax} + \expandafter\xint_firstoftwo_andstop + \or + \expandafter\XINT_seq_p + \else + \expandafter\XINT_seq_n + \fi + {#2}{#1}% +}% +\def\XINT_seq_p #1#2% +{% + \ifnum #1>#2 + \xint_afterfi{\expandafter\XINT_seq_p}% + \else + \expandafter\XINT_seq_e + \fi + \expandafter{\the\numexpr #1-1}{#2}{#1}% +}% +\def\XINT_seq_n #1#2% +{% + \ifnum #1<#2 + \xint_afterfi{\expandafter\XINT_seq_n}% + \else + \expandafter\XINT_seq_e + \fi + \expandafter{\the\numexpr #1+1}{#2}{#1}% +}% +\def\XINT_seq_e #1#2#3{ }% +\def\XINT_seq_opt [\Z #1]#2#3% +{% + \expandafter\XINT_seqo\expandafter + {\the\numexpr #2\expandafter}\expandafter + {\the\numexpr #3\expandafter}\expandafter + {\the\numexpr #1}% +}% +\def\XINT_seqo #1#2% +{% + \ifcase\xintiSgn{\the\numexpr #2-#1\relax} + \expandafter\XINT_seqo_a + \or + \expandafter\XINT_seqo_pa + \else + \expandafter\XINT_seqo_na + \fi + {#1}{#2}% +}% +\def\XINT_seqo_a #1#2#3{ {#1}}% +\def\XINT_seqo_o #1#2#3#4{ #4}% +\def\XINT_seqo_pa #1#2#3% +{% + \ifcase\XINT_Sgn {#3} + \expandafter\XINT_seqo_o + \or + \expandafter\XINT_seqo_pb + \else + \xint_afterfi{\expandafter\space\xint_gobble_iv}% + \fi + {#1}{#2}{#3}{{#1}}% +}% +\def\XINT_seqo_pb #1#2#3% +{% + \expandafter\XINT_seqo_pc\expandafter{\the\numexpr #1+#3}{#2}{#3}% +}% +\def\XINT_seqo_pc #1#2% +{% + \ifnum#1>#2 + \expandafter\XINT_seqo_o + \else + \expandafter\XINT_seqo_pd + \fi + {#1}{#2}% +}% +\def\XINT_seqo_pd #1#2#3#4{\XINT_seqo_pb {#1}{#2}{#3}{#4{#1}}}% +\def\XINT_seqo_na #1#2#3% +{% + \ifcase\XINT_Sgn {#3} + \expandafter\XINT_seqo_o + \or + \xint_afterfi{\expandafter\space\xint_gobble_iv}% + \else + \expandafter\XINT_seqo_nb + \fi + {#1}{#2}{#3}{{#1}}% +}% +\def\XINT_seqo_nb #1#2#3% +{% + \expandafter\XINT_seqo_nc\expandafter{\the\numexpr #1+#3}{#2}{#3}% +}% +\def\XINT_seqo_nc #1#2% +{% + \ifnum#1<#2 + \expandafter\XINT_seqo_o + \else + \expandafter\XINT_seqo_nd + \fi + {#1}{#2}% +}% +\def\XINT_seqo_nd #1#2#3#4{\XINT_seqo_nb {#1}{#2}{#3}{#4{#1}}}% +\catcode`z 3% \def\xintApplyInline #1#2% {% - \def\XINT_apply_themacro {#1}% - \expandafter\XINT_applyinline_a\romannumeral-`0#2:% + \expandafter\def\expandafter\XINT_inline_macro\expandafter ##\expandafter 1% + \expandafter {#1{##1}}% + \expandafter\XINT_inline_b\romannumeral-`0#2z% +}% +\def\XINT_inline_b {\futurelet\XINT_token\XINT_inline_c }% +\def\XINT_inline_c +{% + \ifx\XINT_token z\expandafter\xint_gobble_i + \else \expandafter\XINT_inline_d + \fi +}% +\def\XINT_inline_d #1% +{% + \def\XINT_item{{#1}}\futurelet\XINT_token\XINT_inline_e +}% +\def\XINT_inline_e +{% + \ifx\XINT_token z% + \expandafter\XINT_inline_w + \else + \expandafter\XINT_inline_f + \fi +}% +\def\XINT_inline_f +{% + \expandafter\XINT_inline_g\expandafter{\XINT_inline_macro {##1}}% +}% +\def\XINT_inline_g #1% +{% + \expandafter\XINT_inline_macro\XINT_item + \def\XINT_inline_macro ##1{#1}\XINT_inline_d +}% +\def\XINT_inline_w #1% swallows list terminator +{% + \expandafter\XINT_inline_macro\XINT_item +}% +\def\xintFor {\futurelet\XINT_token\XINT_for_ifstar }% +\def\XINT_for_ifstar {\ifx\XINT_token*\expandafter\XINT_forx + \else\expandafter\XINT_for \fi }% +\def\XINT_for #1#2in#3#4#5% +{% + \XINT_toks \expandafter{\csname XINT_for_d\romannumeral#2\endcsname {#5}}% + \expandafter\XINT_for_b #3,z,% +}% +\def\XINT_forx *#1#2in#3#4#5% +{% + \XINT_toks \expandafter{\csname XINT_forx_d\romannumeral#2\endcsname {#5}}% + \expandafter\XINT_forx_b\romannumeral-`0#3z% +}% +\def\XINT_for_b {\futurelet\XINT_token\XINT_for_c }% +\def\XINT_for_c +{% + \ifx\XINT_token z\expandafter\xint_gobble_iv\fi + \the\XINT_toks +}% +\def\XINT_for_di #1#2,% +{% + \def\XINT_y ##1##2##3##4{#1}% + \def\XINT_x {\XINT_y {#2}{####2}{####3}{####4}}% + \XINT_toks {\XINT_x\XINT_for_di {#1}}% + \futurelet\XINT_token\XINT_for_e +}% +\def\XINT_for_dii #1#2,% +{% + \def\XINT_y ##1##2##3##4{#1}% + \def\XINT_x {\XINT_y {####1}{#2}{####3}{####4}}% + \XINT_toks {\XINT_x \XINT_for_dii {#1}}% + \futurelet\XINT_token\XINT_for_e +}% +\def\XINT_for_diii #1#2,% +{% + \def\XINT_y ##1##2##3##4{#1}% + \def\XINT_x {\XINT_y {####1}{####2}{#2}{####4}}% + \XINT_toks {\XINT_x \XINT_for_diii {#1}}% + \futurelet\XINT_token\XINT_for_e +}% +\def\XINT_for_div #1#2,% +{% + \def\XINT_y ##1##2##3##4{#1}% + \def\XINT_x {\XINT_y {####1}{####2}{####3}{#2}}% + \XINT_toks {\XINT_x \XINT_for_div {#1}}% + \futurelet\XINT_token\XINT_for_e +}% +\def\XINT_for_e +{% + \ifx\XINT_token z\xint_afterfi{\expandafter\XINT_x \xint_gobble_iv}\fi + \the\XINT_toks +}% +\def\XINT_forx_b {\futurelet\XINT_token\XINT_forx_c }% +\def\XINT_forx_c +{% + \ifx\XINT_token z\expandafter\xint_gobble_iii\fi + \the\XINT_toks +}% +\def\XINT_forx_di #1#2% +{% + \def\XINT_y ##1##2##3##4{#1}% + \def\XINT_x {\XINT_y {#2}{####2}{####3}{####4}}% + \XINT_toks {\XINT_x \XINT_forx_di {#1}}% + \futurelet\XINT_token\XINT_forx_e +}% +\def\XINT_forx_dii #1#2% +{% + \def\XINT_y ##1##2##3##4{#1}% + \def\XINT_x {\XINT_y {####1}{#2}{####3}{####4}}% + \XINT_toks {\XINT_x \XINT_forx_dii {#1}}% + \futurelet\XINT_token\XINT_forx_e +}% +\def\XINT_forx_diii #1#2% +{% + \def\XINT_y ##1##2##3##4{#1}% + \def\XINT_x {\XINT_y {####1}{####2}{#2}{####4}}% + \XINT_toks {\XINT_x \XINT_forx_diii {#1}}% + \futurelet\XINT_token\XINT_forx_e +}% +\def\XINT_forx_div #1#2% +{% + \def\XINT_y ##1##2##3##4{#1}% + \def\XINT_x {\XINT_y {####1}{####2}{####3}{#2}}% + \XINT_toks {\XINT_x \XINT_forx_div {#1}}% + \futurelet\XINT_token\XINT_forx_e +}% +\def\XINT_forx_e +{% + \ifx\XINT_token z\xint_afterfi{\expandafter\XINT_x \xint_gobble_iii}\fi + \the\XINT_toks +}% +\def\xintForpair #1#2#3#4in#5#6#7% +{% + \XINT_toks \expandafter{% + \csname XINT_forii_d\romannumeral#2\endcsname {#7}}% + \expandafter\XINT_forii_b #5,z,% +}% +\def\XINT_forii_b {\futurelet\XINT_token\XINT_forii_c }% +\def\XINT_forii_c +{% + \ifx\XINT_token z\expandafter\xint_gobble_iv\fi + \the\XINT_toks +}% +\def\XINT_forii_di #1(#2,#3),% +{% + \def\XINT_y ##1##2##3##4{#1}% + \def\XINT_x {\XINT_y {#2}{#3}{####3}{####4}}% + \XINT_toks {\XINT_x\XINT_forii_di {#1}}% + \futurelet\XINT_token\XINT_for_e +}% +\def\XINT_forii_dii #1(#2,#3),% +{% + \def\XINT_y ##1##2##3##4{#1}% + \def\XINT_x {\XINT_y {####1}{#2}{#3}{####4}}% + \XINT_toks {\XINT_x \XINT_forii_dii {#1}}% + \futurelet\XINT_token\XINT_for_e +}% +\def\XINT_forii_diii #1(#2,#3),% +{% + \def\XINT_y ##1##2##3##4{#1}% + \def\XINT_x {\XINT_y {####1}{####2}{#2}{#3}}% + \XINT_toks {\XINT_x \XINT_forii_diii {#1}}% + \futurelet\XINT_token\XINT_for_e +}% +\def\xintForthree #1#2#3in#4#5#6% +{% + \XINT_toks \expandafter{% + \csname XINT_foriii_d\romannumeral#2\endcsname {#6}}% + \expandafter\XINT_foriii_b #4,z,% +}% +\def\XINT_foriii_b {\futurelet\XINT_token\XINT_foriii_c }% +\def\XINT_foriii_c +{% + \ifx\XINT_token z\expandafter\xint_gobble_iv\fi + \the\XINT_toks +}% +\def\XINT_foriii_di #1(#2,#3,#4),% +{% + \def\XINT_y ##1##2##3##4{#1}% + \def\XINT_x {\XINT_y {#2}{#3}{#4}{####4}}% + \XINT_toks {\XINT_x\XINT_foriii_di {#1}}% + \futurelet\XINT_token\XINT_for_e +}% +\def\XINT_foriii_dii #1(#2,#3,#4),% +{% + \def\XINT_y ##1##2##3##4{#1}% + \def\XINT_x {\XINT_y {####1}{#2}{#3}{#4}}% + \XINT_toks {\XINT_x \XINT_foriii_dii {#1}}% + \futurelet\XINT_token\XINT_for_e +}% +\def\xintForfour #1#2#3in#4#5#6% +{% + \XINT_toks {\XINT_foriv_di {#6}}% + \expandafter\XINT_foriv_b #4,z,% +}% +\def\XINT_foriv_b {\futurelet\XINT_token\XINT_foriv_c }% +\def\XINT_foriv_c +{% + \ifx\XINT_token z\expandafter\xint_gobble_iv\fi + \the\XINT_toks }% -\def\XINT_applyinline_a {\futurelet\XINT_apply_nexttoken\XINT_applyinline_b }% -\def\XINT_applyinline_b #1% +\def\XINT_foriv_di #1(#2,#3,#4,#5),% {% - \ifx\XINT_apply_nexttoken :\expandafter\xint_gobble_iii\fi - \XINT_apply_themacro {#1}\XINT_applyinline_a + \def\XINT_y ##1##2##3##4{#1}% + \def\XINT_x {\XINT_y {#2}{#3}{#4}{#5}}% + \XINT_toks {\XINT_x\XINT_foriv_di {#1}}% + \futurelet\XINT_token\XINT_for_e }% +\catcode`z 11 \def\xintAssign #1\to {% \expandafter\XINT_assign_a\romannumeral-`0#1{}\to @@ -818,6 +1133,9 @@ 0-\dummy { 1}% \krof }% +\def\xintBool #1{\romannumeral-`0% + \csname if#1\endcsname\expandafter1\else\expandafter0\fi }% +\def\xintToggle #1{\romannumeral-`0\iftoggle{#1}{1}{0}}% \def\xintSgnFork {\romannumeral0\xintsgnfork }% \def\xintsgnfork #1% {% @@ -853,6 +1171,7 @@ \xint_afterfi{\expandafter\space\xint_secondoftwo}% \fi }% +\let\xintifTrue\xintifNotZero \def\xintifEq {\romannumeral0\xintifeq }% \def\xintifeq #1#2% {% @@ -1681,6 +2000,18 @@ \def\xintiszero #1{\xintifsgn {#1}{0}{1}{0}}% \def\xintIsNotZero {\romannumeral0\xintisnotzero }% \def\xintisnotzero #1{\xintifsgn {#1}{1}{0}{1}}% +\let\xintIsTrue\xintIsNotZero +\let\xintNot\xintIsZero +\def\xintIsTrue:csv #1{\expandafter\XINT_istrue:_a\romannumeral-`0#1,,^}% +\def\XINT_istrue:_a {\XINT_istrue:_b {}}% +\def\XINT_istrue:_b #1#2,% + {\expandafter\XINT_istrue:_c\romannumeral-`0#2,{#1}}% +\def\XINT_istrue:_c #1{\if #1,\expandafter\XINT_istrue:_f + \else\expandafter\XINT_istrue:_d\fi #1}% +\def\XINT_istrue:_d #1,% + {\expandafter\XINT_istrue:_e\romannumeral0\xintisnotzero {#1},}% +\def\XINT_istrue:_e #1,#2{\XINT_istrue:_b {#2,#1}}% +\def\XINT_istrue:_f ,#1#2^{\xint_gobble_i #1}% \def\xintAND {\romannumeral0\xintand }% \def\xintand #1#2{\xintifzero {#1}{0}{\xintifzero {#2}{0}{1}}}% \def\xintOR {\romannumeral0\xintor }% diff --git a/Master/texmf-dist/tex/generic/xint/xintbinhex.sty b/Master/texmf-dist/tex/generic/xint/xintbinhex.sty index 79951c73605..2c4bedc1827 100644 --- a/Master/texmf-dist/tex/generic/xint/xintbinhex.sty +++ b/Master/texmf-dist/tex/generic/xint/xintbinhex.sty @@ -22,7 +22,7 @@ %% in the same archive or directory.) %% %%---------------------------------------------------------------- -%% The xint bundle (version 1.09b of October 3, 2013) +%% The xint bundle (version 1.09c of October 9, 2013) %% xintbinhex: Expandable binary and hexadecimal conversions %% Copyright (C) 2013 by Jean-Francois Burnol %%---------------------------------------------------------------- @@ -86,12 +86,11 @@ \catcode45=12 % - \catcode46=12 % . \catcode58=12 % : - \expandafter - \ifx\csname PackageInfo\endcsname\relax - \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% - \else + \ifdefined\PackageInfo \def\y#1#2{\PackageInfo{#1}{#2}}% - \fi + \else + \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% + \fi \def\empty {}% \expandafter\let\expandafter\w\csname ver@xint.sty\endcsname \ifx\w\relax % Plain TeX, user gave a file name at the prompt @@ -106,7 +105,7 @@ \XINTsetupcatcodes% \XINT_providespackage \ProvidesPackage{xintbinhex}% - [2013/10/03 v1.09b Expandable binary and hexadecimal conversions (jfB)]% + [2013/10/09 v1.09c Expandable binary and hexadecimal conversions (jfB)]% \chardef\xint_c_xvi 16 \chardef\xint_c_ii^v 32 \chardef\xint_c_ii^vi 64 diff --git a/Master/texmf-dist/tex/generic/xint/xintcfrac.sty b/Master/texmf-dist/tex/generic/xint/xintcfrac.sty index 1e605256060..69330cbfe14 100644 --- a/Master/texmf-dist/tex/generic/xint/xintcfrac.sty +++ b/Master/texmf-dist/tex/generic/xint/xintcfrac.sty @@ -22,7 +22,7 @@ %% in the same archive or directory.) %% %%---------------------------------------------------------------- -%% The xint bundle (version 1.09b of October 3, 2013) +%% The xint bundle (version 1.09c of October 9, 2013) %% xintcfrac: Expandable continued fractions with xint package %% Copyright (C) 2013 by Jean-Francois Burnol %%---------------------------------------------------------------- @@ -86,12 +86,11 @@ \catcode45=12 % - \catcode46=12 % . \catcode58=12 % : - \expandafter - \ifx\csname PackageInfo\endcsname\relax - \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% - \else + \ifdefined\PackageInfo \def\y#1#2{\PackageInfo{#1}{#2}}% - \fi + \else + \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% + \fi \def\empty {}% \expandafter\let\expandafter\w\csname ver@xintfrac.sty\endcsname \ifx\w\relax % Plain TeX, user gave a file name at the prompt @@ -106,7 +105,7 @@ \XINTsetupcatcodes% \XINT_providespackage \ProvidesPackage{xintcfrac}% - [2013/10/03 v1.09b Expandable continued fractions with xint package (jfB)]% + [2013/10/09 v1.09c Expandable continued fractions with xint package (jfB)]% \def\xintCFrac {\romannumeral0\xintcfrac }% \def\xintcfrac #1% {% diff --git a/Master/texmf-dist/tex/generic/xint/xintexpr.sty b/Master/texmf-dist/tex/generic/xint/xintexpr.sty index 76b1537d209..3c753a77e5c 100644 --- a/Master/texmf-dist/tex/generic/xint/xintexpr.sty +++ b/Master/texmf-dist/tex/generic/xint/xintexpr.sty @@ -22,7 +22,7 @@ %% in the same archive or directory.) %% %%---------------------------------------------------------------- -%% The xint bundle (version 1.09b of October 3, 2013) +%% The xint bundle (version 1.09c of October 9, 2013) %% xintexpr: Expandable expression parser %% Copyright (C) 2013 by Jean-Francois Burnol %%---------------------------------------------------------------- @@ -86,12 +86,11 @@ \catcode45=12 % - \catcode46=12 % . \catcode58=12 % : - \expandafter - \ifx\csname PackageInfo\endcsname\relax - \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% - \else + \ifdefined\PackageInfo \def\y#1#2{\PackageInfo{#1}{#2}}% - \fi + \else + \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% + \fi \def\empty {}% \expandafter\let\expandafter\w\csname ver@xintfrac.sty\endcsname \ifx\w\relax % Plain TeX, user gave a file name at the prompt @@ -106,13 +105,12 @@ \XINTsetupcatcodes% \XINT_providespackage \ProvidesPackage{xintexpr}% - [2013/10/03 v1.09b Expandable expression parser (jfB)]% + [2013/10/09 v1.09c Expandable expression parser (jfB)]% \def\xint_gob_til_dot #1.{}% \def\xint_gob_til_dot_andstop #1.{ }% \def\xint_gob_til_! #1!{}% nota bene: ! is of catcode 11 \def\XINT_expr_unexpectedtoken {\xintError:ignored }% \def\XINT_newexpr_stripprefix #1>{\noexpand\romannumeral-`0}% -\def\xint_firstofone #1{#1}% \def\XINT_expr_lock #1!{\expandafter\space\csname .#1\endcsname }% \def\XINT_expr_unlock {\expandafter\xint_gob_til_dot\string }% \def\XINT_expr_usethe {use_xintthe!\xintError:use_xintthe! }% @@ -121,6 +119,10 @@ \def\XINT_flexpr_done {!\XINT_expr_usethe\XINT_flexpr_print }% \def\XINT_flexpr_print #1{\xintFloat:csv{\XINT_expr_unlock #1}}% \def\XINT_numexpr_print #1{\xintRound:csv{\XINT_expr_unlock #1}}% +\def\XINT_boolexpr_print #1{\xintIsTrue:csv{\XINT_expr_unlock #1}}% +\def\xintifboolexpr #1{\romannumeral0\xintifnotzero {\xinttheexpr #1\relax}}% +\def\xintifboolfloatexpr #1{\romannumeral0\xintifnotzero + {\xintthefloatexpr #1\relax}}% \def\xintexpr {\romannumeral0\xinteval }% \def\xinteval {% @@ -133,6 +135,11 @@ \def\xintnumexpr {\romannumeral0\expandafter\XINT_numexpr_post \romannumeral0\xinteval }% \def\xintthenumexpr {\romannumeral-`0\xintthe\xintnumexpr }% +\def\XINT_boolexpr_post !\XINT_expr_usethe\XINT_expr_print% + { !\XINT_expr_usethe\XINT_boolexpr_print }% +\def\xintboolexpr {\romannumeral0\expandafter\XINT_boolexpr_post + \romannumeral0\xinteval }% +\def\xinttheboolexpr {\romannumeral-`0\xintthe\xintboolexpr }% \def\xintfloatexpr {\romannumeral0\xintfloateval }% \def\xintfloateval {% @@ -192,7 +199,7 @@ \def\XINT_expr_getnext_onetoken_fork #1% {% The * is in truth catcode 12 #. For (clever!) use with \xintNewExpr. \XINT_expr_sixwayfork - #1-.+*\dummy {\xint_c_x ({}}% back to until to trigger oparen + #1-.+*\dummy {\xint_c_xviii ({}}% back to until to trigger oparen (#1.+*\dummy -% (-#1+*\dummy {\XINT_expr_scandec_II.}% (-.#1*\dummy \XINT_expr_getnext% @@ -227,12 +234,18 @@ }% \def\XINT_expr_scanfunc_b #1% {% - \if #1(\else\expandafter \XINT_expr_scanfunc_c \fi #1% + \if #1(\expandafter \xint_gobble_iii\fi + \xint_firstofone + {% added in 1.09c for bool and togl + \if #1)\expandafter \xint_gobble_i + \else \expandafter \xint_firstoftwo + \fi }% + {\XINT_expr_scanfunc_c #1}(% }% \def\XINT_expr_scanfunc_panic {\xintError:bigtroubleahead(0\relax }% \def\XINT_expr_func #1(% common to expr and flexpr {% - \xint_c_x @{#1}% + \xint_c_xviii @{#1}% functions have the highest priority. }% \def\XINT_expr_scandec_I {% @@ -493,19 +506,6 @@ \csname XINT_flexpr_until_,_b\expandafter\endcsname \csname XINT_flexpr_op_-vi\expandafter\endcsname \csname XINT_expr_precedence_,\endcsname {flexpr}% -\def \XINT_expr_precedence_? #1#2#3#4% -{% - \xintifZero{\XINT_expr_unlock #2}% - {\XINT_expr_getnext #4}% - {\XINT_expr_getnext #3}% -}% -\def \XINT_expr_precedence_: #1#2#3#4#5% -{% - \xintifSgn {\XINT_expr_unlock #2}% - {\XINT_expr_getnext #3}% - {\XINT_expr_getnext #4}% - {\XINT_expr_getnext #5}% -}% \def\xint_tmp_def #1#2% {% \expandafter\xint_tmp_do_defs @@ -538,33 +538,72 @@ }% \xintApplyInline{\xint_tmp_def {expr}}{{vi}{vii}{viii}{ix}}% \xintApplyInline{\xint_tmp_def {flexpr}}{{vi}{vii}{viii}{ix}}% -\expandafter\def\csname XINT_expr_precedence_!\endcsname #1#2% - {\expandafter\XINT_expr_getop - \csname .\xintFac{\XINT_expr_unlock #2}[0]\endcsname }% +\let\XINT_expr_precedence_? \xint_c_x +\def \XINT_expr_op_? #1#2#3% +{% + \xintifZero{\XINT_expr_unlock #1}% + {\XINT_expr_getnext #3}% + {\XINT_expr_getnext #2}% +}% +\let\XINT_flexpr_op_?\XINT_expr_op_? +\let\XINT_expr_precedence_: \xint_c_x +\def \XINT_expr_op_: #1#2#3#4% +{% + \xintifSgn {\XINT_expr_unlock #1}% + {\XINT_expr_getnext #2}% + {\XINT_expr_getnext #3}% + {\XINT_expr_getnext #4}% +}% +\let\XINT_flexpr_op_:\XINT_expr_op_: +\let\XINT_expr_precedence_! \xint_c_x +\def\XINT_expr_op_! #1{\expandafter\XINT_expr_getop + \csname .\xintFac{\XINT_expr_unlock #1}\endcsname }% [0] removed in 1.09c +\let\XINT_flexpr_op_!\XINT_expr_op_! \let\xint_tmp_def\empty \let\xint_tmp_do_defs\empty \def\XINT_expr_op_@ #1% {% + \ifcsname XINT_expr_onlitteral_#1\endcsname + \expandafter\XINT_expr_funcoflitteral + \else + \expandafter\XINT_expr_op_@@ + \fi {#1}% +}% +\def\XINT_flexpr_op_@ #1% +{% + \ifcsname XINT_expr_onlitteral_#1\endcsname + \expandafter\XINT_expr_funcoflitteral + \else + \expandafter\XINT_flexpr_op_@@ + \fi {#1}% +}% +\def\XINT_expr_funcoflitteral #1% +{% + \expandafter\expandafter\csname XINT_expr_onlitteral_#1\endcsname + \romannumeral-`0\XINT_expr_scanfunc +}% +\def\XINT_expr_op_@@ #1% +{% \ifcsname XINT_expr_func_#1\endcsname - \xint_afterfi{% - \expandafter\expandafter\csname XINT_expr_func_#1\endcsname - }% + \xint_afterfi{\expandafter\expandafter\csname XINT_expr_func_#1\endcsname}% \else \xintError:unknownfunction \xint_afterfi{\expandafter\XINT_expr_func_unknown}% \fi \romannumeral-`0\XINT_expr_oparen }% -\def\XINT_flexpr_op_@ #1% +\def\XINT_flexpr_op_@@ #1% {% \ifcsname XINT_flexpr_func_#1\endcsname - \xint_afterfi{% - \expandafter\expandafter\csname XINT_flexpr_func_#1\endcsname - }% + \xint_afterfi{\expandafter\expandafter\csname XINT_flexpr_func_#1\endcsname}% \else \xintError:unknownfunction - \xint_afterfi{\expandafter\XINT_expr_func_unknown}% + \xint_afterfi{\expandafter\XINT_expr_func_unknown}% \fi \romannumeral-`0\XINT_flexpr_oparen }% +\def\XINT_expr_onlitteral_bool #1#2#3{\expandafter\XINT_expr_getop + \csname .\xintBool{#3}\endcsname }% +\def\XINT_expr_onlitteral_togl #1#2#3{\expandafter\XINT_expr_getop + \csname .\xintToggle{#3}\endcsname }% \def\XINT_expr_func_unknown #1#2#3% {% \expandafter #1\expandafter #2\csname .0[0]\endcsname @@ -784,139 +823,75 @@ \expandafter\xint_secondoftwo \fi {_xintListWithSep,{#1}}{\xint_firstofone#1}}% -\def\XINT_expr_tmp #1% - {\expandafter\def\csname xint#1\endcsname {_xint#1}}% -\expandafter\def\expandafter\XINT_expr_protect\expandafter -{% - \romannumeral0% - \xintapplyunbraced\XINT_expr_tmp{\xintCSVtoList{% - Floor,Ceil,iRound,Round,iTrunc,Trunc,% - Lt,Gt,Eq,AND,OR,% - IsNotZero,IsZero,% - ifNotZero,ifSgn,% - Irr,Num,Abs,Sgn,Opp,Quo,Rem,% - Add,Sub,Mul,Sqr,Div,Pow,Fac,fE}}% - \def\xintGCDof:csv ##1{_xintGCDof {\xintCSVtoList {##1}}}% - \def\xintLCMof:csv ##1{_xintLCMof {\xintCSVtoList {##1}}}% - \def\xintMaxof:csv ##1{_xintMaxof {\xintCSVtoList {##1}}}% - \def\xintMinof:csv ##1{_xintMinof {\xintCSVtoList {##1}}}% - \def\xintSum:csv ##1{_xintSum {\xintCSVtoList {##1}}}% - \def\xintPrd:csv ##1{_xintPrd {\xintCSVtoList {##1}}}% - \def\xintANDof:csv ##1{_xintANDof {\xintCSVtoList {##1}}}% - \def\xintORof:csv ##1{_xintORof {\xintCSVtoList {##1}}}% - \def\xintXORof:csv ##1{_xintXORof {\xintCSVtoList {##1}}}% - \def\XINTinFloat {_XINTinFloat}% - \def\XINTinFloatSqrt {_XINTinFloatSqrt}% - \def\XINTdigits {_XINTdigits}% - \def\XINT_expr_print ##1{\expandafter\XINT_newexpr_print\expandafter - {\romannumeral0\xintcsvtolist{\XINT_expr_unlock ##1}}}% -}% -\catcode`* 13 -\def\xintNewExpr #1[#2]% -{% - \begingroup - \ifcase #2\relax - \toks0 {\xdef #1}% - \or \toks0 {\xdef #1##1}% - \or \toks0 {\xdef #1##1##2}% - \or \toks0 {\xdef #1##1##2##3}% - \or \toks0 {\xdef #1##1##2##3##4}% - \or \toks0 {\xdef #1##1##2##3##4##5}% - \or \toks0 {\xdef #1##1##2##3##4##5##6}% - \or \toks0 {\xdef #1##1##2##3##4##5##6##7}% - \or \toks0 {\xdef #1##1##2##3##4##5##6##7##8}% - \or \toks0 {\xdef #1##1##2##3##4##5##6##7##8##9}% - \fi - \xintexprSafeCatcodes - \XINT_NewExpr -}% -\def\XINT_NewExpr #1% -{% - \def\xintTmp ##1##2##3##4##5##6##7##8##9{#1}% - \XINT_expr_protect - \lccode`\*=`_ \lowercase {\def*}{!noexpand!}% - \catcode`_ 13 \catcode`: 11 \endlinechar -1 - \everyeof {\noexpand }% - \edef\XINTtmp ##1##2##3##4##5##6##7##8##9% - {\scantokens - \expandafter{\romannumeral-`0\xinttheexpr - \xintTmp {####1}{####2}{####3}% - {####4}{####5}{####6}% - {####7}{####8}{####9}% - \relax}}% - \lccode`\*=`\$ \lowercase {\def*}{####}% - \catcode`\$ 13 \catcode`! 0 \catcode`_ 11 % - \the\toks0 - {\scantokens\expandafter{\expandafter - \XINT_newexpr_stripprefix\meaning\XINTtmp}}% -\endgroup -}% -\def\XINT_newflexpr_print #1{\ifnum\xintNthElt{0}{#1}>1 +\xintForpair #1#2 in {(fl,Float),(num,iRound0),(bool,IsTrue)} \do {% + \expandafter\def\csname XINT_new#1expr_print\endcsname + ##1{\ifnum\xintNthElt{0}{##1}>1 \expandafter\xint_firstoftwo \else \expandafter\xint_secondoftwo \fi - {_xintListWithSep,{\xintApply{_xintFloat}{#1}}} - {_xintFloat#1}}% -\expandafter\def\expandafter\XINT_flexpr_protect\expandafter -{% - \romannumeral0% - \xintapplyunbraced\XINT_expr_tmp{\xintCSVtoList{% - Floor,Ceil,iRound,Round,iTrunc,Trunc,% - Lt,Gt,Eq,AND,OR,% - IsNotZero,IsZero,% - ifNotZero,ifSgn,% - Irr,Num,Abs,Sgn,Opp,Quo,Rem,Fac}}% - \def\xintGCDof:csv ##1{_xintGCDof {\xintCSVtoList {##1}}}% - \def\xintLCMof:csv ##1{_xintLCMof {\xintCSVtoList {##1}}}% - \def\xintFloatMaxof:csv ##1{_xintFloatMaxof {\xintCSVtoList {##1}}}% - \def\xintFloatMinof:csv ##1{_xintFloatMinof {\xintCSVtoList {##1}}}% - \def\xintFloatSum:csv ##1{_xintFloatSum {\xintCSVtoList {##1}}}% - \def\xintFloatPrd:csv ##1{_xintFloatPrd {\xintCSVtoList {##1}}}% - \def\xintANDof:csv ##1{_xintANDof {\xintCSVtoList {##1}}}% - \def\xintORof:csv ##1{_xintORof {\xintCSVtoList {##1}}}% - \def\xintXORof:csv ##1{_xintXORof {\xintCSVtoList {##1}}}% - \def\XINTinFloat {_XINTinFloat}% - \def\XINTinFloatSqrt {_XINTinFloatSqrt}% - \def\XINTinFloatAdd {_XINTinFloatAdd}% - \def\XINTinFloatSub {_XINTinFloatSub}% - \def\XINTinFloatMul {_XINTinFloatMul}% - \def\XINTinFloatDiv {_XINTinFloatDiv}% - \def\XINTinFloatPower {_XINTinFloatPower}% - \def\XINTinFloatfE {_XINTinFloatfE}% - \def\XINTdigits {_XINTdigits}% - \def\XINT_flexpr_print ##1{\expandafter\XINT_newflexpr_print\expandafter + {_xintListWithSep,{\xintApply{_xint#2}{##1}}} + {_xint#2##1}}}% +\toks0 {}% +\xintFor #1 in {Bool,Toggle,Floor,Ceil,iRound,Round,iTrunc,Trunc,% + Lt,Gt,Eq,AND,OR,IsNotZero,IsZero,ifNotZero,ifSgn,% + Irr,Num,Abs,Sgn,Opp,Quo,Rem,Add,Sub,Mul,Sqr,Div,Pow,Fac,fE} \do + {\toks0 + \expandafter{\the\toks0\expandafter\def\csname xint#1\endcsname {_xint#1}}}% +\xintFor #1 in {GCDof,LCMof,Maxof,Minof,ANDof,ORof,XORof,% + FloatMaxof,FloatMinof,Sum,Prd,FloatSum,FloatPrd} \do + {\toks0 + \expandafter{\the\toks0\expandafter\def\csname xint#1:csv\endcsname + ####1{_xint#1 {\xintCSVtoList {####1}}}}}% +\xintFor #1 in {,Sqrt,Add,Sub,Mul,Div,Power,fE} \do + {\toks0 + \expandafter{\the\toks0\expandafter\def\csname XINTinFloat#1\endcsname + {_XINTinFloat#1}}}% +\expandafter\def\expandafter\XINT_expr_protect\expandafter{\the\toks0 + \def\XINTdigits {_XINTdigits}% + \def\XINT_expr_print ##1{\expandafter\XINT_newexpr_print\expandafter + {\romannumeral0\xintcsvtolist{\XINT_expr_unlock ##1}}}% + \def\XINT_flexpr_print ##1{\expandafter\XINT_newflexpr_print\expandafter + {\romannumeral0\xintcsvtolist{\XINT_expr_unlock ##1}}}% + \def\XINT_numexpr_print ##1{\expandafter\XINT_newnumexpr_print\expandafter + {\romannumeral0\xintcsvtolist{\XINT_expr_unlock ##1}}}% + \def\XINT_boolexpr_print ##1{\expandafter\XINT_newboolexpr_print\expandafter {\romannumeral0\xintcsvtolist{\XINT_expr_unlock ##1}}}% }% -\let\XINT_expr_tmp\empty -\def\xintNewFloatExpr #1[#2]% -{% - \begingroup - \ifcase #2\relax - \toks0 {\xdef #1}% - \or \toks0 {\xdef #1##1}% - \or \toks0 {\xdef #1##1##2}% - \or \toks0 {\xdef #1##1##2##3}% - \or \toks0 {\xdef #1##1##2##3##4}% - \or \toks0 {\xdef #1##1##2##3##4##5}% - \or \toks0 {\xdef #1##1##2##3##4##5##6}% - \or \toks0 {\xdef #1##1##2##3##4##5##6##7}% - \or \toks0 {\xdef #1##1##2##3##4##5##6##7##8}% - \or \toks0 {\xdef #1##1##2##3##4##5##6##7##8##9}% +\toks0 {}% +\def\xintNewExpr {\xint_NewExpr\xinttheexpr }% +\def\xintNewFloatExpr {\xint_NewExpr\xintthefloatexpr }% +\def\xintNewNumExpr {\xint_NewExpr\xintthenumexpr }% +\def\xintNewBoolExpr {\xint_NewExpr\xinttheboolexpr }% +\def\xint_NewExpr #1#2[#3]% +{% + \begingroup + \ifcase #3\relax + \toks0 {\xdef #2}% + \or \toks0 {\xdef #2##1}% + \or \toks0 {\xdef #2##1##2}% + \or \toks0 {\xdef #2##1##2##3}% + \or \toks0 {\xdef #2##1##2##3##4}% + \or \toks0 {\xdef #2##1##2##3##4##5}% + \or \toks0 {\xdef #2##1##2##3##4##5##6}% + \or \toks0 {\xdef #2##1##2##3##4##5##6##7}% + \or \toks0 {\xdef #2##1##2##3##4##5##6##7##8}% + \or \toks0 {\xdef #2##1##2##3##4##5##6##7##8##9}% \fi \xintexprSafeCatcodes - \XINT_NewFloatExpr + \XINT_NewExpr #1% }% -\def\XINT_NewFloatExpr #1% +\catcode`* 13 +\def\XINT_NewExpr #1#2% {% - \def\xintTmp ##1##2##3##4##5##6##7##8##9{#1}% - \XINT_flexpr_protect + \def\xintTmp ##1##2##3##4##5##6##7##8##9{#2}% + \XINT_expr_protect \lccode`\*=`_ \lowercase {\def*}{!noexpand!}% - \catcode`_ 13 \catcode`: 11 \endlinechar -1 % + \catcode`_ 13 \catcode`: 11 \endlinechar -1 \everyeof {\noexpand }% \edef\XINTtmp ##1##2##3##4##5##6##7##8##9% {\scantokens - \expandafter{\romannumeral-`0\xintthefloatexpr + \expandafter{\romannumeral-`0#1% \xintTmp {####1}{####2}{####3}% {####4}{####5}{####6}% {####7}{####8}{####9}% @@ -924,9 +899,9 @@ \lccode`\*=`\$ \lowercase {\def*}{####}% \catcode`\$ 13 \catcode`! 0 \catcode`_ 11 % \the\toks0 - {\scantokens\expandafter - {\expandafter\XINT_newexpr_stripprefix\meaning\XINTtmp}}% -\endgroup + {\scantokens\expandafter{\expandafter + \XINT_newexpr_stripprefix\meaning\XINTtmp}}% + \endgroup }% \let\xintexprRestoreCatcodes\relax \def\xintexprSafeCatcodes diff --git a/Master/texmf-dist/tex/generic/xint/xintfrac.sty b/Master/texmf-dist/tex/generic/xint/xintfrac.sty index c5ea336f8a8..fd6dfb6b926 100644 --- a/Master/texmf-dist/tex/generic/xint/xintfrac.sty +++ b/Master/texmf-dist/tex/generic/xint/xintfrac.sty @@ -22,7 +22,7 @@ %% in the same archive or directory.) %% %%---------------------------------------------------------------- -%% The xint bundle (version 1.09b of October 3, 2013) +%% The xint bundle (version 1.09c of October 9, 2013) %% xintfrac: Expandable operations on fractions %% Copyright (C) 2013 by Jean-Francois Burnol %%---------------------------------------------------------------- @@ -86,12 +86,11 @@ \catcode45=12 % - \catcode46=12 % . \catcode58=12 % : - \expandafter - \ifx\csname PackageInfo\endcsname\relax - \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% - \else + \ifdefined\PackageInfo \def\y#1#2{\PackageInfo{#1}{#2}}% - \fi + \else + \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% + \fi \def\empty {}% \expandafter\let\expandafter\w\csname ver@xint.sty\endcsname \ifx\w\relax % Plain TeX, user gave a file name at the prompt @@ -106,7 +105,7 @@ \XINTsetupcatcodes% \XINT_providespackage \ProvidesPackage{xintfrac}% - [2013/10/03 v1.09b Expandable operations on fractions (jfB)]% + [2013/10/09 v1.09c Expandable operations on fractions (jfB)]% \chardef\xint_c_vi 6 \chardef\xint_c_vii 7 \chardef\xint_c_xviii 18 diff --git a/Master/texmf-dist/tex/generic/xint/xintgcd.sty b/Master/texmf-dist/tex/generic/xint/xintgcd.sty index 6c64b21a9ef..96b66869c36 100644 --- a/Master/texmf-dist/tex/generic/xint/xintgcd.sty +++ b/Master/texmf-dist/tex/generic/xint/xintgcd.sty @@ -22,7 +22,7 @@ %% in the same archive or directory.) %% %%---------------------------------------------------------------- -%% The xint bundle (version 1.09b of October 3, 2013) +%% The xint bundle (version 1.09c of October 9, 2013) %% xintgcd: Euclidean algorithm with xint package %% Copyright (C) 2013 by Jean-Francois Burnol %%---------------------------------------------------------------- @@ -86,12 +86,11 @@ \catcode45=12 % - \catcode46=12 % . \catcode58=12 % : - \expandafter - \ifx\csname PackageInfo\endcsname\relax - \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% - \else + \ifdefined\PackageInfo \def\y#1#2{\PackageInfo{#1}{#2}}% - \fi + \else + \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% + \fi \def\empty {}% \expandafter\let\expandafter\w\csname ver@xint.sty\endcsname \ifx\w\relax % Plain TeX, user gave a file name at the prompt @@ -106,7 +105,7 @@ \XINTsetupcatcodes% \XINT_providespackage \ProvidesPackage{xintgcd}% - [2013/10/03 v1.09b Euclide algorithm with xint package (jfB)]% + [2013/10/09 v1.09c Euclide algorithm with xint package (jfB)]% \def\xintGCD {\romannumeral0\xintgcd }% \def\xintgcd #1% {% diff --git a/Master/texmf-dist/tex/generic/xint/xintseries.sty b/Master/texmf-dist/tex/generic/xint/xintseries.sty index 73eccab40e9..235996ff808 100644 --- a/Master/texmf-dist/tex/generic/xint/xintseries.sty +++ b/Master/texmf-dist/tex/generic/xint/xintseries.sty @@ -22,7 +22,7 @@ %% in the same archive or directory.) %% %%---------------------------------------------------------------- -%% The xint bundle (version 1.09b of October 3, 2013) +%% The xint bundle (version 1.09c of October 9, 2013) %% xintseries: Expandable partial sums with xint package %% Copyright (C) 2013 by Jean-Francois Burnol %%---------------------------------------------------------------- @@ -86,12 +86,11 @@ \catcode45=12 % - \catcode46=12 % . \catcode58=12 % : - \expandafter - \ifx\csname PackageInfo\endcsname\relax - \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% - \else + \ifdefined\PackageInfo \def\y#1#2{\PackageInfo{#1}{#2}}% - \fi + \else + \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% + \fi \def\empty {}% \expandafter\let\expandafter\w\csname ver@xintfrac.sty\endcsname \ifx\w\relax % Plain TeX, user gave a file name at the prompt @@ -106,7 +105,7 @@ \XINTsetupcatcodes% \XINT_providespackage \ProvidesPackage{xintseries}% - [2013/10/03 v1.09b Expandable partial sums with xint package (jfB)]% + [2013/10/09 v1.09c Expandable partial sums with xint package (jfB)]% \def\xintSeries {\romannumeral0\xintseries }% \def\xintseries #1#2% {% |