diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/bnumexpr/README.md')
-rw-r--r-- | Master/texmf-dist/doc/latex/bnumexpr/README.md | 106 |
1 files changed, 45 insertions, 61 deletions
diff --git a/Master/texmf-dist/doc/latex/bnumexpr/README.md b/Master/texmf-dist/doc/latex/bnumexpr/README.md index c632a66cf39..bda6edef58a 100644 --- a/Master/texmf-dist/doc/latex/bnumexpr/README.md +++ b/Master/texmf-dist/doc/latex/bnumexpr/README.md @@ -1,74 +1,65 @@ - | Source: bnumexpr.dtx -| Version: v1.2e, 2019/01/08 (doc: 2019/01/08) +| Version: v1.4, 2021/05/12 (doc: 2021/05/12) | 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 `+`, `-`, `*`, `/` 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 -(by default) floored 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: - - \bnumeval{( 92_874_927_979^5 - 31_9792_7979^6 ) / 30!} - - The above expands (in two steps) to `-4006240736596543944035189` - (the `/` does rounded division to match the `\numexpr` behaviour). - -The expression parser is scaled-down from the `\xinttheiiexpr...\relax` -parser as provided by package xintexpr[^1]: it does not handle -hexadecimal input, boolean operators, dummy or user defined variables, -functions, etc... - -By default, the package loads xintcore[^1] (release 1.3d is then -required) but it is possible via option _custom_ and macro -`\bnumexprsetup` to map the operators to macros of one's own choice. It -is the responsability of the user to load the packages providing these -custom macros. - -Notice that the possibility not to use the xintcore macros might be +bnumexpr usage +============== + +The LaTeX package `bnumexpr` allows expandable computations with +integers and the four infix operators `+`, `-`, `*`, `/` using the +expression syntax familiar from the `\numexpr` e-TeX parser, with +these extensions: + +- arbitrarily big integers, +- floored division `//`, +- associated modulo `/:`, +- power operators `^` and `**`, +- factorial post-fix operator `!`, +- comma separated expressions, +- the space character as well as the underscore may serve + to separate groups of digits, +- optional conversion of output to hexadecimal. + +The expression parser is a scaled-down variant from the +`\xintiiexpr...\relax` +parser from package [xintexpr](http://ctan.org/pkg/xintexpr). + +To support hexadecimal input and output, the package +[xintbinhex](http://ctan.org/pkg/xint) is loaded automatically. + +The package loads by default [xintcore](http://ctan.org/pkg/xint) +but the option _custom_ together with macro `\bnumexprsetup` allow to map +the syntax elements to macros from an alternative big integer +expandable engine of the user own choosing, +and then [xintcore](http://ctan.org/pkg/xint) is not loaded. + +Note; 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 tailored 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: +Use your installation manager to install or update `bnumexpr`. + +Else, obtain `bnumexpr.dtx`, from CTAN: > <http://www.ctan.org/pkg/bnumexpr> -Both `"tex bnumexpr.ins"` and `"tex bnumexpr.dtx"` extract from -`bnumexpr.dtx` the following files: +Run `"etex bnumexpr.dtx"` to extract these files: `bnumexpr.sty` : this is the style file. `README.md` - : reconstitutes this README. `bnumexprchanges.tex` - : lists changes from the initial version. + : change history. `bnumexpr.tex` : can be used to generate the documentation: @@ -76,13 +67,10 @@ Both `"tex bnumexpr.ins"` and `"tex bnumexpr.dtx"` extract from : - 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. + be located in the same repertory as `bnumexpr.tex` and `bnumexpr.dtx`. without `bnumexpr.tex`: : `"pdflatex bnumexpr.dtx"` (thrice) extracts all files and @@ -93,18 +81,14 @@ 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. + README.me --> TDS:doc/latex/bnumexpr/ License -------- +======= -Copyright (C) 2014-2019 by Jean-Francois Burnol +Copyright (C) 2014-2021 by Jean-Francois Burnol | This Work may be distributed and/or modified under the | conditions of the LaTeX Project Public License 1.3c. @@ -122,6 +106,6 @@ 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 + bnumexpr.sty, bnumexpr.pdf, bnumexpr.tex, bnumexprchanges.tex, + and README.md |