MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Mathematica Style Sheets

  • To: mathgroup at
  • Subject: [mg67210] Mathematica Style Sheets
  • From: "David Park" <djmp at>
  • Date: Sun, 11 Jun 2006 23:08:52 -0400 (EDT)
  • Sender: owner-wri-mathgroup at


(I'm replying to a previous posting but starting a new thread.)

I'm not quite certain what you are getting at. Certainly, you are not the
only person who wants to produce a literate and useful style in creating
Mathematica notebooks, one that is close to textbooks. I don't understand
why you think you can't do this. You don't cite any specific problems that
you have or even what your actual concrete objective is.

The regular Mathematica style sheet is not bad, but in my opinion the
alternative ones provided all have serious defects. It is almost as if WRI
put various features in at random and didn't think carefully about style and
usefulness. I have designed various style sheets over the years and have
finally put one that I like and think is generally useful at my web site. It
has the following features that I think are useful and which I think
overcome some of the problems with the WRI style sheets.

1) There is an extra title cell called Chaptertitle.

2) There is an extra section grouping cell called Subexercise.

3) All of the section groupings, that is Section, Subsection, Subsubsection
and Subexercise have open/close icons. (But nothing else does.) I have found
that even some genius type people don't know how to open and close groupings
by double clicking the brackets, whereas everyone seems to understand the
open/close icons.

4) In general, the WRI style sheets have too great a disparity in font
sizes. If you look at textbooks or research papers you will see that
discursive text font and equation font are approximately the same size,
whereas in WRI style sheets the text font is too small. The style sheet has
a more uniform font size.

5) The style sheet retains all the conventional 'hot keys' for the cell
types. One of the common errors in designing new style sheets is to insert
new cell types in the wrong place inadvertently shifting the shortcut key
numbers. I use the shortcut keys all the time and it is annoying to type
Alt-7 and not get a Text cell.

It would be nice if WRI had more generally useful style sheets that came
with the distribution so one could count on other people having the style

Also, most users should refrain from using ManualGrouping for cells and stay
with the default AutomaticGrouping. If you are going to use ManualGrouping
you should have a very compelling reason and then you should expect to stay
on top of every cell that you produce. I have never seen a good
ManualGrouping notebook. ManualGrouping is especially bad if you are
exchanging notebooks with someone else who might modify them.

But generally the Mathematica front end interface and notebook format is
quite good and the problem is more that users have to learn better how to
use it than a need for any massive redesign.

David Park
djmp at

From: Steven T. Hatton [mailto:hattons at]
To: mathgroup at

Please forgive the following ramble:

This problem goes far deeper into the realm of cognitive science than I had
realized when I first began struggling with it years ago.  If I pick up a
book on mathematical physics, it appears very organized.  Frank W. Warner's
_Foundations of Differentiable Manifolds and Lie Groups_ is the paradigm to
which I appeal.[1] [2]

The work is arranged hierarchically in a very traditional and universal
manner.  We can find this structure exhibited in every ancient text of
ponderable extent, regardless of the culture which produced it.  The
structure is that of a tree.  It is the same structure that all Mathematica
expressions take.

In the case of Warner's book, there are elements for which the publishing
industry has established codifications applicable to virtually all products
called 'books'.  Other parts are specific to mathematics, with some overlap
into other technical fields.  There are theorems, proofs, definitions,
examples, lemmas, etc.  These are constructed of conceptual units such as
paragraphs, ordered lists, numbered expressions, etc.

There are rules of containment for these units.  That is to say, there are
right places and wrong places to put certain things.  A list item, for
example, must be place in a list.  OTOH, several of these block structures
can contain substructures permissible for other 'peer' block structures,
e.g., a definition is as likely to contain an ordered list as is a theorem,
or an example.

Though I have never seen examples of this, I have read that the publishing
industry has long used a formal system of markup to communicate to the
typesetter how a document is organized. With the advent of electronic
computers, the publishing industry came up with SGML as an electronic
Then came Lord Berners-Lee.  Sir Tim took this idea and created HTML - and
things have gone downhill ever since.  There is now a __ML (not to be
confused with SML - which is respectable) for every conceivable area of
intellectual activity, with the exception of structuring mathematical

These markup languages are codified using DTDs (Document Type Definitions)
other formal meta-metalanguages (AKA schema languages).

On Saturday 10 June 2006 07:11, Chris Chiasson wrote:
> Instead of trying to make a TheoremBox (first), why not make a symbol
> called Theorem that holds the content you want to present. Then you
> can add appropriate transformations via Format and MakeBoxes, or
> possibly the notation package, to create the appropriate typeset
> presentation.

If your intent is to separate document _structure_ from _presentation_ ,
I congratulate you for having an insight that is both profound and
astonishingly uncommon.  As for the details, I'm at a loss for the best
approach within the framework provided by Mathematica.  There seems to be a
role for style sheets in all of this.  In this aspect Mathematica is like
LeX.  Containment is implied by ordering, and not state explicitly by
bracketing.  This is somewhat surprising since all Mathematica expressions
are structured by containment.

> If you would like to be able to copy/paste the output back to input,
> then you will need to use TagBox to embed the semantic meaning into
> the output.

I have decided that the goal of trying to codify all of my textual
presentation in a form that can be input to Mathematica for evaluation is

> Direct input of a theorem could be accomplished by means of a pallet
> that will insert the appropriate TagBox(es).

All of that is secondary to having the foundational structure.


> IMHO, if document processing can be done with XML technology, it
> should also be doable in Mathematica. That said, if you build a good
> notebook to docbook converter with high quality output of graphics to
> pdf, html, xhtml, svg, mathml, etc ... well, let's just say I think
> you will have a lot interest from both communities.

This is an approach that a lot of people take when it comes to dealing with
document structure in various application-specific environments.  For
OpenOffice tries to produce DocBook structure from their native structure.
This is the wrong approach.  The right approach is to base document
on DocBook - or similar.  DocBook itself is overly verbose in areas which
superfluous to mathematics publishing, and lacks features which are
essential.  Nonetheless, it is a fantastic example of correct use of markup
language as it was originally intended.

So what is needed?  A schema for mathematical publication which is both
sufficiently complete to be useful, and sufficiently flexible to be usable.
why, oh why, out of the 6,000,000,000+ people on this planet am I the only
one who seems to have this vision?  The basic idea is not at all complex,
- I believe - it would be extremely useful.  It seems to be to be blatantly

[1] I concede that it is far more of a math than a physics book.

[2] I would very much like to read the book, but alas, I spend my time on
problem currently under discussion.

  • Prev by Date: Re: List manipulation question
  • Next by Date: 3D plots
  • Previous by thread: Re: Some questions regarding loops and lists.
  • Next by thread: 3D plots