diff options
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xint.sty | 28 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintbinhex.sty | 28 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintcfrac.sty | 28 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintcore.sty | 28 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintexpr.sty | 124 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintfrac.sty | 241 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintgcd.sty | 26 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintkernel.sty | 179 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintlog.sty | 54 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xintseries.sty | 28 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xinttools.sty | 28 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/xint/xinttrig.sty | 46 |
12 files changed, 417 insertions, 421 deletions
diff --git a/Master/texmf-dist/tex/generic/xint/xint.sty b/Master/texmf-dist/tex/generic/xint/xint.sty index 800b3fbf5c8..3614cc5a8a3 100644 --- a/Master/texmf-dist/tex/generic/xint/xint.sty +++ b/Master/texmf-dist/tex/generic/xint/xint.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4k 2022/05/18 +%% The xint bundle 1.4l 2022/05/29 %% Copyright (C) 2013-2022 by Jean-Francois Burnol %% xint: Expandable operations on big integers %% --------------------------------------------------------------- @@ -31,38 +31,36 @@ \catcode123=1 % { \catcode125=2 % } \catcode64=11 % @ - \catcode35=6 % # \catcode44=12 % , - \catcode45=12 % - \catcode46=12 % . \catcode58=12 % : - \let\z\endgroup + \catcode94=7 % ^ + \def\empty{}\def\space{ }\newlinechar10 + \def\z{\endgroup}% \expandafter\let\expandafter\x\csname ver@xint.sty\endcsname \expandafter\let\expandafter\w\csname ver@xintcore.sty\endcsname - \expandafter - \ifx\csname PackageInfo\endcsname\relax - \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% + \expandafter\ifx\csname numexpr\endcsname\relax + \expandafter\ifx\csname PackageWarning\endcsname\relax + \immediate\write128{^^JPackage xint Warning:^^J% + \space\space\space\space + \numexpr not available, aborting input.^^J}% \else - \def\y#1#2{\PackageInfo{#1}{#2}}% + \PackageWarningNoLine{xint}{\numexpr not available, aborting input}% \fi - \expandafter - \ifx\csname numexpr\endcsname\relax - \y{xint}{\numexpr not available, aborting input}% - \aftergroup\endinput + \def\z{\endgroup\endinput}% \else \ifx\x\relax % plain-TeX, first loading of xintcore.sty \ifx\w\relax % but xintkernel.sty not yet loaded. \def\z{\endgroup\input xintcore.sty\relax}% \fi \else - \def\empty {}% \ifx\x\empty % LaTeX, first loading, % variable is initialized, but \ProvidesPackage not yet seen \ifx\w\relax % xintcore.sty not yet loaded. \def\z{\endgroup\RequirePackage{xintcore}}% \fi \else - \aftergroup\endinput % xint already loaded. + \def\z{\endgroup\endinput}% xint already loaded. \fi \fi \fi @@ -70,7 +68,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty (loaded by xintcore.sty) \XINT_providespackage \ProvidesPackage{xint}% - [2022/05/18 v1.4k Expandable operations on big integers (JFB)]% + [2022/05/29 v1.4l Expandable operations on big integers (JFB)]% \long\def\xint_firstofthree #1#2#3{#1}% \long\def\xint_secondofthree #1#2#3{#2}% \long\def\xint_thirdofthree #1#2#3{#3}% diff --git a/Master/texmf-dist/tex/generic/xint/xintbinhex.sty b/Master/texmf-dist/tex/generic/xint/xintbinhex.sty index 243b7c325aa..7c6b6131a21 100644 --- a/Master/texmf-dist/tex/generic/xint/xintbinhex.sty +++ b/Master/texmf-dist/tex/generic/xint/xintbinhex.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4k 2022/05/18 +%% The xint bundle 1.4l 2022/05/29 %% Copyright (C) 2013-2022 by Jean-Francois Burnol %% xintbinhex: Expandable binary and hexadecimal conversions %% --------------------------------------------------------------- @@ -31,38 +31,36 @@ \catcode123=1 % { \catcode125=2 % } \catcode64=11 % @ - \catcode35=6 % # \catcode44=12 % , - \catcode45=12 % - \catcode46=12 % . \catcode58=12 % : - \let\z\endgroup + \catcode94=7 % ^ + \def\empty{}\def\space{ }\newlinechar10 + \def\z{\endgroup}% \expandafter\let\expandafter\x\csname ver@xintbinhex.sty\endcsname \expandafter\let\expandafter\w\csname ver@xintkernel.sty\endcsname - \expandafter - \ifx\csname PackageInfo\endcsname\relax - \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% + \expandafter\ifx\csname numexpr\endcsname\relax + \expandafter\ifx\csname PackageWarning\endcsname\relax + \immediate\write128{^^JPackage xintbinhex Warning:^^J% + \space\space\space\space + \numexpr not available, aborting input.^^J}% \else - \def\y#1#2{\PackageInfo{#1}{#2}}% + \PackageWarningNoLine{xintbinhex}{\numexpr not available, aborting input}% \fi - \expandafter - \ifx\csname numexpr\endcsname\relax - \y{xintbinhex}{\numexpr not available, aborting input}% - \aftergroup\endinput + \def\z{\endgroup\endinput}% \else \ifx\x\relax % plain-TeX, first loading of xintbinhex.sty \ifx\w\relax % but xintkernel.sty not yet loaded. \def\z{\endgroup\input xintkernel.sty\relax}% \fi \else - \def\empty {}% \ifx\x\empty % LaTeX, first loading, % variable is initialized, but \ProvidesPackage not yet seen \ifx\w\relax % xintkernel.sty not yet loaded. \def\z{\endgroup\RequirePackage{xintkernel}}% \fi \else - \aftergroup\endinput % xintbinhex already loaded. + \def\z{\endgroup\endinput}% xintbinhex already loaded. \fi \fi \fi @@ -70,7 +68,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintbinhex}% - [2022/05/18 v1.4k Expandable binary and hexadecimal conversions (JFB)]% + [2022/05/29 v1.4l Expandable binary and hexadecimal conversions (JFB)]% \newcount\xint_c_ii^xv \xint_c_ii^xv 32768 \newcount\xint_c_ii^xvi \xint_c_ii^xvi 65536 \def\XINT_tmpa #1{\ifx\relax#1\else diff --git a/Master/texmf-dist/tex/generic/xint/xintcfrac.sty b/Master/texmf-dist/tex/generic/xint/xintcfrac.sty index e538575f50f..e278c56effb 100644 --- a/Master/texmf-dist/tex/generic/xint/xintcfrac.sty +++ b/Master/texmf-dist/tex/generic/xint/xintcfrac.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4k 2022/05/18 +%% The xint bundle 1.4l 2022/05/29 %% Copyright (C) 2013-2022 by Jean-Francois Burnol %% xintcfrac: Expandable continued fractions with xint package %% --------------------------------------------------------------- @@ -31,38 +31,36 @@ \catcode123=1 % { \catcode125=2 % } \catcode64=11 % @ - \catcode35=6 % # \catcode44=12 % , - \catcode45=12 % - \catcode46=12 % . \catcode58=12 % : - \let\z\endgroup + \catcode94=7 % ^ + \def\empty{}\def\space{ }\newlinechar10 + \def\z{\endgroup}% \expandafter\let\expandafter\x\csname ver@xintcfrac.sty\endcsname \expandafter\let\expandafter\w\csname ver@xintfrac.sty\endcsname - \expandafter - \ifx\csname PackageInfo\endcsname\relax - \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% + \expandafter\ifx\csname numexpr\endcsname\relax + \expandafter\ifx\csname PackageWarning\endcsname\relax + \immediate\write128{^^JPackage xintcfrac Warning:^^J% + \space\space\space\space + \numexpr not available, aborting input.^^J}% \else - \def\y#1#2{\PackageInfo{#1}{#2}}% + \PackageWarningNoLine{xintcfrac}{\numexpr not available, aborting input}% \fi - \expandafter - \ifx\csname numexpr\endcsname\relax - \y{xintcfrac}{\numexpr not available, aborting input}% - \aftergroup\endinput + \def\z{\endgroup\endinput}% \else \ifx\x\relax % plain-TeX, first loading of xintcfrac.sty \ifx\w\relax % but xintfrac.sty not yet loaded. \def\z{\endgroup\input xintfrac.sty\relax}% \fi \else - \def\empty {}% \ifx\x\empty % LaTeX, first loading, % variable is initialized, but \ProvidesPackage not yet seen \ifx\w\relax % xintfrac.sty not yet loaded. \def\z{\endgroup\RequirePackage{xintfrac}}% \fi \else - \aftergroup\endinput % xintcfrac already loaded. + \def\z{\endgroup\endinput}% xintcfrac already loaded. \fi \fi \fi @@ -70,7 +68,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintcfrac}% - [2022/05/18 v1.4k Expandable continued fractions with xint package (JFB)]% + [2022/05/29 v1.4l Expandable continued fractions with xint package (JFB)]% \def\xintCFrac {\romannumeral0\xintcfrac }% \def\xintcfrac #1% {% diff --git a/Master/texmf-dist/tex/generic/xint/xintcore.sty b/Master/texmf-dist/tex/generic/xint/xintcore.sty index a11d046dec7..91702aed00a 100644 --- a/Master/texmf-dist/tex/generic/xint/xintcore.sty +++ b/Master/texmf-dist/tex/generic/xint/xintcore.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4k 2022/05/18 +%% The xint bundle 1.4l 2022/05/29 %% Copyright (C) 2013-2022 by Jean-Francois Burnol %% xintcore: Expandable arithmetic on big integers %% --------------------------------------------------------------- @@ -31,38 +31,36 @@ \catcode123=1 % { \catcode125=2 % } \catcode64=11 % @ - \catcode35=6 % # \catcode44=12 % , - \catcode45=12 % - \catcode46=12 % . \catcode58=12 % : - \let\z\endgroup + \catcode94=7 % ^ + \def\empty{}\def\space{ }\newlinechar10 + \def\z{\endgroup}% \expandafter\let\expandafter\x\csname ver@xintcore.sty\endcsname \expandafter\let\expandafter\w\csname ver@xintkernel.sty\endcsname - \expandafter - \ifx\csname PackageInfo\endcsname\relax - \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% + \expandafter\ifx\csname numexpr\endcsname\relax + \expandafter\ifx\csname PackageWarning\endcsname\relax + \immediate\write128{^^JPackage xintcore Warning:^^J% + \space\space\space\space + \numexpr not available, aborting input.^^J}% \else - \def\y#1#2{\PackageInfo{#1}{#2}}% + \PackageWarningNoLine{xintcore}{\numexpr not available, aborting input}% \fi - \expandafter - \ifx\csname numexpr\endcsname\relax - \y{xintcore}{\numexpr not available, aborting input}% - \aftergroup\endinput + \def\z{\endgroup\endinput}% \else \ifx\x\relax % plain-TeX, first loading of xintcore.sty \ifx\w\relax % but xintkernel.sty not yet loaded. \def\z{\endgroup\input xintkernel.sty\relax}% \fi \else - \def\empty {}% \ifx\x\empty % LaTeX, first loading, % variable is initialized, but \ProvidesPackage not yet seen \ifx\w\relax % xintkernel.sty not yet loaded. \def\z{\endgroup\RequirePackage{xintkernel}}% \fi \else - \aftergroup\endinput % xintkernel already loaded. + \def\z{\endgroup\endinput}% xintkernel already loaded. \fi \fi \fi @@ -70,7 +68,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintcore}% - [2022/05/18 v1.4k Expandable arithmetic on big integers (JFB)]% + [2022/05/29 v1.4l Expandable arithmetic on big integers (JFB)]% \csname XINT_Clamped_istrapped\endcsname \csname XINT_ConversionSyntax_istrapped\endcsname \csname XINT_DivisionByZero_istrapped\endcsname diff --git a/Master/texmf-dist/tex/generic/xint/xintexpr.sty b/Master/texmf-dist/tex/generic/xint/xintexpr.sty index 84db61a81a1..d1862e9130f 100644 --- a/Master/texmf-dist/tex/generic/xint/xintexpr.sty +++ b/Master/texmf-dist/tex/generic/xint/xintexpr.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4k 2022/05/18 +%% The xint bundle 1.4l 2022/05/29 %% Copyright (C) 2013-2022 by Jean-Francois Burnol %% xintexpr: Expandable expression parser %% --------------------------------------------------------------- @@ -31,26 +31,25 @@ \catcode123=1 % { \catcode125=2 % } \catcode64=11 % @ - \catcode35=6 % # \catcode44=12 % , - \catcode45=12 % - \catcode46=12 % . \catcode58=12 % : - \def\z {\endgroup}% + \catcode94=7 % ^ + \def\empty{}\def\space{ }\newlinechar10 + \def\z{\endgroup}% \expandafter\let\expandafter\x\csname ver@xintexpr.sty\endcsname \expandafter\let\expandafter\w\csname ver@xintfrac.sty\endcsname \expandafter\let\expandafter\t\csname ver@xinttools.sty\endcsname - \expandafter - \ifx\csname PackageInfo\endcsname\relax - \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% + % I don't think engine exists providing \expanded but not \numexpr + \expandafter\ifx\csname expanded\endcsname\relax + \expandafter\ifx\csname PackageWarning\endcsname\relax + \immediate\write128{^^JPackage xintexpr Warning:^^J% + \space\space\space\space + \expanded not available, aborting input.^^J}% \else - \def\y#1#2{\PackageInfo{#1}{#2}}% + \PackageWarningNoLine{xintexpr}{\expanded not available, aborting input}% \fi - \expandafter - % I don't think engine exists providing \expanded but not \numexpr - \ifx\csname expanded\endcsname\relax - \y{xintexpr}{\expanded not available, aborting input}% - \aftergroup\endinput + \def\z{\endgroup\endinput}% \else \ifx\x\relax % plain-TeX, first loading of xintexpr.sty \ifx\w\relax % but xintfrac.sty not yet loaded. @@ -62,7 +61,6 @@ {\z\input xinttools.sty\relax}% \fi \else - \def\empty {}% \ifx\x\empty % LaTeX, first loading, % variable is initialized, but \ProvidesPackage not yet seen \ifx\w\relax % xintfrac.sty not yet loaded. @@ -74,7 +72,7 @@ {\z\RequirePackage{xinttools}}% \fi \else - \aftergroup\endinput % xintexpr already loaded. + \def\z{\endgroup\endinput}% xintexpr already loaded. \fi \fi \fi @@ -82,7 +80,7 @@ \XINTsetupcatcodes% \XINT_providespackage \ProvidesPackage{xintexpr}% - [2022/05/18 v1.4k Expandable expression parser (JFB)]% + [2022/05/29 v1.4l Expandable expression parser (JFB)]% \catcode`! 11 \let\XINT_Cmp \xintiiCmp \def\XINTfstop{\noexpand\XINTfstop}% @@ -125,10 +123,12 @@ <% pol([\XINT:expr:toblist_b #1!#3}^])\XINT:expr:toblist_c #1!}% >% -\def\XINT:expr:toblist_b #1!#2}% -<% - \if\relax#2\relax\xintexprEmptyItem\else#1<#2>\fi\XINT:expr:toblist_c #1!}% ->% +\catcode`{ 1 \catcode`} 2 +\def\XINT:expr:toblist_b #1{% +\def\XINT:expr:toblist_b ##1!##2#1% +{% + \if\relax##2\relax\xintexprEmptyItem\else##1{##2}\fi\XINT:expr:toblist_c ##1!#1% +}}\catcode`{ 12 \catcode`} 12 \XINT:expr:toblist_b<}>% \def\XINT:expr:toblist_c #1}#2% <% \if ^#2\xint_dothis<\xint_gob_til_^>\fi @@ -224,7 +224,7 @@ \if ^#2\expandafter\xint_gob_til_^\else\expandafter\XINT:expr:mapwithin_a\fi #1!#2% }% -\begingroup % should I check lccode s generally if corrupted context at load? +\begingroup \catcode`[ 1 \catcode`] 2 \lccode`[`{ \lccode`]`} \catcode`< 1 \catcode`> 2 \catcode`{ 12 \catcode`} 12 \lowercase<\endgroup @@ -412,69 +412,38 @@ \def\xintifsgnexpr #1{\romannumeral0\xintiiifsgn {\xinttheexpr #1\relax}}% \def\xintifsgnfloatexpr #1{\romannumeral0\xintiiifsgn {\xintthefloatexpr #1\relax}}% \def\xintifsgniiexpr #1{\romannumeral0\xintiiifsgn {\xinttheiiexpr #1\relax}}% -\def\xintFracToSci #1{\expandafter\XINT_FracToSci\romannumeral`&&@#1/\W[\R}% -\def\XINT_FracToSci #1/#2#3[#4% -{% - \xint_gob_til_W #2\XINT_FracToSci_noslash\W - \xint_gob_til_R #4\XINT_FracToSci_slash_noN\R - \XINT_FracToSci_slash_N #1/#2#3[#4% -}% -\def\XINT_FracToSci_noslash#1\XINT_FracToSci_slash_N #2[#3% -{% - \xint_gob_til_R #3\XINT_FracToSci_noslash_noN\R - \XINT_FracToSci_noslash_N #2[#3% -}% -\def\XINT_FracToSci_noslash_noN\R\XINT_FracToSci_noslash_N #1/\W[\R{#1}% -\def\XINT_FracToSci_noslash_N #1[#2]/\W[\R% -{% - \ifnum#2=\xint_c_ #1\else - \romannumeral0\expandafter\XINT_pfloat_keeptrimmed_fork\romannumeral0\xintrez{#1[#2]}% - \fi -}% -\def\XINT_FracToSci_slash_noN\R\XINT_FracToSci_slash_N #1#2/#3/\W[\R% -{% - #1\xint_gob_til_zero#1\expandafter\iffalse\xint_gobble_ii0\iftrue - #2\if\XINT_isOne{#3}1\else/#3\fi\fi -}% -\def\XINT_FracToSci_slash_N #1#2/#3[#4]/\W[\R% +\def\xint_FracToSci_x #1{\expandafter\XINT_FracToSci_x\romannumeral`&&@#1/\W[\R}% +\def\XINT_FracToSci_x #1/#2#3[#4% {% - \ifnum#4=\xint_c_ #1#2\else - \romannumeral0\expandafter\XINT_pfloat_keeptrimmed_fork\romannumeral0\xintrez{#1#2[#4]}% - \fi - \if\XINT_isOne{#3}1\else\if#10\else/#3\fi\fi + \xint_gob_til_W #2\XINT_FracToSci_x_noslash\W + \xint_gob_til_R #4\XINT_FracToSci_x_slash_noN\R + \XINT_FracToSci_x_slash_N #1/#2#3[#4% }% -\let\xintexprPrintOne\xintFracToSci -\def\xintFracToDecimal #1{\expandafter\XINT_FracToDecimal\romannumeral`&&@#1/\W[\R}% -\def\XINT_FracToDecimal #1/#2#3[#4% +\def\XINT_FracToSci_x_noslash#1\XINT_FracToSci_x_slash_N #2[#3% {% - \xint_gob_til_W #2\XINT_FracToDecimal_noslash\W - \xint_gob_til_R #4\XINT_FracToDecimal_slash_noN\R - \XINT_FracToDecimal_slash_N #1/#2#3[#4% + \xint_gob_til_R #3\XINT_FracToSci_x_noslash_noN\R + \XINT_FracToSci_x_noslash_N #2[#3% }% -\def\XINT_FracToDecimal_noslash#1\XINT_FracToDecimal_slash_N #2[#3% -{% - \xint_gob_til_R #3\XINT_FracToDecimal_noslash_noN\R - \XINT_FracToDecimal_noslash_N #2[#3% -}% -\def\XINT_FracToDecimal_noslash_noN\R\XINT_FracToDecimal_noslash_N #1/\W[\R{#1}% -\def\XINT_FracToDecimal_noslash_N #1[#2]/\W[\R% +\def\XINT_FracToSci_x_noslash_noN\R\XINT_FracToSci_x_noslash_N #1/\W[\R{#1}% +\def\XINT_FracToSci_x_noslash_N #1[#2]/\W[\R% {% \ifnum#2=\xint_c_ #1\else - \romannumeral0\expandafter\XINT_dectostr\romannumeral0\xintrez{#1[#2]}% + \romannumeral0\expandafter\XINT_pfloat_a_fork\romannumeral0\xintrez{#1[#2]}% \fi }% -\def\XINT_FracToDecimal_slash_noN\R\XINT_FracToDecimal_slash_N #1#2/#3/\W[\R% +\def\XINT_FracToSci_x_slash_noN\R\XINT_FracToSci_x_slash_N #1#2/#3/\W[\R% {% #1\xint_gob_til_zero#1\expandafter\iffalse\xint_gobble_ii0\iftrue #2\if\XINT_isOne{#3}1\else/#3\fi\fi }% -\def\XINT_FracToDecimal_slash_N #1#2/#3[#4]/\W[\R% +\def\XINT_FracToSci_x_slash_N #1#2/#3[#4]/\W[\R% {% \ifnum#4=\xint_c_ #1#2\else - \romannumeral0\expandafter\XINT_dectostr\romannumeral0\xintrez{#1#2[#4]}% + \romannumeral0\expandafter\XINT_pfloat_a_fork\romannumeral0\xintrez{#1#2[#4]}% \fi \if\XINT_isOne{#3}1\else\if#10\else/#3\fi\fi }% +\let\xintexprPrintOne\xint_FracToSci_x \def\XINT_embrace#1{{#1}}% \def\xint_gob_til_! #1!{}% ! with catcode 11 \def\xintError:noopening @@ -4579,12 +4548,21 @@ }% \let\XINT_tmpa\undefined \let\XINT_tmpb\undefined \let\XINT_tmpc\undefined \let\XINT_tmpd\undefined \let\XINT_tmpe\undefined -\ifdefined\RequirePackage\expandafter\xint_firstoftwo\else\expandafter\xint_secondoftwo\fi -{\RequirePackage{xinttrig}% -\RequirePackage{xintlog}}% -{\input xinttrig.sty -\input xintlog.sty -}% +\ifdefined\RequirePackage + \ifcsname ver@xinttrig.sty\endcsname + \@@input xinttrig.sty\relax + \else + \RequirePackage{xinttrig}% + \fi + \ifcsname ver@xintlog.sty\endcsname + \@@input xintlog.sty\relax + \else + \RequirePackage{xintlog}% + \fi +\else + \input xinttrig.sty + \input xintlog.sty +\fi \XINTrestorecatcodesendinput% \endinput %% diff --git a/Master/texmf-dist/tex/generic/xint/xintfrac.sty b/Master/texmf-dist/tex/generic/xint/xintfrac.sty index 00de2592152..d94affd6304 100644 --- a/Master/texmf-dist/tex/generic/xint/xintfrac.sty +++ b/Master/texmf-dist/tex/generic/xint/xintfrac.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4k 2022/05/18 +%% The xint bundle 1.4l 2022/05/29 %% Copyright (C) 2013-2022 by Jean-Francois Burnol %% xintfrac: Expandable operations on fractions %% --------------------------------------------------------------- @@ -31,38 +31,36 @@ \catcode123=1 % { \catcode125=2 % } \catcode64=11 % @ - \catcode35=6 % # \catcode44=12 % , - \catcode45=12 % - \catcode46=12 % . \catcode58=12 % : - \let\z\endgroup + \catcode94=7 % ^ + \def\empty{}\def\space{ }\newlinechar10 + \def\z{\endgroup}% \expandafter\let\expandafter\x\csname ver@xintfrac.sty\endcsname \expandafter\let\expandafter\w\csname ver@xint.sty\endcsname - \expandafter - \ifx\csname PackageInfo\endcsname\relax - \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% + \expandafter\ifx\csname numexpr\endcsname\relax + \expandafter\ifx\csname PackageWarning\endcsname\relax + \immediate\write128{^^JPackage xintfrac Warning:^^J% + \space\space\space\space + \numexpr not available, aborting input.^^J}% \else - \def\y#1#2{\PackageInfo{#1}{#2}}% + \PackageWarningNoLine{xintfrac}{\numexpr not available, aborting input}% \fi - \expandafter - \ifx\csname numexpr\endcsname\relax - \y{xintfrac}{\numexpr not available, aborting input}% - \aftergroup\endinput + \def\z{\endgroup\endinput}% \else \ifx\x\relax % plain-TeX, first loading of xintfrac.sty \ifx\w\relax % but xint.sty not yet loaded. \def\z{\endgroup\input xint.sty\relax}% \fi \else - \def\empty {}% \ifx\x\empty % LaTeX, first loading, % variable is initialized, but \ProvidesPackage not yet seen \ifx\w\relax % xint.sty not yet loaded. \def\z{\endgroup\RequirePackage{xint}}% \fi \else - \aftergroup\endinput % xintfrac already loaded. + \def\z{\endgroup\endinput}% xintfrac already loaded. \fi \fi \fi @@ -70,7 +68,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintfrac}% - [2022/05/18 v1.4k Expandable operations on fractions (JFB)]% + [2022/05/29 v1.4l Expandable operations on fractions (JFB)]% \def\XINT_cntSgnFork #1% {% \ifcase #1\expandafter\xint_secondofthree @@ -121,8 +119,8 @@ {% \expandafter\XINT_outfrac_P\expandafter {#2}{#1}% }% -\def\XINT_inFrac {\romannumeral0\XINT_infrac }% -\def\XINT_infrac #1% +\def\XINT_inFrac {\romannumeral0\XINT_infrac }% this one deprecated +\def\XINT_infrac #1% this one is core xintfrac macro {% \expandafter\XINT_infrac_fork\romannumeral`&&@#1\xint:/\XINT_W[\XINT_W\XINT_T }% @@ -397,6 +395,8 @@ \expandafter\XINT_raw\romannumeral0\XINT_infrac }% \def\XINT_raw #1#2#3{ #2/#3[#1]}% +\def\xintRawBraced {\romannumeral0\xintrawbraced }% +\let\xintrawbraced \XINT_infrac \def\xintiLogTen {\the\numexpr\xintilogten}% \def\xintilogten {% @@ -458,6 +458,22 @@ \def\XINT_spraw #1[#2#3]{\xint_gob_til_W #2\XINT_spraw_a\W\XINT_spraw_p #1[#2#3]}% \def\XINT_spraw_a\W\XINT_spraw_p #1[\W]{ #1}% \def\XINT_spraw_p #1[\W]{\xintpraw {#1}}% +\def\xintFracToSci{\romannumeral0\xintfractosci}% +\def\xintfractosci#1{\expandafter\XINT_fractosci\romannumeral0\xintraw{#1}}% +\def\XINT_fractosci#1#2/#3[#4]{\expanded{ % + \ifnum#4=\xint_c_ #1#2\else + \romannumeral0\expandafter\XINT_pfloat_a_fork\romannumeral0\xintrez{#1#2[#4]}% + \fi + \if\XINT_isOne{#3}1\else\if#10\else/#3\fi\fi}% +}% +\def\xintFracToDecimal{\romannumeral0\xintfractodecimal}% +\def\xintfractodecimal#1{\expandafter\XINT_fractodecimal\romannumeral0\xintraw{#1}}% +\def\XINT_fractodecimal #1#2/#3[#4]{\expanded{ % + \ifnum#4=\xint_c_ #1#2\else + \romannumeral0\expandafter\XINT_dectostr\romannumeral0\xintrez{#1#2[#4]}% + \fi + \if\XINT_isOne{#3}1\else\if#10\else/#3\fi\fi}% +}% \def\xintRawWithZeros {\romannumeral0\xintrawwithzeros }% \def\xintrawwithzeros {% @@ -606,15 +622,16 @@ on input line \noexpand\the\inputlineno.&&J}}#2% {% \expandafter-\romannumeral0\XINT_sgnfrac_P }% -\def\xintTeXfromSci#1% +\def\xintTeXfromSci{\xintfracTeXDeprecation\xintTeXfromSci\xintTeXFromSci}% +\def\xintTeXFromSci#1% {% - \expanded{\expandafter\XINT_texfromsci\expanded{#1}/\relax/\xint:}% + \expandafter\XINT_texfromsci\expanded{#1}/\relax/\xint: }% \def\XINT_texfromsci #1/#2#3/#4\xint: {% \XINT_texfromsci_a #1e\relax e\xint: {\ifx\relax#2\xint_dothis\xint_firstofone\fi - \xint_orthat{\XINT_texfromsci_frac{#2#3}}}% + \xint_orthat{\xintTeXFromScifracmacro{#2#3}}}% {\unless\ifx\relax#2\cdot{#2#3}^{-1}\fi}% }% \def\XINT_texfromsci_a #1e#2#3e#4\xint:#5#6% @@ -622,9 +639,9 @@ on input line \noexpand\the\inputlineno.&&J}}#2% \ifx\relax#2#5{#1}\else#1\cdot10^{#2#3}#6\fi }% \ifdefined\frac - \def\XINT_texfromsci_frac#1#2{\noexpand\frac{#2}{#1}}% + \protected\def\xintTeXFromScifracmacro#1#2{\frac{#2}{#1}}% \else - \def\XINT_texfromsci_frac#1#2{{#2\over#1}}% + \protected\def\xintTeXFromScifracmacro#1#2{{#2\over#1}}% \fi \def\xintFwOver {\xintfracTeXDeprecation\xintFwOver\xintTeXOver}% \def\xintTeXOver{\romannumeral0\xintfwover }% @@ -1940,6 +1957,16 @@ on input line \noexpand\the\inputlineno.&&J}}#2% \def\XINT_inv_b #1.#2{ #2[#1]}% \def\xintSgn {\romannumeral0\xintsgn }% \def\xintsgn #1{\expandafter\XINT_sgn\romannumeral0\xintraw {#1}\xint:}% +\def\xintSignBit {\romannumeral0\xintsignbit }% +\def\xintsignbit #1{\expandafter\XINT_signbit\romannumeral0\xintraw {#1}\xint:}% +\def\XINT_signbit #1#2\xint: +{% + \xint_UDzerominusfork + #1-{ 0}% + 0#1{ 1}% + 0-{ 0}% + \krof +}% \def\xintGCD {\romannumeral0\xintgcd}% \def\xintgcd #1% {% @@ -2110,11 +2137,11 @@ on input line \noexpand\the\inputlineno.&&J}}#2% \expandafter\XINT_float_post \romannumeral0\XINTinfloat[\XINTdigits]{#1}\XINTdigits.% }% -\def\XINT_float_opt [\xint:#1]% +\def\XINT_float_opt [\xint: {% - \expandafter\XINT_float_opt_a\the\numexpr #1.% + \expandafter\XINT_float_opt_a\the\numexpr }% -\def\XINT_float_opt_a #1.#2% +\def\XINT_float_opt_a #1]#2% {% \expandafter\XINT_float_post \romannumeral0\XINTinfloat[#1]{#2}#1.% @@ -2134,6 +2161,43 @@ on input line \noexpand\the\inputlineno.&&J}}#2% \expandafter\XINT_float_pos_done\the\numexpr#3+#4-\xint_c_i.#1.#2;% }% \def\XINT_float_pos_done #1.#2;{ #2e#1}% +\def\xintFloatBraced{\romannumeral0\xintfloatbraced }% +\def\xintfloatbraced#1{\XINT_floatbr_chkopt #1\xint:}% +\def\XINT_floatbr_chkopt #1% +{% + \ifx [#1\expandafter\XINT_floatbr_opt + \else\expandafter\XINT_floatbr_noopt + \fi #1% +}% +\def\XINT_floatbr_noopt #1\xint:% +{% + \expandafter\XINT_floatbr_post + \romannumeral0\XINTinfloat[\XINTdigits]{#1}\XINTdigits.% +}% +\def\XINT_floatbr_opt [\xint: +{% + \expandafter\XINT_floatbr_opt_a\the\numexpr +}% +\def\XINT_floatbr_opt_a #1]#2% +{% + \expandafter\XINT_floatbr_post + \romannumeral0\XINTinfloat[#1]{#2}#1.% +}% +\def\XINT_floatbr_post #1% +{% + \xint_UDzerominusfork + #1-\XINT_floatbr_zero + 0#1\XINT_floatbr_neg + 0-\XINT_floatbr_pos + \krof #1% +}% +\def\XINT_floatbr_zero #1]#2.{\expanded{{0}{0}{0.\xintReplicate{#2-\xint_c_i}0}}}% +\def\XINT_floatbr_neg-{\expandafter\XINT_floatbr_neg_a\romannumeral0\XINT_floatbr_pos}% +\def\XINT_floatbr_neg_a#1{{1}}% +\def\XINT_floatbr_pos #1#2[#3]#4.% +{% + \expanded{{0}{\the\numexpr#3+#4-\xint_c_i}}{#1.#2}% +}% \def\XINTinFloat {\romannumeral0\XINTinfloat }% \def\XINTinfloat {\expandafter\XINT_infloat_clean\romannumeral0\XINT_infloat}% @@ -2152,10 +2216,10 @@ on input line \noexpand\the\inputlineno.&&J}}#2% \def\XINT_infloatS_clean #1% {\if #1!\xint_dothis\XINT_infloatS_clean_a\fi\xint_orthat{ }#1}% \def\XINT_infloatS_clean_a !#1.{ }% -\def\XINT_infloat [#1]#2% +\def\XINT_infloat [#1]%#2% {% \expandafter\XINT_infloat_a\the\numexpr #1\expandafter.% - \romannumeral0\XINT_infrac {#2}% + \romannumeral0\XINT_infrac% {#2}% }% \def\XINT_infloat_a #1.#2#3#4% {% @@ -2345,66 +2409,8 @@ on input line \noexpand\the\inputlineno.&&J}}#2% \xint_orthat\XINT_floatilogten_b #1% }% \def\XINT_floatilogten_z 0[0]#1.{-"7FFF8000\relax}% -\def\XINT_floatilogten_a !#1.#2[#3]#4.{#3-#1+#4-1\relax}% -\def\XINT_floatilogten_b #1[#2]#3.{#2+#3-1\relax}% -\def\xintFloatSciExp {\the\numexpr\xintfloatsciexp }% -\def\xintpfloatsciexp #1{\XINT_floatsciexp_chkopt #1\xint:}% -\def\XINT_floatsciexp_chkopt #1% -{% - \ifx [#1\expandafter\XINT_floatsciexp_opt - \else\expandafter\XINT_floatsciexp_noopt - \fi #1% -}% -\def\XINT_floatsciexp_noopt #1\xint:% -{% - \expandafter\XINT_floatsciexp\romannumeral0\XINT_infloat[\XINTdigits]{#1}% - \XINTdigits.% -}% -\def\XINT_floatsciexp_opt [\xint:#1]#2% -{% - \expandafter\XINT_floatsciexp\romannumeral0\XINT_infloat[#1]{#2}#1.% -}% -\def\XINT_floatsciexp #1{% - \if #10\xint_dothis\XINT_floatsciexp_z\fi - \if #1!\xint_dothis\XINT_floatsciexp_a\fi - \xint_orthat\XINT_floatsciexp_b #1% -}% -\def\XINT_floatsciexp_z 0[0]#1.{0\relax}% -\def\XINT_floatsciexp_a !#1.#2[#3]#4.{#3-#1+#4-1\relax}% -\def\XINT_floatsciexp_b #1[#2]#3.{#2+#3-1\relax}% -\def\xintFloatSignificand {\romannumeral0\xintfloatsignificand}% -\def\xintfloatsignificand #1{\XINT_floatsgf_chkopt #1\xint:}% -\def\XINT_floatsgf_chkopt #1% -{% - \ifx [#1\expandafter\XINT_floatsgf_opt - \else\expandafter\XINT_floatsgf_noopt - \fi #1% -}% -\def\XINT_floatsgf_noopt #1\xint:% -{% - \expandafter\XINT_floatsgf_post - \romannumeral0\XINTinfloat[\XINTdigits]{#1}\XINTdigits.% -}% -\def\XINT_floatsgf_opt [\xint:#1]% -{% - \expandafter\XINT_floatsgf_opt_a\the\numexpr #1.% -}% -\def\XINT_floatsgf_opt_a #1.#2% -{% - \expandafter\XINT_floatsgf_post - \romannumeral0\XINTinfloat[#1]{#2}#1.% -}% -\def\XINT_floatsgf_post #1% -{% - \xint_UDzerominusfork - #1-\XINT_floatsgf_zero - 0#1\XINT_floatsgf_neg - 0-\XINT_floatsgf_pos - \krof #1% -}%[ -\def\XINT_floatsgf_zero #1]#2.{\XINT_dsx_addzeros{#2};}% -\def\XINT_floatsgf_neg-{\XINT_floatsgf_pos}% -\def\XINT_floatsgf_pos #1[#2]#3.{ #1}% +\def\XINT_floatilogten_a !#1.#2[#3]#4.{#3-#1+#4-\xint_c_i\relax}% +\def\XINT_floatilogten_b #1[#2]#3.{#2+#3-\xint_c_i\relax}% \def\xintPFloatE{e}% \def\xintPFloatNoSciEmax{\xint_c_v}% 1e6 uses sci.not. \def\xintPFloatNoSciEmin{-\xint_c_iv}% 1e-5 uses sci.not. @@ -2430,7 +2436,8 @@ on input line \noexpand\the\inputlineno.&&J}}#2% \expandafter\XINT_pfloat\romannumeral0\XINTinfloatS[\XINTdigits]{#1}% \XINTdigits.% }% -\def\XINT_pfloat_opt [\xint:#1]#2% +\def\XINT_pfloat_opt [\xint:{\expandafter\XINT_pfloat_opt_a\the\numexpr}% +\def\XINT_pfloat_opt_a #1]#2% {% \expandafter\XINT_pfloat\romannumeral0\XINTinfloatS[#1]{#2}% #1.% @@ -2454,40 +2461,42 @@ on input line \noexpand\the\inputlineno.&&J}}#2% \expandafter\XINT_pfloat_aa\the\numexpr\xintLength{#1}.% #3.#2.#1.% }% -\def\XINT_pfloat_keeptrimmed_fork#1% +\def\XINT_pfloat_aa #1.#2.% +{% + \unless\ifnum\xintPFloatMinTrimmed>\numexpr#2-#1\relax + \xint_dothis\XINT_pfloat_a\fi + \ifnum#2>#1 \xint_dothis{\XINT_pfloat_i #2.}\fi + \xint_orthat\XINT_pfloat_a #1.% +}% +\def\XINT_pfloat_a_fork#1% {% \xint_UDzerominusfork - #1-\XINT_pfloat_keeptrimmed_zero - 0#1\XINT_pfloat_keeptrimmed_neg - 0-\XINT_pfloat_keeptrimmed_pos + #1-\XINT_pfloat_a_zero + 0#1\XINT_pfloat_a_neg + 0-\XINT_pfloat_a_pos \krof #1% }% -\def\XINT_pfloat_keeptrimmed_zero#1]{\expanded{ \xintPFloatZero}}% -\def\XINT_pfloat_keeptrimmed_neg-{\expandafter-\romannumeral0\XINT_pfloat_keeptrimmed_pos}% -\def\XINT_pfloat_keeptrimmed_pos#1/1[#2]% +\def\XINT_pfloat_a_zero#1]{\expanded{ \xintPFloatZero}}% +\def\XINT_pfloat_a_neg-{\expandafter-\romannumeral0\XINT_pfloat_a_pos}% +\def\XINT_pfloat_a_pos#1/1[#2]% {% \expandafter\XINT_pfloat_a\the\numexpr\xintLength{#1}.#2.#1.% }% -\def\XINT_pfloat_aa #1.#2.% +\def\XINT_pfloat_i #1.#2.%#3.#4.% {% - \unless\ifnum\xintPFloatMinTrimmed>\numexpr#2-#1\relax - \xint_dothis\XINT_pfloat_a\fi - \ifnum#2>#1 \xint_dothis{\XINT_pfloat_i #2.}\fi - \xint_orthat\XINT_pfloat_a #1.% + \expandafter\XINT_pfloat_j\romannumeral\xintreplicate{#1-#2}0.#2.% }% -\def\XINT_pfloat_i #1.#2.#3.#4.% +\def\XINT_pfloat_j #1.#2.#3#4.%#5. {% - \expandafter\XINT_pfloat_j - \the\numexpr#3+#2-#1\expandafter.% - \romannumeral0\XINT_dsx_addzerosnofuss{#1-#2}#4;.#1.% + \expandafter\XINT_pfloat_b\the\numexpr#2+#3#4-\xint_c_i.% + #3#2.#1.% }% -\def\XINT_pfloat_j #1.#2.#3.{\XINT_pfloat_a#3.#1.#2.}% -\def\XINT_pfloat_a #1.#2#3.% +\def\XINT_pfloat_a #1.#2#3.%#4. {% \expandafter\XINT_pfloat_b\the\numexpr#1+#2#3-\xint_c_i.% - #2#1.% + #2#1..% }% -\def\XINT_pfloat_b #1.#2% +\def\XINT_pfloat_b #1.#2%#3.#4.#5. {% \ifnum \xintPFloatNoSciEmax<#1 \xint_dothis\XINT_pfloat_sci\fi \ifnum \xintPFloatNoSciEmin>#1 \xint_dothis\XINT_pfloat_sci\fi @@ -2501,21 +2510,21 @@ on input line \noexpand\the\inputlineno.&&J}}#2% \ifnum#2=\xint_c_i\expandafter\XINT_pfloat_sci_i\expandafter\fi \expandafter\XINT_pfloat_sci_a\romannumeral`&&@\xintPFloatE #1.% }% -\def\XINT_pfloat_sci_a #1.#2#3.{ #2.#3#1}% -\def\XINT_pfloat_sci_i #1#2#3.#4.{\expanded{#1 #4\xintPFloatLengthOneSuffix}#3}% -\def\XINT_pfloat_N#1.#2.#3.% +\def\XINT_pfloat_sci_a #1.#2.#3#4.{ #3.#4#2#1}% +\def\XINT_pfloat_sci_i #1#2#3.#4.#5.{\expanded{#1 #5\xintPFloatLengthOneSuffix}#3}% +\def\XINT_pfloat_N#1.#2.#3.#4.% {% - \expandafter\XINT_pfloat_N_e\romannumeral\xintreplicate{-#1}{0}#3% + \expandafter\XINT_pfloat_N_e\romannumeral\xintreplicate{-#1}{0}#4#3% }% \def\XINT_pfloat_N_e 0{ 0.}% -\def\XINT_pfloat_P #1.#2.#3.% +\def\XINT_pfloat_P #1.#2.#3.#4.% {% \expandafter\XINT_split_fromleft_a - \the\numexpr\xint_c_vii-#1.#3\xint_bye2345678\xint_bye.% + \the\numexpr\xint_c_vii-#1.#4\xint_bye2345678\xint_bye.#3% }% -\def\XINT_pfloat_Ps #1.#2.#3.% +\def\XINT_pfloat_Ps #1.#2.#3.#4.% {% - \expanded{ #3% + \expanded{ #4% \romannumeral\xintreplicate{#1+\xint_c_i-#2}{0}\xintPFloatIntSuffix}% }% \def\xintFloatToDecimal {\romannumeral0\xintfloattodecimal }% diff --git a/Master/texmf-dist/tex/generic/xint/xintgcd.sty b/Master/texmf-dist/tex/generic/xint/xintgcd.sty index 3570a8f1eb8..4b62b4be377 100644 --- a/Master/texmf-dist/tex/generic/xint/xintgcd.sty +++ b/Master/texmf-dist/tex/generic/xint/xintgcd.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4k 2022/05/18 +%% The xint bundle 1.4l 2022/05/29 %% Copyright (C) 2013-2022 by Jean-Francois Burnol %% xintgcd: Euclidean algorithm with xint package %% --------------------------------------------------------------- @@ -31,25 +31,24 @@ \catcode123=1 % { \catcode125=2 % } \catcode64=11 % @ - \catcode35=6 % # \catcode44=12 % , - \catcode45=12 % - \catcode46=12 % . \catcode58=12 % : + \catcode94=7 % ^ + \def\empty{}\def\space{ }\newlinechar10 \def\z{\endgroup}% \expandafter\let\expandafter\x\csname ver@xintgcd.sty\endcsname \expandafter\let\expandafter\w\csname ver@xint.sty\endcsname \expandafter\let\expandafter\t\csname ver@xinttools.sty\endcsname - \expandafter - \ifx\csname PackageInfo\endcsname\relax - \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% + \expandafter\ifx\csname numexpr\endcsname\relax + \expandafter\ifx\csname PackageWarning\endcsname\relax + \immediate\write128{^^JPackage xintgcd Warning:^^J% + \space\space\space\space + \numexpr not available, aborting input.^^J}% \else - \def\y#1#2{\PackageInfo{#1}{#2}}% + \PackageWarningNoLine{xintgcd}{\numexpr not available, aborting input}% \fi - \expandafter - \ifx\csname numexpr\endcsname\relax - \y{xintgcd}{\numexpr not available, aborting input}% - \aftergroup\endinput + \def\z{\endgroup\endinput}% \else \ifx\x\relax % plain-TeX, first loading of xintgcd.sty \ifx\w\relax % but xint.sty not yet loaded. @@ -59,7 +58,6 @@ \expandafter\def\expandafter\z\expandafter{\z\input xinttools.sty\relax}% \fi \else - \def\empty {}% \ifx\x\empty % LaTeX, first loading, % variable is initialized, but \ProvidesPackage not yet seen \ifx\w\relax % xint.sty not yet loaded. @@ -69,7 +67,7 @@ \expandafter\def\expandafter\z\expandafter{\z\RequirePackage{xinttools}}% \fi \else - \aftergroup\endinput % xintgcd already loaded. + \def\z{\endgroup\endinput}% xintgcd already loaded. \fi \fi \fi @@ -77,7 +75,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintgcd}% - [2022/05/18 v1.4k Euclide algorithm with xint package (JFB)]% + [2022/05/29 v1.4l Euclide algorithm with xint package (JFB)]% \def\xintBezout {\romannumeral0\xintbezout }% \def\xintbezout #1% {% diff --git a/Master/texmf-dist/tex/generic/xint/xintkernel.sty b/Master/texmf-dist/tex/generic/xint/xintkernel.sty index 3e6c0afa591..6d793505eb6 100644 --- a/Master/texmf-dist/tex/generic/xint/xintkernel.sty +++ b/Master/texmf-dist/tex/generic/xint/xintkernel.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4k 2022/05/18 +%% The xint bundle 1.4l 2022/05/29 %% Copyright (C) 2013-2022 by Jean-Francois Burnol %% xintkernel: Paraphernalia for the xint packages %% --------------------------------------------------------------- @@ -30,116 +30,111 @@ \endlinechar=13 % \catcode123=1 % { \catcode125=2 % } - \catcode35=6 % # \catcode44=12 % , - \catcode45=12 % - \catcode46=12 % . \catcode58=12 % : - \catcode95=11 % _ - \expandafter - \ifx\csname PackageInfo\endcsname\relax - \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% + \catcode94=7 % ^ + \def\space{ }\newlinechar10 + \let\z\relax + \expandafter\ifx\csname numexpr\endcsname\relax + \expandafter\ifx\csname PackageWarning\endcsname\relax + \immediate\write128{^^JPackage xintkernel Warning:^^J% + \space\space\space\space + \numexpr not available, aborting input.^^J}% \else - \def\y#1#2{\PackageInfo{#1}{#2}}% + \PackageWarningNoLine{xintkernel}{\numexpr not available, aborting input}% \fi - \let\z\relax - \expandafter - \ifx\csname numexpr\endcsname\relax - \y{xintkernel}{\numexpr not available, aborting input}% - \def\z{\endgroup\endinput}% + \def\z{\endgroup\endinput}% + \else + \expandafter\ifx\csname XINTsetupcatcodes\endcsname\relax \else - \expandafter - \ifx\csname XINTsetupcatcodes\endcsname\relax - \else - \y{xintkernel}{I was already loaded, aborting input}% \def\z{\endgroup\endinput}% - \fi \fi + \fi \ifx\z\relax\else\expandafter\z\fi% \def\PrepareCatcodes {% \endgroup \def\XINTrestorecatcodes - {% takes care of all, to allow more economical code in modules - \catcode0=\the\catcode0 % - \catcode59=\the\catcode59 % ; xintexpr - \catcode126=\the\catcode126 % ~ xintexpr - \catcode39=\the\catcode39 % ' xintexpr - \catcode34=\the\catcode34 % " xintbinhex, and xintexpr - \catcode63=\the\catcode63 % ? xintexpr - \catcode124=\the\catcode124 % | xintexpr - \catcode38=\the\catcode38 % & xintexpr - \catcode64=\the\catcode64 % @ xintexpr - \catcode33=\the\catcode33 % ! xintexpr - \catcode93=\the\catcode93 % ] -, xintfrac, xintseries, xintcfrac - \catcode91=\the\catcode91 % [ -, xintfrac, xintseries, xintcfrac - \catcode36=\the\catcode36 % $ xintgcd only $ - \catcode94=\the\catcode94 % ^ - \catcode96=\the\catcode96 % ` - \catcode47=\the\catcode47 % / - \catcode41=\the\catcode41 % ) - \catcode40=\the\catcode40 % ( - \catcode42=\the\catcode42 % * - \catcode43=\the\catcode43 % + - \catcode62=\the\catcode62 % > - \catcode60=\the\catcode60 % < - \catcode58=\the\catcode58 % : - \catcode46=\the\catcode46 % . - \catcode45=\the\catcode45 % - - \catcode44=\the\catcode44 % , - \catcode35=\the\catcode35 % # - \catcode95=\the\catcode95 % _ - \catcode125=\the\catcode125 % } - \catcode123=\the\catcode123 % { - \endlinechar=\the\endlinechar - \catcode13=\the\catcode13 % ^^M - \catcode32=\the\catcode32 % - \catcode61=\the\catcode61\relax % = + {% prepared for use in \edef + \catcode0=\the\catcode0 % ^^@ + \catcode1=\the\catcode1 % ^^A + \catcode13=\the\catcode13 % ^^M + \catcode32=\the\catcode32 % <space> + \catcode33=\the\catcode33 % ! + \catcode34=\the\catcode34 % " + \catcode35=\the\catcode35 % # + \catcode36=\the\catcode36 % $ + \catcode38=\the\catcode38 % & + \catcode39=\the\catcode39 % ' + \catcode40=\the\catcode40 % ( + \catcode41=\the\catcode41 % ) + \catcode42=\the\catcode42 % * + \catcode43=\the\catcode43 % + + \catcode44=\the\catcode44 % , + \catcode45=\the\catcode45 % - + \catcode46=\the\catcode46 % . + \catcode47=\the\catcode47 % / + \catcode58=\the\catcode58 % : + \catcode59=\the\catcode59 % ; + \catcode60=\the\catcode60 % < + \catcode61=\the\catcode61 % = + \catcode62=\the\catcode62 % > + \catcode63=\the\catcode63 % ? + \catcode64=\the\catcode64 % @ + \catcode91=\the\catcode91 % [ + \catcode93=\the\catcode93 % ] + \catcode94=\the\catcode94 % ^ + \catcode95=\the\catcode95 % _ + \catcode96=\the\catcode96 % ` + \catcode123=\the\catcode123 % { + \catcode124=\the\catcode124 % | + \catcode125=\the\catcode125 % } + \catcode126=\the\catcode126 % ~ + \endlinechar=\the\endlinechar\relax }% \edef\XINTrestorecatcodesendinput {% \XINTrestorecatcodes\noexpand\endinput % }% \def\XINTsetcatcodes - {% - \catcode61=12 % = - \catcode32=10 % space - \catcode13=5 % ^^M - \endlinechar=13 % - \catcode123=1 % { - \catcode125=2 % } - \catcode95=11 % _ LETTER - \catcode35=6 % # - \catcode44=12 % , - \catcode45=12 % - - \catcode46=12 % . - \catcode58=11 % : LETTER - \catcode60=12 % < - \catcode62=12 % > - \catcode43=12 % + - \catcode42=12 % * - \catcode40=12 % ( - \catcode41=12 % ) - \catcode47=12 % / - \catcode96=12 % ` - \catcode94=11 % ^ LETTER - \catcode36=3 % $ - \catcode91=12 % [ - \catcode93=12 % ] - \catcode33=12 % ! (xintexpr.sty will use catcode 11) - \catcode64=11 % @ LETTER - \catcode38=7 % & for \romannumeral`&&@ trick. - \catcode124=12 % | - \catcode63=11 % ? LETTER - \catcode34=12 % " - \catcode39=12 % ' - \catcode126=3 % ~ MATH - \catcode59=12 % ; - \catcode0=12 % for \romannumeral`&&@ trick - \catcode1=3 % for ultra-safe séparateur &&A + {% standard settings with a few xint*sty specific ones + \catcode0=12 % for \romannumeral`&&@ + \catcode1=3 % for safe separator &&A + \catcode13=5 % ^^M + \catcode32=10 % <space> + \catcode33=12 % ! but used as LETTER inside xintexpr.sty + \catcode34=12 % " + \catcode35=6 % # + \catcode36=3 % $ + \catcode38=7 % & SUPERSCRIPT for && as replacement of ^^ + \catcode39=12 % ' + \catcode40=12 % ( + \catcode41=12 % ) + \catcode42=12 % * + \catcode43=12 % + + \catcode44=12 % , + \catcode45=12 % - + \catcode46=12 % . + \catcode47=12 % / + \catcode58=11 % : LETTER + \catcode59=12 % ; + \catcode60=12 % < + \catcode61=12 % = + \catcode62=12 % > + \catcode63=11 % ? LETTER + \catcode64=11 % @ LETTER + \catcode91=12 % [ + \catcode93=12 % ] + \catcode94=11 % ^ LETTER + \catcode95=11 % _ LETTER + \catcode96=12 % ` + \catcode123=1 % { + \catcode124=12 % | + \catcode125=2 % } + \catcode126=3 % ~ MATH SHIFT + \endlinechar=13 % }% - \let\XINT_setcatcodes\XINTsetcatcodes - \let\XINT_restorecatcodes\XINTrestorecatcodes \XINTsetcatcodes }% \PrepareCatcodes @@ -159,7 +154,7 @@ \fi \XINT_providespackage \ProvidesPackage {xintkernel}% - [2022/05/18 v1.4k Paraphernalia for the xint packages (JFB)]% + [2022/05/29 v1.4l Paraphernalia for the xint packages (JFB)]% \chardef\xint_c_ 0 \chardef\xint_c_i 1 \chardef\xint_c_ii 2 diff --git a/Master/texmf-dist/tex/generic/xint/xintlog.sty b/Master/texmf-dist/tex/generic/xint/xintlog.sty index c5751af1217..6b25bde105d 100644 --- a/Master/texmf-dist/tex/generic/xint/xintlog.sty +++ b/Master/texmf-dist/tex/generic/xint/xintlog.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4k 2022/05/18 +%% The xint bundle 1.4l 2022/05/29 %% Copyright (C) 2013-2022 by Jean-Francois Burnol %% xintlog: Logarithms and exponentials for xintexpr %% --------------------------------------------------------------- @@ -33,55 +33,69 @@ \catcode64=11 % @ \catcode35=6 % # \catcode44=12 % , - \catcode45=12 % - \catcode46=12 % . \catcode58=12 % : \catcode94=7 % ^ - \def\z{\endgroup}% \def\empty{}\def\space{ }\newlinechar10 + \def\z{\endgroup}% + \expandafter\let\expandafter\x\csname ver@xintlog.sty\endcsname \expandafter\let\expandafter\w\csname ver@xintexpr.sty\endcsname \expandafter - \ifx\csname PackageInfo\endcsname\relax - \def\y#1#2{\immediate\write-1{Package #1 Info:^^J% - \space\space\space\space#2.}}% + \ifx\csname PackageWarning\endcsname\relax + \def\y#1#2{\immediate\write128{^^JPackage #1 Warning:^^J% + \space\space\space\space#2.^^J}}% \else - \def\y#1#2{\PackageInfo{#1}{#2}}% + \def\y#1#2{\PackageWarningNoLine{#1}{#2}}% \fi \expandafter \ifx\csname numexpr\endcsname\relax \y{xintlog}{\numexpr not available, aborting input}% - \aftergroup\endinput + \def\z{\endgroup\endinput}% \else \ifx\w\relax % xintexpr.sty not yet loaded. + \edef\MsgBrk{^^J\space\space\space\space}% \y{xintlog}% - {Loading should be via \ifx\x\empty\string\usepackage{xintexpr.sty} - \else\string\input\space xintexpr.sty \fi - rather, aborting}% - \aftergroup\endinput + {\ifx\x\empty + xintlog should not be loaded directly\MessageBreak + The correct way is \string\usepackage{xintexpr}.\MessageBreak + Will try that now% + \else + First loading of xintlog.sty should be via + \string\input\space xintexpr.sty\relax\MsgBrk + Will try that now% + \fi + }% + \ifx\x\empty + \def\z{\endgroup\RequirePackage{xintexpr}\endinput}% + \else + \def\z{\endgroup\input xintexpr.sty\relax\endinput}% + \fi + \else + \def\z{\endgroup\edef\XINTlogendinput{\XINTrestorecatcodes\noexpand\endinput}}% \fi \fi \z% -\edef\XINTendxintloginput{\XINTrestorecatcodes\noexpand\endinput}\XINTsetcatcodes% +\XINTsetcatcodes% \ifcsname xintlibver@log\endcsname \expandafter\xint_firstoftwo \else \expandafter\xint_secondoftwo \fi -{\immediate\write-1{Reloading xintlog library using Digits=\xinttheDigits.}}% -{\expandafter\gdef\csname xintlibver@log\endcsname{2022/05/18 v1.4k}% +{\immediate\write128{Reloading xintlog library using Digits=\xinttheDigits.}}% +{\expandafter\gdef\csname xintlibver@log\endcsname{2022/05/29 v1.4l}% \XINT_providespackage \ProvidesPackage{xintlog}% -[2022/05/18 v1.4k Logarithms and exponentials for xintexpr (JFB)]% +[2022/05/29 v1.4l Logarithms and exponentials for xintexpr (JFB)]% }% \def\xintreloadxintlog{\input xintlog.sty }% -\xintexprSafeCatcodes\catcode`_ 11 +\xintexprSafeCatcodes \unless\ifdefined\XINTinFloatPowTen \ifdefined\RequirePackage \RequirePackage{poormanlog}% \else \input poormanlog.tex \fi\fi -\xintexprRestoreCatcodes\XINTsetcatcodes +\xintexprRestoreCatcodes \def\PoorManLogBaseTen{\romannumeral0\poormanlogbaseten}% \def\poormanlogbaseten #1% {% @@ -334,7 +348,7 @@ \romannumeral`&&@\XINT:NEhook:f:one:from:two {\romannumeral`&&@\XINTinFloatSciPow#3}}% }% -\ifnum\XINTdigits<9 \expandafter\XINTendxintloginput\fi% +\ifnum\XINTdigits<9 \expandafter\XINTlogendinput\fi% \def\XINT_tmpa{1[0]}% \expandafter\let\csname XINT_c_1_0\endcsname\XINT_tmpa \expandafter\let\csname XINT_c_2_0\endcsname\XINT_tmpa @@ -1392,7 +1406,7 @@ \XINTinFloat[\XINTdigitsormax-43]{1/9[0]}.% }% \fi -\XINTendxintloginput% +\XINTlogendinput% \endinput %% %% End of file `xintlog.sty'. diff --git a/Master/texmf-dist/tex/generic/xint/xintseries.sty b/Master/texmf-dist/tex/generic/xint/xintseries.sty index 8fa98b8c382..1194fb0de6e 100644 --- a/Master/texmf-dist/tex/generic/xint/xintseries.sty +++ b/Master/texmf-dist/tex/generic/xint/xintseries.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4k 2022/05/18 +%% The xint bundle 1.4l 2022/05/29 %% Copyright (C) 2013-2022 by Jean-Francois Burnol %% xintseries: Expandable partial sums with xint package %% --------------------------------------------------------------- @@ -31,38 +31,36 @@ \catcode123=1 % { \catcode125=2 % } \catcode64=11 % @ - \catcode35=6 % # \catcode44=12 % , - \catcode45=12 % - \catcode46=12 % . \catcode58=12 % : - \let\z\endgroup + \catcode94=7 % ^ + \def\empty{}\def\space{ }\newlinechar10 + \def\z{\endgroup}% \expandafter\let\expandafter\x\csname ver@xintseries.sty\endcsname \expandafter\let\expandafter\w\csname ver@xintfrac.sty\endcsname - \expandafter - \ifx\csname PackageInfo\endcsname\relax - \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% + \expandafter\ifx\csname numexpr\endcsname\relax + \expandafter\ifx\csname PackageWarning\endcsname\relax + \immediate\write128{^^JPackage xintseries Warning:^^J% + \space\space\space\space + \numexpr not available, aborting input.^^J}% \else - \def\y#1#2{\PackageInfo{#1}{#2}}% + \PackageWarningNoLine{xintseries}{\numexpr not available, aborting input}% \fi - \expandafter - \ifx\csname numexpr\endcsname\relax - \y{xintseries}{\numexpr not available, aborting input}% - \aftergroup\endinput + \def\z{\endgroup\endinput}% \else \ifx\x\relax % plain-TeX, first loading of xintseries.sty \ifx\w\relax % but xintfrac.sty not yet loaded. \def\z{\endgroup\input xintfrac.sty\relax}% \fi \else - \def\empty {}% \ifx\x\empty % LaTeX, first loading, % variable is initialized, but \ProvidesPackage not yet seen \ifx\w\relax % xintfrac.sty not yet loaded. \def\z{\endgroup\RequirePackage{xintfrac}}% \fi \else - \aftergroup\endinput % xintseries already loaded. + \def\z{\endgroup\endinput}% xintseries already loaded. \fi \fi \fi @@ -70,7 +68,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintseries}% - [2022/05/18 v1.4k Expandable partial sums with xint package (JFB)]% + [2022/05/29 v1.4l Expandable partial sums with xint package (JFB)]% \def\xintSeries {\romannumeral0\xintseries }% \def\xintseries #1#2% {% diff --git a/Master/texmf-dist/tex/generic/xint/xinttools.sty b/Master/texmf-dist/tex/generic/xint/xinttools.sty index eb6f898b355..3f6ae4a48ef 100644 --- a/Master/texmf-dist/tex/generic/xint/xinttools.sty +++ b/Master/texmf-dist/tex/generic/xint/xinttools.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4k 2022/05/18 +%% The xint bundle 1.4l 2022/05/29 %% Copyright (C) 2013-2022 by Jean-Francois Burnol %% xinttools: Expandable and non-expandable utilities %% --------------------------------------------------------------- @@ -31,38 +31,36 @@ \catcode123=1 % { \catcode125=2 % } \catcode64=11 % @ - \catcode35=6 % # \catcode44=12 % , - \catcode45=12 % - \catcode46=12 % . \catcode58=12 % : - \let\z\endgroup + \catcode94=7 % ^ + \def\empty{}\def\space{ }\newlinechar10 + \def\z{\endgroup}% \expandafter\let\expandafter\x\csname ver@xinttools.sty\endcsname \expandafter\let\expandafter\w\csname ver@xintkernel.sty\endcsname - \expandafter - \ifx\csname PackageInfo\endcsname\relax - \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% + \expandafter\ifx\csname numexpr\endcsname\relax + \expandafter\ifx\csname PackageWarning\endcsname\relax + \immediate\write128{^^JPackage xinttools Warning:^^J% + \space\space\space\space + \numexpr not available, aborting input.^^J}% \else - \def\y#1#2{\PackageInfo{#1}{#2}}% + \PackageWarningNoLine{xinttools}{\numexpr not available, aborting input}% \fi - \expandafter - \ifx\csname numexpr\endcsname\relax - \y{xinttools}{\numexpr not available, aborting input}% - \aftergroup\endinput + \def\z{\endgroup\endinput}% \else \ifx\x\relax % plain-TeX, first loading of xinttools.sty \ifx\w\relax % but xintkernel.sty not yet loaded. \def\z{\endgroup\input xintkernel.sty\relax}% \fi \else - \def\empty {}% \ifx\x\empty % LaTeX, first loading, % variable is initialized, but \ProvidesPackage not yet seen \ifx\w\relax % xintkernel.sty not yet loaded. \def\z{\endgroup\RequirePackage{xintkernel}}% \fi \else - \aftergroup\endinput % xinttools already loaded. + \def\z{\endgroup\endinput}% xinttools already loaded. \fi \fi \fi @@ -70,7 +68,7 @@ \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xinttools}% - [2022/05/18 v1.4k Expandable and non-expandable utilities (JFB)]% + [2022/05/29 v1.4l Expandable and non-expandable utilities (JFB)]% \newtoks\XINT_toks \xint_firstofone{\let\XINT_sptoken= } %<- space here! \def\xintgodef {\global\xintodef }% diff --git a/Master/texmf-dist/tex/generic/xint/xinttrig.sty b/Master/texmf-dist/tex/generic/xint/xinttrig.sty index ae312937e25..c1005e475ec 100644 --- a/Master/texmf-dist/tex/generic/xint/xinttrig.sty +++ b/Master/texmf-dist/tex/generic/xint/xinttrig.sty @@ -21,7 +21,7 @@ %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- -%% The xint bundle 1.4k 2022/05/18 +%% The xint bundle 1.4l 2022/05/29 %% Copyright (C) 2013-2022 by Jean-Francois Burnol %% xinttrig: Trigonometry for the xintexpr package %% --------------------------------------------------------------- @@ -33,46 +33,60 @@ \catcode64=11 % @ \catcode35=6 % # \catcode44=12 % , - \catcode45=12 % - \catcode46=12 % . \catcode58=12 % : \catcode94=7 % ^ - \def\z{\endgroup}% \def\empty{}\def\space{ }\newlinechar10 + \def\z{\endgroup}% + \expandafter\let\expandafter\x\csname ver@xinttrig.sty\endcsname \expandafter\let\expandafter\w\csname ver@xintexpr.sty\endcsname \expandafter - \ifx\csname PackageInfo\endcsname\relax - \def\y#1#2{\immediate\write-1{Package #1 Info:^^J% - \space\space\space\space#2.}}% + \ifx\csname PackageWarning\endcsname\relax + \def\y#1#2{\immediate\write128{^^JPackage #1 Warning:^^J% + \space\space\space\space#2.^^J}}% \else - \def\y#1#2{\PackageInfo{#1}{#2}}% + \def\y#1#2{\PackageWarningNoLine{#1}{#2}}% \fi \expandafter \ifx\csname numexpr\endcsname\relax \y{xinttrig}{\numexpr not available, aborting input}% - \aftergroup\endinput + \def\z{\endgroup\endinput}% \else \ifx\w\relax % xintexpr.sty not yet loaded. + \edef\MsgBrk{^^J\space\space\space\space}% \y{xinttrig}% - {Loading should be via \ifx\x\empty\string\usepackage{xintexpr.sty} - \else\string\input\space xintexpr.sty \fi - rather, aborting}% - \aftergroup\endinput + {\ifx\x\empty + xinttrig should not be loaded directly\MessageBreak + The correct way is \string\usepackage{xintexpr}.\MessageBreak + Will try that now% + \else + First loading of xinttrig.sty should be via + \string\input\space xintexpr.sty\relax\MsgBrk + Will try that now% + \fi + }% + \ifx\x\empty + \def\z{\endgroup\RequirePackage{xintexpr}\endinput}% + \else + \def\z{\endgroup\input xintexpr.sty\relax\endinput}% + \fi + \else + \def\z{\endgroup\edef\XINTtrigendinput{\XINTrestorecatcodes\noexpand\endinput}}% \fi \fi \z% -\edef\XINTtrigendinput{\XINTrestorecatcodes\noexpand\endinput}\XINTsetcatcodes% +\XINTsetcatcodes% \catcode`? 12 \ifcsname xintlibver@trig\endcsname \expandafter\xint_firstoftwo \else \expandafter\xint_secondoftwo \fi -{\immediate\write-1{Reloading xinttrig library using Digits=\xinttheDigits.}}% -{\expandafter\gdef\csname xintlibver@trig\endcsname{2022/05/18 v1.4k}% +{\immediate\write128{Reloading xinttrig library using Digits=\xinttheDigits.}}% +{\expandafter\gdef\csname xintlibver@trig\endcsname{2022/05/29 v1.4l}% \XINT_providespackage \ProvidesPackage{xinttrig}% -[2022/05/18 v1.4k Trigonometrical functions for xintexpr (JFB)]% +[2022/05/29 v1.4l Trigonometrical functions for xintexpr (JFB)]% }% \xintFor* #1 in {iDTVtuwxyzX}\do{\xintensuredummy{#1}}% \def\xintreloadxinttrig{\input xinttrig.sty }% |