# README

## xint v1.1a

### 2014/11/07 (doc 2015/03/07)

    Source:  xint.dtx (v1.1a 2014/11/07, doc of 2015/03/07)
    Author:  Jean-Francois Burnol
    Info:    Expandable operations on big integers, decimals, fractions
    License: LPPL 1.3c or later

This README is also available as README.pdf and README.html.

Change log is in CHANGES.pdf and CHANGES.html.

# Usage

## With LaTeX

    \usepackage{xint}       % expandable arithmetic with big integers
    \usepackage{xintfrac}   % decimal numbers, fractions, floats
    \usepackage{xintexpr}   % expressions with infix operators

Further packages: `xintbinhex`, `xintgcd`, `xintseries` and `xintcfrac`. All dependencies are handled automatically. For example `xintexpr` automatically loads `xintfrac` which itself loads `xint`. Package `xintcore` is the subset of `xint` providing only the five operations on big integers: `\xintiiAdd`, `\xintiiMul`, ... There is also `xinttools` which is a separate package providing, among others, expandable and non-expandable loops such as `\xintFor`.

## With TeX

One does for example:

    \input xintexpr.sty\relax

Again, all dependencies are handled automatically. The packages may be loaded in any catcode context such that letters, digits, `\` and `%` have their standard catcodes.

`xintcore.sty` and `xinttools.sty` both import `xintkernel.sty` which has the catcode handler and package identifier and defines a few utilities such as `\oodef` or `\xint_dothis/\xint_orthat`.

# Installation

## Method A: using the package manager of your TeX distribution

`xint` is included in TeXLive (hence also MacTeX) and MikTeX.

There can be a few days of delay between apparition of a new version on CTAN and availability via the distribution package manager.

## Method B: manual installation using `xint.tds.zip` and `unzip`

Assumes a GNU/Linux-like system (or Mac OS X).

1. obtain `xint.tds.zip` from CTAN: http://mirror.ctan.org/install/macros/generic/xint.tds.zip

2. cd to the download repertory and issue:

       unzip xint.tds.zip -d <TEXMF>

   where `<TEXMF>` is a suitable TDS-compliant destination repertory. For example, with TeXLive:

   - Linux, standard access rights, hence sudo is needed, installation into the "local" tree:

         sudo unzip xint.tds.zip -d /usr/local/texlive/texmf-local
         sudo texhash /usr/local/texlive/texmf-local

   - Mac OS X, installation into user home folder (no sudo needed, and it is recommended to not have a ls-R file there, hence no texhash):

         unzip xint.tds.zip -d  ~/Library/texmf

## Method C: manual installation using `Makefile` and `xint.dtx`

The Makefile automatizes rebuilding from `xint.dtx` all documentation files as well as `xint.tds.zip`. It is for GNU/Linux-like (inc. Mac OS X) systems, with a teTeX like installation such as TeXLive. Furthermore the Pandoc software is required.

1. obtain `xint.dtx` and `Makefile` from http://www.ctan.org/pkg/xint.

2. put them in an otherwise empty working repertory, run `make` or equivalently `make help` for further instructions.

## Method D: installation starting with only `xint.dtx`

Run `"tex xint.dtx"` or `"etex xint.dtx"` to extract from `xint.dtx` all packages as well as these files:

`README.md`
  the current README with Markdown formatting.
`CHANGES.md`
  the changes across successive releases.
`xint.tex`

  used to generate `xint.pdf` via `"latex xint.tex"` (thrice) then `"dvipdfmx xint.dvi"`. For successful compilation, packages `newtxtt`, `newtxmath`, `etoc`, `mathastext` are needed. Inclusion of the source code is off by default, but the toggle can be set in `xint.tex`.

  It is also possible to compile `xint.tex` with `pdflatex`.

  A third option is to generate `xint.pdf` via `pdflatex xint.dtx`. Source code is then included by default.

`Makefile.mk`
  this is for UNIX-like systems. Note: this file is only produced with `"etex xint.dtx"`, not with `"tex xint.dtx"`. Rename it to `Makefile` and run `make` on the command line for further help.
`doHTMLs.sh` and `doPDFs.sh`
  these are scripts (for UNIX-like systems) which can be used to convert the `README.md` and `CHANGES.md` to HTML and PDF formats. They require Pandoc.
`pandoctpl.latex`
  a Pandoc template used by `doPDFs.sh`.

Finishing the installation in a TDS hierarchy:

- move the style files to `TDS:tex/generic/xint/`

- `xint.dtx` goes to `TDS:source/generic/xint/`

- the documentation (xint.pdf, README.md,...) goes to `TDS:doc/generic/xint/`

Depending on the destination, it may then be necessary to refresh a filename database.

# License

Copyright (C) 2013-2015 by Jean-Francois Burnol

This Work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. This version of this license is in

> http://www.latex-project.org/lppl/lppl-1-3c.txt

and the latest version of this license is in

> http://www.latex-project.org/lppl.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 of this Work is Jean-Francois Burnol.

This Work consists of the source file xint.dtx and of its derived files: xintkernel.sty, xintcore.sty, xint.sty, xintfrac.sty, xintexpr.sty, xintbinhex.sty, xintgcd.sty, xintseries.sty, xintcfrac.sty, xinttools.sty, xint.ins, xint.tex, README, README.md, README.html, README.pdf, CHANGES.md, CHANGES.html, CHANGES.pdf, pandoctpl.latex, doHTMLs.sh, doPDFs.sh, xint.dvi, xint.pdf, Makefile.mk.