Thanks to my former teacher and now colleague Philippe Carmona – nephew of René Carmona – I had recently the opportunity to learn the basics of the job of Managing Editor for an electronic mathematical journal. The articles published in this journal are written in \(\LaTeX\). Even if I do not pretend that my own \(\LaTeX\) files are perfect – I am constantly learning! – I was disappointed by the poor quality of the \(\LaTeX\) code produced by many young and old mathematicians. Take a tour on arXiv to be convinced if needed : the source code is always available on this site, a museum of horrors. Here are some basic guidelines for sane habits:
- never use \def for defining macros, use instead \newcommand
- never use $$ for displayed equations, use instead the brackets \(\backslash[\backslash]\)
- use \textbf{}, \textit{}, and \emph{} instead of {\bf }, {\it }, and {\em }
- never use one letter names for macros or for environments
- never use strange names for environments and macros
- use the environment proof provided by amsmath
- use \newenvironment to define new environments
- use \binom{n}{k} instead of n \choose k
- use \frac{a}{b} instead of a \over b
- never use an exotic package if you do not *really* need it
- indent your code and avoid too long lines
- use prefixed labels such as eq: for equations and th: for theorems
- to produce graphics, avoid using psfrag or xfig and use instead ipe
- learn how to use the error messages produced during compilation
- always use your bright sense of esthetics, not a dark laziness
- read the wiki-books on LaTeX and LaTeX Maths without moderation
All mathematicians believe that the mathematical result is the most important. Many of them believe that the esthetic of the proof is also important. Some of them believe that even the writing style is important. Few of them believe that the \(\LaTeX\) code should also be nice. It is a matter of taste after all. To me, a mathematical proof and a \(\LaTeX\) file are both programs, and I like nice programs. A good \(\LaTeX\) code is easier to maintain, easier to convert, easier to read. Last but not least, a good \(\LaTeX\) code helps your co-authors and helps to speed up the publication process. \(\TeX\) is a good program, but an author using \(\LaTeX\) should write a genuine \(\LaTeX\) code, not an ugly mixture of both \(\TeX\) and \(\LaTeX\). Nothing is perfect, but this is not a reason to leave things ugly 😉 If you think that you have learned \(\LaTeX\) once for all in your youth, you are wrong. Every non trivial language needs constant learning and practice.