It is widely spoken that the Equation Editor of Word (OneNote / Office) is inferior and harder to use than LaTeX. While this is true for a hardcore user, a lot of people spreading the word aren’t really understanding the thing and are just parroting others. I suspect that for a lot of them, the ability to efficiently typeset beautiful mathematical formulae is limited by knowledge and carefulness. People don’t seem to care enough to learn and correctly employ the tools at hand.
The title is in French, which roughly means ‘fine typesetting of mathmatical formulae’. I put the tag ‘Programming’ because I believe typesetting a document is one kind of programming.
Quick navigation:
Do you typeset finely?
The following LaTeX document contains 6 typographical errors, try to spot them:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
By Newton-Leibniz formula, we have
\begin{align*}
\int_0^1{x^2dx}
=&\frac{x^3}{3}|_0^1\\
=&\frac13
\end{align*}
\end{document}
Answer By the order of appearance:
- The dash between Newton and Leibniz is too short. Use
--
to produce an en-dash. - There is an extra blank line between the text and the equation, pushing the equation to a new paragraph. Remove the extra blank line.
- The ‘d’ in the integrand should not be italicised. See here on how to fix this.
- The spacing around ‘=’ is incorrect. See here on how to fix this.
- The vertical bar is not properly sized. See here on how to fix this.
- There should be a full stop. Add a full stop at the end of the equation.
A corrected version is the following:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
By Newton--Leibniz formula, we have
\begin{align*}
\int_0^1{x^2\operatorname{d}\!x}
&{}={\left.\frac{x^3}{3}\right|}_0^1\\
&{}=\frac13.
\end{align*}
\end{document}
Quick comparison
Word | LaTeX | |
---|---|---|
Basic maths | OK | OK |
Keyboard input | Yes | Yes |
WYSIWYG | Optional | No |
Learning curve | Shallow | Steep |
Parentheses sizing | Automatic | Manual |
Display vs inline | Automatic | Adjustable |
N-ary operations | Limited | Customisable |
\limits and \nolimits |
Adjustable | Adjustable |
Fonts | Limited | Customisable |
Alignment | Limited | Customisable |
Programmability | No | Yes |
Manual layout | No | Yes |
While the above chart shows Word has fewer functionalities and less customisability, the reality is Word is sufficient for most homework assignment typesetting tasks for computer science students. Of course, it is the common and recommended practice to use LaTeX, but that’s no reason to demolish Office Equation Editor, and certainly no reason to say ‘LaTeX is easier’ just because you didn’t learn or know how to use Equation Editor.
Surprisingly, the format Office uses is open (see Unicode Technical Note #28). In addition, you can send e-mails with equations with Outlook (rendered as images if the recipient does not use Outlook).
Tips on keyboarding input to Word
The list is by no means a comprehensive guide.
N.B. The tips assume Unicode mode and Word for Windows (Desktop). Word now has LaTeX mode, which tries to mimic some LaTeX syntax. You can go to File | Options | Proofing | AutoCorrect Options… | Math AutoCorrect to see a comprehensive list of out-of-box commands.
The first rule of thumb is to remember that in Word, Space can be used to convert certain character sequence you just entered into a Unicode character that controls the typesetting process in Word. It’s much like the escaping character \
in LaTeX, and it’s optional. Even if you don’t press Space, the conversion happens automatically at certain semantic boundaries, e.g., when typing a closing parenthesis, a conversion of the suffix of your input is performed.
Word doesn’t assign semantics to italicisation and you might need to reformat italicisation in certain circumstances.
Fractions
Type x^2/y^3
Space to get \frac{x^2}{y^3}
, x\sdiv((x+y)^2)
Space to get \sfrac{x}{{\left({x+y}\right)}^2}
, and G\ldiv N
Space to get G/N
.
Fonts
\frakturX
, \scriptX
and \doubleX
correspond to \mathfrak{X}
, \mathcal{X}
and \mathbb{X}
. Not every letter (case sensitive) is available every font. Some commands like \ii
and \ell
are also available.
Matrix
You can create a matrix with \matrix
. For example, type (\matrix
Space (a_11&a_12&a_13@a_21&a_22&a_23))
Space to get the LaTeX equivalent of
\left(\begin{matrix}
a_{11}&a_{12}&a_{13}\\
a_{21}&a_{22}&a_{23}
\end{matrix}\right)
% or
\begin{pmatrix}
a_{11}&a_{12}&a_{13}\\
a_{21}&a_{22}&a_{23}
\end{pmatrix}
You can adjust the alignment of columns of matrices by opening the context menu and choosing the desired alignment.
Functions and limits
Type sin
Space to get the effect of \sin{}
. Note that functions in Word consist of two placeholders, one for the function name and the other for the arguments. Place the content correctly to ensure correct semantics and automatic parentheses sizing.
Type lim
Space to get the effect of \lim{}
. Type lim_(n\to\infty)
Space 1/n
Space Right =0
to get \lim_{n\to\infty}\frac1n=0
.
You might have noticed that sine and limit are different. The \limits
is automatic for max
, min
, lim
, Pr
and any n-ary operation in Word. And \nolimits
is the default for most other functions. Once a function or limit is created, you can edit the function name. Alternatively, you can type argmin\below(x\in
Space X)
\funcapply
Space f(x)
Space, then move the cursor and de-italicise argmin to get \operatorname*{argmin}_{x\in X}{f\left(x\right)}
.
Parentheses
Type \left
Space to insert a blank left parenthesis (equivalent to LaTeX \left.
) and \right
Space to insert a blank right parenthesis (equivalent to LaTeX \right.
). For example, typing {\right
Space Space gets you the equivalent of \left\{{}\right.
. The first Space converts \right
to the Unicode character that represents a blank right parenthesis in Word, and the second Space pairs up the left brace and the right blank parenthesis.
Type \norm
Space \nabla
Space f(x)\norm
Space Space to get \left\|\nabla f\left(x\right)\right\|
.
Note that parentheses are also used for grouping when typing, so f^(n)
Space doesn’t give you f^{\left(n\right)}
. Type f^((n))
Space to get it.
Type 0.\overbrace(9\cdots
Space )
Space ^n=1-10^(-n)
Space to get 0.\overbrace{9\cdots9}^n=1-{10}^{-n}
.
Box and accents
Type \rect(a^2+b^2=c^2)
Space to get \boxed{a^2+b^2=c^2}
.
Type x\bar
Space Space to get \overline{x}
.
Equation array and phantom alignment
Type \eqarray(x+2y&=1@2x+y&=2)
Space to get \begin{align*}x+2y&{}=1\2x+y&{}=2\end{align*}
.
Use \phantom
and \vphantom
to create space from phantom text.
Common mistakes when typesetting in LaTeX
This section lists some common mistakes people make when typesetting mathematical formulae in LaTeX, which results in either incorrect semantics or poorly typeset documents. Often, such mistakes result a document ‘even inferior than one typeset by Word’ (in LaTeX 极端拥趸’s tongue, 极端拥趸 means radical enthusiast). The list is by no means a comprehensive checklist for mistakes.
Not defining commands
This is the #1 mistake. If something appears repeatedly, define a command. It is good for semantics. Just as we advocate semantic Web, a LaTeX document is better understood and better concentrated on the content (one of the selling points as seen by many) when you define semantical commands instead of using the semanticless style commands.
\newcommand{\PR}[2]{\Pr_{#1}\left[{#2}\right]}
% possible styles, choose one
\newcommand{\transpose}[1]{{#1}^\top}
\newcommand{\transpose}[1]{{#1}^\textrm{T}}
\newcommand{\adabsurdum}{$\rightarrow\!\parallel$ }
\DeclareMathOperator{\tr}{tr}
\DeclareMathOperator*{\argmax}{argmax}
\DeclareMathOperator*{\argmin}{argmin}
\mathrm
vs \textrm
Use \textrm
for annotational text in maths environments. Use \mathrm
for multi-letter variable names and other non-italicised maths texts. Not only do they carry different semantics, under certain circumstances, their fonts are also different (both are Computer Modern by default so usually the same appearance)!
\operatorname
vs \mathrm
Use \operatorname
for function names and \mathrm
for variable names. \operatorname
carries semantics and comes with \mathrm
formatting and handles space according to the usual rules for operators.
% good, better is to define a command
The rank of matrix $M$ is denoted $r\left(M\right)$ or $\operatorname{rank}M$.
% bad, incorrect spacing
The rank of matrix $M$ is denoted $\mathrm{rank}M$.
Parentheses sizing
Use \left
and \right
to pair parentheses whenever possible, even when it does not change the size of parentheses. One benefit is that you never have to change it if you later decided to put a more complicated formula inside. The other is encoding the grouping information, which contributes to semantics.
When the content inside this pair of parenthesis is spread across multiple lines (e.g., inside align
environment), using \left
and \right
is impossible, and manual adjustment is required.
Parentheses sizing is automatic and mandatory in Word.
Placeholder operands in align
If the equations are aligned at a binary operator, insert a placeholder operand to obtain correct spacing. Careful readers might have notice that there.
% good (1)
\begin{align*}
x+2y={}&1\\
2x+y={}&1\\&{}+1
\end{align*}
% good
% but explicit {} is recommended
% and you should really use (1)
% to naturally align = and +
\begin{align*}
x+2y&=1\\
2x+y&{}=1\\&\quad{}+1
\end{align*}
% bad, incorrect spacing around "="
\begin{align*}
x+2y=&1\\
2x+y=&2\\&+1
\end{align*}
Word doesn’t suffer from this problem and the spacing is correct.
‘dx’ in the integrand
The in the integrand should not be typeset as . However, just using \operatorname{d}
isn’t enough, as there is usually no space between ‘d’ and ‘x’. I use a custom command for typesetting.
% good
\newcommand{\dx}[1]{\operatorname{d}\!{#1}}
\begin{align*}
\int_0^1{f\left(x\right)\dx{x}}
\end{align*}
% bad, incorrect spacing
\begin{align*}
\int_0^1{f\left(x\right)\operatorname{d}x}
\end{align*}
% bad, incorrect semantics
\begin{align*}
\int_0^1{f\left(x\right)\mathrm{d}x}
\end{align*}
% bad, incorrect styling
\begin{align*}
\int_0^1{f\left(x\right)dx}
\end{align*}
Conclusion
I once typeset my maths for computer science homework with Word instead of LaTeX (which was mandatory), but was never discovered. Of course I had to use Computer Modern, but I kept the document semantically organised. Just like everyone does in LaTeX, the formats are controlled using Styles instead of ad-hoc formatting. For privacy and academic reasons, I cannot make this file public, but you can see the hero image for an excerpt.
Office Equation Editor implements and renders a large range of equations than one might have expected, and it is not fair to claim it is ‘harder to use than LaTeX’ just because one didn’t learn it. Under day-to-day circumstances, Office Equation Editor works really well and the effort you need for it is less than that you need for LaTeX.
Fine typesetting requires both software and effort. The final result depends on both the typesetting software and the attitude of the author toward typesetting.
There is much more for fine typesetting. John Steinberger, in his mathematics for computer science course, set a standard for typesetting homework assignments (some advices are useful for people who aren’t native users of the Latin script and the English language) and it was then I started to typeset documents seriously. My methodology to fine typesetting involves several layers of consideration. Semanticising reduces formatting each individual character to formatting each semantical element, care should be taken for controlling the styles, and writing of the content is also crucial.
Please enable JavaScript to view the comments powered by Disqus.