Install
Download the latest tarball here: latexcalc-1.0.tar.gz. To install, simply run './configure', 'make', 'make test', 'make install'. Mandatory dependencies are a LaTeX distribution, gcc, flex, bison and make.Super-Quick Tutorial:
This tutorial assumes you have pdflatex and latexcalc installed, and that you already have knowledge of LaTeX. Put the following into a file, say "test.tex":
\documentclass[12pt]{article}
\begin{document}
Here are \calc{1+1} examples of LaTeXCalc!\\
\begin{enumerate}
\item If $x = \varcalc{x}{2+1}$ then $\solver{x^2} = \answer$. In this example, 3 is stored as the variable $x$, and then 'answer' is replaced by the value of the expression $x^2$, which in this case is 9.
\item Many functions and constants are provided. Consider $\solver{\log_{10}{(\sin{e^4}+2)}} = \answer$
\end{enumerate}
\end{document}
\begin{document}
Here are \calc{1+1} examples of LaTeXCalc!\\
\begin{enumerate}
\item If $x = \varcalc{x}{2+1}$ then $\solver{x^2} = \answer$. In this example, 3 is stored as the variable $x$, and then 'answer' is replaced by the value of the expression $x^2$, which in this case is 9.
\item Many functions and constants are provided. Consider $\solver{\log_{10}{(\sin{e^4}+2)}} = \answer$
\end{enumerate}
\end{document}
Then run $latexcalc --pdflatex test.tex. LaTeXCalc then parses your file, evaluates expressions as you would expect and runs pdflatex to generate test.pdf. That easy!
Current Features
- Standard operators: +, -, *, /, fractions (\frac and variants), multiplication by concatenation, proper order of operations, exponentiation (^), factorial (!)
- Many mathematical functions: combinatorics (\binom), trigonometric functions (\sin, \cos, \tan), inverse and hyperbolic trigonometric functions, logarithms (\log,\ln,\log_{b}), minima/maxima of sets (\min,\max)
- Built-in constants: e, \pi, \phi
- Variables to save numerical values. Valid names are the supported greek letters in LaTeX (such as \alpha), alphabetic characters (a-z). Variables may further be distinguished with some subscripts, commands such as \hat, and more!
Limitations
This project would be aptly-named LINCAS: LaTeXCalc is not a Computer Algebra System! Here are some things LaTeXCalc cannot do:- Support for big numbers
- Do symbolic manipulation
- Handle \begin{verbatim} and \verb correctly; it's not possible to typeset '\answer' without latexcalc trying to evaluate it.
- Solve equations
- Absolute values
- Sums, integrals and differentiation
Future Expansion
For future releases we are planning on:- Support for big numbers
- Interfacing with open source computer algebra systems, such as SAGE and gap
- Support for some numerical integration, differentiation and sums
- Absolute values
- Improved verbatim support
- And much, much more!