imath iMath

The iMath extension for intelligent formulas enables numeric and symbolic calculations inside a Writer document

★ ★ ★ ★ ★
Extensions Math Writer
Download latest

latest release: 2024-05-08 08:13:41


The iMath extension for intelligent formulas enables numeric and symbolic calculations inside a Writer document. The development of iMath was prompted by a problem which I often  encountered doing calculations in my profession as a mechanical  engineer. I would first begin writing out the problem on paper, putting  together the necessary equations, and then turn to a spreadsheet to do  the actual calculations. iMath is meant to integrate this process in a single Writer document.

See also the CompPad project which has a similar goal, and CmathOOoCAS which adds symbolic capabilities to calc. Both projects appear to be unmaintained, though.

How to use iMath is described in the iMath wiki and illustrated by examples in iMath-tour.odt,which you can find in the subdirectory matching your iMath version.

Windows users might need to install the Microsoft Visual C++ 2019 Redistributable Package (search for "vcredist" on the Microsoft website). 

Please see the wiki documentation for details on known working configurations of iMath, LibreOffice and Windows. If you have the option, I would highly recommend to use iMath on Linux, since the Windows platform requires a number of workarounds for specific Windows instabilities. These workarounds result in a much slower performance of iMath on Windows as compared to Linux.

If your operating system can install .deb packages, have a look at my PPA. Note that if your system does not have libginac6 with a minimum version of 1.7.8, you must install from the PPA. In this case the required version of libginac6 will be installed as well.

Please use the tracking system to report bugs and make feature requests, or mail me at jrheinlaender a.t. users _ sourceforge _ net.

Contributors: Jan Rheinländer

Additional documentation:



Release List

Release Description Compatibility Operating Systems License Release notes   2.3.4 Bugfix release with small improvements 7.6 Linux, Windows GPL
  • Fix bug that printed all user-selected global units after a 0 result value. New behaviour is to only print the last unit - this allows overriding it by a local define
  • Fix bug in chart series creation
  • Fix bug in ifelse: Handle nested ifelse's
  • Enhance extintegral to integrate multiple-differentiated functions
  • Bugfix in printing routine for real numbers
  • Allow variable names followed by dashes
  • Recognize namespaced variables with attributes
  • Change printing order: Constants before ordinary symbols 
  • CLEAREQUATIONS should only remove stuff in the current namespace
  • Switch dependency from libginac6 to libginac11
Download 2.3.2 Bringing external editor integration, numerous matrix functions and GUI improvements 6.4 Linux, Windows GPL
  • Add the possibility to edit and insert iFormulas with an external editor (from the context menu)
  • Make Create iFormula, Edit iFormula and Variable list dialogs non-modal
  • Keep the Create iFormula dialog open when Enter is pressed 
  • Clear the formula text after pressing Enter or Create in the Create iFormula dialog 
  • Implement string comparison for ifelse() 
  • Create a menu item / button that toggles the autorecalculation setting (locally for the current document) 
  • Fix bug in Chart creation that led to errors for charts with x values of the type var = vector 
  • Fix bug that drops the units on zero values even if they are specifically specified in an option 
  • Fix bug that sometimes loses user's changes, especially when they happen in the context of fixing an error during recompilation 
  • Allow inserting a starmath formula with the iFormula dialogs or an external editor 
  • Add numerous functions for matrix creation and manipulation. See for details
  • Fix bug that ignored the WITH part when evaluating matrices
Download 2.3.0 6.4 Linux, Windows GPL

New Features

  • Implement very basic iMath functionality in Presentation documents
  • Implement basic namespace functionality
  • Implement keyword UPDATE
  • Enable iMath to parse the unicode superscript characters as numeric exponents
  • Recognize more signs for division and hadamard operations 
  • Add new option implicitmul to turn off recognition of whitespace as a multiplication
  • Complete rewrite of numeric output formatting considering the options precision, fixedexponent, fixedpoint, lowsclimit, highsclimit 
  • Implement formatting options lowsclimit and highsclimit
  • Show error message about outdated iMath version if the document version is newer 
  • Show an error for the printing options precision=0;fixedpoint=false    because this makes no sense
  • Parse math operator +- and -+ as strings to avoid interpretation errors
  • Improve "no implicit multiplication" functionality by excluding quantities, e.g. 3 %second
  • Implement alternative syntax "quoted unit name" for UNITDEF 


  • Fix bug that inserted autoformat=true entries automatically
  • Fix bug that messed up unicode in some error messages
  • Fix bug that crashed Office when formatting was applied to a formula that failed in recalculation
  • Fix unexpected behavior of eval_integ() where the term has a common factor
  • Fix problem in LO 6.3 that does not update charts
  • Work around bug in LO 6.3 that handles <Enter> in the new iFormula dialog twice
  • Fix infinite eval loop for expressions like conjugate(f(x))
Download 2.2.8 This release brings lots of bug fixes, some small improvements and a few new functions. For example, it is now possible to give labels to expressions and reference them later in the document. An iFormula definition can contain continuation lines so that i 6.0 Linux, Windows GPL
  • Enable iFormula continuation lines beginning with %%ii+
  • Implement the option "echo" which copies the iMath formula verbatim to the output
  • Add a context menu entry to apply the formatting of a chart to all charts in the document
  • Implement labels for expressions (EXDEF) so that they can be referenced in other iFormulas
  • Multiple bug fixes
external link 2.2.6 This release mainly fixes a bug in the option "Evaluate to real roots" that gave wrong results for even powers of odd roots, e.g. (-2)^(2/3) 5.4 Linux, Windows GPL

Apart from fixing a bug in the option "Evaluate to real roots", this release implements the new keywords AVAL, AVALWITH, PRINTVAL, PRINTVALWITH. They can find values of expressions without reducing them to floats, that is, roots and transcendental function will remain in the result.

external link 2.2.4 This release mainly fixes a new bug in Office 6.0 that crashes the whole office after copy+paste or cut+paste operations 5.4 Linux, Windows GPL

This release mainly fixed a new bug in Office 6.0 that crashes the whole office after copy+paste or cut+paste operations.
Some new features are:
- Element-wise multiplication (Hadamard product), division and exponentiation of vectors with the syntax .* , ./ and .^
- Allow defining a print name for functions that may differ from the function name. Useful for defining variants of functions that can handle units
-  Introduce the syntax _ii_ <math expression> _ii_ inside TEXT statements

external link 2.2.2 This release brings improved options for formatting of formulas. Some new features were implemented, for example the EXPLAINVAL keyword that prints an equation with known values inserted. Also, several workarounds for bugs and crashes specific to the Wind 5.4 Linux, Windows GPL

The following changes were made:

  • Add an entry to the context menu of formulas that allows applying the formatting properties to all other formulas in the document
  • Set the automatic bracket scaling option on all iFormulas and get rid of all the right's and left's
  • Add new options
    • autofraction: Automatically diminish text sizes in fractions
    • minimumtextsize: Minimum text size in points for fractions
    • autotextmode: Automatically recognize formulas that are not on a line by themselves and set the text mode flag on them
  • Add global and document settings that allow to control the font for all formulas
  • When creating a new iFormula, replace the user selection with the formula
  • Use selected text as initial text for a new iFormula
  • Implement new "express create" button in toolbar. Selected text is immediately converted into an iFormula (without opening the dialog)
  • Fix representation of unit ohm to show a capital greek Omega
  • Recognize two different dashes as minus sign, useful for copy-and-pasted formulas
  • Implement GUI for setting options locally (%%ii OPTIONS{...})
  • Add underflow and eval-to-real-roots settings to format iFormula dialog
  • If the user did not supply a label for a new equation, preset it to the LHS side of the equation or constant
  • Fix bug that did not properly display equation labels in merged equations
  • Handle an assignment of two column vectors like a list of separate assignments. This fixes the problem with extracting the value of variables from an ITERATE statement
  • Introduce the syntax @prevN@ to access the Nth previous equation
  •  Implement PRINTVAL keyword as a shortcut for TEXT x = / EXDEF VAL(x)
  • Fix various bugs that occur when automatic  recalculation is turned off
  • Implement EXPLAINVAL keyword that prints an equation with known values inserted
  • Rremove packaged help files, all documentation is maintained on the wiki from now on
  • Create a settingsmanager to manage all document and global settings data in one place
  • Enhance automatic equation chaining to work on consecutive formulas in the same line
  • Enhance automatic equation chaining to work with inequalities and congruences
  • Allow writing modular equations with the syntax: expression EQUIV expression ("mod" m)
  • Fix bug on Windows that somehow misses manual changes to formulas
  • Allow syntax f x which means f * x. Use brackets f(x) for function arguments
  • Work around Windows copy+paste bug by disabling automatic recalculation after a paste operation
  • Add Windows x86_64 platform for the 64bit build of Office
external link 2.2.0 iMath - 2.2.0 5.1 Windows GPL

This release brings reworked units support, for example, SI prefixes to all units are automatically recognized now. Also, symbolic differentiation and integration were improved. And it is now possible to solve an equation for an arbitrary expression, e.g. partial(x).

external link 2.1.4 This Release Brings A Multitude Of Small Features And Bug Fixes 4.2 Linux, Windows GPL

The GUI was improved, and new keywords were introduced: Table cells and Calc cells can now be referenced in an iFormula, Matrix handling was improved, ...

external link
Show more

Other Extensions


The iMath extension for intelligent formulas enables numeric and symbolic calculations inside a Writer document



★ ★ ★ ★ ★


★ ★ ★ ★ ★

Post your review

You cannot post reviews until you have logged in. Login Here.


  • Sergio Jorge Garcia Aug 25, 2022, 8:05 PM (23 months ago)

    ★ ★ ★ ★ ★

    Excelente ferramenta mas é preciso paciência para entendê-la.

RSS feed for reviews on this page | RSS feed for all reviews