summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-05-29 20:36:02 +0000
committerKarl Berry <karl@freefriends.org>2022-05-29 20:36:02 +0000
commit9ec24ccbacb63562ab65cd16a05678dcd4756167 (patch)
tree2ff2cdd7292f46fd1430e543a5ec975480c1fdff /Master/texmf-dist/tex
parent06070a7b9c2d65b7ffdd66e0fd6fdf8507bdc3e9 (diff)
xint (29may22)
git-svn-id: svn://tug.org/texlive/trunk@63436 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/generic/xint/xint.sty28
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintbinhex.sty28
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintcfrac.sty28
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintcore.sty28
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintexpr.sty124
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintfrac.sty241
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintgcd.sty26
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintkernel.sty179
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintlog.sty54
-rw-r--r--Master/texmf-dist/tex/generic/xint/xintseries.sty28
-rw-r--r--Master/texmf-dist/tex/generic/xint/xinttools.sty28
-rw-r--r--Master/texmf-dist/tex/generic/xint/xinttrig.sty46
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 }%