CTAN Update: xint
New features: * \xintZapSpaces /completely expandably/ removes both leading and ending space tokens (char code 32) from its input. The input is not altered in any other way. The variant \xintZapSpacesB additionally transforms <spaces>{braced}<spaces in braced (now unbraced...). \xintZapFirstSpaces and \xintZapLastSpaces do what their name indicate. The input may contain unmatched \if, \fi tokens etc... but top level space tokens are assumed to be of character code 32, as this works with delimited macros. * the completely expandable \xintCSVtoList now strips out all spaces around commas or at the start and end of the list of the comma separated items (using \xintZapSpacesB). * the non completely expandable \xintFor et al. all similarly now removes all spaces around commas. * \xintFor et al. are extended to accept all macro parameters from #1 to #9 (in arbitrary order); this will prove very useful for those who need to typeset a tabular on 9-dimensional paper. I plan on issuing at some point a spin-off package with the macros above (all those described in the documentation section on the "Utilities" provided by xint.sty). Perhaps \xintZapSpaces could be made into a little package of its own; or the package should contain only what is necessary for \xintFor and its variants. Feedback will be welcome on whether this is worthwile and if the thing should, as the xint bundle packages, be made available to all macro formats or only as a LaTeX package.
This package is located at http://mirror.ctan.org/macros/generic/xint/ More information is at http://www.ctan.org/pkg/xint We are supported by the TeX Users Group http://www.tug.org . Please join a users group; see http://www.tug.org/usergroups.html .
Thanks for the upload. For the CTAN Team Petra Rübe-Pugliese
Xint – Expandable arbitrary precision floating point and integer operations
Loading xintexpr provides \xinteval and \xintfloateval.
\xintfloateval evaluates numerical expressions. The floating point precision defaults to 16 decimal digits and can be set by user. Trigonometry, exponential and logarithms are implemented up to a maximal precision of 62 decimal digits.
\xinteval computes exactly with integers, fractions, and decimal numbers or numbers in scientific notation. Note though that multiplying two floating point numbers will about double the number of digits, and so on, because the algebra is done exactly.
Both are compatible with expansion-only context.
Loading xintexpr imports automatically various other modules that it depends upon. Among them:
- xinttools: utilities such as expandable and non-expandable loops,
- xint: macros implementing in particular the basic operations on arbitrarily long integers,
- xintbinhex: conversions between decimal and binary, octal, or hexadecimal bases for arbitrarily long integers,
- xintfrac: macros implementing in particular the basic operations on arbitrarily large fractions, decimal numbers, or numbers in scientific notation.
Further modules of independent interest include xintgcd, xintseries and xintcfrac.
You can use xintexpr (and the other components) with LaTeX (via \usepackage) or also with Plain TeX, OpTeX, or ConTeXt (via \input xintexpr.sty).
All the components are documented in the file xint.pdf, which also contains the commented source code.
| Package | Xint |
| Version | 1.4o 2025-09-06 |
| Copyright | 2013–2022, 2025 Jean-François Burnol |
| Maintainer | Jean-François Burnol |