5

One of the arithmetic instructions (\divide) does not even have an equivalent in standard LaTeX. The inx expressions can be used in arguments to macros (the calc package doesn't employ category code changes to achieve its goals)

1
  • 3
    ... and the question is? \newcommand\mydivide[3]{\edef#1{\number\numexpr(#2)/(#3)\relax}} will divide the second by the third argument and store the result in a macro whose name is the first argument. Commented Apr 10, 2012 at 17:27

2 Answers 2

8

There are a number of libraries that can be used for calculations with LaTeX perhaps the best being the fp package. There is also an equivalent available in LaTeX3. To divide you type:

   \FPdiv\result{3}{7}

With the result being available in \result.

Here is a full minimal:

\documentclass{article}
\usepackage{fp}
\begin{document}
\FPdiv\result{3}{7}
\result
\end{document}
3

This would be the implementation of \divide in LaTeX:

\newcommand{\dividecounter}[2]{%
  \global\divide\csname c@#1\endcsname#2\relax}

Now \dividecounter{page}{3} will store in the counter page the result of the division.

Similarly one could implement \multiply. But LaTeX counters are not meant for doing arithmetic, but rather to index something. TeX counters should be used for (local) arithmetic manipulations.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .