<< | Page list | >>
Back-of-envelope calculations using instant preview.

## Calculyx

The calculyx package enables the numerical evaluation of mathematical expressions in LyX dynamically by means of instant preview. Such expressions can be created in the LyX math editor with considerable ease. With instant preview turned on, it also displays them elegantly. The LaTeX package `calculyx.sty`

uses the ‘mini LaTeX runs’ of the instant preview facility to numerically evaluate such expressions, generally without having to make any change to their LaTeX form. Results can be presented in the form *expression = result*.

### Components and requirements.

A zipped archive of the calculyx package can be found at calculyx. The package contains the LaTeX file `calculyx.sty`

, the LyX module `calculyx.module`

(defining the `Calculate`

custom inset), and four explanatory documents in LyX format, *Calculyx: basics*, *Calculyx: advanced functions*, *Calculyx: tables, iterates, recurrences* and *Calculyx: hacking*.

Version 2.0 of the package requires LyX 2.2.2 or later for all commands to function as described, although much will work in LyX 2.1.3 or later. For users of version 1, note that there have been many small changes in usage for v.2 to enhance uniformity across the different commands, and one big change, **\clyxtabulate**, which has been completely reworked.

`Calculyx`

requires a number of LaTeX packages: `amsmath`

, `amssymb`

, `booktabs`

(for tables), and `diffcoeff`

(for derivatives). In particular it requires recent versions of the three LaTeX3 bundles `l3kernel`

, `l3packages`

, and `l3experimental`

, since it draws on modules from each of these. The calculational engine is the LaTeX3 floating point module `l3fp`

in `l3kernel`

. (From a user's point of view, LaTeX3 packages are used like any other LaTeX packages.) Note that your version of `l3kernel`

should be no older than 6 December 2016 if you want to be able to use the table-creating command **\clyxtabulate**.

### Functionality

Calculyx accepts LaTeX expressions including: decimals; constants (**\pi**, e, **\deg**); arithmetic operations +, -, *, /, ^ (or **) and LaTeX variants like **\times** and **\div**; **\frac** and variants; **\sqrt** and **\surd**; trigonometric and hyperbolic functions and inverses; natural logarithm and exponential functions, **\max**, **\min** and **\gcd**; binomial coefficients and factorials; sums and products (including to infinity!); limits; derivatives (orders one and two, ordinary and partial, explicit d-notation or primes or dots); and definite integrals in one variable. Variables can be essentially any single token (Latin, Greek, ...), including (for roman letters) primed and subscripted tokens.

As well as the basic **\clyx** command which evaluates expressions, the package includes the command **\clyxtabulate** to construct tables of functions (including multi-column tables with, e.g., maximum values highlighted), the command **\clyxiterate** to iterate functions (as in chaos theory), and **\clyxrecur** to calculate the terms of a recurrence relation (like the Fibonacci sequence).

The package tries to accept LaTeX expressions 'as is', without demanding 'calculator formatting' or extra parentheses. A screenshot of a one-page document containing the LaTeX on the left and the pdf on the right of a number of different calculations can be found at screenshot.

### Categories

Category: calculyx preview