texlive[44901] Master/texmf-dist: bnumexpr (27jul17)

commits+karl at tug.org commits+karl at tug.org
Thu Jul 27 23:26:37 CEST 2017


Revision: 44901
          http://tug.org/svn/texlive?view=revision&revision=44901
Author:   karl
Date:     2017-07-27 23:26:37 +0200 (Thu, 27 Jul 2017)
Log Message:
-----------
bnumexpr (27jul17)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/bnumexpr/README
    trunk/Master/texmf-dist/doc/latex/bnumexpr/bnumexpr.pdf
    trunk/Master/texmf-dist/source/latex/bnumexpr/bnumexpr.dtx
    trunk/Master/texmf-dist/source/latex/bnumexpr/bnumexpr.ins
    trunk/Master/texmf-dist/tex/latex/bnumexpr/bnumexpr.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/bnumexpr/README.md
    trunk/Master/texmf-dist/doc/latex/bnumexpr/bnumexpr.tex
    trunk/Master/texmf-dist/doc/latex/bnumexpr/bnumexprchanges.tex

Modified: trunk/Master/texmf-dist/doc/latex/bnumexpr/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bnumexpr/README	2017-07-27 21:26:25 UTC (rev 44900)
+++ trunk/Master/texmf-dist/doc/latex/bnumexpr/README	2017-07-27 21:26:37 UTC (rev 44901)
@@ -1,8 +1,8 @@
 Source: bnumexpr.dtx
-Version: v1.2a, 2015/10/14 (doc: 2015/10/14)
+Version: v1.2b, 2017/07/09 (doc: 2017/07/09)
 Author: Jean-Francois Burnol
 Info: Expressions with big integers
-License: LPPL 1.3c or later
+License: LPPL 1.3c
 
 
 
@@ -11,38 +11,38 @@
 
 Usage
 
-The package bnumexpr allows _expandable_ computations with big integers,
-the four infix operators +, -, *, / (which does rounded division), the
-power operators ^ or **, the factorial !, the truncated division //, and
-its associated modulo /:.
+The package bnumexpr allows _expandable_ computations with big integers
+and the four infix operators +, -, *, / (which does rounded integer
+division) familiar from the \numexpr e-TeX parser.
 
+Besides extending the scope to arbitrarily big numbers (and having a
+more complete syntax, for example -(1) is legal input), it adds the
+truncated division operator //, and its associated modulo /:, the power
+operator ^ (or equivalently **), and the factorial post-fix operator !.
+The space character as well as the underscore character _ both may serve
+to optionally separate digits in long numbers, for better readability of
+the input.
+
 For example:
 
-    \thebnumexpr (92874927979^5-3197927979^6)/30!\relax
+    \thebnumexpr ( 92_874_927_979^5 - 31_9792_7979^6 ) / 30!\relax
 
-outputs -4006240736596543944035189.
+expands (in two steps) to -4006240736596543944035189.
 
 The \relax ending token is mandatory and will be removed as a result of
 the evaluation.
 
-The expression parser is scaled-down from \xinttheiiexpr...\relax from
-package xintexpr [1], it does not handle boolean operators, conditional
-branching, variables and recognizes no functions.
+The expression parser is scaled-down from the \xinttheiiexpr...\relax
+parser as provided by package xintexpr[1]: it does not handle boolean
+operators, dummy or user defined variables, functions, etc...
 
 By default the underlying arithmetic macros are the ones provided by
-package xintcore [2] (its release 1.2 is required).
+package xintcore[2] (its release 1.2 is required).
 
-[1] http://www.ctan.org/pkg/xint
-[2] http://www.ctan.org/pkg/xint
-
 bnumexpr has only one option _custom_ which says to not load xintcore,
 and a command \bnumexprsetup to inform the package which macros to use
 if not those from xintcore.
 
-This is a breaking release: some options and commands from v1.1 are not
-defined anymore (as \bnumexprsetup provides a new interface), and
-documents which used them will need updating.
-
 Notice that the possibility not to use the xintcore macros might be
 removed in the future: perhaps a future release will maintain during
 computations a private internal representation (especially taylored
@@ -102,7 +102,7 @@
 
 License
 
-Copyright (C) 2014-2015 by Jean-Francois Burnol
+Copyright (C) 2014-2017 by Jean-Francois Burnol
 
 This Work may be distributed and/or modified under the
 conditions of the LaTeX Project Public License 1.3c.
@@ -123,3 +123,6 @@
     bnumexpr.sty, bnumexpr.pdf, bnumexpr.ins, bnumexpr.tex,
     bnumexprchanges.tex, README.md
 
+[1] http://www.ctan.org/pkg/xint
+
+[2] http://www.ctan.org/pkg/xint

Added: trunk/Master/texmf-dist/doc/latex/bnumexpr/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bnumexpr/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/bnumexpr/README.md	2017-07-27 21:26:37 UTC (rev 44901)
@@ -0,0 +1,129 @@
+
+| Source:  bnumexpr.dtx
+| Version: v1.2b, 2017/07/09 (doc: 2017/07/09)
+| Author:  Jean-Francois Burnol
+| Info:    Expressions with big integers
+| License: LPPL 1.3c
+
+README: [Usage], [Installation], [License]
+==========================================
+
+Usage
+-----
+
+The package `bnumexpr` allows _expandable_ computations with big
+integers and the four infix operators `+`, `-`, `*`, `/` (which does
+rounded integer division) familiar from the `\numexpr` e-TeX parser.
+
+Besides extending the scope to arbitrarily big numbers (and having a
+more complete syntax, for example `-(1)` is legal input), it adds the
+truncated division operator `//`, and its associated modulo `/:`, the
+power operator `^` (or equivalently `**`), and the factorial post-fix
+operator `!`. The space character as well as the underscore character
+`_` both may serve to optionally separate digits in long numbers, for
+better readability of the input.
+
+For example:
+
+    \thebnumexpr ( 92_874_927_979^5 - 31_9792_7979^6 ) / 30!\relax
+
+expands (in two steps) to `-4006240736596543944035189`.
+
+The `\relax` ending token is mandatory and will be removed as a
+result of the evaluation.
+
+The expression parser is scaled-down from the `\xinttheiiexpr...\relax`
+parser as provided by package xintexpr[^1]: it does not handle boolean
+operators, dummy or user defined variables, functions, etc...
+
+By default the underlying arithmetic macros are the ones provided
+by package xintcore[^1] (its release 1.2 is required).
+
+bnumexpr has only one option _custom_ which says to not load
+xintcore, and a command `\bnumexprsetup` to inform the package
+which macros to use if not those from xintcore.
+
+Notice that the possibility not to use the xintcore macros might be
+removed in the future: perhaps a future release will maintain during
+computations a private internal representation (especially taylored
+either for the xintcore macros or new ones which would be included
+within `bnumexpr.sty` itself) and the constraints this implies may
+render optional use of other macros impossible.
+
+[^1]: <http://www.ctan.org/pkg/xint>
+
+Installation
+------------
+
+Obtain `bnumexpr.dtx` (and possibly, `bnumexpr.ins` and the `README`)
+from CTAN:
+
+> <http://www.ctan.org/pkg/bnumexpr>
+
+Both `"tex bnumexpr.ins"` and `"tex bnumexpr.dtx"` extract from
+`bnumexpr.dtx` the following files:
+
+`bnumexpr.sty`
+  : this is the style file.
+
+`README.md`
+  : reconstitutes this README.
+
+`bnumexprchanges.tex`
+  : lists changes from the initial version.
+
+`bnumexpr.tex`
+  : can be used to generate the documentation:
+
+  :  - with latex+dvipdfmx: `"latex bnumexpr.tex"` (thrice) then
+      `"dvipdfmx bnumexpr.dvi"`.
+
+  :    Ignore dvipdfmx warnings, but if the pdf file has problems with
+       fonts (possibly from an old dvipdfmx), use then rather pdflatex.
+
+  :  - with pdflatex: `"pdflatex bnumexpr.tex"` (thrice).
+
+  : In both cases files `README.md` and `bnumexprchanges.tex` must
+    be present in the same repertory.
+
+without `bnumexpr.tex`:
+  : `"pdflatex bnumexpr.dtx"` (thrice) extracts all files and
+    simultaneously generates the pdf documentation.
+
+Finishing the installation:
+
+           bnumexpr.sty   --> TDS:tex/latex/bnumexpr/
+
+           bnumexpr.dtx   --> TDS:source/latex/bnumexpr/
+           bnumexpr.ins   --> TDS:source/latex/bnumexpr/
+
+           bnumexpr.pdf   --> TDS:doc/latex/bnumexpr/
+                 README   --> TDS:doc/latex/bnumexpr/
+
+Files `bnumexpr.tex`, `bnumexprchanges.tex`, `README.md` may be
+discarded.
+
+License
+-------
+
+Copyright (C) 2014-2017 by Jean-Francois Burnol
+
+| This Work may be distributed and/or modified under the
+| conditions of the LaTeX Project Public License 1.3c.
+| This version of this license is in
+
+>   <http://www.latex-project.org/lppl/lppl-1-3c.txt>
+
+| and version 1.3 or later is part of all distributions of
+| LaTeX version 2005/12/01 or later.
+
+This Work has the LPPL maintenance status "author-maintained".
+
+The Author and Maintainer of this Work is Jean-Francois Burnol.
+
+This Work consists of the main source file `bnumexpr.dtx`
+and the derived files
+
+    bnumexpr.sty, bnumexpr.pdf, bnumexpr.ins, bnumexpr.tex,
+    bnumexprchanges.tex, README.md
+


Property changes on: trunk/Master/texmf-dist/doc/latex/bnumexpr/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/bnumexpr/bnumexpr.pdf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/doc/latex/bnumexpr/bnumexpr.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bnumexpr/bnumexpr.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/bnumexpr/bnumexpr.tex	2017-07-27 21:26:37 UTC (rev 44901)
@@ -0,0 +1,50 @@
+%%
+%% This is file `bnumexpr.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% bnumexpr.dtx  (with options: `drv')
+%% 
+%% IMPORTANT NOTICE:
+%% 
+%% For the copyright see the source file.
+%% 
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from bnumexpr.tex.
+%% 
+%% For distribution of the original source see the terms
+%% for copying and modification in the file bnumexpr.dtx.
+%% 
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% ---------------------------------------------------------------
+\def\bnedocdate {2017/07/09}% package bnumexpr documentation date
+\def\bnepackdate{2017/07/09}% package bnumexpr date
+\def\bneversion {1.2b}      % package bnumexpr version
+%% ---------------------------------------------------------------
+%% The bnumexpr package: Expressions with big integers
+%% Copyright (C) 2014-2017 by Jean-Francois Burnol
+%%
+%% latex bnumexpr.tex (thrice) && dvipdfmx bnumexpr.dvi
+%% to produce bnumexpr.pdf
+%%
+%% or pdflatex bnumexpr.tex (no need to change \Withdvipdfmx toggle,
+%% pdf engine will be detected automatically)
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{bnumexpr.tex}%
+[\bnepackdate\space v\bneversion\space driver file for %
+  bnumexpr documentation (JFB)]%
+\PassOptionsToClass{a4paper,fontsize=11pt}{scrdoc}
+\chardef\Withdvipdfmx 1 %
+\chardef\NoSourceCode 0 % replace 0 by 1 for not including source code
+\input bnumexpr.dtx
+%%% Local Variables:
+%%% mode: latex
+%%% End:
+\endinput
+%%
+%% End of file `bnumexpr.tex'.


Property changes on: trunk/Master/texmf-dist/doc/latex/bnumexpr/bnumexpr.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/bnumexpr/bnumexprchanges.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bnumexpr/bnumexprchanges.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/bnumexpr/bnumexprchanges.tex	2017-07-27 21:26:37 UTC (rev 44901)
@@ -0,0 +1,76 @@
+%%
+%% This is file `bnumexprchanges.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% bnumexpr.dtx  (with options: `changes')
+%% 
+%% IMPORTANT NOTICE:
+%% 
+%% For the copyright see the source file.
+%% 
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from bnumexprchanges.tex.
+%% 
+%% For distribution of the original source see the terms
+%% for copying and modification in the file bnumexpr.dtx.
+%% 
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% ---------------------------------------------------------------
+%% The bnumexpr package: Expressions with big integers
+%% Copyright (C) 2014-2017 by Jean-Francois Burnol
+%%
+\item[1.2b (2017/07/09)]
+  \begin{itemize}
+  \item the |_| may be used to separate visually blocks of digits in long
+    numbers.
+  \end{itemize}
+
+\item[1.2a (2015/10/14)]
+  \begin{itemize}
+  \item requires \xintcorename |1.2| or later (if not using option |custom|).
+  \item additions to the syntax: factorial |!|, truncated division
+    |//|, its associated modulo |/:| and |**| as alternative to |^|.
+  \item all options removed except |custom|.
+  \item new command |\bnumexprsetup| which replaces the commands such as
+    |\bnumexprusesbigintcalc|.
+  \item the parser is no more limited to numbers with at most 5000 digits.
+  \end{itemize}
+
+\item[1.1b (2014/10/28)]
+  \begin{itemize}
+  \item README converted to |markdown/pandoc| syntax,
+  \item the package now loads only |xintcore|, which belongs to |xint| bundle
+    version |1.1| and extracts from the earlier |xint| package the core arithmetic
+    operations as used by |bnumexpr|.
+  \end{itemize}
+
+\item[1.1a (2014/09/22)]
+  \begin{itemize}
+  \item added |l3bigint| option to use experimental \LaTeX3
+    package of the same name,
+
+  \item added Changes and Readme sections to the documentation,
+
+  \item better |\BNE_protect| mechanism for use of
+  |\bnumexpr...\relax| inside an |\edef| (without |\bnethe|). Previous one,
+  inherited from |xintexpr.sty 1.09n|, assumed that the |\.=<digits>| dummy
+  control sequence encapsulating the computation result had |\relax|
+  meaning. But removing this assumption was only a matter of letting
+  |\BNE_protect| protect two, not one, tokens. This will be backported to
+  next version of \xintexprname, naturally (done with |xintexpr.sty 1.1|).
+  \end{itemize}
+
+\item[1.1 (2014/09/21)] First release. This is down-scaled from the
+  (development version of) \xintexprname. Motivation came the previous day
+  from a chat with \textsc{Joseph Wright} over big int status in \LaTeX3.
+  The |\bnumexpr...\relax| parser can be used on top of big int macros of
+  one's choice. Functionalities limited to the basic operations. I leave
+  the power operator |^| as an option.
+\endinput
+%%
+%% End of file `bnumexprchanges.tex'.


Property changes on: trunk/Master/texmf-dist/doc/latex/bnumexpr/bnumexprchanges.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/source/latex/bnumexpr/bnumexpr.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/bnumexpr/bnumexpr.dtx	2017-07-27 21:26:25 UTC (rev 44900)
+++ trunk/Master/texmf-dist/source/latex/bnumexpr/bnumexpr.dtx	2017-07-27 21:26:37 UTC (rev 44901)
@@ -1,21 +1,21 @@
 % -*- coding: iso-latin-1; time-stamp-format: "%02d-%02m-%:y at %02H:%02M:%02S %Z" -*-
 %<*dtx>
-\def\bnedtxtimestamp  {Time-stamp: <14-10-2015 at 16:24:00 CEST>}
+\def\bnedtxtimestamp  {Time-stamp: <26-07-2017 at 23:19:38 CEST>}
 \iffalse
 %</dtx>
 %<*drv>
 %% ---------------------------------------------------------------
-\def\bnedocdate {2015/10/14} % package bnumexpr documentation date
-\def\bnepackdate{2015/10/14} % package bnumexpr date
-\def\bneversion {1.2a}        % package bnumexpr version
+\def\bnedocdate {2017/07/09}% package bnumexpr documentation date
+\def\bnepackdate{2017/07/09}% package bnumexpr date
+\def\bneversion {1.2b}      % package bnumexpr version
 %</drv>
 %<*readme>--------------------------------------------------------
 
 | Source:  bnumexpr.dtx
-| Version: v1.2a, 2015/10/14 (doc: 2015/10/14)
+| Version: v1.2b, 2017/07/09 (doc: 2017/07/09)
 | Author:  Jean-Francois Burnol
 | Info:    Expressions with big integers
-| License: LPPL 1.3c or later
+| License: LPPL 1.3c
 
 README: [Usage], [Installation], [License]
 ==========================================
@@ -24,22 +24,29 @@
 -----
 
 The package `bnumexpr` allows _expandable_ computations with big
-integers, the four infix operators `+`, `-`, `*`, `/` (which does
-rounded division), the power operators `^` or `**`, the factorial
-`!`, the truncated division `//`, and its associated modulo `/:`.
+integers and the four infix operators `+`, `-`, `*`, `/` (which does
+rounded integer division) familiar from the `\numexpr` e-TeX parser.
 
+Besides extending the scope to arbitrarily big numbers (and having a
+more complete syntax, for example `-(1)` is legal input), it adds the
+truncated division operator `//`, and its associated modulo `/:`, the
+power operator `^` (or equivalently `**`), and the factorial post-fix
+operator `!`. The space character as well as the underscore character
+`_` both may serve to optionally separate digits in long numbers, for
+better readability of the input.
+
 For example:
 
-    \thebnumexpr (92874927979^5-3197927979^6)/30!\relax
+    \thebnumexpr ( 92_874_927_979^5 - 31_9792_7979^6 ) / 30!\relax
 
-outputs `-4006240736596543944035189`. 
+expands (in two steps) to `-4006240736596543944035189`.
 
 The `\relax` ending token is mandatory and will be removed as a
 result of the evaluation.
 
-The expression parser is scaled-down from `\xinttheiiexpr...\relax`
-from package xintexpr[^1], it does not handle boolean operators,
-conditional branching, variables and recognizes no functions.
+The expression parser is scaled-down from the `\xinttheiiexpr...\relax`
+parser as provided by package xintexpr[^1]: it does not handle boolean
+operators, dummy or user defined variables, functions, etc...
 
 By default the underlying arithmetic macros are the ones provided
 by package xintcore[^1] (its release 1.2 is required).
@@ -48,10 +55,6 @@
 xintcore, and a command `\bnumexprsetup` to inform the package
 which macros to use if not those from xintcore.
 
-This is a breaking release: some options and commands from `v1.1`
-are not defined anymore (as `\bnumexprsetup` provides a new
-interface), and documents which used them will need updating.
-
 Notice that the possibility not to use the xintcore macros might be
 removed in the future: perhaps a future release will maintain during
 computations a private internal representation (especially taylored
@@ -115,7 +118,7 @@
 License
 -------
 
-Copyright (C) 2014-2015 by Jean-Francois Burnol
+Copyright (C) 2014-2017 by Jean-Francois Burnol
 
 | This Work may be distributed and/or modified under the
 | conditions of the LaTeX Project Public License 1.3c.
@@ -140,10 +143,16 @@
 %<*!readme>
 %% ---------------------------------------------------------------
 %% The bnumexpr package: Expressions with big integers
-%% Copyright (C) 2014-2015 by Jean-Francois Burnol
+%% Copyright (C) 2014-2017 by Jean-Francois Burnol
 %%
 %</!readme>
 %<*changes>-------------------------------------------------------
+\item[1.2b (2017/07/09)]
+  \begin{itemize}
+  \item the |_| may be used to separate visually blocks of digits in long
+    numbers.
+  \end{itemize}
+
 \item[1.2a (2015/10/14)]
   \begin{itemize}
   \item requires \xintcorename |1.2| or later (if not using option |custom|).
@@ -196,7 +205,7 @@
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{bnumexpr.tex}%
 [\bnepackdate\space v\bneversion\space driver file for %
-  bnumexpr documentation (jfB)]%
+  bnumexpr documentation (JFB)]%
 \PassOptionsToClass{a4paper,fontsize=11pt}{scrdoc}
 \chardef\Withdvipdfmx 1 %
 \chardef\NoSourceCode 0 % replace 0 by 1 for not including source code
@@ -534,8 +543,9 @@
 factorials, truncated division, modulo, and comma separated expressions.
 Examples:
 
-\noindent\bneshow {1208637867168*(2187917891279+3109197072870)}%
-\bneshow {(1380891090-30018902902)*(108319083901-10982903890)}%
+\noindent\bneshow {1_208_637_867_168*(2_187_917_891_279+3_109_197_072_870)}%
+\bneshow {(13_8089_1090-300_1890_2902)*(1083_1908_3901-109_8290_3890)}%
+\bneshow{(92_874_927_979**5-31_9792_7979**6)/30!}%
 \bneshow {30!/20!/21/22/23/24/25/(26*27*28*29)}%
 \bneshow {13^50//12^50, 13^50/:12^50}%
 \bneshow {13^50/12^50, 12^50}%
@@ -586,6 +596,9 @@
 
 \item |\bnumexpr -(1+1)\relax| is legal contrarily to |\numexpr -(1+1)\relax|
   which raises an error.
+
+\item the |_| is legal within the digits composing a number and is silently
+  ignored.
 \end{enumerate}
 
 An important thing to keep in mind is that if one has a calculation
@@ -602,22 +615,28 @@
 inputs, etc... it may be slightly faster when handling complicated
 expressions as it does not have to check so many things.
 
-I recall from the documentation of \xintexprname that there is a
-potential impact on the memory of \TeX{} (the string pool, the hash
-table) because each intermediate number is stored as a dummy control
-sequence name during processing. After thousands of evaluations with
-numbers having hundreds of digits parts of the \TeX{} memory will become
-saturated and end the \verb?latex|pdflatex? run (but the problem can in theory be
-avoided through the use of a ``bigger'' |pdfetex| compiled with enlarged
-memory parameters). Anyhow, computations with thousands of digits take
-time, and this is probably a more stringent constraint.
+The documentation of \xintexprname explains that there is an
+impact on the memory of \TeX{} (the string pool, the hash table) as each
+intermediate number is stored as a dummy control sequence name during
+processing. After thousands of evaluations with numbers having hundreds of
+digits, parts of the \TeX{} memory can become saturated and end the
+\verb?latex|pdflatex? run, but the problem can be avoided via enlarged memory
+parameters for |pdftex|, as made possible by modern TeX installations.
+Anyhow, computations with thousands of digits take time, and this is probably
+a more stringent constraint.
 
-If the same expression needs to be evaluated again and again tens of
-thousands of times, it may be necessary to drop use of \bnumname and
-either use directly the macros from package \xintcorename, or apply
-|\xintNewIIExpr| from package \xintexprname to first construct the
-possibly very complicated nested macro.
+If the same operations need to be repeated again and again tens of thousands
+of times on varying (big) numbers, the memory problem mentioned above may be
+avoided by using nested macros rather than |\bnumexpr| or |\xintexpr|
+expressions. Utility |\xintNewIIExpr| from package \xintexprname can be used
+to construct the possibly very complicated nested macro from a given
+expression with the needed operators and usual {\catcode`# 12 |#1, #2, #3,
+  ...|} placeholders.
 
+% je voulais dire qu'une telle macro pouvait \xEAtre pr\xE9par\xE9e s\xE9par\xE9ment, mais il
+% faudrait expliquer qu'il faut r\xE9cup\xE9rer son \meaning, et j'ai le probl\xE8me de
+% mes \romannumeral`&&@ maintenant... note 2015/10/27. Donc je laisse tomber.
+
 The \eTeX{} extensions are required (this is the default on all modern
 installations for \verb?latex|pdflatex? and also for \verb?xelatex|lualatex?).
 
@@ -662,6 +681,9 @@
 The factorial postfix |!| has highest precedence. The minus signs
 inherit the precedence level of the previously encountered infix operators.
 
+The underscore |_| can be used to separated digits in long numbers, for
+readability of the input.
+
 \section{Option custom, \csh{bnumexprsetup}}\label{sec:options}
 
 Package \bnumname needs that some big integer engine provides the macros
@@ -758,7 +780,7 @@
 % \subsection{Package identification and catcode setup}
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}%
-\ProvidesPackage{bnumexpr}[2015/10/14 v1.2a Expressions with big integers (jfB)]%
+\ProvidesPackage{bnumexpr}[2017/07/09 v1.2b Expressions with big integers (JFB)]%
 \edef\BNErestorecatcodes {\catcode`\noexpand\!\the\catcode`\!
                    \catcode`\noexpand\?\the\catcode`\?
                    \catcode`\noexpand\_\the\catcode`\_
@@ -961,6 +983,7 @@
 \def\BNE_scanint_endbycs#1#2\BNE_scanint_d{\endcsname #1}%
 \def\BNE_scanint_c\string #1\BNE_scanint_d
 {%
+    \if    _#1\xint_dothis{\expandafter\BNE_scanint_d\xint_gobble_i}\fi
     \ifcat a#1\xint_dothis{\endcsname*}\fi % tacit multiplication
     \xint_orthat {\expandafter\endcsname \string}#1%
 }%
@@ -977,6 +1000,7 @@
 \def\BNE_gobz_scanint_endbycs#1#2\BNE_scanint_d{0\endcsname #1}%
 \def\BNE_gobz_scanint_c\string #1\BNE_scanint_d
 {%
+    \if    _#1\xint_dothis\BNE_gobz_scanint_d\fi
     \ifcat a#1\xint_dothis{0\endcsname*#1}\fi % tacit multiplication
     \if    0#1\xint_dothis\BNE_gobz_scanint_d\fi
     \xint_orthat {0\expandafter\endcsname \string#1}%
@@ -1247,7 +1271,7 @@
   Right bracket \]     Circumflex    \^     Underscore    \_
   Grave accent  \`     Left brace    \{     Vertical bar  \|
   Right brace   \}     Tilde         \~}
-\CheckSum {861}
+\CheckSum {871}
 \makeatletter\check at checksum\makeatother
 \Finale
 %% End of file xint.dtx

Modified: trunk/Master/texmf-dist/source/latex/bnumexpr/bnumexpr.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/bnumexpr/bnumexpr.ins	2017-07-27 21:26:25 UTC (rev 44900)
+++ trunk/Master/texmf-dist/source/latex/bnumexpr/bnumexpr.ins	2017-07-27 21:26:37 UTC (rev 44901)
@@ -22,7 +22,7 @@
 %% in the same archive or directory.)
 %% ---------------------------------------------------------------
 %% The bnumexpr package: Expressions with big integers
-%% Copyright (C) 2014-2015 by Jean-Francois Burnol
+%% Copyright (C) 2014-2017 by Jean-Francois Burnol
 %%
 %% tex bnumexpr.ins will extract bnumexpr.sty from bnumexpr.dtx
 %%

Modified: trunk/Master/texmf-dist/tex/latex/bnumexpr/bnumexpr.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bnumexpr/bnumexpr.sty	2017-07-27 21:26:25 UTC (rev 44900)
+++ trunk/Master/texmf-dist/tex/latex/bnumexpr/bnumexpr.sty	2017-07-27 21:26:37 UTC (rev 44901)
@@ -22,10 +22,10 @@
 %% in the same archive or directory.)
 %% ---------------------------------------------------------------
 %% The bnumexpr package: Expressions with big integers
-%% Copyright (C) 2014-2015 by Jean-Francois Burnol
+%% Copyright (C) 2014-2017 by Jean-Francois Burnol
 %%
 \NeedsTeXFormat{LaTeX2e}%
-\ProvidesPackage{bnumexpr}[2015/10/14 v1.2a Expressions with big integers (jfB)]%
+\ProvidesPackage{bnumexpr}[2017/07/09 v1.2b Expressions with big integers (JFB)]%
 \edef\BNErestorecatcodes {\catcode`\noexpand\!\the\catcode`\!
                    \catcode`\noexpand\?\the\catcode`\?
                    \catcode`\noexpand\_\the\catcode`\_
@@ -161,6 +161,7 @@
 \def\BNE_scanint_endbycs#1#2\BNE_scanint_d{\endcsname #1}%
 \def\BNE_scanint_c\string #1\BNE_scanint_d
 {%
+    \if    _#1\xint_dothis{\expandafter\BNE_scanint_d\xint_gobble_i}\fi
     \ifcat a#1\xint_dothis{\endcsname*}\fi % tacit multiplication
     \xint_orthat {\expandafter\endcsname \string}#1%
 }%
@@ -177,6 +178,7 @@
 \def\BNE_gobz_scanint_endbycs#1#2\BNE_scanint_d{0\endcsname #1}%
 \def\BNE_gobz_scanint_c\string #1\BNE_scanint_d
 {%
+    \if    _#1\xint_dothis\BNE_gobz_scanint_d\fi
     \ifcat a#1\xint_dothis{0\endcsname*#1}\fi % tacit multiplication
     \if    0#1\xint_dothis\BNE_gobz_scanint_d\fi
     \xint_orthat {0\expandafter\endcsname \string#1}%



More information about the tex-live-commits mailing list