Thursday, February 27, 2014

A Standard for Meaningful Mathbook Markup.

If authors of open textbooks are really going to share material, then it needs to be easy to combine the source $\LaTeX$ from different documents. Suppose you wanted to re-use material from a linear algebra textbook, which included this sentence:

Suppose \$A \in \GL(4,\C)\$ and let \$B=\adjoint{A}\$.

That sentence contains 3 non-standard macros. You probably understand what is written, but if you haven't defined those macros then you can't just insert that sentence into your book. This points to the desirability of having a standard set of macros.

I'll state some principles I see as important, and then propose an initial list of what I will call the "mathbook macros". The name is a reference to Rob Beezer's MathBook XML (see previous posting) which will allow authors to easily produce versions of their work for multiple platforms.

Here I am only referring to math markup. The structural markup of a document -- chapters, sections, theorems, definitions, examples, etc -- will be part of a separate discussion.

Part 1: Principles for MathBook Markup.

1. Mathematically meaningful markup is better than markup which merely specifies how the math should be typeset.
2. Mathbook markup should specify the mathematical meaning, not the layout.
3. Mathbook markup should not require a bunch of extra typing by the author.
4. It should be easy to read the raw $\LaTeX$ in context.
5. It should be easy to guess how to do the markup.
6. If it does not seem possible to satisfy the previous principles in a particular situation, then there is no standard mathbook markup, and the author will have to invent and use a non-standard markup.
7. The MathBook Markup is successful if it covers more than half the math macros in a typical well-written undergraduate math textbook.
Let's examine the sentence after the first paragraph above. I claim it satisfies the first 5 Principles. Let me clarify the second Principle. The complex numbers, $\mathbb{C}$, are typeset as bold by some authors, and as blackboard bold by others. You can use the macro \C in both cases, and different notation by different authors does not prevent them from sharing material.

An alternative to that sentence is

Suppose \$A \in GL(4,\mathbb C)\$ and let \$B=A^*\$.

The only merit in that version is that no macros are needed to compile it. It is inferior in every other way, especially if you prefer a different notation for the complex numbers or the adjoint of a matrix.

Part 2: Proposed examples of MathBook Markup

Linear Algebra. I looked at Rob Beezer's $\LaTeX$ macros in FCLA and propose the following subset for inclusion in MathBook Markup. I leave off the backslash, and I don't indicate the meaning, because by the 4th Principle you should be able to guess the meaning.

inverse, transpose, adjoint, rank, nullity, norm, conjugate.

This is a fairly small subset of Rob's macros, so I am far from satisfying the last Principle. Also, all of those macros take one argument. Somehow it seems harder to come up with obvious names for macros that take 2 arguments. But maybe someone has a clever idea? Or maybe we can replace the 5th Principle by an easy way to look up a macro?

Calculus. For a calculus book it may be reasonable to have a \d macro for the "d" in an integral, and maybe macros \dx, \dy, and \dt, and maybe for some other common variable names. I'd be interested in hearing the opinions of calculus textbook authors.

Automorphic forms. The L-functions and Modular Forms Database (LMFDB) is a large collaborative project which has adopted the following standard macros:

\C : complex numbers
\R : reals
\Q : rationals
\Z : integers
\F : field (as in \F_p for the field with p elements)
\HH : upper half-plane

The following symbols for classical groups are also available:

\SL, \GL, \PSL, \PGL, \Sp, \GSp

And these symbols for operators:

\Gal, \Aut, \sym, \End, \Reg, \Res, \Ord, \sgn, \trace

Macros relevant to number fields:

\ideal{p} : the prime ideal \frak p
\classgroup{K} : the class group Cl(K)
\integers : the ring of integers \mathcal O (not the rational integers \Z)
\modstar{A}{B} : gives (A/B)^\times

I think the math open textbook community would benefit from choosing standard macros for common mathematical concepts. This would allow sharing of $\LaTeX$ source, but it would put no constraints on the notation used by each author.

All comments welcome, including "You are wasting your effort because people won't bother to do this."

Regards,
David Farmer
American Institute of Mathematics