MathFlow frequently asked questions

What's the difference between MathType and MathFlow?

MathType and MathFlow were initially developed independently of each other; therefore, they are different equation editors from both a developer's perspective and an end user's perspective. MathFlow was designed to implement the MathML specification and to facilitate math on the web, while MathType is a well-known desktop application. There are some features available in MathFlow not available in MathType and vice versa. If you have questions about which is right for your organization or project, please contact MathFlow Premium Support.

For how long are older releases of MathFlow software supported by Design Science?

Design Science will provide maintenance and technical support on any releases for one year after its replacement by a subsequent release.

How do I remove the grey background from formulas?

The grey background signifies a MathFlow license has not been checked out. If you have a license available, double-clicking an equation will remove the grey background. There is no style information on the MathML to suggest a grey background, so if the MathML is being processed, the grey background will not be translated.

A character appears in the MathFlow editor but not in Arbortext Editor/XMetaL. What do I do about this?

Look for and install fonts with those characters. Suggested fonts include: Code2000, Everson Mono, and the MathType fonts. These three fonts will likely cover most of the math characters a user needs.

Can I create new keyboard shortcuts?

No, this functionality is not currently available.

Can I create a new toolbar button?

The toolbar is completely modifiable with XML. Please see the Toolbar Configuration Language in the MathFlow documentation for information on how to customize the toolbar.

Does MathFlow support the use of custom TrueType fonts for equations?

Yes, MathFlow supports custom fonts. Please see the documentation for information on how to extend MathFlow's font knowledge.

How do I join token items to make them one token item?

For example, change: <mrow><mi>I</mi><mi>D</mi><mi>T</mi></mrow> to: <mrow><mi>IDT</mi></mrow>.

To group several individual identifiers into a single identifier, highlight the identifiers and navigate to the Edit > Characters > Group menu item. You can also split a single token item into individual token items using the Ungroup feature. (This feature is not available in the MathFlow Simple Editor.)

How do I delete an empty template box inside a bigger template?

For example, if I insert a superscript template, then want to remove the superscript, but keep the inline variable characters. Or, if I have a series of token elements representing the numerator in a fraction, but I want to edit the equation to remove the denominator and leave the numerator as inline token elements, is that possible without cutting and pasting?

There is currently no way to delete part of a template. The workaround is to cut or copy the portion you want to keep, delete the whole template, and paste the contents on the clipboard into the equation.

Is there a way to select a series of variables and convert them into one text token?

For example: Change: <mo>=</mo><mi>r</mi><mi>e</mi><mi>t</mi><mi>u</mi><mi>r</mi><mi>n</mi>
To: <mo>=</mo><mtext>return</mtext>

Yes, group the series of variables by highlighting the characters and choosing the Edit > Characters > Group menu item. Then select the Text template, which is in the Layout Template Palette of the standard toolbar (first button on the toolbar, the icon is a 'T' in a dotted box). Alternatively, you can apply the text mode with the Ctrl+T keyboard shortcut. (This feature is not available in the MathFlow Simple Editor.)

How do I make Sigma summation signs and integral symbols "stretchy"?

The sum and integral symbols do not render as stretchy, although you can place the stretchy=true attribute on the operators in the Properties > Operator Properties dialog. You can also manually change the size of the operator by highlighting the operator and going to Properties > Font Properties. (This feature is not available in the MathFlow Simple Editor.)

How do I leave a cell empty in a matrix/table without generating an error message?

MathFlow assumes when you leave any template empty, it is intentional — you will want to return to it later to add the proper content. To get the red question mark or template box to go away, you need to insert a space or invisible character (such as &invisibletimes;) into the empty cell.

How do I make the formula font global?

Theoretically, your MathML equations inherit the font from a parent element. However, few if any MathML processing applications take into account fonts further up in the XML tree. Even if they did, setting one font for an entire equation is a tricky matter because it's possible the font you specify does not carry every character you use in your equations. In such a case, many of the characters might drop out. Instead of specifying a global font you might consider putting the fontfamily attribute on all of your <mn>, <mi>, and <mtext> elements with XSL before processing the MathML. However, the Windows rendering engine supports a "basefont" setting for alphanumeric characters, and the Java rendering engine makes use of a FontMapping file allowing you to specify default fonts for the different character sets. Please see the documentation for more information.

Is there a way to change the default size of superscripts?

No, you will have to use XSLT or a scripting language to process the document to set the attribute scriptlevel.

How do I modify the presentation of integrals and sums in display or inline styles?

There are three main attributes for controlling the presentation of the integral and sum symbols and the limits around them. First, you can highlight all or part of an equation, select Properties > Layout Properties, and choose 'true' or 'false' from the Layout in Display Style drop-down menu. With a setting of true, the sum and integral symbols will be enlarged. With a setting of false, the limits will be shifted to the script position. You can change these default properties by highlighting the sum or integral symbol and going to Properties > Operator Properties. The two properties "Enlarge in display style" and "Move limits to script positions in inline style" are the relevant controls.

How do I create a small shilling/beveled fraction?

Shilling fractions are just set using the slash on your keyboard. The MathML will look like:


Bevelled fractions can be set on an existing fraction by double-clicking the <mfrac> element in the MathML ancestry bar (or alternatively, highlighting the fraction and opening the Properties > Layout Properties dialog) and choosing "True" from the Beveled drop-down menu. Whether the fraction appears large or small is determined by the "Layout in Display Style" property in the same dialog box. When the property is set to "True," the fraction will appear slightly larger than when it is set to "False."

How do I align equations? For example, align by equal signs.

See the MathFlow documentation for the XML editor you're using:

What are the system requirements for MathFlow?

These are the requirements for MathFlow 2.1. If you're using a version earlier than that, please let us know your version of MathFlow and your configuration, and we'll let you know if your configuration meets the requirements for that version of MathFlow.

  • MathFlow requires Java 1.6 or later.
  • MathFlow will install only on Windows. If you are using the MathFlow SDK in your own development work, we provide the additional non-Windows components listed below.
  • MathFlow for Arbortext, FrameMaker, oXygen, XMetaL, and the SDK's Windows-only components will run on Windows Vista and later or Windows Server 2003 and later.
  • MathFlow SDK's Java components will run on those versions of Windows, as well as on following operating systems and browsers (for applets):
    • Mac OS X 10.0 or higher.
    • Linux (any version).
    • Browsers (for applets):
      • For Windows or Windows Server, either Firefox or IE is required.
      • For Mac OS X or higher, either Firefox or Safari is required.
      • For Linux, use Firefox.

Which MathFlow components are available for the MathFlow for Arbortext version?

MathFlow Editor, MathFlow Import/Export and MathFlow Composer. These components run with Arbortext Editor, Arbortext Import/Export, and Arbortext Composer on Microsoft Windows and Sun Solaris.

Is there a way to convert ATI math XML to MathML?

Yes, to obtain a basic XSL script to begin the conversion, please contact MathFlow Premium Support.

When I double-click a MathML equation in an XML file in my custom doctype, why does MathFlow not open?

If you have checked to make sure MathFlow is installed properly and you can open MathFlow from axdocbook_math demo.xml, MathFlow is not recognizing your doctype. Make sure your DTD properly imports the MathML DTD and your <custom>/scripts/mathml_user.acl file has the proper entries. For example:

$mathml_doctypes[2] = "your_doctype_name";
$display_parents[$mathml_doctypes[2]] = "display_element";
$inline_parents[$mathml_doctypes[2]] = "inline_element";
$paralike_parents[$mathml_doctypes[2]] = "paralike_element";

What units does the baseline attribute use?

Pixels, but one should not need to adjust this attribute.

Does MathFlow support XML Schemas?

Yes, the procedure for customizing your doctype with XML Schemas is the same as DTDs. The .dcf, .style, and mathml_user.acl files all require modification. Please see the MathFlow for Arbortext documentation for details.

Why is the equation font size different in different parts of the document in Arbortext Editor? How do I change it?

The font size in the images MathFlow creates for Arbortext Editor is determined by the current font size in the document. For instance, if a table cell has a font size set at 9pt font, the equation inside the table cell will also appear at 9pt. This is set in the stylesheet(s) associated with the Editor view.

Why are the EPS images in my PDF output low resolution (grainy)?

Make sure your Styler stylesheet includes the MathML module. For instructions on how to add the MathML Style module to your stylesheet, please see the MathFlow for Arbortext documentation.

If the MathML is not passed through the composition pipeline correctly, MathFlow will not be able to convert the MathML to EPS. Instead, Arbortext will use the preview images that display in the Arbortext Editor window.

What are the differences between MathFlow and Arbortext Editor's Formula Editor?

The differences between MathFlow and the Formula Editor include:

  • MathFlow outputs MathML, a W3C standard. Formula Editor outputs Arbortext's proprietary XML.
  • Formula Editor can input TeX but not MathML. MathFlow can input MathML but not TeX.
  • MathFlow provides the ability to choose whether to surround an equation with text (inline style) or have the equation appear on the following line, centered (display style). In the inline style, it handles the baseline information so the equation meshes well with the surrounding text.
  • MathFlow Editor offers a more intuitive interface making it easier to find symbols you need. It also has a customizable toolbar which enables you to place the symbols you use most often more prominently.
  • The MathFlow Editor includes a source editor so you can quickly find your place in the code and make any necessary changes by hand.

The MathFlow installation includes the following:

  • Documentation: A copy of the entire "docs" tree is located in the <custom-path>/lib/mathflow directory. This is essentially the same documentation you're reading here, but the online version will always be more current. The local version is merely for convenience.
  • Executable code: This includes ACL scripts, Java classes, and (for Windows) DLLs, together with configuration and other auxiliary files. All of these are under the custom directory.
  • Sample document types, axdocbook_math and a DITA MathML specialization: These examples illustrate how to configure MathFlow for a document type. The sample doctype files are included in the custom/doctypes directory and are automatically installed along with the rest of the executable code.

The installer will give you a choice of where to install these files. The default installation directory is the custom directory under the Arbortext Editor installation path. You can choose to install into a different directory from the installer.

  • If you install MathFlow into the default location in the Arbortext Editor installation root, you will need to be sure none of your pre-existing Arbortext Editor customizations will get overwritten in the process. Back up your existing directory before you install.
  • If you don't install MathFlow in the default directory, set the APTCUSTOM environment variable.

Arbortext looks for custom code in one of two places: if the APTCUSTOM environment variable is set, Arbortext Editor first looks in the location it specifies. Then Arbortext Editor looks in the <path-to-arbortext>\custom directory. MathFlow should work when installed either way.

In case you need to integrate MathFlow with your own custom files, a copy of the whole MathFlow custom directory tree is also always placed in a MathFlow directory, which is either C:\Program Files\MathFlow (for Windows) or <user's home directory>/MathFlow (for Solaris). There you will also find a link to the documentation.

Additional installation steps

The installer should have already copied all the files mentioned above into the custom location of your choice. As mentioned above, a copy is also located in your MathFlow directory. Complete the following steps to complete the installation.

Supplemental character codes

The next step in the installation is to set an environment variable, APTCHENTPATH, which points Arbortext to a supplemental file of character codes. Again, what you need to set it to depends on where you have installed custom:

  • If custom is under the Arbortext tree:
    • "%D;%H\custom\lib\mathflow\auxiliary\"
  • If custom is in <custom-path>:
    • "%D;<custom-path>\lib\mathflow\auxiliary\"

License File:

In order to be able to use MathFlow, you should have a license file installed. This file, dessci.lic, should be placed in


in each of the machines where MathFlow is installed. For details about getting a license, and installing and using the license server, see the "MathFlow Licensing" in the MathFlow documentation.

Testing Your Installation:

When you have completed the installation, you can test it by starting Arbortext, and opening the file 


 Try double-clicking one of the equations to open it in the MathFlow Editor.

How do I install MathFlow Import/Export?

MathFlow Import/Export is installed as part of the MathFlow for Arbortext installation.  If you are using MathFlow Import/Export, copy all the .dot files from


to one of the following directories:

  • For Microsoft Word 2003: Documents and Settings\<your-user-id>\Application Data\Microsoft\Word\STARTUP
  • For other versions of Microsoft Word: <Windows-installation-directory>\Office\Startup If you have used the default installation, this folder is found at: Program Files\Microsoft Office\Office\Startup

MathFlow Import/Export will allow importing Microsoft Word files containing MathType equations into the sample doctype axdocbook_math and exporting of an XML file of the axdocbook_math doctype to an RTF document with MathType equations. To set up your own doctypes for import and export, consult "Setting Up a Custom Doctype" in the MathFlow documentation.

How do I install MathFlow Composer for Arbortext?

MathFlow Composer it installed as part of the MathFlow for Arbortext installation.  MathFlow Composer integrates with the Arbortext Publishing Engine.

You must configure your fonts for Arbortext's Direct PDF. For more information, see Creating high quality math images with Direct PDF.

Can we use a silent installer for MathFlow for Arbortext?

We cannot support silent installers because there are too many input parameters, so it's not real practical to establish a default configuration.

Which MathFlow components are available for the MathFlow for XMetaL version?

MathFlow Editor. It runs with XMetaL Author and XMAX, on Windows.

Does MathFlow for XMetaL work with the XMetaL Author Enterprise for Documentum Webtop?

Yes. Please contact MathFlow Premium Support about receiving the files necessary to avoid conflicts with Documentum Webtop.

The MathFlow installer will install MathFlow into your XMetaL Author installation directory.

The distribution consists of:

  • Documentation: The entire "docs" tree is located in the <path-to-xmetal>/Author/MathFlow directory. This is essentially the same documentation you're reading here, but the online version will always be more current. The local version is merely for convenience.
  • Executable code: The Windows DLLs are placed in the <path-to-xmetal>/Author directory. The Java classes are placed in the <path-to-xmetal>/Author/MathFlow directory.
  • A sample document type, Journalist_math - To illustrate how to configure MathFlow for a document type. The Journalist_math.xac file is located in the Rules directory. A sample document, demo.xml, that uses the Journalist_math DTD is located in the <path-to-xmetal>/Author/Samples/Journalist_math directory. The project files for Journalist_math are located in the <path-to-xmetal>/Author/MathFlow/developer/author directory.
  • A sample XMetaL ActiveX application - This sample application is located in the <path-to-xmetal>/Author/MathFlow/activex/XMActiveX_MathFlowHtmlSample directory. If you have XMetaL ActiveX installed (either because you installed XMetaL Developer or you have previously downloaded the XMetaL ActiveX control), you can view this sample. Simply double-click XMetaLActiveX.html to begin. The project files for this example are located in the <path-to-xmetal>/Author/MathFlow/developer/activex directory.
  • A Java Runtime Environment (JRE) - The MathFlow editor uses Java, and therefore needs a JRE to run. The installer puts one in the <path-to-xmetal>/Author/MathFlow/jre directory. If you want to change something about the way the Java runtime executes MathFlow, this is the place to look. In particular, if you want to access a particular system font, you will need to modify the file here. See the "Accessing a System Font" page in the MathFlow documentation for the details.

Additional Installation Step:

The installer places a file called in the <path-to-xmetal>/Author/Icons directory. This file contains the reference to the MathFlow icon. If you have not changed the original icons.ini file, you can simply rename the icons.ini file to icons.ini.old and rename the file to icons.ini.

If you have modified the original icons.ini file, add the following line to the end of the file:

11=MathFlow (Custom)

You will need to give it a different number than 11 if that number has already been used.


In order to be able to use MathFlow, you should have a license file installed. This file, dessci.lic, should be placed in


in each of the machines where MathFlow is installed. For details about getting a license, and installing and using the License Server, see the Licensing pages in the MathFlow documentation.

Testing Your Installation:

The installer should have already copied all the files mentioned above into the XMetaL Author directory.

When you have completed the installation, you can test it by starting XMetaL, and opening the file


Try double-clicking one of the equations to open it in the MathFlow Editor.

Once you have verified MathFlow is working properly, you will likely want to set up MathFlow to work with your own doctypes. Consult "Configuring MathFlow: Main Ideas" in the MathFlow documentation.

Can we use a silent installer for MathFlow for XMetaL?

We cannot support silent installers because there are too many input parameters, so it's not real practical to establish a default configuration.

What type of training is available?

We have an experienced full-time training staff and they will typically travel to your facility, with an agreed upon program and training materials designed to suit the level of training your staff needs. We can teach you how to use our products, about MathML, and as in-depth as needed. Please contact us if you are interested in training.

Why does my equation have question marks or empty boxes in place of characters?

The most likely reason is that the renderer cannot find the proper fonts for the character. We recommend installing fonts such as Code2000 (a comprehensive shareware sans-serif font), Everson Mono (a comprehensive shareware monospace font), and the Adobe MathPi fonts. Between them, they will mostly provide the missing characters. More information can be found in our article about missing characters.  

How do I create images from the MathML content created with MathFlow?

The MathFlow Components include several components for converting MathML to an image, any of which can be inserted into your XML publishing workflow. For more information about the MathFlow Components, please see the MathFlow Components Overview.

If you are using Arbortext Editor and have Arbortext Composer licensed and are using it in your workflow, MathFlow Composer is integrated with Arbortext Composer to process an entire page and turn the MathML equations into PNG images for HTML files and into EPS images for PDF files. When Arbortext Editor converts the XML to HTML/PDF and encounters MathML, MathFlow takes over and generates the image and the necessary code so the image appears in the output. If you are interested in evaluating the MathFlow Composer for Arbortext, please contact our sales staff.

Do you have a rendering engine that can be integrated with Apache's FOP (Formatting Objects Processor)?

We do not have out-of-the-box support for Apache FOP, but the MathFlow Equation Composer or Document Composer (Windows only) can be used to pre-process the MathML to EPS output. For more information about the MathFlow Composers, please see the MathFlow Components Overview.

What is an Evaluation License?

If you are using Arbortext, FrameMaker, Oxygen, or XMetaL or if you would like to add equation editing/rendering to a 3rd party application, we invite you to evaluate MathFlow. Please write our support staff, and we will send you download instructions and a temporary license file.

What is a Fixed License?

Fixed licenses are good for organizations having specific computers for working with math. You will need to install a MathFlow license file on each machine running MathFlow. If you would like to use MathFlow on more than one machine, you need to purchase multiple licenses, and we will provide multiple license files. Fixed licenses are available for Windows machines only.

What is a Concurrent License?

Concurrent licenses are good for organizations wanting to enable access to a large number of users, but not all at the same time. MathFlow is installed on each user's machine, and the number of simultaneous users is controlled by the license management system on your server. One concurrent license allows for one user at a time. If it's in use and a second person tries to access it, that person will get a message saying the license is in use. You should purchase enough concurrent licenses to cover the number of people who will be working with math simultaneously.

When are licenses checked out/in?

For MathFlow for Arbortext/XMetaL, an Editor license is checked out the first time the MathFlow Editor is opened or images are re-generated. The license is checked in when all documents of a MathFlow-aware doctype are closed (Arbortext/XMetaL do not need to be closed to check in the license).

A MathFlow Composer license is checked out when Arbortext Composer or the Publishing Engine is run on documents containing MathML. The license is checked in when Arbortext Composer stops running or the Publishing Engine is shut down.

Do I need a valid MathFlow license to display equations in Arbortext or XMetaL?

No, you do not need a license to display equations, but since MathFlow generates images, you will need a copy of MathFlow installed (free) to view equations. Equations will appear "grayed-out" if there is no license file installed.

Do I need a license to edit equations?

Yes, you need a license to edit equations.

What information needs to be provided to issue us a license?

For a fixed license, we need the hostname of the computer running MathFlow. The hostname can be found by typing hostname into a command or terminal window (or at a Unix command prompt). This applies to Windows, Mac OS, and Linux. The hostname is case-sensitive. Please send it exactly as it is returned.

Can MathFlow be run on a server by remote access?

Yes, so long as permissions are set properly; however, in some cases a concurrent license is required. When you write to ask for your license, please let us know you intend to use remote access, since the license must be specially configured for remote access.

What do I do if I encounter a problem with MathFlow?

Send email to MathFlow support is covered under your paid annual maintenance agreement and will receive our highest priority response. Support incidents will receive an incident number, and the problem will be worked on until it is resolved.

What is the MathFlow maintenance policy?

The first year's annual maintenance fees must be paid in full at the time of the initial order. We will send an invoice prior to each anniversary of each order. Your annual maintenance must be paid up to date to receive technical support and upgrades. When we release a new version, we send email announcements to all customers with instructions to get the latest version.

Do you have plans to support Linux?

The MathFlow Components provide the APIs to our Java-based editors and composition engines so that Linux users can integrate MathFlow into their XML publishing process. For more information on the MathFlow Components, please see the MathFlow Components Overview.

When is there going to be a MathFlow version for my XML editor?

The MathFlow Components are available for integration of the MathFlow editors and composition engines with any other XML editor (or other software). If you do not have the in-house resources for such integration work, one of our partners may be interested in doing the work for you. For more information on the MathFlow Components, please see the MathFlow Components Overview.