Math Mode - v. 2.47: Herbert Voß January 30, 2014
Math Mode - v. 2.47: Herbert Voß January 30, 2014
47
Herbert Voß*
Abstract
It is often said that TEX was designed for mathematical or technical purposes.
This may be true when we remember the reasons why Donald Knuth created TEX.
But nowadays there are many examples in which TEX is used for publications
with no mathematical or technical background content. However, writing publi-
cations with such material is one of the important advantages of TEX. Because
it seems impossible to know all existing macros and options of (LA)TEX and the
several additional packages, especially of AMS math. This is the reason why
I have attempted to gather all the relevant facts in this paper. An advanced
version of this paper is available as a german book [25] and also as an english
translation [27]. Members of DANTE e. V., the german TEX users group, may ask
for a special price of the german edition (http://www.dante.de)!
* Thanks for the feedback to: Hendri Adriaens; Juan Mari Alberdi; Luciano Battaia; Heiko Bauke;
Neal Becker; Andrea Blomenhofer; Alexander Boronka; Walter Brown; Alexander Buchner; Wilhelm
Burger; Marco Daniel; Christian Faulhammer; José Luis Gómez Dans; Zongbao Fang; Sabine Glaser;
Sven Gleich; Azzam Hassam; Gernot Hassenpflug; Henning Heinze; Martin Hensel; Mathias Hoffmann;
Jon Kirwan; Morten Høgholm; M. Kalidoss; Dan Lasley; Angus Leeming; Vladimir Lomov; Mico Loretan;
Tim Love; Ladislav Lukas; Dan Luecking; Hendrik Maryns; Heinz Mezera; David Neuway; Luis Trucco
Passadore; Joachim Punter; Carl Riehm; Will Robertson; Christoph Rumsmüller; José Carlos Santos;
Arnaud Schmittbuhl; Rainer Schöpf; Jens Schwaiger; Uwe Siart; Martin Sievers; Heiko Stamer; G.
Stengert; Uwe Stöhr; Guangjun Tan; Carsten Thiel; Juan Luis Varona; David Weenink; Philipp Wook;
Michael Zedler; Zou Yuan-Chuan; and last but not least a special thanks to Monika Hattenbach for her
excellent job of proofreading.
1
CONTENTS CONTENTS
Contents
Page
I Standard LATEX math mode 9
1 Introduction 9
2 The Inlinemode 9
2.1 Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Fraction command . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Math in Chapter/Section Titles . . . . . . . . . . . . . . . . . . . . 10
2.4 Equation numbering . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5 Framed math . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.6 Linebreak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.7 Whitespace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.8 AMS math for the inline mode . . . . . . . . . . . . . . . . . . . . 11
3 Displaymath mode 12
3.1 equation environment . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 eqnarray environment . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2.1 Short commands . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3 Equation numbering . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3.1 Changing the style . . . . . . . . . . . . . . . . . . . . . . . 14
3.3.2 Resetting a counter style . . . . . . . . . . . . . . . . . . . . 14
3.3.3 Equation numbers on the left side . . . . . . . . . . . . . . . 15
3.3.4 Changing the equation number style . . . . . . . . . . . . . 15
3.3.5 More than one equation counter . . . . . . . . . . . . . . . . 15
3.4 Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.5 Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4 array environment 17
4.1 Cases structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2 arraycolsep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5 Matrix 20
7 Roots 23
8 Brackets, braces . . . 24
8.1 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.1.1 Braces over several lines . . . . . . . . . . . . . . . . . . . . 27
8.1.2 Middle bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.2 New delimiters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.3 Problems with parentheses . . . . . . . . . . . . . . . . . . . . . . 28
2 MathmodeOrig.tex v.2.47
CONTENTS CONTENTS
10 Font commands 29
10.1 Old-style font commands . . . . . . . . . . . . . . . . . . . . . . . 29
10.2 New-style font commands . . . . . . . . . . . . . . . . . . . . . . . 30
11 Space 30
11.1 Math typesetting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
11.2 Additional horizontal spacing . . . . . . . . . . . . . . . . . . . . . 31
11.3 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
11.4 Dot versus comma . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
11.5 Vertical whitespace . . . . . . . . . . . . . . . . . . . . . . . . . . 33
11.5.1 Before/after math expressions . . . . . . . . . . . . . . . . . 33
11.5.2 Inside math expressions . . . . . . . . . . . . . . . . . . . . 34
12 Styles 36
13 Dots 37
14 Accents 37
14.1 Over- and underbrackets . . . . . . . . . . . . . . . . . . . . . . . 37
14.1.1 Use of \underbracket{...} . . . . . . . . . . . . . . . . . . 38
14.1.2 Overbracket . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
14.2 Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
16 Operators 40
17 Greek letters 41
18 Pagebreaks 42
19 \stackrel 42
20 \choose 43
22 Boldmath 43
22.1 Bold math titles and items . . . . . . . . . . . . . . . . . . . . . . 44
23 Multiplying numbers 45
24 Other macros 45
25 align environments 46
25.1 The default align environment . . . . . . . . . . . . . . . . . . . . 47
25.2 alignat environment . . . . . . . . . . . . . . . . . . . . . . . . . 48
25.3 flalign environment . . . . . . . . . . . . . . . . . . . . . . . . . 49
25.4 xalignat environment . . . . . . . . . . . . . . . . . . . . . . . . . 51
25.5 xxalignat environment . . . . . . . . . . . . . . . . . . . . . . . . 51
25.6 aligned environment . . . . . . . . . . . . . . . . . . . . . . . . . 51
MathmodeOrig.tex v.2.47 3
CONTENTS CONTENTS
25.7 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
26 Other environments 52
26.1 gather environment . . . . . . . . . . . . . . . . . . . . . . . . . . 52
26.2 gathered environment . . . . . . . . . . . . . . . . . . . . . . . . . 53
26.3 multline environment . . . . . . . . . . . . . . . . . . . . . . . . . 54
26.3.1 Examples for multline . . . . . . . . . . . . . . . . . . . . . 55
26.4 split environment . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
26.5 cases environment . . . . . . . . . . . . . . . . . . . . . . . . . . 59
26.6 Matrix environments . . . . . . . . . . . . . . . . . . . . . . . . . . 60
27 Vertical whitespace 60
28 Dots 60
29 fraction commands 61
29.1 Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
29.2 Binoms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
30 Roots 62
30.1 Roots with \smash command . . . . . . . . . . . . . . . . . . . . . 63
31 Accents 63
32 \mod command 63
33 Equation numbering 64
33.1 Subequations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
35 Limits 66
35.1 Multiple limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
35.2 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
35.3 \sideset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
36 Operator names 68
38 Extensible arrows 70
39 Frames 72
40 Greek letters 72
41 Miscellaneous commands 73
4 MathmodeOrig.tex v.2.47
CONTENTS CONTENTS
43 Length registers 75
43.1 \abovedisplayshortskip . . . . . . . . . . . . . . . . . . . . . . . 75
43.2 \abovedisplayskip . . . . . . . . . . . . . . . . . . . . . . . . . . 75
43.3 \belowdisplayshortskip . . . . . . . . . . . . . . . . . . . . . . . 75
43.4 \belowdisplayskip . . . . . . . . . . . . . . . . . . . . . . . . . . 75
43.5 \delimiterfactor . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
43.6 \delimitershortfall . . . . . . . . . . . . . . . . . . . . . . . . . 76
43.7 \displayindent . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
43.8 \displaywidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
43.9 \mathsurround . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
43.10 \medmuskip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
43.11 \mkern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
43.12 \mskip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
43.13 \muskip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
43.14 \muskipdef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
43.15 \nonscript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
43.16 \nulldelimiterspace . . . . . . . . . . . . . . . . . . . . . . . . . 78
43.17 \predisplaysize . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
43.18 \scriptspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
43.19 \thickmuskip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
43.20 \thinmuskip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
43.21 \medmuskip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
MathmodeOrig.tex v.2.47 5
CONTENTS CONTENTS
45 Math macros 84
45.1 \above . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
45.2 \abovewithdelims . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
45.3 \atop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
45.4 \atopwithdelims . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
45.5 \displaylimits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
45.6 \eqno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
45.7 \everydisplay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
45.8 \everymath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
45.9 \left . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
45.10 \leqno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
45.11 \limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
45.12 \mathinner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
45.13 \nolimits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
45.14 \over . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
45.15 \overline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
45.16 \overwithdelims . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
45.17 \radical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
45.18 \right . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
45.19 \underline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
45.20 \vcenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
46 Math penalties 88
46.1 \binoppenalty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
46.2 \displaywidowpenalty . . . . . . . . . . . . . . . . . . . . . . . . 89
46.3 \postdisplaypenalty . . . . . . . . . . . . . . . . . . . . . . . . . 89
46.4 \predisplaypenalty . . . . . . . . . . . . . . . . . . . . . . . . . 89
46.5 \relpenalty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
IV Other packages 90
6 MathmodeOrig.tex v.2.47
CONTENTS CONTENTS
50 Palatino 103
52 cmbright 104
53 minion 104
55 Harpoons 106
60 Matrix 109
60.1 Identity matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
60.2 System of linear equations . . . . . . . . . . . . . . . . . . . . . . 109
60.3 Matrix with comments on top . . . . . . . . . . . . . . . . . . . . . 110
62 Arrays 112
62.1 Quadratic equation . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
62.2 Vectors and matrices . . . . . . . . . . . . . . . . . . . . . . . . . . 113
62.3 Cases with (eqn)array environment . . . . . . . . . . . . . . . . . 113
62.4 Arrays inside arrays . . . . . . . . . . . . . . . . . . . . . . . . . . 114
62.5 Colored cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
62.6 Boxed rows and columns . . . . . . . . . . . . . . . . . . . . . . . 115
MathmodeOrig.tex v.2.47 7
CONTENTS CONTENTS
64 Integrals 119
68 Roots 127
Bibliography 131
Index 133
A Filelist 141
8 MathmodeOrig.tex v.2.47
2 THE INLINEMODE
Part I
The following sections describe all the math commands which are available without
any additional package. Most of them also work with special packages and some of
them are redefined. At first some important facts for typesetting math expressions.
2 The Inlinemode
As the name says there are always math expressions which are in a standard textline,
´b
like this one: f (x) = a sinx x dx. There are no limitations for the height of the math
expressions, so that the layout may be very lousy if you insert a big matrix in an inline
a b c
mode like this: A = d e f . In this case it is better to use the \smallmatrix
g h i
a b c
environment A = d e f from the AMS math package (see section 26.6 on page 60)
gh i
or the displaymath mode (section 3 on page 12).
This inline mode is possible with three different commands:
Pn \(\sum_{i=1}^{n}i=\frac{1}{2}n\cdot(n+1)\)\\[10pt]
i=1 i = 21 n · (n + 1) 1
2 $\sum_{i=1}^{n}i=\frac{1}{2}n\cdot(n+1)$\\[10pt]
Pn \begin{math}
i=1 i = 21 n · (n + 1) 3
4 \sum_{i=1}^{n}i=\frac{1}{2}n\cdot(n+1)
Pn 1 5 \end{math}
i=1 i = 2n · (n + 1)
1. \( ... \) , the problem is that \( is not a robust macro (see section 2.3 on \(...\)
the following page).
2. $ ... $ $...$
2.1 Limits
In the inline mode the limits are by default only in super or subscript mode and the
´∞
fractions are always in the scriptstyle1 font size. For example: 1 x12 dx = 1, which
is not too big for the textline. You can change this with the command \limits, which \limits
must follow a math operator2 like an integral (\int), a sum (\sum), a product (\prod) \int
´∞ 1 \lim
or a limes (\lim). But this x2
dx = 1 ($\int\limits_{1}^...) does not look very nice
1 \prod
in a text line when it appears between two lines, especially when there are multiline \sum
limits.3
1
See section 12 on page 36.
2
To define a new operator see page 68
3
For more information about limits see section 6.1 on page 22 or section 35 on page 66.
MathmodeOrig.tex v.2.47 9
2 THE INLINEMODE 2.2 Fraction command
For inlined formulas the fractions are by default in the scriptstyle (see tabular 8 on
a
\frac page 36), which is good for typesetting y = b+1 , because the linespacing is nearly
the same, but not optimal, when the formula shows some important facts. There are
two solutions to get a better reading:
1. choose the display mode instead of the inline mode, which is the better one;
a
2. set the fontstyle to \displaystyle, which makes the fraction y = more
b+1
readable but the linespacing increases which is always a bad solution and
should only be used when the first solution makes no sense.4
a a $y=\frac{a}{b+1}={\displaystyle\frac{a}{b+1}}$
y= b+1 = 1
b+1
Qn 1
2.3 Math in \part, \chapter, \section, ... titles like f (x) = i=1 i− 2i
All commands which appear in positions like contents, index, header, ... must be
robust5 which is the case for $...$ but not for \(...\). The latest package fixltx2e
defines an macro for declaring existing commands to be robust. The package itself
does this already for:
1 \MakeRobust\(
2 \MakeRobust\)
3 \MakeRobust\[
4 \MakeRobust\]
5 \MakeRobust\makebox
6 \MakeRobust\savebox
7 \MakeRobust\framebox
8 \MakeRobust\parbox
9 \MakeRobust\rule
10 \MakeRobust\raisebox
If you do not have any contents, index, a.s.o. you can write the mathstuff in
\chapter, \section, a.s.o without any restriction. Otherwise use \protect\( and
\protect\) or the $...$ version.
The whole math expression appears in the default font shape and not in bold like
the other text. Section 22.1 on page 44 describes how the math expressions can be
\texorpdfstring printed also in bold.
There are problems with the hyperref package when there is no text part in
a title. It is possible with the command \texorpdfstring to tell hyperref to use
different commands, one for the title and another one for the bookmarks:
10 MathmodeOrig.tex v.2.47
2.5 Framed math 2 THE INLINEMODE
With the \fbox macro everything of inline math can be framed, like the following
one:
Qn 1
\fbox{$f(x)=\prod_{i=1}^{n}\left(i-\frac{1}{2i}\right)$}
f (x) = i=1 i− 2i
1
Parameters are the width of \fboxsep and \fboxrule, the predefined values from
the file latex.ltx are:
1 \fboxsep = 3pt
2 \fboxrule = .4pt
Qn 1
The same is possible with the \colorbox f (x) = i=1 i− 2i from the color
package.
1 \colorbox{yellow}{$f(x)=\prod_{i=1}^{n}\left(i-\frac{1}{2i}\right)$}
2.6 Linebreak
LATEX can break an inline formula only when a relation symbol (=, <, >, . . .) or a
binary operation symbol (+, −, . . .) exists and at least one of these symbols appears at
the outer level of a formula. Thus $a+b+c$ can be broken across lines, but ${a+b+c}$
not.
• The default: f (x) = an xn +an−1 xn−1 +an−2 xn−2 +. . .+ai xi +a2 x2 +a1 x1 +a0
• The same inside a group {...}: f (x) = an xn + an−1 xn−1 + an−2 xn−2 + . . . + ai xi + a2 x2 + a1 x1 + a0
If it is not possible to have any mathsymbol, then split the inline formula in two or
more pieces ($...$ $...$). If you do not want a linebreak for the whole document,
you can set in the preamble:
\relpenalty=9999
\binoppenalty=9999
\relpenalty=10000
\binoppenalty=10000
2.7 Whitespace
LATEX defines the length \mathsurround with the default value of 0pt. This length is
added before and after an inlined math expression (see table 1 on the next page).
MathmodeOrig.tex v.2.47 11
3 DISPLAYMATH MODE
´∞ 1
1 foo \fbox{$ f(x)=\int_1^{\infty}\frac{1}{x^2}\,\mathrm{d}x=1 $}
foo f (x) = 1 x2
dx = 1 bar bar
´∞ 1
1 foo \rule{20pt}{\ht\strutbox}\fbox{$ f(x)=\int_1^{\infty}\frac
foo f (x) = 1 x2
dx = 1 bar {1}{x^2}\,\mathrm{d}x=1 $}\rule{20pt}{\ht\strutbox} bar
\setlength{\mathsurround}{20pt}
´∞
1
foo f (x) = 1
dx = 1 bar 2 foo \fbox{$ f(x)=\int_1^{\infty}\frac{1}{x^2}\,\mathrm{d}x=1 $}
1 x2 bar
3 Displaymath mode
This means, that every formula gets its own paragraph (line). There are some
differences in the layout to the one from the title of 2.3.
For example:
1 \begin{equation}
n
Y
1 2 f(x)=\prod_{i=1}^{n}\left(i-\frac{1}{2i}\right)
f (x) = i− (1) 3 \end{equation}
2i
i=1
12 MathmodeOrig.tex v.2.47
3.2 eqnarray environment 3 DISPLAYMATH MODE
This is by default an array with three columns and as many rows as you like. It is \begin{eqnarray}
nearly the same as an array with a rcl column definition. ...
It is not possible to change the internal behaviour of the eqnarray environment \end{eqnarray}
without rewriting the environment. It is always an implicit array with three columns
and the horizontal alignment right-center-left (rcl) and small symbol sizes for
the middle column. All this can not be changed by the user without rewriting the
whole environment in latex.ltx.
1 \begin{eqnarray*}
2 \mathrm{left} & \mathrm{middle} & \mathrm{right}\\
left middle right 3 \frac{1}{\sqrt{n}}= & \frac{\sqrt{n}}{n}= & \frac{n}{n\
1 √ n sqrt{n}}
n
√ = n = √ 4 \end{eqnarray*}
n n n
The eqnarray environment should not be used as an array. As seen in the above
example the typesetting is wrong for the middle column. The numbering of eqnarray
environments is always for every row, means, that four lines get four different
equation numbers (for the labels see section 3.4 on page 16):
1 \begin{eqnarray}
2 y & = & d\label{eq:2}\\
y = d (3)
3 y & = & cx+d\\
y = cx + d (4) 4 y & = & bx^{2}+cx+d\\
2 5 y & = & ax^{3}+bx^{2}+cx+d\label{eq:5}
y = bx + cx + d (5)
6 \end{eqnarray}
y = ax3 + bx2 + cx + d (6)
Suppressing the numbering for all rows is possible with the starred version of
eqnarray.
1 \begin{eqnarray*}
2 y & = & d\label{eq:3}\\
y = d
3 y & = & cx+d\\
y = cx + d 4 y & = & bx^{2}+cx+d\\
2 5 y & = & ax^{3}+bx^{2}+cx+d\label{eq:4}
y = bx + cx + d
6 \end{eqnarray*}
y = ax3 + bx2 + cx + d
Toggling off/on for single rows is possible with the above mentioned \nonumber
tag at the end of a row (before the newline command). For example:
1 \begin{eqnarray}
2 y & = & d\nonumber \\
y = d
3 y & = & cx+d\nonumber \\
y = cx + d 4 y & = & bx^{2}+cx+d\nonumber \\
2 5 y & = & ax^{3}+bx^{2}+cx+d
y = bx + cx + d
6 \end{eqnarray}
y = ax3 + bx2 + cx + d (7)
MathmodeOrig.tex v.2.47 13
3 DISPLAYMATH MODE 3.3 Equation numbering
5 \eqnarray%
6 \@ifstar{\nonumber}{}%
7 }
8 \newcommand{\ee}{\endeqnarray\endgroup}
9 \makeatother
ˆ
sin x
f (x) = dx (8)
x
1 \be
2 f(x) &=& \int\frac{\sin x}{x}\,\mathrm{d}x
3 \ee
ˆ
sin x
f (x) = dx
x
1 \be*
2 f(x) &=& \int\frac{\sin x}{x}\,\mathrm{d}x
3 \ee
\nonumber For all equations which can have one or more equation numbers (for every line/row)
the numbering for the whole equation can be disabled with switching from the
unstarred to the star version. This is still for the whole formula and doesn’t work for
single rows. In this case use the \nonumber tag.
• This doc is written with the article-class, which counts the equations continu-
ously over all parts/sections. You can change this behaviour in different ways
(see the following subsections).
• In standard LATEX it is a problem with too long equations and the equation
number, which may be printed with the equation one upon the other. In this
case use the AMS math package, where the number is set above or below of a
too long equation (see equation 28 on page 27).
\@removefromresetRemoving a given reset is possible with the remreset.6 Write into the preamble
6
CTAN://macros/latex/contrib/supported/carlisle/remreset.sty
14 MathmodeOrig.tex v.2.47
3.3 Equation numbering 3 DISPLAYMATH MODE
1 \makeatletter
2 \@removefromreset{equation}{section}
3 \makeatother
Choose package leqno7 or have a look at your document class, if such an option
exists.
For AMS math there is another macro, see section 33 on page 64.
You can have more than the default equation counter. With the following code you
can easily toggle between roman and arabic equation counting.
1 %code by Heiko Oberdiek
2 \makeatletter
3 %Roman counter
4 \newcounter{roem}
5 \renewcommand{\theroem}{\roman{roem}}
6
7
CTAN://macros/latex/unpacked/leqno.sty
MathmodeOrig.tex v.2.47 15
3 DISPLAYMATH MODE 3.4 Labels
There can be references to these equations in the usual way, like eq.9, 12 and for
the roman one eq.ii.
3.4 Labels
• There is one restriction for the label names, they cannot include one of LATEX’s
command characters.8
3.5 Frames
Similiar to the inline mode, displayed equations can also be framed with the \fbox
command, like equation 13. The only difference is the fact, that the equation must
be packed into a parbox or minipage. It is nearly the same for a colored box, where
the \fbox{...} has to be replaced with \colorbox{yellow}{...}. The package
color.sty must be loaded and –important – the calc package to get a correct
boxwidth.
ˆ ∞
1
f (x) = dx = 1 (13)
1 x2
1 \noindent\fbox{\parbox{\linewidth-2\fboxsep-2\fboxrule}{%
2 \begin{equation}\label{eq:frame0}
3 f(x)=\int_1^{\infty}\dfrac{1}{x^2}\,\mathrm{d}x=1
4 \end{equation}%
5 }}
8
$_ˆ\&%{}
16 MathmodeOrig.tex v.2.47
4 ARRAY ENVIRONMENT
If the equation number should not be part of the frame, then it is a bit complicated.
There is one tricky solution, which puts an unnumbered equation just beside an empty
numbered equation. The \hfill is only useful for placing the equation number right
aligned, which is not the default. The following four equations 14-17 are the same,
only the second one written with the \myMathBox macro which has the border and
background color as optional arguments with the defaults white for background and
black for the frame. If there is only one optional argument, then it is still the one for
the frame color (15).
1 \makeatletter
2 \def\myMathBox{\@ifnextchar[{\my@MBoxi}{\my@MBoxi[black]}}
3 \def\my@MBoxi[#1]{\@ifnextchar[{\my@MBoxii[#1]}{\my@MBoxii[#1][white]}}
4 \def\my@MBoxii[#1][#2]#3#4{%
5 \par\noindent%
6 \fcolorbox{#1}{#2}{%
7 \parbox{\linewidth-\labelwidth-2\fboxrule-2\fboxsep}{#3}%
8 }%
9 \parbox{\labelwidth}{%
10 \begin{eqnarray}\label{#4}\end{eqnarray}%
11 }%
12 \par%
13 }
14 \makeatother
f (x) = x2 + x (14)
f (x) = x2 + x (15)
f (x) = x2 + x (16)
f (x) = x2 + x (17)
1 \begin{equation}\label{eq:frame2}
2 f(x)=x^2 +x
3 \end{equation}
4 \myMathBox[red]{\[f(x)=x^2 +x\]}{eq:frame3}
5 \myMathBox[red][yellow]{\[f(x)=x^2 +x\]}{eq:frame4}
6 \myMathBox{\[f(x)=x^2 +x\]}{eq:frame5}
If you are using the AMS math package, then try the solutions from section 39 on
page 72.
4 array environment
\begin{array}
This is simply the same as the eqnarray environment only with the possibility of ...
variable rows and columns and the fact, that the whole formula has only one \end{array}
equation number and that the array environment can only be part of another math
environment, like the equation environment or the displaymath environment. With
@{} before the first and after the last column the additional space \arraycolsep is
not used, which maybe important when using left aligned equations.
MathmodeOrig.tex v.2.47 17
4 ARRAY ENVIRONMENT 4.1 Cases structure
a) y = c (constant)
b) y = cx + d (linear)
Polynomes (18)
c) y = bx2 + cx + d (square)
d) y = ax3 + bx2 + cx + d (cubic)
1 \begin{equation}
2 \left.%
3 \begin{array}{@{}r@{\quad}ccrr@{}}
4 \textrm{a}) & y & = & c & (constant)\\
5 \textrm{b}) & y & = & cx+d & (linear)\\
6 \textrm{c}) & y & = & bx^{2}+cx+d & (square)\\
7 \textrm{d}) & y & = & ax^{3}+bx^{2}+cx+d & (cubic)
8 \end{array}%
9 \right\} \textrm{Polynomes}
10 \end{equation}
The horizontal alignment of the columns is the same as the one from the tabular
environment.
If you do not want to use the AMS math package then write your own cases structure
with the array environment:
1 \begin{equation}
2 x=\left\{ \begin{array}{cl}
3 0 & \textrm{if }A=\ldots\\
4 1 & \textrm{if }B=\ldots\\
5 x & \textrm{this runs with as much text as you like, but without an raggeright text.}\end
{array}\right.
6 \end{equation}
0 if A = . . .
x= 1 if B = . . .
x this runs with as much text as you like, but without an raggeright text.
(19)
It is obvious, that we need a \parbox if the text is longer than the possible
linewidth.
18 MathmodeOrig.tex v.2.47
4.2 arraycolsep 4 ARRAY ENVIRONMENT
1 \begin{equation}
2 x = \left\{%
3 \begin{array}{l>{\raggedright}p{.5\textwidth}}%
4 0 & if $A=\ldots$\tabularnewline
5 1 & if $B=\ldots$\tabularnewline
6 x & \parbox{0.5\columnwidth}{this runs with as much text as you like, %
7 because an automatic linebreak is given with %
8 a raggedright text. Without this %
9 \raggedright command, you’ll get a formatted %
10 text like the following one ... but with a parbox ... it works}
11 \end{array}%
12 \right. %
13 \end{equation}
0 if A = . . .
1 if B = . . .
this runs with as much text as you like,
because an automatic linebreak is given
x= (20)
with a raggedright text. Without this
x
command, you’ll get a formatted text like
the following one ... but with a parbox ...
it works
4.2 arraycolsep
\arraycolsep
All the foregoing math environments use the array to typeset the math expres-
sion. The predefined separation between two columns is the length \arraycolsep|,
which is set by nearly all document classes to 5pt, which seems to be too big.
The following equation is typeset with the default value and the second one with
\arraycolsep=1.4pt
ˆ
sin x
f (x) = dx
x
ˆ
sin x
f (x) = dx
x
If this modification should be valid for all arrays/equations, then write it into the
preamble, otherwise put it into a group or define your own environment as done in
section 3.2.1 on page 13.
1 \bgroup
2 \arraycolsep=1.4pt
3 \begin{eqnarray}
4 f(x) & = & \int\frac{\sin x}{x}\,\mathrm{d}x
5 \end{eqnarray}
6 \egroup
1 \makeatletter
2 \newcommand{\be}{%
3 \begingroup
4 \setlength{\arraycolsep}{1.4pt}
5 [ ... ]
MathmodeOrig.tex v.2.47 19
5 MATRIX
5 Matrix
\begin{matrix}
. . . T X knows two macros and LAT X one more for typesetting a matrix:
E E
\end{matrix}
\bordermatrix
A B C
d e f
1 2 3
1 $\begin{matrix}
2 A & B & C \\
3 d & e & f \\
4 1 & 2 & 3 \\
5 \end{matrix}$
0 1 2
0 A B C
1 d e f
2 1 2 3
1 $\bordermatrix{%
2 & 0 & 1 & 2 \cr
3 0 & A & B & C \cr
4 1 & d & e & f \cr
5 2 & 1 & 2 & 3 \cr
6 }$
The first two macros are listed here for some historical reason, because the
array environment or especially the AMS math package offers the same or better
macros/environments. Nevertheless it is possible to redefine the \bordermatrix
macro to get other parentheses and a star version which takes the left top part as
matrix:
1 2
1 x1 x2
2 x3 x4
3 x5 x6
1 $\bordermatrix{%
2 & 1 & 2 \cr
3 1 & x1 & x2 \cr
4 2 & x3 & x4 \cr
5 3 & x5 & x6
6 }$
1 2
1 x1 x2
2 x3 x4
3 x5 x6
1 $\bordermatrix[{[]}]{%
2 & 1 & 2 \cr
3 1 & x1 & x2 \cr
4 2 & x3 & x4 \cr
5 3 & x5 & x6
6 }$
20 MathmodeOrig.tex v.2.47
5 MATRIX
1 2
1 x1 x2
2 x3 x4
3 x5 x6
1 $\bordermatrix[\{\}]{%
2 & 1 & 2 \cr
3 1 & x1 & x2 \cr
4 2 & x3 & x4 \cr
5 3 & x5 & x6
6 }$
x1 x2 1
x3 x4 2
x5 x6 3
1 $\bordermatrix*{%
1 2
2 x1 & x2 & 1 \cr
3 x3 & x4 & 2 \cr
4 x5 & x6 & 3 \cr
5 1 & 2
6 }$
x1 x2 1
x3 x4 2
x5 x6 3
1 $\bordermatrix*[{[]}]{%
1 2
2 x1 & x2 & 1 \cr
3 x3 & x4 & 2 \cr
4 x5 & x6 & 3 \cr
5 1 & 2
6 }$
x1 x2 1
x3 x4 2
x5 x6 3
1 $\bordermatrix*[\{\}]{%
1 2
2 x1 & x2 & 1 \cr
3 x3 & x4 & 2 \cr
4 x5 & x6 & 3 \cr
5 1 & 2
6 }$
There is now an optional argument for the parenthesis with () as the default one.
To get such a behaviour, write into the preamble:
1 \makeatletter
2 \newif\if@borderstar
3 \def\bordermatrix{\@ifnextchar*{%
4 \@borderstartrue\@bordermatrix@i}{\@borderstarfalse\@bordermatrix@i*}%
5 }
6 \def\@bordermatrix@i*{\@ifnextchar[{\@bordermatrix@ii}{\@bordermatrix@ii[()]}}
7 \def\@bordermatrix@ii[#1]#2{%
8 \begingroup
9 \m@th\@tempdima8.75\p@\setbox\z@\vbox{%
10 \def\cr{\crcr\noalign{\kern 2\p@\global\let\cr\endline }}%
MathmodeOrig.tex v.2.47 21
6 SUPER/SUBSCRIPT AND LIMITS
The matrix environment macro cannot be used together with the AMS math
package, it redefines this environment (see section 26.6 on page 60).
Writing amin and amax gives the same depth for the subscript, but writing them in
upright mode with \mbox gives a different depth: amin and amax . The problem is
the different height, which can be modified in several ways
• $a_{\max}$: amin and amax . Both are predefined operators (see section 16 on
page 40).
above
1 \[ {above
below
\atop below} \]
which is nearly the same as a fraction without a rule. This can be enhanced to
a\atop b\atop c and so on. For equation 21 do the following steps:
X
aij bjk cki (21)
1≤j≤p
1≤j≤q
1≤k≤r
1 \begin{equation}\label{eq:atop}
2 \sum_{{1\le j\le p\atop {%
3 {1\le j\le q\atop 1\le k\le r}}}%
4 }a_{ij}b_{jk}c_{ki}
5 \end{equation}
22 MathmodeOrig.tex v.2.47
6.2 Problems 7 ROOTS
\shortstack
which is not the best solution because the space between the lines is too big. The
AMS math package provides several commands for limits (section 35 on page 66)
and the \underset and \overset commands (see section 41 on page 73).
6.2 Problems
X
aij bjk cki (22)
1≤j≤p
1≤j≤q
1≤k≤r
The equation 22 shows that the horizontal alignment is not optimal, because the
math expression on the right follows at the end of the limits which are a unit together
with the sum symbol. There is an elegant solution with AMS math, described in
subsection 35.2 on page 66. If you do not want to use AMS math, then use \makebox.
But there is a problem when the general fontsize is increased, \makebox knows
nothing about the actual math font size. Equation 23a shows the effect and equation
23b the view without the boxes.
X X
aij bjk cki (23a) aij bjk cki (23b)
1≤j≤p 1≤j≤p
1≤j≤q 1≤j≤q
1≤k≤r 1≤k≤r
1 \begin{equation}
2 \sum_{\makebox[0pt]{$%
3 {{\scriptscriptstyle 1\le j\le p\atop {%
4 {1\le j\le q\atop 1\le k\le r}}}}%
5 $}}a_{ij}b_{jk}c_{ki}
6 \end{equation}
7 Roots
The square root \sqrt is the default for LATEX and the n-th root can be inserted with
the optional parameter \sqrt[n]{...}. . \sqrt
√
\sqrt{x} x
√
3
\sqrt[3]{x} x
There is a different typesetting in roots. Equation 24 has different heights for the
roots, whereas equation 25 on the next page has the same one. This is possible with
the \vphantom command, which reserves the vertical space (without a horizontal \vphantom
one) of the parameter height.
√ √ q
a T 2αkB1 T i (24)
1 \begin{equation}
2 \sqrt{a}\,%
3 \sqrt{T}\,%
4 \sqrt{2\alpha k_{B_1}T^i}\label{eq:root1}
5 \end{equation}
MathmodeOrig.tex v.2.47 23
8 BRACKETS, BRACES . . .
q q q
a T 2αkB1 T i (25)
1 \begin{equation}\label{eq:root2}
2 \sqrt{a\vphantom{k_{B_1}T^i}}\,%
3 \sqrt{T\vphantom{k_{B_1}T^i}}\,%
4 \sqrt{2\alpha k_{B_1}T^i}
5 \end{equation}
The typesetting looks much better, especially when the formula has different
roots in a row, like equation 24 on the preceding page. Using AMS math with the
\smash command9 gives some more possibilities for the typesetting of roots (see
section 30 on page 62).
This is one of the major problems inside the math mode, because there is often a
need for different brackets, braces and parentheses in different size. At first we had
to admit, that there is a difference between the characters “()[]/\ {} | k bc de hi
\leftX ↑⇑ ↓⇓ lm” and their use as an argument of the \left and \right command, where
\rightX LATEX stretches the size in a way that everything between the pair of left and right
parentheses is smaller than the parentheses themselves. In some cases10 it may be
useful to choose a fixed height, which is possible with the \big-series. Instead of
writing \leftX or \rightX one of the following commands can be chosen:
\bigX
\BigX default ()[]/\{}|k bc de hi ↑⇑ ↓⇓lm
x~ w x~
\biggX \bigX
w y y
\BiggX hi ./no
jk lm DE x~ w x~
w w w
\BigX
w y y
x~ w x~
w w w
\biggX
w w w
w y y
! "# ,-()
$% &' *+ x~ wx~
w ww
w ww
\BiggX
w ww
w yy
Only a few commands can be written in a short form like \big(. The “X” has to
be replaced with one of the following characters or commands from table 3 on the
next page, which shows the parentheses character, its code for the use with one of
\biglX the “big” commands and an example with the code for that.
\bigrX For all commands there exists a left/right version \bigl, \bigr, \Bigl and so on,
which only makes sense when writing things like:
9
The \smash command exists also in LATEX but without an optional argument, which makes the use
for roots possible.
10
See section 8.1.1 on page 27 for example.
24 MathmodeOrig.tex v.2.47
8 BRACKETS, BRACES . . .
a
× × (26)
b
a
× × (27)
b
begin{align}
\biggl)\times \frac{a}{b} \times\biggr(
end{align}
begin{align}
\bigg)\times \frac{a}{b} \times\bigg(
end{align}
LATEX takes the \biggl) as a mathopen symbol, which has by default another
horizontal spacing.
In addition to the above commands there exist some more: \bigm, \Bigm, \biggm
and \Biggm, which work as the standard ones (without the addtional “m”) but add
some more horizontal space between the delimiter and the formula before and after \bigmX
(see table 2). \bigmX
Table 2: Difference between the default \bigg and the \biggm command
1 3
34
1 $\bigg(\displaystyle\frac{1}{3}\bigg|\frac
{3}{4}\bigg)$
1 3
34
1 $\bigg(\displaystyle\frac{1}{3}\biggm|\frac
{3}{4}\bigg)$
2
|k | \Vert 3a2 + bc
3\Big|aˆ2+bˆ{cˆ2}\Big\Vert
j 2
k
bc \lfloor 3 a2 + bc 3\Big\lfloor aˆ2+bˆ{cˆ2}
\rfloor \Big\rfloor
l 2
m
de \lceil\rceil 3 a2 + bc 3\Big\lceil aˆ2+bˆ{cˆ2}
\Big\rceil
MathmodeOrig.tex v.2.47 25
8 BRACKETS, BRACES . . .
26 MathmodeOrig.tex v.2.47
8.1 Examples 8 BRACKETS, BRACES . . .
8.1 Examples
It is obvious that there is a problem with the right closing parentheses. Because
of the two pairs “\left( ... \right.” and “\left. ... \right)” they have a
different size because every pair does it in its own way. Using the Bigg command
changes this into a better typesetting:
X
1 ij
2 ∆(fij f ) =2 χij (σi − σj )2 + f ij ∇j ∇i (∆f )+
i<j ! (30)
+∇k fij ∇k f ij + f ij f k [2∇ i Rjk − ∇k Rij ]
1 {\arraycolsep=2pt
2 \begin{equation}
3 \begin{array}{rcl}
4 \frac{1}{2}\Delta(f_{ij}f^{ij}) & = & 2\Bigg({\displaystyle
5 \sum_{i<j}}\chi_{ij}(\sigma_{i}-\sigma_{j})^{2}+f^{ij}%
6 \nabla_{j}\nabla_{i}(\Delta f)+\\
7 & & +\nabla_{k}f_{ij}\nabla^{k}f^{ij}+f^{ij}f^{k}[2
8 \nabla_{i}R_{jk}-\nabla_{k}R_{ij}]\Bigg)
9 \end{array}
10 \end{equation}
11 }
Section 26.3.1 on page 55 shows another solution for getting the right size for
parentheses when breaking the equation in smaller pieces.
" ∞
µ X Re n
B(r, φ, λ) = Jn Pn (sφ)
r r
n=2
n !#
X Re n
+ (Cnm cos mλ + Snm sin mλ)Pnm (sφ)
r
m=1
11
In standard LATEX the equation and the number are printed one over the other for too long formulas.
Only AMS math puts it one line over (left numbers) or under (right numbers) the formula.
MathmodeOrig.tex v.2.47 27
8 BRACKETS, BRACES . . . 8.2 New delimiters
1 \begin{align*}
2 B(r,\phi,\lambda) = & \,\dfrac{\mu}{r}
3 \Bigg[\sum_{n=2}^{\infty} \Bigg( \left( \dfrac{R_e}{r} \right)^n J_nP_n(s\phi) \\
4 & +\sum_{m=1}^n \left( \dfrac{R_e}{r} \right) ^n
5 (C_{nm}\cos m\lambda+S_{nm}\sin m\lambda)P_{nm}(s\phi) \Bigg)\Bigg]
6 \end{align*}
See section 47.6 on page 92 for examples and the use of package braket.
The default delimiters are defined in the file fontmath.ltx which is stored in gen-
eral in [TEXMF]/tex/latex/base/fontmath.ltx. If we need for example a thicker
vertical symbol than the existing \vert symbol we can define in the preamble:
1 \DeclareMathDelimiter{\Norm}
2 {\mathord}{largesymbols}{"3E}{largesymbols}{"3E}
The character number 3E16 (decimal 62) from the cmex10 font is the small thick
vertical rule. Now the new delimiter \Norm can be used in the usual way:
∗BLA∗
∗BLA∗
∗BLU B∗
1 $\left\Norm *BLA* \right\Norm$
2
ˆ ˆ β
0
F (z)dz = F 0 (γ(t)) · γ 0 (t)dt
γ α
1 \[
2 \int_\gamma F’(z) dz =\int_\alpha^\beta
3 F’\left(\gamma (t)\right)\cdot\gamma ’(t)dt
4 \]
The problem is that TEX controlls the height of the parenthesis with \delimitershortfall
and \delimiterfactor, with the default values
\delimitershortfall=5pt
\delimiterfactor=901
28 MathmodeOrig.tex v.2.47
10 FONT COMMANDS
ˆ ˆ β
0
F (z)dz = F 0 γ(t) · γ 0 (t)dt
γ α
1 {\delimitershortfall=-1pt
2 \[
3 \int_\gamma F’(z) dz =\int_\alpha^\beta
4 F’\left(\gamma (t)\right)\cdot\gamma ’(t)dt
5 \]}
Standard text in math mode should be written in upright shape and not in the italic
one. This shape is reserved for the variable names: I am text inside math. (see also
Table 7 on page 31). There are different ways to write text inside math. \textstyle
\mbox
• \mathrm. It is like math mode (no spaces), but in upright mode \mathrm
• \mbox. The font size is still the one from \textstyle (see section 12 on page 36),
so that you have to place additional commands when you use \mbox in a super-
or subscript for limits.
Inserting long text is possible with a \parbox, which can be aligned as usual to
the top, bottom or center, e.g.,
1 \begin{eqnarray}
2 a+b+c+d+ef & = & g+h+i+j+k %
3 \qquad\textrm{\parbox[t]{.25\linewidth}{%
4 this is a very long description of a formula}%
5 }
6 \end{eqnarray}
Additional commands for text inside math are provided by AMS math (see sec-
tion 37 on page 69).
10 Font commands
Should never be used, but are still present and supported by LATEX. The default
syntax for the old commands is
1 {\XX test}
Table 4 on the following page shows what has to be replaced for the XX. The major
difference to the new style is that these \XX are toggling the actual math mode into
the “XX” one, whereas the new commands start which, at its end, switches back to
the previous mode.
MathmodeOrig.tex v.2.47 29
11 SPACE 10.2 New-style font commands
\bf test \cal T EST \it test \rm test \tt test
11 Space
1
1mu = em
18
12
For more information see: http://www.tug.org/utilities/plain/cseq.html
13
see fontmath.ltx
30 MathmodeOrig.tex v.2.47
11.2 Additional horizontal spacing 11 SPACE
These lengths can have all glue and are used for the horizontal spacing in math
expressions where TEX puts spaces between symbols and operators. The meaning of
these different horizontal skips is shown in table 6. For a better typesetting LATEX
inserts different spaces between the symbols.
\medmuskip space between ordinary and binary atoms in display and text styles
\thickmuskip space between ordinary and relation atoms in display and text styles
\def\>{\mskip\medmuskip}
\def\;{\mskip\thickmuskip}
\def\!{\mskip-\thinmuskip}
In math mode there is often a need for additional tiny spaces between variables, e.g.,
di di di
L written with a tiny space between L and looks nicer: L . Table 7 shows
dt dt dt
a list of all commands for horizontal space which can be used in math mode. The
MathmodeOrig.tex v.2.47 31
11 SPACE 11.3 Problems
“space” is seen “between” the boxed a and b. For all examples a is \boxed{a} and
\hspace b is \boxed{b}. The short forms for some spaces may cause problems with other
\hphantom packages. In this case use the long form of the commands.
\kern
11.3 Problems
a→b
b
b
b
1 \begin{align*}
2 a & \rightarrow b\\
3 & \hphantom{\rightarrow} b\\
4 & \mkern\thickmuskip\hphantom{\rightarrow}\mkern\thickmuskip b\\
5 & \mathrel{\hphantom{\rightarrow}} b
6 \end{align*}
This only works when the math symbol is a mathrel one, otherwise you have to
change the horizontal space to \medmuskip or \thinmuskip or to use an empty group
after the \hphantom command. For more informations about the math objects look
into fontmath.ltx or amssymb or use the \show macro, which prints out the type of
the mathsymbol, e.g., \show\rightarrow with the output:
1 > \rightarrow=\mathchar"3221.
2 l.20 \show\rightarrow
32 MathmodeOrig.tex v.2.47
11.5 Vertical whitespace 11 SPACE
1 %\usepackage{amsmath}
2 1,234,567.89 & \text{ default}\\
3 1.234.567,89 & \text{ vice versa, wrong spacing}\\
4 1\mathpunct{.}234\mathpunct{.}567{,}89 & \text{ correct spacing}
\DeclareMathSymbol{,}{\mathpunct}{letters}{"3B}
\DeclareMathSymbol{.}{\mathord}{letters}{"3A}
There are four predefined lengths, which control the vertical whitespace of displayed
formulas:
The short skips are used if the formula starts behind the end of the foregoing last
line. Only for demonstration the shortskips are set to 0pt in the following examples
and the normal skips to 20pt without any glue:
ˆ
sin x
f (x) = dx (36)
x
And the next line starts as usual with some text ...
15
Located in texmf/tex/latex/base/
16
CTAN:// macros/latex/contrib/was/
MathmodeOrig.tex v.2.47 33
11 SPACE 11.5 Vertical whitespace
1 \abovedisplayshortskip=0pt
2 \belowdisplayshortskip=0pt
3 \abovedisplayskip=20pt
4 \belowdisplayskip=20pt
5 \noindent The line ends before.
6 \begin{equation}
7 f(x) = \int\frac{\sin x}{x}\,\mathrm{d}x
8 \end{equation}
9 \noindent The line doesn’t end before the formula.
10 \begin{equation}
11 f(x) = \int\frac{\sin x}{x}\,\mathrm{d}x
12 \end{equation}
13 \noindent And the next line starts as usual with some text ...
fleqn class
option When using the fleqn classoption for left aligned equations the math environ-
ments equation and \[. . . \] are typeset as a list. This is the reason why the vertical
space is defined by the length registers for a list, especially \topsep, instead of
\abovedisplayskip and \belowdisplayskip. This doesn’t effect the eqnarray envi-
ronment.
\\[<length>] This works inside the math mode in the same way as in the text
mode.
\jot
\jot The vertical space between the lines for all math expressions which allow
multiple lines can be changed with the length \jot, which is predefined as
\newdimen\jot \jot=3pt
The following three formulas show this for the default value, \setlength\jot{0pt}
and \setlength\jot{10pt}.
y = d
y = d y = d
1 1 1
y = c +d y = c +d y = c +d
x x x
1 1 1
y = b 2 + cx + d y = b 2 + cx + d y = b + cx + d
x x x2
\arraystretch
\arraystretch The vertical space between the lines for all math expressions which
contain an array environment can be changed with the command \arraystretch,
which is predefined as
34 MathmodeOrig.tex v.2.47
11.5 Vertical whitespace 11 SPACE
\renewcommand\arraystretch{1}
\vskip Another spacing for single lines is possible with the \vskip macro:
0 1 1 0 0 1
1 0 0 1 1 0
1
0 1 1 0 √ 1
2
1 0 1 0 1 0
0 1 0 1 0 1
1 \[
2 \begin{pmatrix}
3 0 & 1 & 1 & 0 & 0 & 1 \\
4 1 & 0 & 0 & 1 & 1 & 0 \\
5 \noalign{\vskip2pt}
6 0 & 1 & 1 & 0 & \dfrac{1}{\sqrt{2}} & 1\\
7 \noalign{\vskip2pt}
8 1 & 0 & 1 & 0 & 1 & 0 \\
9 0 & 1 & 0 & 1 & 0 & 1 \\
10 \end{pmatrix}
11 \]
Package setspace To have all formulas with another vertical spacing, one can
choose the package setspace and redefining some of the math macros, e.g.,
1 \newcommand*\Array[2][1]{\setstretch{#1}\array{#2}}
2 \let\endArray\endarray
a= b
a= b
a= b
a= b
text a =
b text
a= b
1 \[
2 \begin{Array}[2]{cc}
3 a =&b\\
4 a =&b\\
5 a =&b
6 \end{Array}
7 \]
8
9 text $\begin{Array}{cc}
10 a =&b\\
11 a =&b\\
12 a =&b
13 \end{Array}$ text
MathmodeOrig.tex v.2.47 35
12 STYLES
12 Styles
T
´ 1
\scriptstyle f (t) = 2π sin ωt dt T
´ 1
f (t)= 2π sin ω
dt
t
\scriptscriptstyle T ´ 1 dt
T ´
f (t)= 2π
sin ω
t f (t)= 2π 1 dt
sin ω
t
´
\textstyle f (t) = T 1
dt T
´ 1
2π sin ωt f (t) = dt
2π sin ωt
This depends on the environment in which they are used. An inline formula
\textstyle has a default math fontsize called \textstyle, which is smaller than the one for
\displaystyle a display formula (see section 3), which is called \displaystyle. Beside this
\scriptstyle predefinition there are two other special fontstyles for math, \scriptstyle and
\scripscriptstyle
\scriptscriptstyle. They are called “style” in difference to “size”, because they
have a dynamic character, their real fontsize belongs to the environment in which
they are used. A fraction for example is by default in scriptstyle when it is in an inline
a
formula like this ab , which can be changed to . This may be in some cases useful
b
but it looks in general ugly because the line spacing is too big. These four styles are
predefined and together in a logical relationship. It is no problem to use the other
styles like large, \Large, . . . outside the math environment. For example a fraction
1 \makeatletter
2 \newenvironment{smallequation}[1]{%
3 \skip@=\baselineskip
4 #1%
5 \baselineskip=\skip@
6 \equation
7 }{\endequation \ignorespacesafterend}
8 \makeatother
9
10 \begin{smallequation}{\tiny}
11 \int_1^2\,\frac{1}{x^2}\,\mathrm{d}x=0.5
12 \end{smallequation}
If you use this the other way round for huge fontsizes, don’t forget to load package
36 MathmodeOrig.tex v.2.47
14 ACCENTS
exscale (see section 47.14 on page 98). Also see this section for diffent symbol sizes.
13 Dots
\cdots
In addition to the above decorations there are some more different dots which are \dots
single commands and not by default over/under a letter. It is not easy to see the \dotsb
\dotsc
differences between some of them. Dots from lower left to upper right are possible
. \dotsi
with \reflectbox{$\ddots$} . . \dotsm
\dotso
..
\cdots ··· \ddots . \dotsb ··· \dotsc ... \dotsi ··· \ldots
.. \vdots
\dotsm ··· \dotso ... \ldots ... \vdots .
14 Accents
The letter “a” is only for demonstration. The table 10 shows all in standard LATEX
available accents and also the ones placed under a character. With package amssymb
it is easy to define new accents. For more information see section 31 on page 63 or
other possibilities at section 47.1 on page 90.
The letters i and j can be substituted with the macros \imath and \jmath
...
when an accents is placed over these letters and the dot should disappear: ~ı
($\vec{\imath}\ \dddot{\jmath}$).
Accents can be used in different ways, e.g., strike a single character with a
horizontal line like $\mathaccent‘-A$: A- or $\mathaccent\mathcode‘-A$: A −. In
section 47.7 on page 94 is a better solution for more than one character.
MathmodeOrig.tex v.2.47 37
14 ACCENTS 14.1 Over- and underbrackets
5 \def\@underbracket[#1]{%
6 \@ifnextchar[{\@under@bracket[#1]}{\@under@bracket[#1][0.4em]}%
7 }
8 \def\@under@bracket[#1][#2]#3{%\message {Underbracket: #1,#2,#3}
9 \mathop{\vtop{\m@th \ialign {##\crcr $\hfil \displaystyle {#3}\hfil $%
10 \crcr \noalign {\kern 3\p@ \nointerlineskip }\upbracketfill {#1}{#2}
11 \crcr \noalign {\kern 3\p@ }}}}\limits}
12 \def\upbracketfill#1#2{$\m@th \setbox \z@ \hbox {$\braceld$}
13 \edef\@bracketheight{\the\ht\z@}\bracketend{#1}{#2}
14 \leaders \vrule \@height #1 \@depth \z@ \hfill
15 \leaders \vrule \@height #1 \@depth \z@ \hfill \bracketend{#1}{#2}$}
16 \def\bracketend#1#2{\vrule height #2 width #1\relax}
17 \makeatother
x2 + 2x + 1 = f (x) (38)
| {z }
(x + 1)2
using without any parameters gives the same values for thickness and height as
predefined for the \underbrace command.
1. $\underbracket{foo~bar}$ f oo bar
2. $\underbracket[2pt]{foo~bar}$ f oo bar
14.1.2 Overbracket
38 MathmodeOrig.tex v.2.47
14.2 Vectors 15 EXPONENTS AND INDICES
using without any parameters gives the same values for thickness and height as
predefined for the \overbrace command.
14.2 Vectors
Especially for vectors there is the package esvect17 package, which looks better
than the \overrightarrow, e.g.,
\vv{...} \overrightarrow{...}
#»
a →
−a
#» −→
abc abc
#»
ı →
−ı
#» →
−
Ax Ax
Table 11: Vectors with package esvect (in the right column the default one from
LATEX)
Look into the documentation for more details about the package esvect.
The two active characters _ and ^ can only be used in math mode. The following
character will be printed as an index ($y=a_1x+a_0$: y = a1 x + a0 ) or as an exponent
($x^2+y^2=r^2$: x2 + y 2 = r 2 ). For more than the next character put it inside of {},
like $a_{i-1}+a_{i+1}<a_i$: ai−1 + ai+1 < ai .
Especially for multiple exponents there are several possibilities. For example:
3 4
3 4
((x2 )3 )4 = ((x2 ) ) = x2 (39)
1 ((x^2)^3)^4 =
2 {({(x^2)}^3)}^4 =
3 {\left({\left(x^2\right)}^3\right)}^4
For variables with both exponent and indice index the order is not important,
$a_1^2$ is exactly the same than $a^2_1$: a21 = a21 . By default all exponents and
indices are set as italic characters. It is possible to change this behaviour to get
upright characters. The following example shows this for the indices.
17
CTAN://macros/latex/contrib/esvect/
MathmodeOrig.tex v.2.47 39
16 OPERATORS
Aabc123def
abcxyz 123def aa
Aabc123def
abcxyz 123def aa
1 $A_{abc_{xyz}123def}^{abc123def}aa$
2
3 \makeatletter
4 \catcode‘\_\active
5 \def_#1{\sb{\operator@font#1}}
6 \makeatother
7
8 $A_{abc_{xyz}123def}^{abc123def}aa$
16 Operators
They are written in upright font shape and are placed with some additional space
before and after for a better typesetting. With the AMS math package it is possible
to define one’s own operators (see section 36 on page 68). Table 12 and 13 show a
list of the predefined ones for standard LATEX.
` W V
\coprod \bigvee \bigwedge
U T S
\biguplus ´ \bigcap ´ \bigcup
Q
\intop \int \prod
P N L
\sum \bigotimes ¸ \bigoplus ¸
J
\bigodot \ointop \oint
F
\bigsqcup \smallint ∫
The difference between \intop and \int is that the first one has by default
over/under limits and the second subscript/superscript limits. Both can be changed
with the \limits or \nolimits command. The same behaviour happens to the
\ointop and \oint Symbols.
For more predefined operator names see table 20 on page 91. It is easy to define
a new operator with
1 \makeatletter
2 \newcommand\foo{\mathop{\operator@font foo}\nolimits}
3 \makeatother
40 MathmodeOrig.tex v.2.47
17 GREEK LETTERS
foo21 = x2
1 \[ \foo_1^2 = x^2 \]
In this example \foo is defined with \nolimits, means that limits are placed in
superscript/subscript mode and not over under. This is still possible with \limits in
the definition or the equation:
2
foo = x2
1
1 \[ \foo\limits_1^2 = x^2 \]
AMS math has an own macro for a definition, have a look at section 36 on page 68.
17 Greek letters
The AMS math package simulates a bold font for the greek letters, it writes a greek
character twice with a small kerning. The \mathbf{<character>} doesn’t work with
lower greek character. See section 40 on page 72 for the \pmb macro, which makes it
possible to print bold lower greek letters. Not all upper case letters have own macro
names. If there is no difference to the roman font, then the default letter is used,
e.g., A for the upper case of α. Table 14 shows only those upper case letters which
have own macro names. Some of the lower case letters have an additional var option
for an alternative.
MathmodeOrig.tex v.2.47 41
19 \STACKREL
Bold greek letters are possible with the package bm (see section 47.5 on page 92)
and if they should also be upright with the package upgreek:
$\bm{\upalpha}, \bm{\upbeta} ... $ α, β...
A useful definition maybe:
1 \usepackage{upgreek}
2 \makeatletter
3 \newcommand{\bfgreek}[1]{\bm{\@nameuse{up#1}}}
4 \makeatother
18 Pagebreaks
\allowdisplaybreaks
By default a displayed formula cannot have a pagebreak. This makes some sense,
but sometimes it gives a better typesetting when a pagebreak is possible.
\allowdisplaybreaks
19 \stackrel
\stackrel puts a character on top of another one which may be important if a used
∧
\stackrel symbol is not predefined. For example “=” (\stackrel{\wedge}{=}). The syntax is
1 \stackrel{top}{base}
Such symbols may be often needed so that a macro definition in the preamble
makes some sense:
1 \newcommand{\eqdef}{%
2 \ensuremath{\mathrel{\stackrel{\mathrm{def}}{=}}}}
With the \ensuremath command we can use the new \eqdef command in text and in
math mode, LATEX switches automatically in math mode, which saves some keystrokes
like the following command, which is written without the delimiters ($...$) for the
def
math mode = , only \eqdef with a space at the end. In math mode together with
def
another material it may look like ~
x = (x1 , . . . , xn ) and as command sequence
1 $\vec{x}\eqdef\left(x_{1},\ldots,x_{n}\right)$
The fontsize of the top is one size smaller than the one from the base, but it is no
problem to get both the same size, just increase the top or decrease the base.
42 MathmodeOrig.tex v.2.47
22 BOLDMATH
20 \choose
\choose is like \atop with delimiters or like \frac without the fraction line and also
with delimiters. It is often used for binomial coefficients and has the following syntax: \choose
1 {above \choose below}
The two braces are not really important but it is safe to use them.
m+1 m m
= + (40)
n n k−1
1 {{m+1 \choose n}}={{m \choose n}}+{{m \choose k-1}}\label{eq:choose}
See section 29.2 on page 62 for the AMS math equivalents and enhancements.
There is no difference in using colored text and colored math expressions. With
\usepackage{color}
ˆ∞
1
f (x) = dx = 1 (41)
x2
1
\textcolor
1 \begin{equation}
2 \textcolor{blue}{f(x)} = \int\limits_1^{\infty}\textcolor{red}{\frac{1}{x^2}}\,\mathrm{d}
x=1
3 \end{equation}
If all math expressions should be printed in the same color, then it is better to
use the everydisplay macro (section 24 on page 45).
22 Boldmath
\mathversion
Writing a whole formula in bold is possible with the command sequence \boldmath \boldmath
. . . \unboldmath, which itself must be written in textmode (outside the formula) or \unboldmath
with the command {\mathversion{bold} ... }.
X X
aij bjk cki aij bjk cki
1≤j≤p 1≤j≤p
1≤j≤q 1≤j≤q
1≤k≤r 1≤k≤r
1 \boldmath
2 \[
3 \sum_{%
4 \makebox[0pt]{$%
5 {{\scriptscriptstyle 1\le j\le p\atop {%
6 {1\le j\le q\atop 1\le k\le r}}}}%
7 $}%
8 }a_{ij}b_{jk}c_{ki}
9 \]
10 \unboldmath
MathmodeOrig.tex v.2.47 43
22 BOLDMATH 22.1 Bold math titles and items
The \mathversion macro defines a math style which is valid for all following
math expressions. If you want to have all math in bold then use this macro instead
of \boldmath. But it is no problem to put \mathversion inside a group to hold the
changes locally.
1 {\mathversion{bold}%
2 \begin{equation}
3 y(x) = ax^3+bx^2+cx+d
4 \end{equation}}
Single characters inside a formula can be written in bold with \mathbf, but only
in upright mode, which is in general not useful as shown in equation 43. It is better
to use package bm (see section 47.5 on page 92).
X
aij bjk cki (43)
1≤j≤p
1≤j≤q
1≤k≤r
By default the titles in sections, subsections, a.s.o. are printed in bold. Same for
the description environment. The problem is that a math expression in one of
these environments is printed in default font shape, like the following example for a
section and description environment:
22 Function f (x) = x2
With a redefinition of the \section and \item macros it is possible to get every-
thing in bold font.
22 Function f (x) = x2
1 \let\itemOld\item
2 \makeatletter
3 \renewcommand\item[1][]{%
4 \def\@tempa{#1}
5 \ifx\@tempa\@empty\itemOld\else\boldmath\itemOld[#1]\unboldmath\fi%
6 }
7 \makeatother
8 \let\sectionOld\section
9 \renewcommand\section[2][\empty]{%
10 \boldmath\sectionOld[#1]{#2}\unboldmath%
11 }
44 MathmodeOrig.tex v.2.47
24 OTHER MACROS
23 Multiplying numbers
When the dot is used as the decimal marker as in the United States, the preferred
sign for the multiplication of numbers or values of quantities is a cross (\times × ),
not a half-high and centered dot (\cdot · ).
When the comma is used as the decimal marker as in Europe, the preferred sign
for the multiplication of numbers is the half-high dot. The multiplication of quantity
symbols (or numbers in parentheses or values of quantities in parentheses) may be
indicated in one of the following ways: ab, a · b, a × b.
For more information see “Nist Guide to SI Units -More on Printing and Using
Symbols and Numbers in Scientific and Technical Documents”18 or the German DIN
1304, Teil 1.
24 Other macros
\everymath
There are some other macros which are not mentioned in the foregoing text. Here \everydisplay
comes a not really complete list of these macros. \underline
\everymath puts the argument before any inlined math expression, e.g., \everymath{\displaysize}.
Using this macro doesn’t really make sense, when one is using footnotes be-
cause the footnote number is printed as superscript in inline mathmode and an
\everymath will be valid, too.
\everydisplay puts the argument before any displayed math expression, e.g.,
\everydisplay{\color{blue}}.
\underline underlines a math expression and has to be used inside the math mode.
ˆ
F (x) = f (x) dx
18
http://physics.nist.gov/Pubs/SP811/sec10.html
MathmodeOrig.tex v.2.47 45
25 ALIGN ENVIRONMENTS
Part II
1. amsmath.sty
2. amssymb.sty
3. amsfonts.sty
To use one of these package options, put the option name in the optional argu-
ment, e.g., \usepackage[intlimits]{amsmath}. The AMS math also recognises the
following options which are normally selected (implicitly or explicitly) through the
documentclass command, and thus need not be repeated in the option list of the
\usepackage{amsmath} statement.
All math environments are displayed ones, so there is no special inline math.
25 align environments
There are four different align environments, described in the following subsections.
Their behaviour is shown in table 15. The symbolic code for all align environments is:
46 MathmodeOrig.tex v.2.47
25.1 The default align environment 25 ALIGN ENVIRONMENTS
1 \begin{<name>}
2 <name> &= x & x &= x\\
3 <name> &= x & x &= x
4 \end{<name>}
Table 15: Comparison between the different align environments with the same code,
where the first three can have an equation number
align = x x = x
align = x x = x
alignat = x x = x
alignat = x x = x
flalign = x x = x
flalign = x x = x
xalignat = x x = x
xalignat = x x = x
xxalignat = x x = x
xxalignat = x x = x
The eqnarray environment has a not so good spacing between the cells. Writing the
equations no. 3 to 6 with the align environment gives:
MathmodeOrig.tex v.2.47 47
25 ALIGN ENVIRONMENTS 25.2 alignat environment
y=d (44)
y = cx + d (45)
2
y12 = bx + cx + d (46)
y(x) = ax3 + bx2 + cx + d (47)
12 3
1 \begin{align*}
2 1 & 2 & 3
3 \end{align*}
• The align environment takes the whole horizontal space if you have more than
two columns:
48 MathmodeOrig.tex v.2.47
25.3 flalign environment 25 ALIGN ENVIRONMENTS
This means “align at several places” and is something like more than two align
environment side by side. Parameter is the number of the align environments, which
is not important for the user. The above last align example looks like:
With the alignat environment one can easily align equations vertically at more
than one marker:
1 \begin{alignat}{3}
2 abc &= xxx &&= xxxxxxxxxxxx &&= aaaaaaaaa \\
3 ab &= yyyyyyyyyyyyyyy &&= yyyy &&= ab
4 \end{alignat}
MathmodeOrig.tex v.2.47 49
25 ALIGN ENVIRONMENTS 25.3 flalign environment
i11 = 0.25
1
i21 = i11 (II-58)
3
i31 = 0.33i22 (II-59)
1 \begin{flalign}
2 i_{11} & =0.25\nonumber \\
3 i_{21} & =\frac{1}{3}i_{11}\\
4 i_{31} & =0.33i_{22}
5 \end{flalign}
As seen, the equations are not really left aligned, when they have only one
ampersand. In this case flalign has the same behaviour as the align environment.
When there are more than one tabbing characters (&), then the equations are
really left aligned. This is also an easy way to get an equation with only one
ampersand left aligned, see equation II-63 below.
This environment can be used to mix centered and left aligned equations without
using the document wide valid option fleqn.
ˆ
1
f (x) = dx (II-62)
x2
ˆ
1
f (x) = dx (II-63)
x2
Equation II-63 is left aligned in fact of the second tabbing character &.
1 \begin{align}\label{eq:centered}
2 f(x) & = \int\frac{1}{x^2}\,\mathrm{d}x
3 \end{align}
4
5 \begin{flalign}\label{eq:leftaligned}
6 f(x) & = \int\frac{1}{x^2}\,\mathrm{d}x &
7 \end{flalign}
Another case is placing text left aligned, whereas the formulas should be right
aligned.
50 MathmodeOrig.tex v.2.47
25.4 xalignat environment 25 ALIGN ENVIRONMENTS
1 \begin{flalign*}
2 && 12(x-1)+20(y-3)+14(z-2) &= 0\\
3 \text{same as } && 6x+10y+7z &= 0
4 \end{flalign*}
MathmodeOrig.tex v.2.47 51
26 OTHER ENVIRONMENTS 25.7 Problems
1 \begin{equation}
2 \begin{aligned}
3 2x+3 &= 7 & 2x+3-3 &= 7-3 \\
4 2x &= 4 & \frac{2x}2 &= \frac42\\
5 x &= 2
6 \end{aligned}
7 \end{equation}
25.7 Problems
When using one of the align environments, there should be no \\ at the end of the
last line, otherwise you’ll get another equation number for this “empty” line:
2x + 3 = 7 (II-67)
(II-68)
1 \begin{align}
2 2x+3 &= 7\\
3 \end{align}
2x + 3 = 7 (II-69)
1 \begin{align}
2 2x+3 &= 7
3 \end{align}
26 Other environments
52 MathmodeOrig.tex v.2.47
26.2 gathered environment 26 OTHER ENVIRONMENTS
i11 = 0.25
1
i21 = i11 (II-72)
3
i31 = 0.33i22
1 \begin{align}
2 \rule{2cm}{1pt}
3 \begin{gathered}
4 \quad i_{11}=0.25\\
5 \quad i_{21}=\frac{1}{3}i_{11}\\
6 \quad i_{31}=0.33i_{22}
7 \end{gathered}
8 \rule{2cm}{1pt}
9 \end{align}
The optional argument can be used for setting the vertical alignment which is by
default c (centered). It can also be t for top or b for bottom.
A=a
A=a B=b
A=a B=b C=c (II-73)
B=b C=c
C=c
1 \begin{align}
2 \rule{1cm}{1pt}
3 \begin{gathered}[t]
4 \quad A=a\\
5 \quad B=b\\
6 \quad C=c
7 \end{gathered}
8 %
9 \begin{gathered}[c]
10 \quad A=a\\
11 \quad B=b\\
12 \quad C=c
13 \end{gathered}
14 %
15 \begin{gathered}[b]
16 \quad A=a\\
17 \quad B=b\\
18 \quad C=c
19 \end{gathered}
20 \ \rule{1cm}{1pt}
21 \end{align}
MathmodeOrig.tex v.2.47 53
26 OTHER ENVIRONMENTS 26.3 multline environment
When using a square bracket as first character inside the environment, then
everything is ignored by AMS until a following closing bracket, because AMS takes
this as an optional argument:
A=a
[B] B = b (II-74)
[C] C = c
1 \begin{align}
2 \begin{gathered}
3 [A]\quad A=a\\
4 [B]\quad B=b\\
5 [C]\quad C=c
6 \end{gathered}
7 \end{align}
The [A] is completely ignored, which can be avoided by using the optional argument
[c] or at least an empty one directly after the \begin{gather}. Another possibility
is using the package empheq, which fixes this behaviour by default.
[A] A = a
[B] B = b (II-75)
[C] C = c
1 \begin{align}
2 \begin{gathered}[]
3 [A]\quad A=a\\
4 [B]\quad B=b\\
5 [C]\quad C=c
6 \end{gathered}
7 \end{align}
19
It is no typo, the name of the environment is multline, no missing i here!
54 MathmodeOrig.tex v.2.47
26.3 multline environment 26 OTHER ENVIRONMENTS
A = lim ∆x a2 + a2 + 2a∆x + (∆x)2
n→∞
+ a2 + 2 · 2a∆x + 22 (∆x)2
+ a2 + 2 · 3a∆x + 32 (∆x)2
+ ...
+ a2 + 2 · (n − 1)a∆x + (n − 1)2 (∆x)2
1 3
= b − a3 (II-76)
3
x
x
x
x
x
x (II-77)
Figure 1: multline Alignment demo (the fourth row is shifted to the right with
\shoveright)
\multlinegap= \multlinegap=
• By default only the last line (for right equation numbers) or the first line (for
left equation numbers) gets a number, the others can’t.
• The alignment of a single line can be changed with the command \shoveright
(figure 1)
• The first line and the last line have a small gap to the text border.20 See figure
2, where the length of \multlinegap is set to 0pt for the right one.
20
When the first (numbers left) or last line (numbers right) has an equation number then
\multlinegap is not used for these ones, only for the line without a number.
MathmodeOrig.tex v.2.47 55
26 OTHER ENVIRONMENTS 26.3 multline environment
1 X
∆(fij f ij ) = 2 χij (σi − σj )2 + f ij ∇j ∇i (∆f )+
2
i<j
+ ∇k fij ∇k f ij + f ij f k [2∇i Rjk − ∇k Rij ] (II-80)
which is again a bad typesetting because of the two unequal parentheses. Each one
has a size which is correct for the line but not for the whole formula. LATEX accepts
only pairs of parentheses for one line and has an “empty” parentheses, the dot
“\left.” or “\right.” to get only one of the “pair”. There are different solutions to
get the right size of the parentheses. One of them is to use the \vphantom command,
which reserves the vertical space without any horizontal one, like a vertical rule
without any thickness. The sum symbol from the first line is the biggest one and
responsible for the height, so this one is the argument of \vphantom which has to be
placed anywhere.
1 X
∆(fij f ij ) = 2 χij (σi − σj )2 + f ij ∇j ∇i (∆f )+
2
i<j
1 \begin{multline}
2 \frac{1}{2}\Delta(f_{ij}f^{ij})=
3 2\left(\sum_{i<j}\chi_{ij}(\sigma_{i}-
4 \sigma_{j})^{2}+f^{ij}\nabla_{j}\nabla_{i}(\Delta f)+\right.\\
5 \left.+\nabla_{k}f_{ij}\nabla^{k}f^{ij}+
6 f^{ij}f^{k}\left[2\nabla_{i}R_{jk}-
7 \nabla_{k}R_{ij}\right]\vphantom{\sum_{i<j}}\right)
8 \end{multline}
Instead of using the \vphantom command it is also possible to use fixed-width paren-
theses, which is described in section 8 on page 24.
A math expression with a very long fraction like the following one, which runs
out of the margin could be written as a multiplication to avoid the fraction line.
h −pn
i
dG∞ [1 − e−pn ] [Q (n) − pR (n) + R0 (n)] e−pn − − Q(n)e
p + Q(0)
p + R (n) e−pn − A pe−pn
= =0
dn (1 − e−pn )2
(II-82)
1 \begin{equation}
2 \frac{\mathrm{d}G_\infty}{\mathrm{d}n}=\frac{\left[1-e^{-pn}\right]
3 \left[Q\left(n\right)-pR\left(n\right)+R’\left(n\right)\right]e^{-pn}
4 -\left[-\frac{Q \left(n\right)e^{-pn}}{p}+\frac{Q\left(0\right)}{p}+R
5 \left(n\right)e^{-pn} - A\right] pe^{-pn}}{\left({1-e^{-pn}}\right)^2} = 0
6 \end{equation}
With the multline environment it can then be split into two or more parts:
56 MathmodeOrig.tex v.2.47
26.4 split environment 26 OTHER ENVIRONMENTS
dG∞ 1
= · 1 − e−pn Q (n) − pR (n) + R0 (n) e−pn
dn (1 − e−pn )2
Q (n) e−pn Q (0)
− − + + R (n) e−pn − A pe−pn = 0 (II-83)
p p
1 \begin{multline}
2 \frac{\mathrm{d}G_\infty}{\mathrm{d}n} =
3 \frac{1}{\left( {1-e^{-pn}} \right)^2 }\cdot
4 \left\{\vphantom{\frac{Q}{p}}% >>>> to get the correct height <<<<<
5 \left[ 1-e^{-pn} \right] \left[ Q \left( n \right) - pR
6 \left( n \right) + R’\left( n \right) \right]e^{-pn}\right.\\
7 - \left.\left[-\frac{Q \left( n \right) e^{-pn}}{p} +
8 \frac{Q \left( 0 \right)}{p} + R \left( n \right) e^{-pn}
9 - A\right] pe^{-pn}\right\} = 0
10 \end{multline}
The split environment is like the multline or array environment for equations
longer than the column width. Just like the array environment and in contrast to
multline, split can only be used as part of another environment. split itself
has no own numbering, this is given by the other environment. Without an ampersand
all lines in the split environment are right-aligned and can be aligned at a special
point by using an ampersand. In difference to the aligned environment (section 25.6
on page 51), the split environment don’t permit more than one horizontal alignment.
It is important that the split environment has another behaviour when used inside
one of the “old” LATEX environments \[...\] or \begin{equation} ... \end{equation},
in this case more than one horizontal alignment tabs are possible.
\[
\begin{split}
x \framebox[0.35\columnwidth]{x}\\
x \framebox[0.75\columnwidth]{x}\\
\framebox[0.65\columnwidth]{x}\\
x \framebox[0.95\columnwidth]{x}
x \end{split}
\]
\[
\begin{split}
~a = x \vec{a} = {}&\framebox[0.35\columnwidth]{x}\\
x &\framebox[0.75\columnwidth]{x}\\
&\framebox[0.65\columnwidth]{x}\\
x &\framebox[0.95\columnwidth]{x}
x \end{split}
\]
The following example shows the split environment as part of the equation
environment:
MathmodeOrig.tex v.2.47 57
26 OTHER ENVIRONMENTS 26.4 split environment
ˆ 1 ˆ 2
A1 = (f (x) − g(x)) dx + (g(x) − h(x)) dx
0 1
ˆ 1 ˆ 2
= (x − 3x) dx + (x − 5x + 6) dx
2 2
0 1
3 1 3 2
x 3 2 x 5 2
= − x + − x + 6x
(II-84)
3 2 0 3 2
1
1 3 8 20 1 5
= − + − + 12 − − + 6
3 2 3 2 3 2
7 14 23 7 5
= − + − = + = 2 FE
6 3 6 6 6
1 \begin{equation}
2 \begin{split}
3 A_{1} & = \left| \int _{0}^{1}(f(x)-g(x))\,\mathrm{d}x\right| +\left|
4 \int _{1}^{2}(g(x)-h(x))\,\mathrm{d}x\right| \\
5 & = \left| \int _{0}^{1}(x^{2}-3x)\,\mathrm{d}x\right| +\left|
6 \int _{1}^{2}(x^{2}-5x+6)\,\mathrm{d}x\right| \\
7 & = \left| \frac{x^{3}}{3}-\frac{3}{2}x^{2}\right| _{0}^{1}+
8 \left| \frac{x^{3}}{3}-
9 \frac{5}{2}x^{2}+6x\right| _{1}^{2}\\
10 & = \left| \frac{1}{3}-\frac{3}{2}\right| +\left|
11 \frac{8}{3}-\frac{20}{2}+12-
12 \left( \frac{1}{3}-\frac{5}{2}+6\right) \right| \\
13 & = \left| -\frac{7}{6}\right| +\left| \frac{14}{3}-\frac{23}{6}
14 \right| =\frac{7}{6}+\frac{5}{6}=2\, \textrm{FE}
15 \end{split}
16 \end{equation}
The same using the array environment with {rl}-alignment instead of split
gives same horizontal alignment, but another vertical spacing21 and the symbols are
only in scriptsize and not textsize:22
´ ´
1 2
A1 = 0 (f (x) − g(x)) dx + 1 (g(x) − h(x)) dx
´ ´
1 2
= 0 (x2 − 3x) dx + 1 (x2 − 5x + 6) dx
3 1 3 2
(II-85)
= x3 − 32 x2 + x3 − 25 x2 + 6x
0 1
= 13 − 32 + 83 − 20 1 5
2 + 12 − 3 − 2 + 6
= − 7 + 14 − 23 = 7 + 5 = 2 FE
6 3 6 6 6
Compare the following two examples for typesetting the minus sign. In the first
case it is typeset similiar to the plus character, and in the second example it is typeset
without the additional space for a binary math atom.
21
Can be changed with \renewcommand\arraystretch{1.5}
22
See section 12 on page 36
58 MathmodeOrig.tex v.2.47
26.5 cases environment 26 OTHER ENVIRONMENTS
1 \begin{align}
2 \begin{split}
3 a = {} & -b + c \\
4 & -d + e
a= −b+c 5 \end{split}
(II-86)
−d+e 6 \end{align}
7 %
8 \begin{align}
9 \begin{split}
a = −b + c 10 a = {} & {-}b + c \\
(II-87)
−d + e 11 & {-}d + e
12 \end{split}
13 \end{align}
0 if A=...
x = 1 if B=... (II-88)
x this runs with as much text as you like, but without a linebreak, it runs out of page....
In this case it is better to use a parbox for the text part with a flushleft command
for a better view.
0 if A=...
1 if B=...
x= this runs with as much text (II-89)
x as you like, but without an
automatic linebreak, it runs
out of page....
1 \begin{equation}
2 x=\begin{cases}
3 0 & \text{if A=...}\\
4 1 & \text{if B=...}\\
5 x & \parbox{5cm}{%
6 \flushleft%
7 this runs with as much text as you like,
8 but without an automatic linebreak,
9 it runs out of page....}%
10 \end{cases}
MathmodeOrig.tex v.2.47 59
28 DOTS 26.6 Matrix environments
11 \end{equation}
All matrix environments can be nested and an element may also contain any
other math environment, so that very complex structures are possible. By default all
cells have a centered alignment, which is often not the best when having different
decimal numbers or plus/minus values. Changing the alignment to right (not for the
matrix smallmatrix) is possible with
vmatrix
1 \makeatletter
Vmatrix
2 \def\env@matrix{\hskip -\arraycolsep
bmatrix 3 \let\@ifnextchar\new@ifnextchar
Bmatrix 4 \array{*\c@MaxMatrixCols r}}
pmatrix 5 \makeatother
smallmatrix
The special matrix environment smallmatrix, which decreases horizontal and
vertical space is typeset in scriptstyle. The smallmatrix environment makes some
sense in the inline mode to decrease the line height. For dots over several columns
look for \hdotsfor in the following section.
27 Vertical whitespace
See section 11.5 on page 33 for the lengths which control the vertical whitespace.
There is no difference to AMS math.
28 Dots
In addition to section 13 on page 37 AMS math has two more commands for dots:
\dddot{...}23 and \ddddot{...}
...
$\dddot{y}$: y
....
$\ddddot{y}$: y
Another interesting dot command is \hdotsfor with the syntax:
1 \hdotsfor[<spacing factor>]{<number of columns>}
23
already mentioned in section 14
60 MathmodeOrig.tex v.2.47
29 FRACTION COMMANDS
With the spacing factor the width of the dots can be stretched or shrinked. The
number of columns allows a continuing dotted line over more columns. Equation 90
shows the definition of a tridiagonal matrix.
a11 a12 0 ... ... ... 0
a21 a22 a23 0 ... ... 0
0 a32 a33 a34 0 ... 0
.. .. .. .. .. .. ..
. . . . . . .
A= ..................................................... (90)
.. .. .. .. .. .. ..
. . . . . . .
0 . . . 0 an−2,n−3 an−2,n−2 an−2,n−1 0
0 ... ... 0 qn−1,n−2 an−1,n−1 an−1,n
0 ... ... ... 0 an,n−1 ann
1 \begin{equation}
2 \underline{A}=\left[\begin{array}{ccccccc}
3 a_{11} & a_{12} & 0 & \ldots & \ldots & \ldots & 0\\
4 a_{21} & a_{22} & a_{23} & 0 & \ldots & \ldots & 0\\
5 0 & a_{32} & a_{33} & a_{34} & 0 & \ldots & 0\\
6 \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots\\
7 \hdotsfor{7}\cr\vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots\\
8 0 & \ldots & 0 & a_{n-2,n-3} & a_{n-2,n-2} & a_{n-2,n-1} & 0\\
9 0 & \ldots & \ldots & 0 & q_{n-1,n-2} & a_{n-1,n-1} & a_{n-1,n}\\
10 0 & \ldots & \ldots & \ldots & 0 & a_{n,n-1} & a_{nn}
11 \end{array}\right]
12 \end{equation}
29 fraction commands
29.1 Standard
Additional to the font size problem described in subsection 2.2 on page 10 AMS math
supports some more commands for fractions. The \frac command described in [7],
does no more exist in AMS math.
where thickness can have any length with a valid unit like
x2 +x+1
genfrac{}{}{1pt}{}{x^2+x+1}{3x-2} → 3x−2
• \cfrac (continued fraction) which is by default set in the display mathstyle and
useful for fractions like
1
(91)
√ 1
2+
√ 1
3+
√ 1
4+
...
MathmodeOrig.tex v.2.47 61
30 ROOTS 29.2 Binoms
1
√ 1
(92)
2+ √
3+ √ 1 1
4+ ...
where the mathstyle decreases for every new level in the fraction. The \cfrac
command can be called with an optional parameter which defines the placing
of the nominator, which can be [l]eft, [r]ight or [c]enter (the default - see
equation 91):
1 1
√ 1 √ 1
2+ 2+
√ 1 √ 1
3+ 3+
√ 1 √ 1
4+ 4+
... ...
• \dfrac which takes by default the displaystyle, so that fractions in inline mode
1
have the same size than in display mode.
2
• \tfrac (vice versa to \dfrac) which takes by default the scriptstyle, so that
fractions in display mode have the same size than in inline mode.
2
3 \tfrac{2}{3}
2
\frac{2}{3}
3
29.2 Binoms
\binom
\dbinom They are like fractions without a rule and its syntax is different to the \choose
\tbinom command from standard LATEX (see section 2.2 on page 10). AMS math provides
three different commands for binoms just like the ones for fractions.
30 Roots
The typesetting for roots is sometimes not the best. Some solutions for better
\leftroot typesetting are described in section 7 on page 23 for standard LATEX. AMS math has
\uproot some more commands for the n-th root:
62 MathmodeOrig.tex v.2.47
30.1 Roots with \smash command 32 \MOD COMMAND
<number> indicates a value for the points24 of which the root can be adjusted to the
√
left and/or to the top, e.g., kn a ($\sqrt[k_n]{a}$) has a too deep exponent, whereas
k√
n
a $\sqrt[\uproot{2}k_n]{a}$ looks nicer.
1 \smash[<position>]{<argument>}
31 Accents
With the macro \mathaccent it is easy to define new accent types, for example
1 \def\dotcup{$\mathaccent\cdot\cup$}
∪·
Overwriting of two symbols is also possible:
xyx
y
In this case the second symbol has to be shifted to the left for a length of 5mu
(mu: math unit).
1 \def\curvearrowleftright{%
2 \ensuremath{%
3 \mathaccent\curvearrowright{\mkern-5mu\curvearrowleft}%
4 }%
5 }
For other possibilities to define new accents see section 47.1 on page 90.
32 \mod command
In standard LATEX the modulo command is not an operator, though it is often used in
formulas. AMS math provides two (three) different commands for modulo, which are
listed in tabular 18 on the following page.
• They all insert some useful space before and behind the mod-operator.
MathmodeOrig.tex v.2.47 63
33 EQUATION NUMBERING
a\mod{nˆ2}=b → a mod n2 = b
a\pmod{nˆ2}=b → a (mod n2 ) = b
a\pod{nˆ2}=b → a (n2 ) = b
33 Equation numbering
See section 3.3 on page 14 for equation numbering. It is mostly the same, only one \numberwithin
command is new to AMS math. If you want a numbering like “44” then write either
in the preamble or like this example anywhere in your doc:
1 \numberwithin{equation}{section}
From now on the numbering looks like equation 44 on page 48. For the
book-class you can get the same for chapters.
If you want to get rid of the parentheses then write in the preamble:
1 \makeatletter
2 \def\tagform@#1{\maketag@@@{\ignorespaces#1\unskip\@@italiccorr}}
3 \makeatother
33.1 Subequations
y=d 33.93a
y = cx + d 33.93b
2
y = bx + cx + d 33.93c
3 2
y = ax + bx + cx + d 33.93d
1 \begin{subequations}
2 \begin{align}
3 y & = d\\
4 y & = cx+d\\
5 y & = bx^{2}+cx+d\\
6 y & = ax^{3}+bx^{2}+cx+d
7 \end{align}
8 \end{subequations}
24
In PostScript units (bp – Big Points).
25
In latex.ltx \smash is defined without an optional argument.
64 MathmodeOrig.tex v.2.47
34 LABELS AND TAGS
y=d (33.94-1)
y = cx + d (33.94-2)
2
y = bx + cx + d (33.94-3)
y = ax3 + bx2 + cx + d (33.94-4)
A ref to a subequation is possible like the one to equation 33.94-2. The environ-
ment chooses the same counter “equation” but saves the old value into “parentequation”.
It is also possible to place two equations side by side with counting as subfigures:
y = f (x) (33.95a) y = f (z) (33.95b)
In this case, the AMS math internal subfigure counter cannot be used and an own
counter has to be defined:
1 \newcounter{mySubCounter}
2 \newcommand{\twocoleqn}[2]{
3 \setcounter{mySubCounter}{0}%
4 \let\OldTheEquation\theequation%
5 \renewcommand{\theequation}{\OldTheEquation\alph{mySubCounter}}%
6 \noindent%
7 \begin{minipage}{.49\textwidth}
8 \begin{equation}\refstepcounter{mySubCounter}
9 #1
10 \end{equation}
11 \end{minipage}\hfill%
12 \addtocounter{equation}{-1}%
13 \begin{minipage}{.49\textwidth}
14 \begin{equation}\refstepcounter{mySubCounter}
15 #2
16 \end{equation}
17 \end{minipage}%
18 \let\theequation\OldTheEquation
19 }
20 [ ... ]
21 \twocoleqn{y=f(x)}{y=f(z)}
For the \label command see section 3.4 on page 16, it is just the same behaviour. \tag
AMS math allows to define own single “equation numbers” with the \tag command.
f (x) = a (linear)
g(x) = dx2 + cx + b (quadratic)
h(x) = sin x trigonometric
1 \begin{align}
2 f(x) & =a\tag{linear}\label{eq:linear}\\
3 g(x) & =\,\mathrm{d}x^{2}+cx+b\tag{quadratic}\label{eq:quadratic}\\
4 h(x) & =\sin x\tag*{trigonometric}
5 \end{align}
• The \tag command is also possible for unnumbered equations, LATEX changes
the behaviour when a tag is detected.
MathmodeOrig.tex v.2.47 65
35 LIMITS
• There exist two package options for tags, ctagsplit and righttag (look at the
beginning of this part on page 46).
35 Limits
By default the sum/prod has the limits above/below and the integral at the side.
To get the same behaviour for all symbols which can have limits load the package
AMS math in the preamble as
1 \usepackage[sumlimits,intlimits]{amsmath}
There exist also options for the vice versa (see page 46). See also Section 41 for
the additional commands \underset and \overset.
For general information about limits read section 2.1 on page 9. Standard LATEX
provides the \atop command for multiple limits (section 6.1 on page 22). AMS math
\substack has an additional command for that, which can have several lines with the following
\begin{Sb} syntax:
...
1 \substack{...\\...\\...}
\end{Sb}
\begin{Sp} The environments described in [7]
...
\end{Sp} 1 \begin{Sb} ... \end{Sb}
2 \begin{Sp} ... \end{Sp}
35.2 Problems
There are still some problems with limits and the following math expression. For
example:
X
X= Xij
1≤i≤j≤n
66 MathmodeOrig.tex v.2.47
35.2 Problems 35 LIMITS
1 \[
2 X = \sum_{1\le i\le j\le n}X_{ij}
3 \]
does not look nice because of the long limit. Using a \makebox also does not really
solve the problem, because \makebox is in TEX horizontal mode and knows nothing
about the appropriate math font size, because limits have a smaller font size. It is
better to define a \mathclap macro, similiar to the two macros \llap and \rlap and
uses the also new defined \mathclap macro:
1 \def\mathllap{\mathpalette\mathllapinternal}
2 \def\mathllapinternal#1#2{%
3 \llap{$\mathsurround=0pt#1{#2}$}% $
4 }
5 \def\clap#1{\hbox to 0pt{\hss#1\hss}}
6 \def\mathclap{\mathpalette\mathclapinternal}
7 \def\mathclapinternal#1#2{%
8 \clap{$\mathsurround=0pt#1{#2}$}%
9 }
10 \def\mathrlap{\mathpalette\mathrlapinternal}
11 \def\mathrlapinternal#1#2{%
12 \rlap{$\mathsurround=0pt#1{#2}$}% $
13 }
Now we can write limits which have a boxwidth of 0pt and the right font size and
the following math expression appears just behind the symbol:
X
X= Xij
1≤i≤j≤n
1 \[
2 X = \sum_{\mathclap{1\le i\le j\le n}}X_{ij}
3 \]
Another problem occurs when having operators with stacked limits in braces:
X
... (35.2)
i,j
i>j
This case is not easy to handle when some other math expressions are around the
braces which should be on the same baseline. However, the following may help in
some cases to get better looking braces.
"X #
...
f oo i,j
bar (35.3)
i>j
1 \begin{align}
2 foo \left[\begin{array}{@{}c@{}}
3 \displaystyle\sum_{\substack{i,j\\i>j}} \dots
4 \end{array}\right] bar
5 \end{align}
MathmodeOrig.tex v.2.47 67
36 OPERATOR NAMES 35.3 \sideset
35.3 \sideset
This is a command for a very special purpose, to combine over/under limits with
\sideset superscript/subscripts for the sum-symbol. For example: it is not possible to place
the prime for the equation 35.4 near to the sum symbol, because it becomes an upper
limit when writing without an preceeding {}.
X
0
nEn (35.4)
n<k
n odd
T
U pperLef t XU pperRight
LowerLef t LowerRight
B
1 \[
2 \sideset{_{LowerLeft}^{UpperLeft}}{_{LowerRight}^{UpperRight}}\sum_{B}^{T}
3 \]
Now it is possible to write the equation 35.4 in a proper way with the command
\sideset{}{’} before the sum symbol:
X0
nEn (35.5)
n<k
n odd
36 Operator names
\operatorname
By default variables are written in italic and operator names in upright mode, like
y = sin(x).26 This happens only for the known operator names, but creating a new
one is very easy with:
1 \newcommand{\mysin}{\operatorname{mysin}}
Now \mysin is also written in upright mode y = mysin(x) and with some additional
space before and behind.
It is obvious, that only those names can be defined as new operator names which
are not commands in another way. Instead of using the new definition as an operator,
it is also possible to use the text mode. But it is better to have all operators of the
same type, so that changing the style will have an effect for all operators.
\operatornamewithlimits
The new defined operator names cannot have limits, only superscript/subscript is
possible. amsopn.sty has an additional command \operatornamewithlimits, which
\mathop supports over/under limits like the one from \int or \sum.
It is also possible to use the macro \mathop to declare anything as operator, like
1B
26
See section 16 on page 40, where all the standard LATEX known operator names are listed. Package
AMS math has some more (see documentation).
68 MathmodeOrig.tex v.2.47
37 TEXT IN MATH MODE
1 \[ \sideset{_1}{}{\mathop{\mathrm{B}}} \]
With this definition it is possible to use \sideset for a forgoing index, which is only
possible for an operator.
For a real LATEX definition have a look at section 16 on page 40.
If you need complex structures between formulas, look also at section 65.
Atext
text
A text
text Atext
text A text
text
1 $\boxed{f(x)=x\quad\text{this was math}}$
2
3 {\sffamily\huge
4 $A^{\mbox{text}}_{\mbox{text}}$\quad
5 $A^{\text{text}}_{\text{text}}$\quad
6 $A^{\textnormal{text}}_{\textnormal{text}}$\quad
7 $A^{\mathrm{text}}_{\mathrm{text}}$
8 }
The \text macro can be used at any place and can be in some cases a better
solution as \intertext (see section 37.2).
1 \begin{flalign*}
2 && 12(x-1) + 20(y-3) + 14(z-2) & = 0 &&\\
3 \text{and} && 6x + 10y + 7z & = 0 &&
4 \end{flalign*}
5
6 \begin{align}
7 && 12(x-1) + 20(y-3) + 14(z-2) & = 0\\
8 \text{and} && 6x + 10y + 7z & = 0
9 \end{align}
MathmodeOrig.tex v.2.47 69
38 EXTENSIBLE ARROWS 37.2 \intertext command
This is useful when you want to place some text between two parts of math stuff
without leaving the math mode, like the name “intertext” says. For example we write
the equation II-84 on page 58 with an additional command after the second line.
ˆ 1 ˆ 2
A1 = (f (x) − g(x)) dx + (g(x) − h(x)) dx
0 1
ˆ 1 ˆ 2
= (x − 3x) dx + (x − 5x + 6) dx
2 2
0 1
1 \begin{equation}
2 \begin{split}
3 A_{1} & = \left| \int _{0}^{1}(f(x)-g(x))\,\mathrm{d}x\right| +\left| \int _{1}^{2}(g(x)-h(x))
\,\mathrm{d}x\right| \\
4 & = \left| \int _{0}^{1}(x^{2}-3x)\,\mathrm{d}x\right| +\left| \int _{1}^{2}(x^{2}-5x+6)
\,\mathrm{d}x\right| \\
5 \intertext{Now the limits of the integrals are used}
6 & = \left| \frac{x^{3}}{3}-\frac{3}{2}x^{2}\right| _{0}^{1}+\left| \frac{x^{3}}{3}-
7 \frac{5}{2}x^{2}+6x\right| _{1}^{2}\\
8 & = \left| \frac{1}{3}-\frac{3}{2}\right| +\left| \frac{8}{3}-\frac{20}{2}+12-
9 \left( \frac{1}{3}-\frac{5}{2}+6\right) \right| \\
10 & = \left| -\frac{7}{6}\right| +\left| \frac{14}{3}-\frac{23}{6}\right| =\frac{7}{6}+
11 \frac{5}{6}=2\, \textrm{FE}
12 \end{split}
13 \end{equation}
Writing very long text is possible by using a parbox, see section 9 on page 29 for
an example with \textrm, which behaves in the same way as \text.
38 Extensible arrows
\xrightarrow
above the arrow
\xleftarrow To write something like −
−−−−−−−−−→ you can use the following macro
\xmapsto below
and the same with \xleftarrow. You can define your own extensible arrow macros if
you need other than these two predefined ones. To get a doublelined extensible arrow
like $\Longleftrightarrow$ (⇐⇒) but with the same behaviour as an extensible
one, write in the preamble
70 MathmodeOrig.tex v.2.47
38 EXTENSIBLE ARROWS
1 \newcommand\xLongLeftRightArrow[2][]{%
2 \ext@arrow 0055{\LongLeftRightArrowfill@}{#1}{#2}}
3 \def\LongLeftRightArrowfill@{%
4 \arrowfill@\Leftarrow\Relbar\Rightarrow}
5 \newcommand\xlongleftrightarrow[2][]{%
6 \ext@arrow 0055{\longleftrightarrowfill@}{#1}{#2}}
7 \def\longleftrightarrowfill@{%
8 \arrowfill@\leftarrow\relbar\rightarrow}
over
$\ext@arrow 0000$ 7−−−−→
under
over
$\ext@arrow 9000$ 7−−−−→
under
over
$\ext@arrow 0900$ 7−−−−→
under
over
$\ext@arrow 0009$ 7−−−−→
under
over
$\ext@arrow 0090$ 7−−−−→
under
over
$\ext@arrow 0099$ 7−−−−−→
under
over
$\ext@arrow 9999$ 7−−−−−→
under
• 1st digit: space left
MathmodeOrig.tex v.2.47 71
40 GREEK LETTERS
1 \newcommand{\xrightarrow}[2][]{\ext@arrow 0359\rightarrowfill@{#1}{#2}}
2 \newcommand{\xleftarrow}[2][]{\ext@arrow 3095\leftarrowfill@{#1}{#2}}
39 Frames
\boxed
AMS math knows the macro \boxed which can be used for inline a b + c and dis-
played math expressions:
ˆ ∞
1
f (x) = dx = 1 (39.1)
1 x2
1 \begin{align}
2 \boxed{f(x)=\int_1^{\infty}\frac{1}{x^2}\,\mathrm{d}x=1}
3 \end{align}
For coloured boxes use package empheq. For an example see section 47.11 on
page 96.
40 Greek letters
\pmb
\boldsymbol The AMS math package simulates a bold font for the greek letters by writing a greek
character twice with a small kerning. This is done with the macro \pmb{<letter>}.
The \mathbf{<character>} doesn’t work with lower greek character. However,
using the \boldsymbol macro from AMS math is the better way when the font has a
bold symbol.
Uppercase greek letters are by default in upright mode. AMS math supports also
such letters in italic mode with a preceeding var e.g., \varGamma
72 MathmodeOrig.tex v.2.47
42 PROBLEMS WITH AMSMATH
41 Miscellaneous commands
\overset There are several commands which can be used in math mode:
\underset Some examples are shown in table 19.
$\underset{under}{baseline}$ baseline
under
over
$\overset{over}{baseline}$ baseline
\boldsymbol{\Omega} Ω
\underset is a useful macro for having limits under non-operators (see page 91).
\boldsymbol can be used for a math symbol that remains unaffected by \mathbf if
the current math font set includes a bold version of that symbol.
AMS math is an excellent package with some “funny features”. When using an align
environment inside a gather environment, it should be centered just like the other
lines. This is only true, when there is a number/tag or an additional ampersand:
m2 = m02 + m002
V20 V200
= + 00
v20 v2
v20
⇒ m2 v20 = V − V200 + V200
v200
m2 = m02 + m002
V20 V200
= + 00
v20 v2
v20
⇒ m2 v20 = V − V200 + V200
v200
1 \begin{gather*}
2 \begin{align*}
3 m_2 &= m_2’ + m_2’’\\
4 &= \frac{V_2’}{v_2’} + \frac{V_2’’}{v_2’’}
5 \end{align*}\\
6 \Rightarrow m_2 v_2’ = V - V_2’’ + V_2’’\frac{v_2’}{v_2’’}\\
7 \end{gather*}
8 \begin{gather*}
9 \begin{align*}
10 m_2 &= m_2’ + m_2’’\\
11 &= \frac{V_2’}{v_2’} + \frac{V_2’’}{v_2’’} & %<<<====
12 \end{align*}\\
MathmodeOrig.tex v.2.47 73
42 PROBLEMS WITH AMSMATH
This effect depends to the horizontal width, which is wrong in the first example,
in fact of a missing tag or number the right whitespace is cut, but the left one is still
there. The additional ampersand prevents AMS math to change the right margin.
Another kind of curiousity is the following example, which depends to the same
problem of cutting whitespace only on one side.
a=b
c=d
a=b
c=d
1 \bigskip\noindent\fbox{%
2 \begin{minipage}{10cm}
3 \begin{align*}
4 a&=b \\ c&=d
5 \end{align*}
6 \end{minipage}}
7
8 \noindent\fbox{%
9 \begin{minipage}{10cm}
10 \noindent\begin{align*}
11 a&=b \\ c&=d
12 \end{align*}
13 \end{minipage}}
74 MathmodeOrig.tex v.2.47
43 LENGTH REGISTERS
Part III
43 Length registers
43.1 \abovedisplayshortskip
43.2 \abovedisplayskip
43.3 \belowdisplayshortskip
43.4 \belowdisplayskip
43.5 \delimiterfactor
The height of a delimiter is often not optimally calculated by TEX. In some cases
it is too short. With \delimiterfactor one can correct this height. The delim-
iterheight is < calculated height > · < #1 > /1000 where #1 is the parameter of
\delimiterfactor. The default value is 901.
2
x + 2x if x < 0,
3
x if 0 ≤ x < 1,
y=
x2 + x if 1 ≤ x < 2,
3
x − x2 if 2 ≤ x.
1 \[
2 y = \left\{%
3 \begin{array}{ll}
4 x^2+2x &\textrm{if }x<0,\\
5 x^3 &\textrm{if }0\le x<1,\\
6 x^2+x &\textrm{if }1\le x<2,\\
7 x^3-x^2 &\textrm{if }2\le x.
8 \end{array}%
9 \right.
10 \]
MathmodeOrig.tex v.2.47 75
43 LENGTH REGISTERS 43.6 \delimitershortfall
x2 + 2x if x < 0,
3
x if 0 ≤ x < 1,
y=
x2 + x if 1 ≤ x < 2,
x3 − x2 if 2 ≤ x.
1 \[
2 \delimiterfactor=1500
3 y = \left\{%
4 \begin{array}{ll}
5 x^2+2x &\textrm{if }x<0,\\
6 x^3 &\textrm{if }0\le x<1,\\
7 x^2+x &\textrm{if }1\le x<2,\\
8 x^3-x^2 &\textrm{if }2\le x.
9 \end{array}%
10 \right.
11 \]
43.6 \delimitershortfall
Additionally to the forgoing \delimiterfactor one can modify the height of the
delimiter with another value. TEX makes the delimiter larger than the values of
< calculated height > · < delimiterfactor > /1000 and < calculated height > − <
delimitershortfall >. This makes it possible to always get different heights of a
sequence of delimiters.
x · x2 − y 2 − 3
x· 2 2
x −y −3
1 $x\cdot\left(\left(x^2-y^2\right)-3\right)$\\[7pt]
2
3 $
4 \delimitershortfall-1pt
5 x\cdot\left(\left(x^2-y^2\right)-3\right)$
(((A)))
(A)
1 $\left(\left(\left(A\right)\right)\right)$\\[7pt]
2
3 $\delimitershortfall-1pt
4 \left(\left(\left(A\right)\right)\right)$
43.7 \displayindent
This is the left shift amount of a line holding displayed equation. By default it is 0pt
but gets the value of an indented paragraph when there is an environment like the
quotation one.
The following formula is typeset in the usual way without modifying anything.
ˆ
sin x
f (x) = dx
x
Now we start a quotation environment which sets \labelwidth to new values for
a greater left margin.
76 MathmodeOrig.tex v.2.47
43.8 \displaywidth 43 LENGTH REGISTERS
• The following formula is typeset in the usual way without modifying anything.
ˆ
sin x
f (x) = dx
x
• Now we write the same equation, but now with modifying displayindent, it is
set to the negative \leftskip:
ˆ
sin x
f (x) = dx
x
1 \[
2 \displayindent=-\leftskip
3 f(x) = \int \frac{\sin x}{x}\,\mathrm{d}x
4 \]
43.8 \displaywidth
The width of the line holding a displayed equation, which is by default \linewidth.
In the second example the formula is centered for a display width of 0.5\linewidth.
ˆ
sin x
f (x) = dx
x
ˆ
sin x
f (x) = dx
x
1 \[ f(x) = \int \frac{\sin x}{x}\,\mathrm{d}x \]
2 \[
3 \displaywidth=0.5\linewidth
4 f(x) = \int \frac{\sin x}{x}\,\mathrm{d}x
5 \]
43.9 \mathsurround
Extra space added when switching in and out of the inline math mode (see sec-
tion 2.7).
43.10 \medmuskip
43.11 \mkern
Similiar to \kern, but adds a math kern item to the current math list. Length must
be a math unit.
43.12 \mskip
Similiar to \skip, but adds math glue to the current math list. Length must be a
math unit.
MathmodeOrig.tex v.2.47 77
43 LENGTH REGISTERS 43.13 \muskip
43.13 \muskip
Assigns a length with a math unit to one of the 256 \muskip register.
43.14 \muskipdef
43.15 \nonscript
Ignores immediately following glue or kern in script and scriptscript styles, which
makes a redefinition of \mathchoice superfluous.
43.16 \nulldelimiterspace
This is the width of a null or missing delimiter, e.g., \right. or for the left one.
43.17 \predisplaysize
Is the effective width of the line preceeding a displayed equation, whether \abovedisplayskip
or abovedisplayshortskip is used for the vertical skip.
43.18 \scriptspace
43.19 \thickmuskip
43.20 \thinmuskip
√ √
2x – 2 x
√ √
log x – log x
√ √
P (1/ n) – P (1/ n )
[0, 1) – [ 0, 1)
x2 /2 – x2/2
1 $\sqrt 2 x$ -- $\sqrt 2\,x$\\
2 $\sqrt{\log x}$ -- $\sqrt{\,\log x}$\\
3 $P\left({1/\sqrt n}\right)$ -- $P\left({1/ \sqrt n}\,\
right)$\\[8pt]
4 $[0,1)$ -- $[\,0,1)$\\
5 $x^2/2$ -- $x^2\!/2$\\
78 MathmodeOrig.tex v.2.47
43.21 \medmuskip 44 MATH FONT MACROS
ˆ ˆ ˆ ˆ
dxdy dx dy
D D
ˆˆ ˆˆ
dx dy dx dy
D D
ˆˆ ˆˆ
dx dy dx dy
D D
ˆˆ
dx dy
D
1 \[\int\int_D \mathrm{d}x\mathrm{d}y \quad
2 \int\!\int_D \mathrm{d}x\,\mathrm{d}y\]
3 \[\int\!\!\int_D \mathrm{d}x\,\,\mathrm{d}y \quad
4 \int\!\!\!\int_D \mathrm{d}x\,\,\,\mathrm{d}y\]
5 \[\int\!\!\!\!\int_D \mathrm{d}x\,\,\,\,\mathrm{d}y \quad
6 \int\!\!\!\!\!\int_D \mathrm{d}x\,\,\,\,\,\mathrm{d}y\]
7 \[\int\!\!\!\int_D \mathrm{d}x\,\mathrm{d}y\]
43.21 \medmuskip
44.1 \delcode
Each character has not only a \catcode and \mathcode but also a \delcode which
defines for a single chracter how it should look when used as a math delimiter.
44.2 \delimiter
Every character can be declared as a delimiter, but TEX must know which char-
acters should be used for the default and the big size. For LATEX the macro
\DeclareMathDelimiter should be used (see section 8.2 on page 28).
In the following example \tdela is the character 0x22 (↑) from font number 2
(csmy) and character 0x78 from font number 3 (cmex) for the big version. \tdelb is
the same vice versa (↓).
MathmodeOrig.tex v.2.47 79
44 MATH FONT MACROS 44.3 \displaystyle
↑x − y↓(x + y) = x2 − y 2
∞
X 1 2
↑ ↓ =4
2n
n=0
x 2
X∞
1
n =4
2 y
n=0
1 \def\tdela{\delimiter"4222378\relax}
2 \def\tdelb{\delimiter"5223379\relax}
3
4 $\tdela x-y\tdelb(x+y)=x^2-y^2$
5
8 \[\left\tdela\sum_{n=0}^\infty {1\over2^n}\right\tdelb^2
= 4\]
44.3 \displaystyle
44.4 \fam
When TEX switches into the math mode, it typesets everything using one of the 16
possible families of fonts. \fam is an internal register where other macros can check
which font is the actual one. At the beginning TEX starts with \fam=-1.
\fam=-1 123abcABCαβγ
\fam=0 123abcABCfffifl
\fam=1 abcABCαβγ
\fam=2 ∞∈3abcABC
\fam=3 abc
\fam=4 123abcABC
\fam=5 123aABC
1 $\mathrm{123abcABC\alpha\beta\gamma (\the\fam)
}$\\[5pt]
123abcABCfffifl(0) 2 $\mathbf{123abcABC\alpha\beta\gamma (\the\fam)
123abcABCfffifl(13) }$\\[5pt]
3 $\mathit{123abcABC\alpha\beta\gamma (\the\fam)
123abcABCfffifl(14) }$\\[5pt]
4 $\mathtt{123abcABC\alpha\beta\gamma (\the\fam)
123abcABC↑↓'(15) }$\\[5pt]
5 $\mathsf{123abcABC\alpha\beta\gamma (\the\fam)
123abcABCαβγ(−1)
}$\\[5pt]
abcABCαβγ() 6 $\mathnormal{123abcABC\alpha\beta\gamma (\the\
fam)}$
44.5 \mathaccent
Requires three parameter as one number, the class, the font family and the character.
80 MathmodeOrig.tex v.2.47
44.6 \mathbin 44 MATH FONT MACROS
1
Ă
\def\dA{\mathaccent"7015\relax}
2 {\Large $\dA{A}$}
44.6 \mathbin
Declares a following character as a binary symbol with another spacing before and
behind such a symbol.
a|b a | b
1 {\Large
2 $a|b \quad a\mathbin| b$}
44.7 \mathchar
Declares a math character by three integer numbers as Parameters, giving its class,
font family, and font position. In the following example \mathchar defines a character
of class 1 (big operators), font family 3 (math extension font) and number 58 (big
sum character).
∞
X
P
∞
a b a b
i=1 i=1
1 {\Large
2 $a\sum\limits_{i=1}^{\infty} b \quad
3 a\mathchar"1358\limits_{i=1}^{\infty} b$}
44.8 \mathchardef
This is in principle the same as \mathchar, it only allows to make such definitions
permanent.
∞
X √
a i+1
i=1
P∞ √
a i+1
i=1
1 \bgroup
2 \mathchardef\sum="1358
3 $a\sum\limits_{i=1}^{\infty}\sqrt{i+1}$\\[5pt]
4 \egroup
5
6 $a\sum\limits_{i=1}^{\infty}\sqrt{i+1}$
44.9 \mathchoice
Specifies specific subformula sizes for the 4 main styles: \displaystyle – \textstyle
– \scriptstyle – \scriptscriptstyle.
MathmodeOrig.tex v.2.47 81
44 MATH FONT MACROS 44.10 \mathclose
P
∞ √
i+1
i2
i=1
1 \Large
2 \def\myRule{{%
3 \color{red}%
4 \mathchoice{\rule{2pt}{20pt}}{\rule{1pt}{10pt}}%
5 {\rule{0.5pt}{5pt}}{\rule{0.25pt}{2.5pt}}%
6 \mkern2mu}}
7 $\myRule\sum\limits_{\myRule i=1}^{\myRule\infty}%
8 \myRule\frac{\myRule\sqrt{\myRule i+1}}{\myRule i^2}$
44.10 \mathclose
Assigns class 5 (closing character) to the following parameter, which can hold a
single character or a subformula.
B
A: C
:D
A: B
C
:D
1 {\large
2 $A:\frac{B}{C}:D$\\[5pt]
3 $A\mathopen:\frac{B}{C}\mathclose: D $}
44.11 \mathcode
A math font is far different from a text font. A lot of the characters has to be defined
with \mathcode, which defines the character with its class, font family and character
number, e.g., \mathcode‘\<="313C. It defines the character “<” as a realtion symbol
(class 3) from the font family 1 and the character number 0x3C, which is 60 decimal.
44.12 \mathop
Assigns class 1 (large operator) to the parameter, which can be a single character or
a subformula.
A∞
i=1
∞
A
i=1
1 \[ A_{i=1}^{\infty} \]
2 \[ \mathop{A}_{i=1}^{\infty} \]
44.13 \mathopen
44.14 \mathord
Assigns class 0 (ordinary character) to the following parameter, which can be a single
character or a subformula.
y = f (x)
y=f (x)
1 {\large
2 $y = f(x)$\\[5pt]
3 $y \mathord= f(x)$}
82 MathmodeOrig.tex v.2.47
44.15 \mathpunct 44 MATH FONT MACROS
44.15 \mathpunct
44.16 \mathrel
Assigns class 3 (relation) to the following parameter, which can be a single character
or a subformula.
x1 ox2 ox3
x1 o x2 o x3
1 {\large
2 $x_1 o x_2 o x_3$\\[5pt]
3 $x_1\mathrel o x_2\mathrel o x_3$}
44.17 \scriptfont
A1 A1
1 $A_1$
2 \font\tenxii=cmr12
3 \scriptfont0=\tenxii
4 $A_1$
44.18 \scriptscriptfont
44.19 \scriptscriptstyle
44.20 \scriptstyle
44.21 \skew
Especially for italic characters double accents are often misplaced. \skew has three
arguments
horizontal shift: A value in math units for the additional shift of the accent.
the character: This is in general a single character, but can also include itself an
accent.
AMS math redefines the setting of double accents. This is the reason why there
are only a few cases where someone has to use \skew when the package amsmath is
loaded, like in this document.
MathmodeOrig.tex v.2.47 83
45 MATH MACROS 44.22 \skewchar
ĩ Ã
1
ĩ
\large
Ã
2 $\tilde i$ \qquad $\tilde{A}$\\[5pt]
3 $\skew{3}{\tilde}{i}$ \qquad $\skew{7}{\tilde}{A}$
44.22 \skewchar
44.23 \textfont
44.24 \textstyle
45 Math macros
45.1 \above
a
b
a
b
a
b
a
1
b
$a\above0pt b$\\[8pt]
2
3 ${a\above1pt b}$\\[8pt]
4
5 ${a\above2.5pt b}$\\[8pt]
6
7 $\displaystyle{a\above0pt b}$
45.2 \abovewithdelims
84 MathmodeOrig.tex v.2.47
45.3 \atop 45 MATH MACROS
a
b
a
b
a
b
a
b
1 $a\abovewithdelims()0pt b$\\[8pt]
2
3 \def\fdelimA{\abovewithdelims\{)1.0pt}
4 ${a\fdelimA b}$\\[8pt]
5
6 \def\fdelimB{\abovewithdelims[]2.0pt}
7 ${a\fdelimB b}$\\[8pt]
8
9 \def\fdelimC{\abovewithdelims\{.0pt}
10 $\displaystyle{a\fdelimC b}$
45.3 \atop
a
b
( nk ) = n!
k!(n−k)!
a
1
b
$a\atop b$\\[8pt]
2
5 $\displaystyle{a\atop b}$
45.4 \atopwithdelims
a
b
n
n!
k = k!(n−k)!
a
b
1 $a\atopwithdelims() b$\\[8pt]
2
5 $\displaystyle{a\atopwithdelims\{. b}$
45.5 \displaylimits
Resets the conventions for using limits with operators to the standard for the used
environment.
45.6 \eqno
Puts an equation number at the right margin, the parameter can hold anything.
\eqno places only the parameter, but doesn’t increase any equation counter.
MathmodeOrig.tex v.2.47 85
45 MATH MACROS 45.7 \everydisplay
y = f (x) (A12)
1 \[ y=f(x) \eqno{(A12)} \]
45.7 \everydisplay
Inserts the parameter at the start of every switch to display math mode.
ˆ
sin x
f (x) = dx
x
ˆ
sin2 x
g(x) = dx
x2
1 \everydisplay{\color{red}
2 }
3 \[ f(x) = \int \frac{\sin x}{x}\,\mathrm{d}x \]
4 \[ g(x) = \int \frac{\sin^2 x}{x^2}\,\mathrm{d}x \]
45.8 \everymath
Same as \everydisplay, but now for the inline mode. In the following example the
displaystyle is used (besides using color red) for every inline math expression.
ˆ
sin x
f (x) = dx
x
sin x cos x
Instead of now with :
x x
ˆ
cos x
g(x) = dx
x
1 \everymath{\color{red}%
2 \displaystyle}
3 \[ f(x) = \int \frac{\sin x}{x}\,\mathrm{d}x \]
4 Instead of $\frac{\sin x}{x}$
5 now with $\frac{\cos x}{x}$:
6 \[ g(x) = \int \frac{\cos x}{x}\,\mathrm{d}x \]
Pay attention for side effects on footnotes and other macros which use the math
mode for superscript and other math related modes. In this case you’ll get the
footnotes also in red.
45.9 \left
TEX calculates the size of the following delimiter needed at the left side of a formula.
Requires an additional right.
45.10 \leqno
86 MathmodeOrig.tex v.2.47
45.11 \limits 45 MATH MACROS
45.11 \limits
Typesets limits above and/or below operators (see section 6 on page 22).
45.12 \mathinner
45.13 \nolimits
The opposite of \limits, instead of above/below limits are placed to the right of
large operators (class 1).
45.14 \over
m
a n
b a+b
m
n
a+b
1 $ {a\over b} \qquad {{m\over n}\over{a+b}} $
2 \[ {m\over n}\over{a+b} \]
45.15 \overline
Puts a line over the following character or subformula and has the same problems
with different heights as underlines (see section 45.19).
x+y =z
x+A=z
x+A=z
1 $\overline{x}+\overline{y}=\overline{z}$\\
2 \let\ol\overline
3 $ \ol{x} + \ol{A} = \ol{z} $\\[5pt]
4 \def\yPh{\vphantom{A}}
5 $ \ol{x\yPh} + \ol{A} = \ol{z\yPh} $
45.16 \overwithdelims
a
m
n
b a+b
m
n
a+b
1 $ {a\overwithdelims() b} \qquad {{m\over n}\overwithdelims[]{a+b
}} $
2 \[ {m\over n}\overwithdelims\{.{a+b} \]
MathmodeOrig.tex v.2.47 87
46 MATH PENALTIES 45.17 \radical
45.17 \radical
Makes a radical atom from the delimiter (27-bit number) and the math field.
q
1
7
r
1
7
s
1
7
v
t
1
7
1 \def\mySqrt{\radical"0270371\relax}
2 $ \mySqrt{\frac{1}{7}} $\\[5pt]
3
4 \def\mySqrt{\radical"0270372\relax}
5 $ \mySqrt{\frac{1}{7}} $\\[5pt]
6
7 \def\mySqrt{\radical"0270373\relax}
8 $ \mySqrt{\frac{1}{7}} $\\[5pt]
9
10 \def\mySqrt{\radical"0270374\relax}
11 $ \mySqrt{\frac{1}{7}} $\\[5pt]
45.18 \right
Opposite to \left, makes TEX calculate the size of the delimiter needed at the right
of a formula.
45.19 \underline
When there is a combination of variables with and without an index, the underlines
are typeset with a different depth. Using \vphantom in this case is a good choice.
x+y =z
x+y =z
x 1 + y2 = z3
1 $\underline{x}+\underline{y}=\underline{z}$\\
2
3 \let\ul\underline
4 \def\yPh{\vphantom{y}}
5 $ \ul{x\yPh} + \ul{y} = \ul{z\yPh} $\\
6
45.20 \vcenter
46 Math penalties
46.1 \binoppenalty
A penalty for breaking math expressions between lines in a paragraph. TeX breaks
lines only when the binary symbol is not the last one and when the penalty is below
88 MathmodeOrig.tex v.2.47
46.2 \displaywidowpenalty 46 MATH PENALTIES
10,000.
46.2 \displaywidowpenalty
The penalty which is added after the penultimate line immediately preceeding a
display math formula.
46.3 \postdisplaypenalty
46.4 \predisplaypenalty
46.5 \relpenalty
The penalty for a line break after a relation symbol (if a break is possible).
MathmodeOrig.tex v.2.47 89
Math packages
Part IV
Other packages
The following sections are not a replacement for the package documentation!
47.1 accents
The amscd package is part of the AMS math bundle or available at CTAN27 and has no
options for the \usepackage command. amscd does not support diagonal arrows but
27
CTAN://macros/latex/required/amslatex/math/amscd.dtx
90 MathmodeOrig.tex v.2.47
47.3 amsopn Math packages
is much easier to handle than the complex pstricks package or the xypic package.
On the other hand simple diagrams can be written with the array environment or
look at [23].
restriction
R × S × T −−−−−−→ S × T
proj y
proj
y
R×S ←−−−−− S
inclusion
1 \[
2 \begin{CD}
3 R\times S\times T @>\text{restriction}>> S\times T \\
4 @VprojVV @VVprojV \\
5 R\times S @<<\text{inclusion}< S
6 \end{CD}
7 \]
47.3 amsopn
With the amsopn package it is very easy to declare new math operators, which are
written in upright mode:
Res versus Res
s=p s=p
1 \documentclass[10pt]{article}
2 \usepackage{amsmath}
3 \usepackage{amsopn}
4 \DeclareMathOperator{\Res}{Res}
5 \begin{document}
6 $\underset{s=p}{Res}\quad\underset{s=p}{\Res}$
7 \end{document}
47.4 bigdel
This is a very useful package together with the multirow package. In the following
example we need additional parentheses for a different number of rows. This is also
possible with the array environment, but not as easy as with the bigdelim package.
MathmodeOrig.tex v.2.47 91
Math packages 47.5 bm
The trick is that you need one separate column for a big delimiter, but with empty
cells in all rows, which the delimiter spans.
x11 x12 ... x1p
x21 x22 ... x2p
.. some text
.
text
x xn1 2 ... xn1 p
n1 1
x xn1 +1,2 . . . xn1 +1,p
n1 +1,1
.
some more text
..
xn1 +n2 ,1 xn1 +n2 ,2 . . . xn1 +n2 ,p
..
.
1 \[
2 \begin{pmatrix}
3 & x_{11} & x_{12} & \dots & x_{1p} & \rdelim\}{4}{3cm}[some text]\\
4 \ldelim[{5}{1cm}[text] & x_{21} & x_{22} & \dots & x_{2p} \\
5 & \vdots\\
6 & x_{n_1 1}& x_{n_1 2} & \dots & x_{n_1 p}\\
7 & x_{n_1+1,1}&x_{n_1+1,2} & \dots & x_{n_1+1, p} &
8 \rdelim\}{3}{3cm}[some more text]\\
9 & \vdots\\
10 & x_{n_1+n_2, 1} & x_{n_1+n_2,2} & \dots & x_{n_1+n_2,p}\\
11 & \vdots \\
12 \end{pmatrix}
13 \]
As seen in the above listing the left big delimiter is placed in the first column,
all other rows start with second column. It is possible to use all columns above and
below the delimiter. For the array environment there must be two more columns
defined, in case of a big delimiter left and right. The syntax of \ldelim and \rdelim
is:
Any delimiter which is possible for the \left or \right command is allowed, e.g.,
“()[]{}|”. The text is an optional argument and always typeset in text mode.
47.5 bm
By default the math macro \mathbf writes everything in bold and in upright mode
y = f (x) ($\mathbf{y=f(x)}$), but it should be in italic mode especially for variables
y = f (x) ($\bm{y=f(x)}$), which is possible with the package bm. For writing a
whole formula in bold have a look at section 22 on page 43.
47.6 braket
92 MathmodeOrig.tex v.2.47
47.6 braket Math packages
looks not quite right and it is not really easy to get the first vertical line in the same
size as the outer braces. Some solution may be using \vphantom:
5
x ∈ R 0 < |x| <
3
1 \[
2 \left\{\vphantom{\frac{5}{3}}x\in\mathbf{R} \right|\left. 0<{|x|}<\frac{5}{3}\right\}
3 \]
1 \Bra{<math expression>}
2 \Ket{<math expression>}
3 \Braket{<math expression>}
4 \Set{<math expression>}
and the same with a leading lower letter, which are not really interesting.
5
x ∈ R|0 < |x| <
3
x ∈ R|0 < |x| < 5
3
5
x ∈ R0 <x<
3
5
x ∈ R 0 < |x| <
3
5
x ∈ R 0 < |x| <
3
1 \[ \Bra{x\in\mathbf{R} | 0<|x|<\frac{5}{3}} \]
2 \[ \Ket{x\in\mathbf{R} | 0<|x|<\frac{5}{3}} \]
3 \[ \Braket{x\in\mathbf{R} | 0<|x|<\frac{5}{3}} \]
4 \[ \Braket{x\in\mathbf{R} | 0<\vert x\vert <\frac{5}{3}} \]
5 \[ \Set{x\in\mathbf{R} | 0<|x|<\frac{5}{3}} \]
The difference between the \Set and the \Braket macro is the handling of the
vertical lines. In \Set only the first one gets the same size as the braces and in
\Braket all.
2
∂
φ 2 ψ
∂t
2
∂
φ 2 |ψ
∂t
MathmodeOrig.tex v.2.47 93
Math packages 47.7 cancel
47.7 cancel
This is a nice package for canceling anything in mathmode with a slash, backslash or
a X. To get a horizontal line we can define an additional macro called \hcancel with
an optional argument for the line color (requires package color):
1 \newcommand\hcancel[2][black]{\setbox0=\hbox{#2}%
2 \rlap{\raisebox{.45\ht0}{\textcolor{#1}{\rule{\wd0}{1pt}}}}#2}
\bcancel: 3 1234567
hhh
A h
\xcancel: 3 1234567
hh h(
((
A
( h
\hcancel: 3 1234567
1 $f(x)=\dfrac{\left(x^2+1\right)\cancel{(x-1)}}{\cancel{(x-1)}(x+1)}$\\[0.5cm]
2 $\bcancel{3}\qquad\bcancel{1234567}$\\[0.5cm]
3 $\xcancel{3}\qquad\xcancel{1234567}$\\[0.5cm]
4 $\hcancel{3}\qquad\hcancel[red]{1234567}$
47.8 cool
The cool package defines a lot of special mathematical expressions to use them by
the macro name. The following list shows only some of them, for more informations
look at the example file, which comes with the package.
\Sin{x} sin(x)
\Cos{x} cos(x)
\Tan{x} tan(x)
\Csc{x} csc(x)
\Sec{x} sec(x)
\Cot{x} cot(x)
\Style{ArcTrig=inverse} (default)
\Style{ArcTrig=arc}
\ArcSin{x} arcsin(x)
\ArcCos{x} arccos(x)
\ArcTan{x} arctan(x)
\ArcCsc{x} csc−1 (x)
\ArcSec{x} sec−1 (x)
\ArcCot{x} cot−1 (x)
94 MathmodeOrig.tex v.2.47
47.9 delarray Math packages
\Factorial{n} n!
\DblFactorial{n} n!!
n
\Binomial{n}{k}
k
\Multinomial{1,2,3,4} (i1 + . . . + in ; i1 , . . . , in )
\GammaFunc{x} Γ(x)
\IncGamma{a}{x} Γ(a, x)
\GenIncGamma{a}{x}{y} Γ(a, x, y)
\RegIncGamma{a}{x} Q(a, x)
\RegIncGammaInv{a}{x} Q−1 (a, x)
\GenRegIncGamma{a}{x}{y} Q(a, x, y)
\GenRegIncGammaInv{a}{x}{y} Q−1 (a, x, y)
\Pochhammer{a}{n} (a)n
\LogGamma{x} logΓ(x)
\Hypergeometric{0}{0}{}{}{x} 0 F0 (; ; x)
\Hypergeometric{0}{1}{}{b}{x} 0 F1 (; b; x)
\RegHypergeometric{0}{0}{}{}{x} 0 F̃ 0 (; ; x)
\RegHypergeometric{0}{1}{}{b}{x} 0 F̃ 1 (; b; x)
\MeijerG[a,b]{n}{p}{m}{q}{x}
a1 , . . . , an , an+1 , . . . , ap
Gm,n
p,q x
b1 , . . . , bm , bm+1 , . . . , bq
\MeijerG{1,2,3,4}{5,6}{3,6,9}{12,15,18,21,24}{x}
1, 2, 3, 4, 5, 6
G3,4
6,8 x
3, 6, 9, 12, 15, 18, 21, 24
\RiemannZeta{s} ζ(s)
\Zeta{s} ζ(s)
\HurwitzZeta{s}{a} ζ(s, a)
\Zeta{s,a} ζ(s, a)
\RiemannSiegelTheta{x} ϑ(x)
\RiemannSiegelZ{x} Z(x)
\StieltjesGamma{n} γn
\MathieuC{a}{q}{z} Ce(a, q, z)
\MathieuS{a}{q}{z} Se(a, q, z)
\MathieuCharacteristicA{r}{q} ar (q)
\MathieuCharisticA{r}{q} ar (q)
\MathieuCharacteristicB{r}{q} br (q)
\MathieuCharisticB{r}{q} br (q)
\MathieuCharacteristicExponent{a}{q} r(a, q)
\MathieuCharisticExp{a}{q} r(a, q)
47.9 delarray
Package delarray28 supports different delimiters which are defined together with
the beginning of an array:
28
CTAN://macros/latex/required/tools/delarray.dtx
MathmodeOrig.tex v.2.47 95
Math packages 47.10 dotseqn
1 \begin{array}<delLeft>{cc}<delRight>
2 ...
The delarray package expects a pair of delimiters. If you need only one (like the
cases structure) then use the dot for an “empty” delimiter, e.g.,
1 \[
2 A=\begin{array}\{{cc}.
a & b\\
3
a b
4 c & d A=
c d
5 \end{array}
6 \]
which is a useful command for a cases structure without the AMS math package,
which is described in the AMS math part.
47.10 dotseqn
This package29 fills the space between the math expression and the equation number
with dots. Expect problems when using this package together with AMS math.
ˆ
F (x) = f (x) dx + C . . . . . . . . . . . . . . . . . . . . (47.1)
ˆ
F (x) = f (x) dx + C . . . . . . . . . . . . . . . . . . . . . (47.2)
1 \begin{eqnarray}
2 F(x) &=& \int f(x)\,\mathrm{d}x + C
3 \end{eqnarray}
4 %
5 \begin{equation}
6 F(x)=\int f(x)\,\mathrm{d}x + C
7 \end{equation}
47.11 empheq
This package30 supports different frames for math environments of the AMS math
package. It doesn’t support all the environments from standard LATEX which are not
modified by AMS math, e.g., eqnarray environment.
29
CTAN://macros/latex/contrib/dotseqn
30
The package is part of the mh-bundle of Morten Høgholm (CTAN://macros/latex/contrib/mh/).
96 MathmodeOrig.tex v.2.47
47.12 esint Math packages
With the optional argument of the empheq environment the preferred box type
can be specified. A simple one is \fbox
ˆ ∞
1
f (x) = dx = 1 (47.3)
1 x2
1 \begin{empheq}[box=\fbox]{align}
2 f(x)=\int_1^{\infty}\frac{1}{x^2}\,\mathrm{d}x=1
3 \end{empheq}
ˆ ∞
1
f (x) = dx = 1 (47.4)
1 x2
1 \begin{empheq}[box={\fboxsep=10pt\colorbox{yellow}}]{align}
2 f(x)=\int_1^{\infty}\frac{1}{x^2}\,\mathrm{d}x=1
3 \end{empheq}
The key box can hold any possible LATEX command sequence. Boxing subequations
is also no problem, the empheq environment works in the same way:
ˆ ∞
1
f (x) = dx = 1 (47.5a)
x1
ˆ1 ∞
1
f (x) = dx = 0.25 (47.5b)
2 x2
1 \begin{subequations}
2 \begin{empheq}[box={\fboxsep=10pt\colorbox{cyan}}]{align}
3 f(x) & =\int_1^{\infty}\frac{1}{x^2}\,\mathrm{d}x=1\\
4 f(x) & =\int_2^{\infty}\frac{1}{x^2}\,\mathrm{d}x=0.25
5 \end{empheq}
6 \end{subequations}
For more information on empheq package have a look at the documentation of the
package which is available at any CTAN server.
47.12 esint
This is a very useful package when you want nice double or triple integral or curve
integral symbols. The ones from the wasysym package31 are not the best. esint32
supports the following symbols:
ˆ
\int : (47.6)
¨
\iint : (47.7)
˚
\iiintop : (47.8)
31
CTAN://macros/latex/contrib/wasysym/
32
CTAN://macros/latex/contrib/esint/ CTAN://fonts/ps-type1/esint/
MathmodeOrig.tex v.2.47 97
Math packages 47.13 eucal and euscript
˘
\iiiintop : (47.9)
˙
\dotsintop : (47.10)
˛
\ointop : (47.11)
‹
\oiint : (47.12)
“
\sqint : (47.13)
„
\sqiint : (47.14)
‰
\ointctrclockwise : (47.15)
\ointclockwise : (47.16)
fi
\varointclockwise : (47.17)
ffi
\varointctrclockwise : (47.18)
\fint : (47.19)
"
\varoiint : (47.20)
$
\landupint : (47.21)
&
\landdownint : (47.22)
These packages should be part of your local TEX installation, because they come
with the AMS math packages. Otherwise get them from CTAN33 . They support a
scriptwriting of only uppercase letters:
\mathscr{...} ABCDEFGHIJKLMNOPQRSTUVWXYZ
Read the documentation for the interdependence to the \mathcal command. For
the above example the package eucal was loaded with the option mathscr.
47.14 exscale
The following formula is written with the default fontsize where everything looks
more or less well:
ˆ n
+1
f (x) πX 2i − 1
√ dx ≈ f cos
−1 1 − x2 n
i=1
2n
Writing the same with the fontsize \huge gives a surprising result, which belongs
to the historical development of LATEX, the \int and \sum symbols are not stretched.
This extreme fontsize is often needed for slides and not only written “just for fun”.
33
CTAN://fonts/amsfonts/latex/euscript.sty
98 MathmodeOrig.tex v.2.47
47.15 mathtools Math packages
Z
+1 √f (x) dx ≈ π Xn
f
cos
2i − 1
−1 2
1−x n i=1 2n
Using the exscale package34 package, which should be part of any local TEX
installation, all symbols get the right size.
ˆ +1 Xn
f (x) π 2i − 1
√ dx ≈ f cos
−1 1 − x2 n i=1 2n
47.15 mathtools
This package comes with a lot of additional features for typesetting math code.
Sometimes it is useful when only such equations are numbered which are referenced
in the text. This is possible with the switch \showonlyrefs.
Matrices are set by default with a centered horizontal alignment, which is often
not the best way. The mathtools package provides a starred version of the matrix
environments which allow an optional argument for the horizontal alignment:
1 −1 0
−1 1 −1
1 −1 0
−11 11 −11
1 \[
2 \begin{pmatrix*}[r]
3 1 & -1 & 0 \\
4 -1 & 1 & -1 \\
5 1 & -1 & 0 \\
6 -11 & 11 &-11 \\
7 \end{pmatrix*}
8 \]
mathtools also provides some more environments for setting equations. Very
interesting is the lgathered environment, which allows to typeset a formula in the
following way:
34
CTAN://macros/latex/base/
MathmodeOrig.tex v.2.47 99
Math packages 47.16 nicefrac
x= a+b+c (47.23)
d+e+f +g+h
i+j+k
1 \begin{align}
2 x &=
3 \begin{lgathered}[t]
4 a + b + c \\
5 d + e +
6 \!\begin{gathered}[t]
7 f + g + h \\
8 i + j + k
9 \end{gathered}
10 \end{lgathered}
11 \end{align}
The \! revokes the internal horizontal space in front of the gathered environ-
ment.
47.16 nicefrac
Typesetting fractions in the inline mode is often a bad choice, the vertical spacing
increases in fact of the fraction. The nicefrac package defines the macro \nicefrac,
which is used in the same way as the \frac command, but it typesets the fraction
with a less height: 2/3 \nicefrac{2}{3}. The package is part of the units package
bundle and can be found in the directory of units.
47.17 relsize
Often consecutives math operators are used, like two sum symbols, e.g.,
n
XX
i2
i=1
As seen the sums are of the same size. To increase the first operator size, someone
can use the \scalebox macro from package graphicx environment and write an own
macro \Sum, e.g.,
1 \def\Sum{\ensuremath\mathop{\scalebox{1.2}{$\displaystyle\sum$}}}
2 \[ \Sum_{j=1}\sum_{i=1}^\infty i \]
XX
∞
i
j=1 i=1
Another solution is to use the relsize package35 together with the exscale one.
relsize defines a useful macro \mathlarger:
XX
n
i2
i=1
1 \[ \mathlarger{\sum}\sum_{i=1}^n i^2 \]
35
CTAN://macros/latex/ltxmisc/
47.18 xypic
The \xymatrix macro is part of the xypic package36 which can be loaded with
several options which are not so important here.37 .
A B C (47.24)
D E F
G H I
This matrix was created with
1 \[
2 \xymatrix{ A\POS [];[d]**\dir {~},[];[dr]**\dir {-} & B & C\\
3 D & E\POS [];[l]**\dir {.},[];[r]**\dir {~} & F\POS [];[dl]**\dir {~}\\
4 G & H & I}
5 \]
36
CTAN://macros/generic/diagrams/xypic/xy-3.7/
37
For more information look at the package documentation or the package xy itself, which is often
saved in /usr/share/texmf/tex/generic
Part V
Math fonts
Typesetting text and math is far different. There exist a lot of free text fonts without
additional math characters. This is the reason why we have to buy a commercial
math font, e. g. Palatino (pamath) or Helvetica (hvmath), or to combine the free text
font with another free math font.
48 Computer modern
This is the default font, designed by Knuth. For the PDF output the Type 1 fonts
cm-super and BlueSky were used.
wobei C ⊂ D\{a} ein geschlossener Weg mit n(C, a) = 1 ist (z.B. ein entgegen
dem Uhrzeigersinn durchlaufener Kreis).
AΛ∆∇BCDΣEFΓGHIJKLMNOΘΩfPΦΠΞQRSTUVWXYΥΨZ
aαbβc∂dδeεf ζξgγh~}ιiıjkκκl`λmnηθϑoσςφϕ℘pρ%qrstτ πuµνvυwω$
xχyψz∞ ∝ ∅∅dð
49 Latin modern
This is the new designed font which comes with an own Type 1 version.lm
wobei C ⊂ D\{a} ein geschlossener Weg mit n(C, a) = 1 ist (z.B. ein entgegen
dem Uhrzeigersinn durchlaufener Kreis).
AΛ∆∇BCDΣEFΓGHIJKLMNOΘΩfPΦΠΞQRSTUVWXYΥΨZ
aαbβc∂dδeεf ζξgγh~}ιiıjkκκl`λmnηθϑoσςφϕ℘pρ%qrstτ πuµνvυwω$
xχyψz∞ ∝ ∅∅dð
50 Palatino
1
Z
Res f (z) = Res f = f (z) dz ,
z= a a 2πi
C
wobei C ⊂ D \{ a} ein geschlossener Weg mit n(C, a) = 1 ist (z.B. ein entgegen
dem Uhrzeigersinn durchlaufener Kreis).
AΛ∆∇BCDΣEFΓGHIJKLMNOΘΩfPΦΠΞQRSTUVWXYΥΨZ
aαbβc∂dδeeε f ζξgγhh̄}ιiıjkκ κ l `λmnηθϑoσςφϕ℘ pρ$qrstτπuµνvυwωv
xχyψz∞ ∝ ∅∅dð
51 Palatino – microimp
wobei C ⊂ D\{a} ein geschlossener Weg mit n(C, a) = 1 ist (z.B. ein entgegen
dem Uhrzeigersinn durchlaufener Kreis).
AΛ∆∇BCDΣEFΓ GHIJKLMNOΘΩfPΦΠΞQRSTUVWXYΥ ΨZ
aαbβc∂dδeεfζξgγhħ}ιiıjkκκl`λmnηθϑoσςφϕ℘pρ%qrstτπuµνvυwω$
xχyψz∞ ∝ ∅∅dð
52 cmbright
wobei C ⊂ D\{a} ein geschlossener Weg mit n(C, a) = 1 ist (z.B. ein entgegen dem
Uhrzeigersinn durchlaufener Kreis).
AΛ∆∇BCDΣEFΓ GHIJKLMNOΘΩfPΦΠΞQRSTUVWXYΥΨZ
aαbβc∂dδeεf ζξgγh~}ιi ıjkκκl`λmnηθϑoσςφϕ℘pρ%qr stτ πuµνv υw ω$
xχy ψz∞ ∝ ∅∅dð
53 minion
∫
1
Res f(z) = Res f = f(z) dz ,
z=a a 2πi
C
wobei C ⊂ Da ein geschlossener Weg mit n(C, a) = 1 ist (z.B. ein entgegen dem
Uhrzeigersinn durchlaufener Kreis).
AΛ∆∇BCDΣEFΓGHIJKLMNOΘΩΩPΦΠΞQRSTUVWXYΥΨZ
aαbβc∂dδeєε fζξgγhħħιiı jȷkκϰlℓλmnηθϑoσςϕφ³pρρqrstτπuµνvυwωϖ
xχyψzª ggdðэ
Part VI
Special symbols
In this section only those symbols are defined, which are not part of the list of
all available symbols: CTAN://info/symbols/comprehensive/symbols-a4.pdf. With
fontmath.ltx LATEX itself defines the following special symbols for using inside
math:
Name Meaning
\mathparagraph ¶
\mathsection §
\mathdollar $
\mathsterling £
\mathunderscore
\mathellipsis ...
54 Integral symbols
Name Symbol
´
\dashint −
´
\ddashint =
´
\clockint
´
\counterint
For all new integral symbols limits can be used in the usual way:
ˆ ˆ ˛∞ ˆ ˆ
=1=−0< = (54.1)
0 1 A
−∞
1 \ddashint_01=\dashint_10<\oint\limits_{-\infty}^\infty = \clockint\counterint_A
Put the following definitions into the preamble to use one or all of these new
integral symbols.
1 \def\Xint#1{\mathchoice
2 {\XXint\displaystyle\textstyle{#1}}%
3 {\XXint\textstyle\scriptstyle{#1}}%
4 {\XXint\scriptstyle\scriptscriptstyle{#1}}%
5 {\XXint\scriptscriptstyle\scriptscriptstyle{#1}}%
6 \!\int}
7 \def\XXint#1#2#3{{\setbox0=\hbox{$#1{#2#3}{\int}$}
8 \vcenter{\hbox{$#2#3$}}\kern-.5\wd0}}
9 \def\ddashint{\Xint=}
10 \def\dashint{\Xint-}
11 \def\clockint{\Xint\circlearrowright} % GOOD!
12 \def\counterint{\Xint\rotcirclearrowleft} % Good for Computer Modern!
13 \def\rotcirclearrowleft{\mathpalette{\RotLSymbol{-30}}\circlearrowleft}
14 \def\RotLSymbol#1#2#3{\rotatebox[origin=c]{#1}{$#2#3$}}
55 Harpoons
LATEX knows no stretchable harpoon symbols, like \xrightarrow. The following code
defines several harpoon symbols.
\xrightharpoondown
\xrightharpoonup
1 \def\rightharpoondownfill@{%
\xleftharpoondown
2 \arrowfill@\relbar\relbar\rightharpoondown}
\xleftharpoonup
3 \def\rightharpoonupfill@{%
\xleftrightharpoons
4 \arrowfill@\relbar\relbar\rightharpoonup}
\xrightleftharpoons
5 \def\leftharpoondownfill@{%
6 \arrowfill@\leftharpoondown\relbar\relbar}
7 \def\leftharpoonupfill@{%
8 \arrowfill@\leftharpoonup\relbar\relbar}
9 \newcommand{\xrightharpoondown}[2][]{%
10 \ext@arrow 0359\rightharpoondownfill@{#1}{#2}}
11 \newcommand{\xrightharpoonup}[2][]{%
12 \ext@arrow 0359\rightharpoonupfill@{#1}{#2}}
13 \newcommand{\xleftharpoondown}[2][]{%
14 \ext@arrow 3095\leftharpoondownfill@{#1}{#2}}
15 \newcommand{\xleftharpoonup}[2][]{%
16 \ext@arrow 3095\leftharpoonupfill@{#1}{#2}}
17 \newcommand{\xleftrightharpoons}[2][]{\mathrel{%
18 \raise.22ex\hbox{%
19 $\ext@arrow 3095\leftharpoonupfill@{\phantom{#1}}{#2}$}%
20 \setbox0=\hbox{%
21 $\ext@arrow 0359\rightharpoondownfill@{#1}{\phantom{#2}}$}%
22 \kern-\wd0 \lower.22ex\box0}%
23 }
24 \newcommand{\xrightleftharpoons}[2][]{\mathrel{%
25 \raise.22ex\hbox{%
26 $\ext@arrow 3095\rightharpoonupfill@{\phantom{#1}}{#2}$}%
27 \setbox0=\hbox{%
28 $\ext@arrow 0359\leftharpoondownfill@{#1}{\phantom{#2}}$}%
29 \kern-\wd0 \lower.22ex\box0}%
30 }
over
\xrightharpoondown[under]{over} −−−+
under
over
\xrightharpoonup[under]{over} −−−*
under
over
\xleftharpoondown[under]{over} )−−−
under
over
\xleftharpoonup[under]{over} (−−−
under
over
\xleftrightharpoons[under]{over} (−−
−− −+
−
under
over
\xrightleftharpoons[under]{over} −
)−
−−−*
−
under
→ we can define:
To get something like
1 \def\bijmap{%
2 \ensuremath{%
3 \mathrlap{\rightarrowtail}\rightarrow%
4 }%
5 }
This uses the \mathrlap definition from section 35.2 on page 66. With this
definition a huge symbol is also possible: {\Huge\bijmap} →
.
There are several symbols stacked with an equal sign, e.g.,\doteq, \equiv or \cong
.
(=, ≡ , ∼
= ). But there are still some missing, which are shown in table 22 and the
following definitions.
def
\eqdef =
!
\eqexcl =
\eqhat b
=
1 \newcommand{\eqdef}{\ensuremath{\mathrel{\stackrel{\mathrm{def}}{=}}}}
2 \newcommand{\eqexcl}{\ensuremath{\mathrel{\stackrel{\mathrm{!}}{=}}}}
3 \newcommand{\eqhat}{\ensuremath{\mathrel{\widehat{=}}}}
58 Other symbols
1 \newcommand*{\threesim}{%
2 \mathrel{\vcenter{\offinterlineskip
3 \hbox{$\sim$}\vskip-.35ex\hbox{$\sim$}\vskip-.35ex\hbox{$\sim ∼
∼
∼ ABC
$}}}}
4 $\threesim ABC$
Part VII
Examples
59 Tuning math typesetting
Chapter 18 of the TEXbook is named „Fine Points of Mathematics Typing“ [12] and it
shows on 20 pages some more or less important facts when typesetting mathematical
expressions. Often inline formulas contain a punctuation character like a dot, comma,
colon, etc.. It is a general rule to write those characters outside the math mode.
Compare
a, b, c, d, e, and f
a, b, c, d, e, and f
1 $a, b, c, d, e, \textrm{and }f$ \\[5pt]
2 $a$, $b$, $c$, $d$, $e$, and $f$
This is correct as long as on the left and right are a comma as a separator. For
sums the \cdot command should be used instead:
1 + 2 + · · · + 10
xn = xn−1 = · · · = n0 = 1
1 $1+2+\cdots+10$\\[5pt]
2 $x_n=x_{n-1}=\cdots=n_0=1$
ˆ
F (x) = f (x) dx
ds
v(t) =
dt
d2 s
a(t) = 2
\begin{align }
dt
1 *
2 F(x) &= \int\!f(x)\diff x\\
3 v(t) &= \dst\\
4 a(t) &= \frac{\diff{}^2s}{\diff t^2}
5 \end{align*}
ˆ ˆ
G(t) = · · · dx dy . . .
| {z }
ˆ D
uC (t) = iC (t) dt
1 \begin{align*}
2 G(t) &= \underbrace{\,\int\cdots\!\int\!\!}_D\;\
diff x\diff y\ldots\\
3 u_C(t) &= \int\!\,i_C(t)\diff t
4 \end{align*}
60 Matrix
There are several possibilities to write this matrix. Here is a solution with the default
array environment.
1
1 0
1
0 1
1
1 \[
2 \left(
3 \begin{array}{ccccc}
4 1\\
5 & 1 & & \text{{\huge{0}}}\\
6 & & 1\\
7 & \text{{\huge{0}}} & & 1\\
8 & & & & 1
9 \end{array}
10 \right)
11 \]
←−−−
←−−−
←−−−
text1
text1
text1
text1
Xx Yx Zx Tx
Xy Yy Zy Ty
Xz Yz Zz Tz
0 0 0 1
1 \def\rb#1{\rotatebox{90}{$\xleftarrow{#1}$}}
2 \begin{tabular}{c}
3 $\begin{matrix}
4 \rb{text1}&\rb{text1}&\rb{text1}&\rb{text1}\\
5 \end{matrix}$\\
6 $\begin{bmatrix}
7 X_x & Y_x & Z_x & T_x \\
8 X_y & Y_y & Z_y & T_y \\
9 X_z & Y_z & Z_z & T_z \\
10 0 & 0 & 0 & 1
11 \end{bmatrix}$
12 \end{tabular}
61 Cases structure
is a useful command.
D +z
−D ≤ z ≤ −p
z2
I(z) = δ0 D − 12 p − p −p ≤ z ≤ p (61.1)
D−z p ≤z≤ D
1 \begin{equation}
2 \addtolength{\arraycolsep}{-3pt}
3 I(z)=\delta_{0}\left\{%
4 \begin{array}{lcrcl}
5 D+z & \quad & -D & \le z\le & -p\\
6 D-\frac{1}{2}\left(p-\frac{z^{2}}{p}\right)%
7 & \quad & -p & \le z\le & \phantom{-}p\\
8 D-z & \quad & p & \le z\le & \phantom{-}D
9 \end{array}\right.
10 \end{equation}
The \phantom command replaces exactly that place with whitespace which the
argument needs.
This is not possible in an easy way, because cases uses the array environment for
typesetting which has by default no numbering. However, there are some tricky ways
to get numbered lines. The following three examples use the tabular, the tabularx
and the array environment.
x = 2 if y > 2 (61.2)
some text here
x = 3 if y ≤ 2 (61.3)
1 \begin{tabular}{rc}
2 \ldelim\{{2}{2.75cm}[some text here] &
3 \parbox{{\linewidth-3cm-4\tabcolsep}}{
4 \vspace*{1ex}
5 \begin{flalign}
6 x & = 2\quad\text{if }y >2 &\\
7 x & = 3\quad\text{if }y \le 2&
8 \end{flalign}}
9 \end{tabular}
x = 2 if y > 2 (61.4)
some text here
x = 3 if y ≤ 2 (61.5)
1 \begin{tabularx}{\linewidth}{rXc}
2 \ldelim\{{2}{2.75cm}[some text here]
3 & $x=2\quad\text{if }y>2$ &\refstepcounter{equation}(\theequation)\\
4 & $x=3\quad\text{if }y\le2$&\refstepcounter{equation}(\theequation)
5 \end{tabularx}
x = 2 if y > 2 (61.6)
some text here
x = 3 if y ≤ 2 (61.7)
1 \[
2 \begin{array}{rc@{\qquad}c}
3 \ldelim\{{2}{2.75cm}[some text here]
4 & x = 2\quad\text{if }y > 2 & \refstepcounter{equation}(\theequation)\\
62 Arrays
There is a general rule that a lot of mathematical stuff should be divided in smaller
pieces. But sometimes it is difficult to get a nice horizontal alignment when splitting
a formula. The following ones uses the array environment to get a proper alignment.
y = x2 + bx + c
b
= x2 + 2 · x + c
2 2 2
2 b b b
= x +2· x+ − +c
2 2 2
| {z }
b 2
x+
2
2 2
b b b 2
= x+ − +c + −c
2 2 2
2
b b 2
y+ −c = x+ |(Scheitelpunktform)
2 2
y − yS = (x − xS )2 !
2
b b
S(xS ; yS ) bzw. S − ; −c
2 2
(62.1)
1 \begin{equation}
2 \begin{array}{rcll}
3 y & = & x^{2}+bx+c\\
4 & = & x^{2}+2\cdot{\displaystyle\frac{b}{2}x+c}\\
5 & = & \underbrace{x^{2}+2\cdot\frac{b}{2}x+\left(\frac{b}{2}\right)^{2}}-{\displaystyle%
6 \left(\frac{b}{2}\right)^{2}+c}\\
7 & & \qquad\left(x+{\displaystyle \frac{b}{2}}\right)^{2}\\
8 & = & \left(x+{\displaystyle \frac{b}{2}}\right)^{2}-\left({\displaystyle%
9 \frac{b}{2}}\right)^{2}+c & \left|+\left({\displaystyle%
10 \frac{b}{2}}\right)^{2}-c\right.\\
11 y+\left({\displaystyle \frac{b}{2}}\right)^{2}-c & = & \left(x+{\displaystyle%
12 \frac{b}{2}}\right)^{2} & \left|(\textrm{Scheitelpunktform})\right.\\
13 y-y_{S} & = & (x-x_{S})^{2}\\
14 S(x_{S};y_{S}) & \,\textrm{bzw.}\, & S\left(-{\displaystyle%
15 \frac{b}{2};\,\left({\displaystyle \frac{b}{2}}\right)^{2}-c}\right)
16 \end{array}
17 \end{equation}
1 \begin{equation}
2 \begin{array}{rcl}
3 \underline{RS} & = & \left(\begin{array}{cccccccc}
4 01 & a4 & 55 & 87 & 5a & 58 & db & 9e\\
5 a4 & 56 & 82 & f3 & 1e & c6 & 68 & e5\\
6 02 & a1 & fc & c1 & 47 & ae & 3d & 19\\
7 a4 & 55 & 87 & 5a & 58 & db & 9e & 03\end{array}\right)\\
8 \\
9 \left(\begin{array}{c}
10 s_{i,0}\\
11 s_{i,1}\\
12 s_{i,2}\\
13 s_{i,3}
14 \end{array}\right) & = & \underline{RS}\cdot%
15 \left(\begin{array}{c}
16 m_{8i+0}\\
17 m_{8i+1}\\
18 \cdots\\
19 m_{8i+6}\\
20 m_{8i+7}
21 \end{array}\right)\\
22 \\
23 S_{i} & = & \sum_{j=0}^{3}s_{i,j}\cdot2^{8j}\qquad i=0,1,...,k-1\\
24 \\
25 S & = & \left(S_{k-1},S_{k-2},...,S_{1},S_{0}\right)
26 \end{array}
27 \end{equation}
The array environment is a powerful one because it can be nested in several ways:
a11 a12
a21 a22 0 0
b11 b12 b13
0 b21 b22 b23 0
b31 b32 b33
c11 c12
0 0
c21 c22
1 \[
2 \left(
3 \begin{array}{c@{}c@{}c}
4 \begin{array}{|cc|}\hline
5 a_{11} & a_{12} \\
6 a_{21} & a_{22} \\\hline
7 \end{array} & \mathbf{0} & \mathbf{0} \\
8 \mathbf{0} &
9 \begin{array}{|ccc|}\hline
10 b_{11} & b_{12} & b_{13}\\
11 b_{21} & b_{22} & b_{23}\\
12 b_{31} & b_{32} & b_{33}\\\hline
13 \end{array} & \mathbf{0} \\
14 \mathbf{0} & \mathbf{0} &
15 \begin{array}{|cc|}\hline
16 c_{11} & c_{12} \\
17 c_{21} & c_{22} \\\hline
18 \end{array} \\
19 \end{array}
20 \right)
21 \]
0 0 1 0
Y1 = 1 0 1 0
1 1 1 1
2 1 3 1
1 \[
2 Y^1=
3 \begin{array}{c}
4 \null\\[1ex]% only vor vertical alignment
5 \left[\begin{array}{rrrr}
6 0 & 0 & 1 & 0\\
7 1 & 0 & 1 & 0\\
8 1 & 1 & 1 & 1
9 \end{array}\right]\\[3ex]\hline
10 \begin{array}{rrrr}
hk,1,0 (n) hk,1,1 (n) hk,1,2 (n) 0 0
hk,2,0 (n) hk,2,1 (n) hk,2,2 (n) 0 0
hk,3,0 (n) hk,3,1 (n) hk,3,2 (n) 0 0
hk,4,0 (n) hk,4,1 (n) hk,4,2 (n) 0 0
0 hk,1,0 (n − 1) hk,1,1 (n − 1) hk,1,2 (n − 1) 0
0 hk,2,0 (n − 1) hk,2,1 (n − 1) hk,2,2 (n − 1) 0
0 hk,3,0 (n − 1) hk,3,1 (n − 1) hk,3,2 (n − 1) 0
0 hk,4,0 (n − 1) hk,4,1 (n − 1) hk,4,2 (n − 1) 0
0 0 hk,1,0 (n − 2) hk,1,1 (n − 2) hk,1,2 (n − 2)
0 0 hk,2,0 (n − 2) hk,2,1 (n − 2) hk,2,2 (n − 2)
0 0 hk,3,0 (n − 2) hk,3,1 (n − 2) hk,3,2 (n − 2)
0 0 hk,4,0 (n − 2) hk,4,1 (n − 2) hk,4,2 (n − 2) 12×5
1 ...
2 \usepackage{array}
3 \usepackage{colortbl}
4 \definecolor{umbra}{rgb}{0.8,0.8,0.5}
5 \def\zero{\multicolumn{1}{>{\columncolor{white}}c}{0}}
6 \def\colCell#1#2{\multicolumn{1}{>{\columncolor{#1}}c}{#2}}
7 \begin{document}
8 \[\left[\,
9 \begin{array}{*{5}{>{\columncolor[gray]{0.95}}c}}
10 h_{k,1,0}(n) & h_{k,1,1}(n) & h_{k,1,2}(n) & \zero & \zero\\
11 h_{k,2,0}(n) & h_{k,2,1}(n) & h_{k,2,2}(n) & \zero & \zero\\
12 h_{k,3,0}(n) & h_{k,3,1}(n) & h_{k,3,2}(n) & \zero & \zero\\
13 h_{k,4,0}(n)} & \colCell{umbra}{h_{k,4,1}(n)} & h_{k,4,2}(n) & \zero & \zero\\
14 \zero & h_{k,1,0}(n-1) & h_{k,1,1}(n-1) & h_{k,1,2}(n-1) & \zero\\
15 \zero & h_{k,2,0}(n-1) & h_{k,2,1}(n-1) & h_{k,2,2}(n-1) & \zero\\
16 \zero & h_{k,3,0}(n-1) & h_{k,3,1}(n-1) & h_{k,3,2}(n-1) & \zero\\
17 \zero & \colCell{umbra}{h_{k,4,0}(n-1)} & h_{k,4,1}(n-1) & h_{k,4,2}(n-1) & \zero\\
18 \zero & \zero & h_{k,1,0}(n-2) & h_{k,1,1}(n-2) & h_{k,1,2}(n-2)\\
19 \zero & \zero & h_{k,2,0}(n-2) & h_{k,2,1}(n-2) & h_{k,2,2}(n-2)\\
20 \zero & \zero & h_{k,3,0}(n-2) & h_{k,3,1}(n-2) & h_{k,3,2}(n-2)\\
21 \zero & \zero & h_{k,4,0}(n-2) & h_{k,4,1}(n-2) & h_{k,4,2}(n-2)
22 \end{array} \,\right]_{12\times 5}\]
23 ...
1 2 3 4
→
− 1 2 3 4
A =
1 2 3 4
1 2 3 4
1 \[
2 \overrightarrow{A}=\left[
3 \begin{array}{cccc}
4 1 & 2 & 3 & 4\\
5 1 & 2 & 3 & 4\\\hline
6 \multicolumn{1}{|c}{1} & 2 & 3 &
7 \multicolumn{1}{c|}{4}\\\hline
8 1 & 2 & 3 & 4
9 \end{array}\right]
10 \]
1 2 3 4
→
− 1 2 3 4
A =
1
2 3 4
1 2 3 4
1 \[
2 \overrightarrow{A}=\left[
3 \begin{array}{cc|c|c}\cline{3-3}
4 1 & 2 & 3 & 4\\
5 1 & 2 & 3 & 4\\
6 1 & 2 & 3 & 4\\
7 1 & 2 & 3 & 4\\\cline{3-3}
8 \end{array}\right]
9 \]
1 2 3 4
→
− 1 2 3 4
A =
1 2 3 4
1 2 3 4
1 \[
2 \overrightarrow{A}=\left[
3 \begin{array}{cc|c|c}\cline{3-3}
4 1 & 2 & 3 & 4\\
5 1 & 2 & 3 & 4\\\hline
6 \multicolumn{1}{|c}{1} & 2 & 3 &
7 \multicolumn{1}{c|}{4}\\\hline
8 1 & 2 & 3 & 4\\\cline{3-3}
9 \end{array}\right]
10 \]
To put an underbrace in a root without enlarging the root symbol is possible with the
\makebox macro:
p
z= x2 + y 2
| {z }
=z 2
1 \[
2 z =\;\;\underbrace{%
3 \makebox[\widthof{~$x^2+y^2$}][r]{%
4 $\sqrt{x^2+y^2}$}}_{=z^2}
5 \]
o
z }| {
Overlapping under- and overbraces like | {z } | {z } needs some tricky code,
u1 u2
because we cannot have parts of the argument inside overbrace and also underbrace.
The following equation 63.1 is an example for such a construction:
y = 2x2 − 3x + 5
=0
z }| {
2 2
3 3 3 5
= 2 x2 − x + − + (63.1)
2 4 4 2
| {z }| {z }
2 !
3 31
=2 x− +
4 16
2
31 3
y− = 2 x−
8 4
1 \begin{align}\label{eq:pqFormel}
2 y &= 2x^2 -3x +5\nonumber\\
3 & \hphantom{= \ 2\left(x^2-\frac{3}{2}\,x\right. }%
4 \textcolor{blue}{%
5 \overbrace{\hphantom{+\left(\frac{3}{4}\right)^2- %
6 \left(\frac{3}{4}\right)^2}}^{=0}}\nonumber\\[-11pt]
7 &= 2\left(\textcolor{red}{%
8 \underbrace{%
9 x^2-\frac{3}{2}\,x + \left(\frac{3}{4}\right)^2}%
10 }%
11 \underbrace{%
12 - \left(\frac{3}{4}\right)^2 + \frac{5}{2}}%
13 \right)\\
14 &= 2\left(\qquad\textcolor{red}{\left(x-\frac{3}{4}\right)^2}
15 \qquad + \ \frac{31}{16}\qquad\right)\nonumber\\
16 y\textcolor{blue}{-\frac{31}{8}}
17 &= 2\left(x\textcolor{cyan}{-\frac{3}{4}}\right)^2\nonumber
18 \end{align}
When having several braces in one formula line, then it looks better when all braces
are also on the same line, e.g.,
xR sin γ − cos γ xK tx
= r · + (63.2)
yR cos γ sin γ yK ty
|{z} | {z } | {z }
Scaling Rotation Translation
1 \begin{equation}
2 \binom{x_R}{y_R} = \underbrace{r\vphantom{\binom{A}{B}}}_{\text{Skaling}}\cdot%
3 \underbrace{%
4 \begin{pmatrix}
5 \sin \gamma & -\cos \gamma \\
6 \cos \gamma & \sin \gamma \\
7 \end{pmatrix}%
8 }_{\text{Rotation}}
9 \binom{x_K}{y_K} + \underbrace{\binom{t_x}{t_y}}_{\text{Translation}}
10 \end{equation}
It is again the \vphantom macro which reserves the needed vertical space. Nev-
ertheless the horizontal space around the r of the first underbrace and the last +
should be decreased to get a better typesetting. This is possible with \hspace or
simply \kern:
xR sin γ − cos γ xK tx
=r· +
yR cos γ sin γ yK ty
|{z} | {z } | {z }
Skaling Rotation Translation
1 \[ \binom{x_R}{y_R} = %
2 \kern-10pt\underbrace{r\vphantom{\binom{A}{B}}}_{\text{Skaling}}\kern-10pt%
3 \cdot\underbrace{%
4 \begin{pmatrix}
5 \sin \gamma & -\cos \gamma \\
6 \cos \gamma & \sin \gamma \\
7 \end{pmatrix}%
8 }_{\text{Rotation}}
9 \binom{x_K}{y_K} +\kern-5pt%
10 \underbrace{\binom{t_x}{t_y}}_{\text{Translation}} \]
The forgoing example simply uses \hspace to decrease the horizontal width between
two underbraces. This may be okay for a single solution, but in general it is better to
have some code which works in any case.
The following example looks simple but it needs some tricky code to get vertical
and horizontal alignment.
300 29 19 9 8 1 1
7−→ 7−→ 7 →
− 7−→ 7 → . . . 7−→
− 7−→ . . . 7−→
5069 |{z} 490 | 321
{z } 152 | 135 {z } 16 | {z }1
∆a=271 ∆a=10 =h271i29 ∆a=1 =h10i9 ∆a=0=h1i1
∆b=4579 ∆b=169=h4579i490 ∆b=17=h169i152 ∆b=1=h17i16
1 iteration 2 iterations 8 iterations 8 iterations
It uses the macro \mathclap defined in section 35.2 on page 66 , which gives a
better result. It is also possible to use \makebox[0pt]{...} but it works only in text
mode and this needs some more $...$.
1 \def\num#1{\hphantom{#1}}
2 \def\vsp{\vphantom{\rangle_1}}
4 \begin{equation*}
5 \frac{300}{5069}%
6 \underbrace{\longmapsto\vphantom{\frac{1}{1}}}_{%
7 \mathclap{\substack{%
8 \Delta a=271\num9\vsp \\[2pt]
9 \Delta b=4579\vsp\\[2pt]
10 \text{$1$ iteration}%
11 }}} \frac{29}{490}%
12 \underbrace{\longmapsto \frac{19}{321}\longmapsto}_{%
13 \mathclap{\substack{%
14 \Delta a=10\num{9}=\langle271\rangle_{29}\num{20}\\[2pt]
15 \Delta b=169=\langle4579\rangle_{490}\\[2pt]
16 \text{$2$ iterations}
17 }}} \frac{9}{152}
18 \underbrace{\longmapsto \frac{8}{135}\longmapsto\dots\longmapsto}_{%
19 \substack{%
20 \Delta a=1\num{7}=\langle10\rangle_{9}\num{119}\\[2pt]
21 \Delta b=17=\langle169\rangle_{152}\\[2pt]
22 \text{$8$ iterations}
23 }} \frac{1}{16}
24 \underbrace{\longmapsto\dots\longmapsto\vphantom{\frac{8}{135}}}_{%
25 \substack{%
26 \Delta a=0=\langle1\rangle_{1}\num{76} \\[2pt]
27 \Delta b=1=\langle17\rangle_{16} \\[2pt]
28 \text{$8$ iterations}
29 }} \frac{1}{1}
30 \end{equation*}
64 Integrals
They are both written with the esint package38 , which gives nice integral symbols.
The LATEX code for the first equation is:
1 \[
2 \underset{\mathcal{G}\quad}\iiint\!%
3 \left[u\nabla^{2}v+\left(\nabla u,\nabla v\right)\right]\mathrm{d}^{3}V%
4 =\underset{\mathcal{S}\quad}\oiint u\,\Q{v}{n}\,\,\mathrm{d}^{2}A
5 \]
with the following definition in the preamble for the partial derivation:
1 \def\Q#1#2{\frac{\partial#1}{\partial #2}}
38
See section 64.
65 Horizontal alignment
Sometimes it may be useful to have a vertical alignment over the whole page with a
mix of formulas and text. Section 37 shows the use of \intertext. There is another
trick to get all formulas vertical aligned. Let’s have the following formulas distributed
over the whole page:
f (x) = a
g(x) = x2 − 4x
f (x) − g(x) = x2 + x3 + x
g(x) = x2 + x3 + x4 + x5 + b
They all have a different length of the left and right side. Now we want to write
some text and other objects between them, but let the alignment untouched. We
choose the longest left and the longest right side and take them for scaling with the
\hphantom command:
This is the first (empty) line in every equation where now all other lines are
aligned to this one. For example:
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah
f (x) = a (65.1)
2
g(x) = x − 4x (65.2)
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah
g(x) = x2 + x3 + x4 + x5 + b (65.4)
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah
The phantom line is empty but leaves the vertical space for a line. This could be
corrected with decreasing the \abovedisplayshortskip length and done all inside
a group.
1 \newcommand\x{blah blah blah blah blah blah blah blah }
2 \bgroup
3 \addtolength\abovedisplayshortskip{-0.5cm}% decrease the skip
4 \addtolength\abovedisplayskip{-0.5cm}
5 \x\x\x
6 \begin{align}
7 \hphantom{\mbox{$f(x)-g(x)$}} & \hphantom{\mbox{$= x^2+x^3+x^4+x^5+b$}}\nonumber\\
8 f(x) &= a\\
9 g(x) &= x^2-4x
10 \end{align}
11 %
12 \x\x\x
13 \begin{align}
14 \hphantom{\mbox{$f(x)-g(x)$}} & \hphantom{\mbox{$= x^2+x^3+x^4+x^5+b$}}\nonumber\\
15 f(x)-g(x) &= x^2+x^3+x
16 \end{align}
17 \x\x\x
18 %
19 \begin{align}
20 \hphantom{\mbox{$f(x)-g(x)$}} & \hphantom{\mbox{$= x^2+x^3+x^4+x^5+b$}}\nonumber\\
21 g(x) &= x^2+x^3+x^4+x^5+b
22 \end{align}
23 \x\x\x
24 \egroup
• first function X
P1 = ∈A
a
• or perhaps
P3 + P2 − P1 = blablub
1 \newsavebox\lW
2 \sbox\lW{$P_{3}+P_{2}-P_{1}$}
3
4 \begin{itemize}
5 \item first function \\
6 $\displaystyle\makebox[\wd\lW][r]{$P_1$}=\sum_a \in A$
7 \item but another one \\
8 $\makebox[\wd\lW][r]{$\sin\left(P_1\right)$}=blabla$
9 \item or perhaps \\
10 $P_{3}+P_{2}-P_{1}=blablub$
11 \end{itemize}
This one comes from Hartmut Henkel and offers a special form of placing additional
text between the equation and the equation number. This makes only sense when
you load the documentclass with the option fleqn. The example places the additional
text at 0.5\textwidth, changing this value is no problem.
text text text text text text text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text
a2 + b2 = c2 abc (65.6)
z=9 (65.7)
text text text text text text text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text
This solution works only with AMS math, without you have to redefine the LATEX
macro, which creates the equation number.
1 \newsavebox{\myendhook} % for the tabulars
2 \def\tagform@#1{{(\maketag@@@{\ignorespaces#1\unskip\@@italiccorr)}
3 \makebox[0pt][r]{% after the equation number
4 \makebox[0.4\textwidth][l]{\usebox{\myendhook}}%
5 }%
6 \global\sbox{\myendhook}{}% clear box content
7 }}
8 [ ... ]
9 \sbox{\myendhook}{%
10 \begin{footnotesize}%
11 \begin{tabular}{@{}ll}
12 $a_0$ & Bohrscher Radius ($\mathrm{= 0{,}53\,\mbox{\AA}}$)\\
13 $e$ & Elementarladung\\
14 $N_{si}$ & Anzahl der Siliziumatome\\
15 & pro Einheitsvolumen\\
16 $m$ & Atomgewicht\\
17 $Z$ & Kernladungszahl
18 \end{tabular}
19 \end{footnotesize}}
20 %
21 \begin{equation}
22 \varepsilon = \frac{E \cdot 4 \cdot \pi \cdot \varepsilon_{0}
23 \cdot a_0 \cdot \left( Z_i^{\frac{2}{3}} + Z_{Si}^{\frac{2}{3}}
24 \right)^{-\frac{1}{2}}} {Z_i \cdot Z_{Si} \cdot e2 \cdot \left( 1
25 + \frac{m_i}{m_{Si}} \right)}\,;
26 \end{equation}
27 %
28 \sbox{\myendhook}{abc}
29 %
30 \begin{equation} a2+b2=c2 \end{equation}
31 %
32 \begin{equation} z = 9 \end{equation}
By default the vertical dots of \vdots are aligned to the left of the = symbol and not
centered.
a1 = b1 c1 = d1 (65.8)
a2 = b2 c2 = d2 (65.9)
. ..
a .. b .
an = bn cn = dn (65.10)
1 \usepackage{amsmath}
2 ...
3
4 \newsavebox{\eqbox}
5 \sbox{\eqbox}{$\null=\null$}
6 \newcommand\Vdots{\makebox[\wd\eqbox]{\vdots}}
7
8 \begin{align}
9 a_1 & = b_1 & c_1 & = d_1 \\
10 a_2 & = b_2 & c_2 & = d_2 \\
11 a & \Vdots b & & \Vdots \nonumber \\
12 a_n & = b_n & c_n & = d_n
13 \end{align}
66 Node connections
This is a typical application for PSTricks and it needs the package pst-node and
doesn’t work with pdflatex. Use vlatex, ps4pdf or ps2pdf.
• dem Oberflächenanteil
• dem Volumenanteil,
2
E = av A + − af A2/3 + − ac Z(Z−1)
A1/3
+ − as (A−2Z)
A
+ Ep (1)
• dem Coulomb-Anteil
• der Symmetrieenergie
1 \psset{nodesep=3pt}
2 \definecolor{lila}{rgb}{0.6,0.2,0.5}
3 \definecolor{darkyellow}{rgb}{1,0.9,0}
4 Die Bindungsenergie im Tr\"opfchenmodell setzt sich aus
Sometimes it may be useful to have numbered formulas side by side like the following
ones:
˛
Eds = 0 (67.1.a) ∇·B =0 (67.1.b)
c
a= (67.2.a) b=1 (67.2.b)
d
ˆ
c=1 (67.3.a) 2x dx = x2 + C (67.3.b)
1 \begin{mtabular}{*{2}{m{0.35\linewidth}m{0.15\linewidth}}}
2 \begin{align*} \oint E ds=0 \end{align*} & \eqnCnt %
3 & \begin{align*} \nabla\cdot B=0 \end{align*} & \eqnCnt[\label{blah}]\\
4 \begin{align*} a =\frac{c}{d} \end{align*} & \eqnCnt %
5 & \begin{align*} b = 1 \end{align*} & \eqnCnt\\
6 \begin{align*} c =1 \end{align*} & \eqnCnt[\label{blub}]
7 & \begin{align*} \int 2x \,\mathrm{d}x = x^2+C \end{align*} & \eqnCnt
8 \end{mtabular}
The new environment mtabular has two arguments, one optional and one which
is the same as the one from the tabular environment. With the option long it
is possible to have all the formulas in a longtable environment, which allows a
pagebreak. The new macro \eqnCnt controls the counting of these equations as
subequations for one tabular line. This macro can have an optional argument for a
label. At least it counts the equations. If the equation number is not centered to the
foregoing equation, then it needs some more horizontal space in the tabular column.
\eqnCnt[<optional label>]
As seen in equation 67.3.a and equation 67.1.b, everything of the table contents is
nonsense . . . And the following tabular is defined as a longtable to enable pagebreaks.
˛
Eds = 0 (67.5.a) ∇·B =0 (67.5.b)
c
a= (67.6.a) b=1 (67.6.b)
d
ˆ
c=1 (67.7.a) 2x dx = x2 + C (67.7.b)
˛
Eds = 0 (67.8.a) ∇·B =0 (67.8.b)
c
a= (67.9.a) b=1 (67.9.b)
d
ˆ
c=1 (67.10.a) 2x dx = x2 + C (67.10.b)
˛
Eds = 0 (67.11.a) ∇·B =0 (67.11.b)
c
a= (67.12.a) b=1 (67.12.b)
d
ˆ
c=1 (67.13.a) 2x dx = x2 + C (67.13.b)
˛
Eds = 0 (67.14.a) ∇·B =0 (67.14.b)
c
a= (67.15.a) b=1 (67.15.b)
d
ˆ
c=1 (67.16.a) 2x dx = x2 + C (67.16.b)
1 \begin{mtabular}[long]{*{2}{m{0.375\linewidth}m{0.125\linewidth}}}
2 \begin{align*} \oint E ds=0 \end{align*} & \eqnCnt %
3 & \begin{align*} \nabla\cdot B=0 \end{align*} & \eqnCnt\\
4 \begin{align*} a =\frac{c}{d} \end{align*} & \eqnCnt %
5 & \begin{align*} b = 1 \end{align*} & \eqnCnt\\
6 \begin{align*} c =1 \end{align*} & \eqnCnt
7 & \begin{align*} \int 2x \,\mathrm{d}x = x^2+C \end{align*} & \eqnCnt\\
8
9 [ ... ]
• f =l (67.18)
ˆ
• g(x) = f (x) dx (67.19)
68 Roots
There exists no special symbol for roots which are longer than one line. In such
√ √ √ √ √
cases the root should be split into two or more one, like a · b · c = a · a · b · c if
possible. If nothing helps one can use \overline for following lines of the root. The
following example uses the multline environment to get only one equation number:
d(P, Q)|Stat.,Dependent =
q
[a11 (x1 − y1 )2 + a22 (x2 − y2 )2 + . . . + app (xp − yp )2 ] +
1 \begin{multline}
2 d(P,Q)|_{Stat.,Dependent}=\\
3 \sqrt{\left[a_{11}(x_{1}-y_{1})^{2}+a_{22}(x_{2}-y_{2})^{2}+
4 \ldots+a_{pp}(x_{p}-y_{p})^{2}\right]+} \\
5 \overline{\rule{0pt}{2.5ex}
6 \left[2a_{12}(x_{1}-y_{1})(x_{2}-y_{2})+2a_{13}
7 (x_{1}-y_{1})(x_{3}-y_{3}) + \right.}\\
8 \overline{\rule{0pt}{2.5ex}
9 \left.\ldots +2a_{p-1,p}(x_{p-1}-y_{p-1})(x_{p}-y_{p})\right]}
10 \end{multline}
Alternative:
d(P, Q)|Stat.,Dependent =
a11 (x1 − y1 )2 + a22 (x2 − y2 )2 + . . . + app (xp − yp )2 +
[2a12 (x1 − y1 )(x2 − y2 ) + 2a13 (x1 − y1 )(x3 − y3 )+
1/2
. . . + 2ap−1,p (xp−1 − yp−1 )(xp − yp )] (68.2)
1 \begin{multline}
2 d(P,Q)|_{Stat.,Dependent}=\\
3 \left\{\left[a_{11}(x_{1}-y_{1})^{2}+a_{22}(x_{2}-y_{2})^{2}+
4 \ldots+a_{pp}(x_{p}-y_{p})^{2}\right]+\right. \\
5 \left[2a_{12}(x_{1}-y_{1})(x_{2}-y_{2})+2a_{13}
6 (x_{1}-y_{1})(x_{3}-y_{3}) + \right.\\
7 \left.\left.\ldots +2a_{p-1,p}(x_{p-1}-y_{p-1})(x_{p}-y_{p})\right]\right\}^{1/2}
8 \end{multline}
Figure Page
1 multline Alignment demo (the fourth row is shifted to the right with
\shoveright) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2 Demonstration of \multlinegap (default is 0pt) . . . . . . . . . . . 55
Table Page
1 Meaning of \mathsurround . . . . . . . . . . . . . . . . . . . . . . . 12
2 Difference between the default \bigg and the \biggm command . . 25
3 Use of the different parentheses for the “big” commands . . . . . . 25
4 Old font style commands . . . . . . . . . . . . . . . . . . . . . . . . . 30
5 Fonts in math mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6 The meaning of the math spaces . . . . . . . . . . . . . . . . . . . . 31
7 Spaces in math mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
8 Math styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
9 Dots in math mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
10 Accents in math mode . . . . . . . . . . . . . . . . . . . . . . . . . . 37
11 Vectors with package esvect . . . . . . . . . . . . . . . . . . . . . . 39
12 The predefined operators of fontmath.ltx . . . . . . . . . . . . . . 40
13 The predefined operators of latex.ltx . . . . . . . . . . . . . . . . 40
14 The greek letters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
15 Comparison between the different align environments . . . . . . . . 47
16 Matrix environments . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
17 binom commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
18 The modulo commands and their meaning . . . . . . . . . . . . . . . 64
19 Different mathcommands . . . . . . . . . . . . . . . . . . . . . . . . 73
20 The predefined operators of amsopn.sty . . . . . . . . . . . . . . . . 91
21 Predefined math symbols from fontmath.ltx . . . . . . . . . . . . . 105
22 New symbols in combination with the equal sign . . . . . . . . . . . 107
[1] Paul W. Abrahams, Karl Berry, and Kathryn Hargreaves. TEX for the Impatient.
http://tug.org/ftp/tex/impatient/book.pdf, 2003.
[7] Michael Downes. Short Math Guide for LATEX. American Mathematical Society,
ftp://ftp.ams.org/pub/tex/doc/amsmath/short-math-guide.pdf, 2002.
[9] Michel Goossens and Frank Mittelbach. The LATEX Companion. Addison Wesley,
2nd edition, 2004.
[10] George Grätzer. Math into LATEX. Birkhäuser Boston, third edition, 2000.
[11] George Grätzer. More Math into LATEX. Springer, 4th edition, 2007.
[12] Donald E. Knuth. The TEXbook. Addison Wesley Professional, 1986. 21st
printing.
[13] Donald E. Knuth, Tracy Larrabee, and Paul M. Roberts. Mathematical Writing.
Stanford University, Computer Science Department,
http://sunburn.stanford.edu/~knuth/papers/mathwriting.tex.gz, 1987.
[14] R. Kuhn, R. Scott, and L. Andreev. An Introduction to Using TEX in the Harvard
Mathematics Department. Harvard University, Department of Mathematics,
http://abel.math.harvard.edu/computing/latex/manual/texman.html.
[20] Sebastian Rahtz and Leonor Barroca. A style option for rotated objects in LATEX.
TUGboat, 13(2):156–180, July 1992.
[22] Carole Siegfried and Herbert Voß. Mathematik im Inline-Modus. Die TEXnische
Komödie, 3/04:25–32, November 2004.
[24] Herbert Voß. Farbige Mathematik. Die TEXnische Komödie, 2/04:81–87, March
2004.
[27] Herbert Voß. Typesetting Mathematics with LATEX. UIT, Cambridge, 2010.
133
\choose, 43 \doteq, 107
\clap, 67 \dotsb, 37
cmex10, 28 \dotsc, 37
cmr, 102 \dotsi, 37
colon, 108 \dotsm, 37
Color, 43 \dotso, 37
color, 115 double stroke, 30
\colorbox, 11 dsfont, 30
\columncolor, 115
E
comma, 32, 108
ellipses, 108
Computer modern, 102
empheq, 97
\cong, 107
\ensuremath, 42
\Cos, 94
Environment
\Cot, 94
– array, 20, 34, 91, 92
\Csc, 94
– description, 44
ctagsplit, 66
– displaymath, 17
– empheq, 97
D
– eqnarray, 13, 17, 34, 47, 96
\DblFactorial, 95
– equation, 17, 34
\ddddot, 60
– gathered, 100
\dddot, 37, 60
– graphicx, 100
\dddot, 37
– lgathered, 99
\ddot, 37
– matrix, 22
\ddot, 37
– tabular, 18
\ddots, 37
\eqdef, 42
decimal point, 32
eqnarray, 13, 17, 34, 47, 96
\DeclareMathDelimiter, 79
\eqno, 85
\delcode, 79
Equation
Delimiter, 12, 28
– number, 66
\delimiter, 79
– numbering, 64
\delimiterfactor, 28, 75
equation, 17, 34
\delimitershortfall, 28, 76
Equation number, 65
description, 44
equation number, 121
\dfrac, 62
\equiv, 107
\dfrac, 10
\everydisplay, 45
differential equation, 108
\everydisplay, 86
Display math mode, 9
\everymath, 45
\displaybreak, 42
\everymath, 86
displayindent, 77
Exponent, 39
\displayindent, 76
Extensible arrows, 70
\displaylimits, 85
displaymath, 17 F
\displaystyle, 62 \Factorial, 95
\displaystyle, 10, 36, 80, 81 \fam, 80
\displaywidowpenalty, 89 \fbox, 11, 16, 97
\displaywidth, 77 \fboxrule, 11
dot, 32, 108 \fboxsep, 11
\dot, 37 fleqn, 46
\dot, 37 fleqn, 34
V
\vcenter, 88
\vdots, 37, 123
\vec, 37
\vec, 37
Vector, 39, 113
\vert, 28
Vertical spacing, 35
\Vmatrix, 60
\vmatrix, 60
\vphantom, 118
\vphantom, 23, 93
\vskip, 35
W
\widehat, 37
\widehat, 37
\widetilde, 37
\widetilde, 37
A Filelist