The Mathematica Journal
Feature Articles
New Products
New Publications
News Bulletins
Write Us
About the Journal
Staff and Contributors
Back Issues
Download this Issue

User Interface

The user interface took a giant leap in Version 3. In Version 4 we have been rounding out the feature set and solidifying the gains.

Spell Checking and Hyphenation

Spell checking as well as hyphenation have been heavily requested features, and with Version 4 we have integrated the industry standard Proximity spell checker and dictionary-based hyphenation engine. The base dictionary has 100,000 English words with an additional 20,000 technical words. We have also added 5,000 Mathematica-related terms, which includes, among others, all the command names. In addition there will be language-specific dictionary addons.

In the integration special care is being taken for programs. For instance in "RationalApproximaton" the capitalized words are spell checked separately and "RationalApproximation" is suggested as a correction. Similarly, when hyphenating symbols a special hyphenation character ([Graphics:../Images/index_gr_239.gif]) is used.

Helper Programs

Mathematica 4 supports several additional background programs that are intended to make the user interface more convenient and productive. The idea is to make these feel very natural and non-intrusive. Below is a sampling of these.

Unmatched Brackets

In order to help keep track of unmatched brackets, the ones that are unmatched are now dynamically highlighted in purple. As a simple example, type in the following expression which includes a mixture of most bracketing characters.


This is, for instance, the state with two unmatched brackets.


In the next case there is an open string quote, but brackets inside of a string need not match even though outside of a string they would be matching characters.

Automatic Input Replacements

In most cases palettes and aliases ([Graphics:../Images/index_gr_243.gif]alias[Graphics:../Images/index_gr_244.gif]) are a good way of entering the many special characters of Mathematica. But some things are just so common that it is useful to have sequences of typed keyboard characters automatically be replaced by their typeset counterpart. The actual InputAutoReplacements typically includes [Graphics:../Images/index_gr_245.gif], but this can be set through the Option Inspector at the notebook and cell levels.

In the cell below there are no automatic replacements taking place.


In the cell below we are using the InputAutoReplacements: {"Pi"->"[Graphics:../Images/index_gr_247.gif], "E"->[Graphics:../Images/index_gr_248.gif], "I"->[Graphics:../Images/index_gr_249.gif], "->[Graphics:../Images/index_gr_250.gif]"[Graphics:../Images/index_gr_251.gif], ":>"->[Graphics:../Images/index_gr_252.gif]"}, but otherwise the same character sequence was typed in. You can see this by either opening up the option inspector for this cell or by unformatting the cell.

Intelligent Indentation

The indentation of programs and expressions has been enhanced, and typing a Return in an input cell will now do line breaking that respects the indentation level. Below is the current default behavior which has AutoIndent turned on.


If you type in the same cell but with AutoIndent turned off, then you get the following result.


RealTime 3D Viewing

We have included experimental support for real-time 3D viewing. The basic interface includes rotating of viewpoint and zooming. The 3D graphics is OpenGL based, and thus will take advantage of 3D graphics card accelerators. It is currently available in the Windows and Macintosh versions of Mathematica.

This sets Mathematica up to use real time 3D rendering.


Any 3D graphics such as SurfaceGraphics and Graphics3D will now be rendered using the OpenGL-based renderer. You move the viewpoint around by selecting a piece of the graphic, and you zoom by holding down the Control key. (On the web, this interactive graphic is displayed using the Java applet LiveGraphics3D. Drag to rotate, Shift-drag to zoom, and Control-drag to change focal length.)


Your browser must support Java to use LiveGraphics3D

This resets rendering to use the default 3D rendering mechanism.


Inline Cells

Another area of solidifying the gains made by the Version 3 front end includes being able to have arbitrary nesting of different types of cells. A typical example might be to have text, formulae and graphics in a table. This might also be included in the middle of a line [Graphics:../Images/index_gr_260.gif] .

Converted by Mathematica      June 4, 2000

[Article Index] [Prev Page][Next Page]