Thursday, May 11, 2006

Comparison of math typesetting software - Part 1

Since I haven't done much real work on this site for a couple of weeks, and "comparison" is the keyword that brings a lot of people onto the site, I took a close look at the typesetting features of several products. My review covers: Maple, MathType, Mathematica/Publicon, OpenOffice and Scientific Word/Workplace.

Scope:While mathematical typesetting is only one part of publising technical papers, this review compares only that aspect. Some of the products do much more than this (Maple, Mathematica, Workplace also offer computation, data analysis, graphics etc, and Publicon, Scientific Word,/Workplace handle things like bibliographies, references, indexes etc), but that is not covered here.

The comparison will come in parts and today I will start with input. How do you actually enter your equation.


The first thing you notice is that all but OpenOffice have essentially similar kinds of palettes or toolbars, organized by types of symbols or structures. eg a palette for greek letters, a palette for matrix input etc. I was somewhat shocked by the absence of this from OpenOffice, which requires a language based input, based loosely on TeX type conventions. While keyboard input is important (and varied much more between products), I found the complete lack of mouse input frustrating as I learned the system and dropped OpenOffice from the rest of the comparison.

Maple:The palette system was neatly organized in a single column format and was easy to use, though you have to tidy as you go, as opening more than one section, quickly pushes parts off the screen.

You cannot type a keyboard combination for any special characters during typesetting, though you can type an entirely text based version of the whole expression and then format it.

Basic structures like superscripts and fractions happen automatically as you type the 1D version (^,/) which initially seems appealing, but means that you cannot type an actual "^" or "/" so expressions like appear to be impossible. Instead you must settle for the somewhat less clear expression on the right.

There doesn't seem to be any way to customize input, either with keyboard shortcuts or new palettes.

Maple does have the unique handwriting recognition feature, but regular readers will know that I was not impressed with that.

MathType:The surprisingly small to download MathType (4Mb), is described as the "Professional version of Microsoft Word's Equation editor". It has a very intuitive palette layout, though it was a quite sluggish to respond, and since double-clicking on a button brings up a button-properties editor, I found it frustrating to enter nested constructs like Sqrt(Sqrt(..

However, apart from a keystroke CTRL-Shift-G to go into a greek character mode, none of the special characters or constructs had built in keystrokes, though you can customize most palette buttons with a keystroke of your choice. [[Correction: Bob Mathews of Design Science points out that most have keystrokes, which one can see in the status bar on mouse over. I took a while to look at these, and it is true, perhaps 80% of the characters have preset keystrokes. Many are rather cryptic (ctrl+shift+k then # to type an Or symbol) making it hard to imagine knowing many of them, but the ability to change them mitigates this]]. There was a nice array of more complex templates organized by category, and you can also create your own.

Mathematica/Publicon: Publicon (the no-computation version of the Mathematica typesetting system) has the more elegantly organized palettes, with the nice feature of being able to scroll through the different sections with the mouse wheel), the Mathematica incarnation had separate palettes for different types of input, which is probably preferable if you plenty of screen space.

Neither had keyboard shortcuts to the palettes, but all individual structure elements and characters have keyboard access. The approach is the most thorough of the systems that I looked at, with every character having both a full name and a short name. Full names are very consistent, eg "\[Infinity] \[Alpha] \[LeftRightArrow] "etc. Shortnames were sometimes well chosen, sometimes less well and delimited with the escape key. eg "esc => esc" for \[Implies]. New keyboard short names and palettes can be created for any typeset structure in Mathematica but not in Publicon.

Scientific Word: The palette system has a neat button type that lets you tear off submenus to make separate palettes, but was otherwise the least well designed. eg the Sqrt button only comes with two placeholders (for the nth root) so if you want the more common Sqrt you must delete one of the placeholders, and rather a lot of cryptic icons (an Italic E means "Emphasized", an "A" with an arrow pointing to a "B" then an arrow pointing up represents search and replace!). There are no high level compound templates, and while you can customize which characters appear on palettes, you cannot create templates. [[Correction 23 May, thanks to Fred Chapman] - Shortcuts exist for all constructs and keyboard entry is provided for all characters by holding down ctrl and typing the TeX name of the character and then releasing ctrl. This is a system that mostly works well, except where the name contains an upper case letter. Trying to press and release the shift key without releasing the ctrl key can lead to some contortions.] Judge for yourself from the screen shots, but I also thought the palette design was rather ugly - though that doesn't affect its usefulness, its nice to work in a nice place!

Overall, when I compare input methods, I preferred MathType for entry level and Mathematica/Publicon as I became more experienced. Maple comes next then Scientific Word/Workplace with OpenOffice in a clear last place.

Continue to Part 2 - Which actually creates the best output?

15 comments:

Bob Mathews said...

You wrote "double-clicking on a button brings up a button-properties editor". Single-clicking on a macro button puts the contents of the button into the MathType workspace. Double-clicking the button simply gives an easy way to edit the contents, rather than having to delete it and re-create it.

"I found it frustrating to enter nested constructs like Sqrt(Sqrt(.." I don't know what could possibly be the problem here. To enter nested constructs like square roots inside of square roots, simply enter multiple square root templates. MathType accommodates any number of nested templates.

"However, apart from a keystroke CTRL-Shift-G to go into a greek character mode, none of the special characters or constructs had built in keystrokes..." Actually the truth is totally the opposite of your statement. Most symbols and templates in MathType do indeed have pre-assigned keyboard shortcuts. All you have to do to see what the shortcut is, is to point to it with the mouse. The MathType status bar reveals the title of the item you're pointing to, as well as any shortcut key assigned to it.

In short, MathType is intuitive and easy to learn. There are 18 tutorials in chapter 4 of the manual (included as a PDF in the downloaded version). Most users can get a jump-start on using MathType by investing an hour of their time and working through the first 3 tutorials.

Anonymous said...

Just in case you plan to review some more math typing software, I have two suggestions to consider:

1. Lyx (http://www.lyx.org/)

2. Texmacs (http://www.texmacs.org/)

Scientific Computing said...

The point about the nested constructs was not that one couldn't do it. It was that one has to slow down. When entering sqrt(sqrt(.. it is natural to tap the sqrt button twice, just as entering XX you tap the X key twice. But because the rapid clicking of the button is interpretted as a 'doubleclick' instead of sqrt(sqrt( you get the properties dialog. Instead you must click sqrt, wait for a second or two, and THEN click it again.

A more natural way to access properties, at least in Windows, would be right click the button. An action that currently does nothing.

I have made a correction to the article in reference to keystrokes.

Scientific Computing said...

Re Open source solutions:
I left Texmacs out as its Windows port is still described as "beta version". I had not heard of Lyx.

Frederick W. Chapman said...

Concerning Scientific Word (SW) & Scientific WorkPlace (SWP):

My comments are based primarily on SWP 4.1, which is a little out of date, but presumably at least as good as the most recent release, SWP 5.5.

SWP has extensive keyboard shortcuts. The SWP help topic entitled "Keyboard Shortcuts" provides many ways to enter math templates, special symbols, Greek letters, and units. The help topic "Available TeX Commands" explains how to enter any mathematical symbol using its TeX name: Just hold down the Ctrl key, type the TeX name (e.g., sigma), and then release the Ctrl key.

I used SWP to write my entire master's thesis (178 pages), doctoral thesis proposal (61 pages), and doctoral thesis (326 pages) when I was a graduate student at the University of Waterloo (UW). I used the UW LaTeX thesis style, which automatically formatted my entire thesis in accordance with UW graduate thesis regulations. I was able to do absolutely everything I needed in SWP: table of contents, list of figures, list of tables, chapters, sections, subsections, appendices, footnotes, citations, bibliography, and more. SWP includes BibTeX, which makes it easy to create an extensive database of bibliographic references which you can then reuse over and over in many different SWP documents.

SWP is a superb mathematical productivity tool based on widely adopted mathematical standards like TeX, LaTeX, and BibTeX. It is especially well suited for creating large documents like theses and books.

A very important feature of SWP—a feature which is missing in many competing products—is the wholesale compatibility with TeX/LaTeX. SWP was designed from the beginning to be an interactive front-end to TeX/LaTeX. SWP actually stores documents as TeX/LaTeX files. This is important because many major mathematics and computer science journals and conferences encourage—or require—authors to submit their articles in TeX/LaTeX format. This speeds the publication process and reduces transcription errors during typesetting.

I have used SWP for nearly a decade. I recommend SWP without hesitation to mathematicians, scientists, and engineers everywhere.

Fred Chapman
Postdoctoral Fellow
University of Waterloo

Anonymous said...

Maple's 2D Editor allows you to enter any palette symbol via the keyboard. Try, for example, pi[CTRL-SPACE] or sqrt[CTRL-SPACE]
Special characters like ^ and / can be entered by preceding them with a backslash.

jack perry said...

I'll second the recommendation for Lyx. It isn't quite WYSIWYG; they call it WYMIWYG (what you mean is what you get). It works well enough as a front end for LaTeX; I wrote my dissertation and numerous notes using Lyx and a LaTeX class customized for my university's requirements. It has some quirks, and it's not as nice as some of the commercial software such as Publicon or Scientific WorkPlace, but it gets the job done, it works on numerous systems (I've used it on Linux, OSX, and Windows), and it's free (both as in speech and as in beer). The output is excellent since it exports to LaTeX, PDF, PostScript, and some others.

I tried TeXMacs, but I abandoned it after a while.

jack perry said...
This comment has been removed by a blog administrator.
Anonymous said...

Hi,
If you want to use easily LaTeX on your blog, I have developped something like a compiler for blogger: http://servalx02.blogspot.com/2007/01/latex-on-blogger.html
let me know if you find that useful ;-) for me it is ;-)
Now Blogger is becoming more math friendly ;-)

Anonymous said...

In response to your comment about OpenOffice Writer/Math: "I found the complete lack of mouse input frustrating as I learned the system and dropped OpenOffice from the rest of the comparison."

I beg to differ - when you choose "Insert/Formula" a pallette offering all the common Mathematical symbols and relations appears. Should it need a nudge then "View/Selection" will bring it up.

I suspect you did not even try to (For Example) type 4x + y and perhaps mark it with an integration symbol - as it was not your familar program (Obviously Word is very much a favourite).

The only reason for you to have aborted your look at OpenOffice without at least looking in a user guide to make sure you had not missed the pallete, i can coutenance, is that you are closed to such a new experience due to your familiarity to an existing product.

If you are prepared to open yourself to an honest evaluation then either consult a user guide for openoffice - something you have not mentioned doing in your rush to abandon what you fear.

OpenOffice.org will happily assist providing a review is impartial and fair - I am reluctant to label your posting as such at this point.

I am a Masters student studying Mathematical Science and find OpenOffice a very able tool - it has the icons approach for formula entry OR the "enter everything as text" approach that almost all prominent Scientists use (TeX or similar mathematical language entry is almost exclusively used in scientific research projects). OpenOffice allows entry of mathematical formulas in TeX like markup which is not too far removed from TeX - post graduates and researchers will use this sort of Mathematical markup in Doctorate research projects.

Anonymous said...

Who knows where to download XRumer 5.0 Palladium?
Help, please. All recommend this program to effectively advertise on the Internet, this is the best program!

javieth said...

Interesting blog, i usally be aware all about all different kind of sofware. i am online all the time, and this action allow me to see a site costa rica homes for sale and i like it too much. beyond all doubt without my computer i never would have seen this site too.

Tom Browder said...

Another nice thing about LibreOffice (and I assume OpenOffice) is that the equations can be saved in MathML format. That file can then be converted to svg by SVGMath (http://www.grigoriev.ru/svgmath/) which can then in turn be used by DocBook source to output nice equations both in pdf as well as html format.

Peter said...
This comment has been removed by the author.
Peter said...

about the ugly palettes in scientific workplace: i used them maybe for a week when i was learning. after that the only reasonable way of working with it is using lots of automatic substitutions. this way you can easily type what someone speaks and puts to the blackboard. using the mouse you just cant be productive. so this part of the interface should not really influence any serious vote of the quality.