# MathJax basic tutorial and quick reference

1. To see how any formula was written in any question or answer, including this one, right-click on the expression it and choose "Show Math As > TeX Commands". (When you do this, the '$' will not display. Make sure you add these. See the next point.) 2. For inline formulas, enclose the formula in $...$. For displayed formulas, use $$...$$. These render differently. For example, type $\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}$ to show $$\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}$$ (which is inline mode) or type $$\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}$$ to show $$\sum_{i=0}^n i^2 = \frac{(n^2+n)(2n+1)}{6}$$ (which is display mode). 3. For Greek letters, use \alpha, \beta, …, \omega: $$\alpha, \beta, … \omega$$. For uppercase, use \Gamma, \Delta, …, \Omega: $$\Gamma, \Delta, …, \Omega$$. 4. For superscripts and subscripts, use ^ and _. For example, x_i^2: $$x_i^2$$, \log_2 x: $$\log_2 x$$. 5. Groups. Superscripts, subscripts, and other operations apply only to the next “group”. A “group” is either a single symbol, or any formula surrounded by curly braces {}. If you do 10^10, you will get a surprise: $$10^10$$. But 10^{10} gives what you probably wanted: $$10^{10}$$. Use curly braces to delimit a formula to which a superscript or subscript applies: x^5^6 is an error; {x^y}^z is $${x^y}^z$$, and x^{y^z} is $$x^{y^z}$$. Observe the difference between x_i^2 $$x_i^2$$ and x_{i^2} $$x_{i^2}$$. 6. Parentheses Ordinary symbols ()[] make parentheses and brackets $$(2+3)[4+4]$$. Use \{ and \} for curly braces $$\{\}$$. These do not scale with the formula in between, so if you write (\frac{\sqrt x}{y^3}) the parentheses will be too small: $$(\frac{\sqrt x}{y^3})$$. Using \left(\right) will make the sizes adjust automatically to the formula they enclose: \left(\frac{\sqrt x}{y^3}\right) is $$\left(\frac{\sqrt x}{y^3}\right)$$. \left and\right apply to all the following sorts of parentheses: ( and ) $$(x)$$, [ and ] $$[x]$$, \{ and \} $$\{ x \}$$, | $$|x|$$, \vert $$\vert x \vert$$, \Vert $$\Vert x \Vert$$, \langle and \rangle $$\langle x \rangle$$, \lceil and \rceil $$\lceil x \rceil$$, and \lfloor and \rfloor $$\lfloor x \rfloor$$. \middle can be used to add additional dividers. There are also invisible parentheses, denoted by .: \left.\frac12\right\rbrace is $$\left.\frac12\right\rbrace$$. If manual size adjustments are required: \Biggl(\biggl(\Bigl(\bigl((x)\bigr)\Bigr)\biggr)\Biggr) gives $$\Biggl(\biggl(\Bigl(\bigl((x)\bigr)\Bigr)\biggr)\Biggr)$$. 7. Sums and integrals \sum and \int; the subscript is the lower limit and the superscript is the upper limit, so for example \sum_1^n $$\sum_1^n$$. Don't forget {} if the limits are more than a single symbol. For example, \sum_{i=0}^\infty i^2 is $$\sum_{i=0}^\infty i^2$$. Similarly, \prod $$\prod$$, \int $$\int$$, \bigcup $$\bigcup$$, \bigcap $$\bigcap$$, \iint $$\iint$$, \iiint $$\iiint$$, \idotsint $$\idotsint$$. 8. Fractions There are three ways to make these. \frac ab applies to the next two groups, and produces $$\frac ab$$; for more complicated numerators and denominators use {}: \frac{a+1}{b+1} is $$\frac{a+1}{b+1}$$. If the numerator and denominator are complicated, you may prefer \over, which splits up the group that it is in: {a+1\over b+1} is $${a+1\over b+1}$$. Using \cfrac{a}{b} command is useful for continued fractions $$\cfrac{a}{b}$$, more details for which are given in this sub-article. 9. Fonts • Use \mathbb or \Bbb for "blackboard bold": $$\mathbb{CHNQRZ}$$. • Use \mathbf for boldface: $$\mathbf{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$ $$\mathbf{abcdefghijklmnopqrstuvwxyz}$$. • Use \mathit for italics: $$\mathit{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$ $$\mathit{abcdefghijklmnopqrstuvwxyz}$$. • Use \pmb for boldfaced italics: $$\pmb{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$ $$\pmb{abcdefghijklmnopqrstuvwxyz}$$. • Use \mathtt for "typewriter" font: $$\mathtt{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$ $$\mathtt{abcdefghijklmnopqrstuvwxyz}$$. • Use \mathrm for roman font: $$\mathrm{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$ $$\mathrm{abcdefghijklmnopqrstuvwxyz}$$. • Use \mathsf for sans-serif font: $$\mathsf{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$ $$\mathsf{abcdefghijklmnopqrstuvwxyz}$$. • Use \mathcal for "calligraphic" letters: $$\mathcal{ ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$ • Use \mathscr for script letters: $$\mathscr{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$$ • Use \mathfrak for "Fraktur" (old German style) letters: $$\mathfrak{ABCDEFGHIJKLMNOPQRSTUVWXYZ} \mathfrak{abcdefghijklmnopqrstuvwxyz}$$. 1. Radical signs Use sqrt, which adjusts to the size of its argument: \sqrt{x^3} $$\sqrt{x^3}$$; \sqrt[3]{\frac xy} $$\sqrt[3]{\frac xy}$$. For complicated expressions, consider using {...}^{1/2} instead. 2. Some special functions such as "lim", "sin", "max", "ln", and so on are normally set in roman font instead of italic font. Use \lim, \sin, etc. to make these: \sin x $$\sin x$$, not sin x $$sin x$$. Use subscripts to attach a notation to \lim: \lim_{x\to 0} $$\lim_{x\to 0}$$ Nonstandard function names can be set with \operatorname{foo}(x) $$\operatorname{foo}(x)$$. 3. There are a very large number of special symbols and notations, too many to list here; see this shorter listing, or this exhaustive listing. Some of the most common include: • \lt \gt \le \leq \leqq \leqslant \ge \geq \geqq \geqslant \neq $$\lt\, \gt\, \le\, \leq\, \leqq\, \leqslant\, \ge\, \geq\, \geqq\, \geqslant\, \neq$$. You can use \not to put a slash through almost anything: \not\lt $$\not\lt$$ but it often looks bad. • \times \div \pm \mp $$\times\, \div\, \pm\, \mp$$. \cdot is a centered dot: $$x\cdot y$$ • \cup \cap \setminus \subset \subseteq \subsetneq \supset \in \notin \emptyset \varnothing $$\cup\, \cap\, \setminus\, \subset\, \subseteq \,\subsetneq \,\supset\, \in\, \notin\, \emptyset\, \varnothing$$ • {n+1 \choose 2k} or \binom{n+1}{2k} $${n+1 \choose 2k}$$ • \to \rightarrow \leftarrow \Rightarrow \Leftarrow \mapsto $$\to\, \rightarrow\, \leftarrow\, \Rightarrow\, \Leftarrow\, \mapsto$$ • \land \lor \lnot \forall \exists \top \bot \vdash \vDash $$\land\, \lor\, \lnot\, \forall\, \exists\, \top\, \bot\, \vdash\, \vDash$$ • \star \ast \oplus \circ \bullet $$\star\, \ast\, \oplus\, \circ\, \bullet$$ • \approx \sim \simeq \cong \equiv \prec \lhd \therefore $$\approx\, \sim \, \simeq\, \cong\, \equiv\, \prec\, \lhd\, \therefore$$ • \infty \aleph_0 $$\infty\, \aleph_0$$ \nabla \partial $$\nabla\, \partial$$ \Im \Re $$\Im\, \Re$$ • For modular equivalence, use \pmod like this: a\equiv b\pmod n $$a\equiv b\pmod n$$. • \ldots is the dots in $$a_1, a_2, \ldots ,a_n$$ \cdots is the dots in $$a_1+a_2+\cdots+a_n$$ • Some Greek letters have variant forms: \epsilon \varepsilon $$\epsilon\, \varepsilon$$, \phi \varphi $$\phi\, \varphi$$, and others. Script lowercase l is \ell $$\ell$$. Detexify lets you draw a symbol on a web page and then lists the $$\TeX$$ symbols that seem to resemble it. These are not guaranteed to work in MathJax but are a good place to start. To check that a command is supported, note that MathJax.org maintains a list of currently supported $$\LaTeX$$ commands, and one can also check Dr. Carol JVF Burns's page of $$\TeX$$ Commands Available in MathJax. 1. Spaces MathJax usually decides for itself how to space formulas, using a complex set of rules. Putting extra literal spaces into formulas will not change the amount of space MathJax puts in: a␣b and a␣␣␣␣b are both $$a b$$. To add more space, use \, for a thin space $$a\,b$$; \; for a wider space $$a\;b$$. \quad and \qquad are large spaces: $$a\quad b$$, $$a\qquad b$$. To set plain text, use \text{…}: $$\{x\in s\mid x\text{ is extra large}\}$$. You can nest $…$ inside of \text{…}, for example to access spaces. 1. Accents and diacritical marks Use \hat for a single symbol $$\hat x$$, \widehat for a larger formula $$\widehat{xy}$$. If you make it too wide, it will look silly. Similarly, there are \bar $$\bar x$$ and \overline $$\overline{xyz}$$, and \vec $$\vec x$$ and \overrightarrow $$\overrightarrow{xy}$$ and \overleftrightarrow $$\overleftrightarrow{xy}$$. For dots, as in $$\frac d{dx}x\dot x = \dot x^2 + x\ddot x$$, use \dot and \ddot. 2. Special characters used for MathJax interpreting can be escaped using the \ character: \\\$ $$\$$, \{ $$\{$$, \_ $$\_$$, etc. If you want \ itself, you should use \backslash $$\backslash$$, because \\ is for a new line.

(Tutorial ends here.)

It is important that this note be reasonably short and not suffer from too much bloat. To include more topics, please create short addenda and post them as answers instead of inserting them into this post.

## Contents

Alphabetical list of links to To MathJax Topics, by title:

• Some capital Greek letters are the same as the Roman equivalents, so they are not separated in $\LaTeX$. For a capital beta, one must use something like \mathrm{B}: $\mathrm{B}$ – robjohn Aug 28 '12 at 2:06
• Two related questions: How do I insert a table when asking a question? and How to show the integral symbol on this site? – Martin Sleziak Aug 28 '12 at 13:26
• A quick addition to point 11: If you want to use a $\sin$-like symbol that is not already defined, the command is \operatorname: e.g., \operatorname{Spec} A gives $\operatorname{Spec} A$. – Charles Staats Aug 28 '12 at 16:45
• It might be useful to mention hanging subscripts for things like _5C_3 $_5C_3$. You could also mention \frac vs \dfrac. – axblount Aug 29 '12 at 18:09
• My basic idea is that if a beginner can express a formula clearly, then someone else can come in and clean up the typesetting afterwards. I am considering getting rid of the section about \big, \left, and \right for this reason, and trimming the section on spacing. – MJD Aug 30 '12 at 2:06
• Most of the references to TeX or LaTeX in this and the answers ought to be to MathJaX (the exception that I can see being the output of Detexify). I know this is a bit pedantic, but would it be alright to correct this? – Andrew Stacey Sep 11 '12 at 14:13
• @AndrewStacey Thanks for pointing this out. Let's by all means be as correct as possible, particularly when there's no extra cost. – MJD Sep 11 '12 at 14:15
• @MJD Okay, I've had a go (also the answer about arrays). I wonder also whether or not it is worth a sentence at the end pointing out that whilst MathJaX does its best to emulate TeX, it isn't TeX and so while knowing how something is done in TeX gives you a starting point, it isn't a guarantee that the same thing works in MathJaX. (As a case in point, questions about MathJaX are generally off-topic over on TeX-SX.) – Andrew Stacey Sep 11 '12 at 14:22
• @AndrewStacey I wouldn't. They are close enough that it seems to me to be a needless refinement. I might even argue that MathJax is $\TeX$, although an alternative implementation. We're willing to accept that other programming languages (JavaScript, for example) that have slightly incompatible implementations are nevertheless the same language; why not in this case as well? – MJD Sep 11 '12 at 14:35
• @MJD Except that this is meant as a tutorial for those who aren't familiar with the distinction (and there really is a distinction: "slightly incompatible implementations" doesn't really fit the bill here). One thing tutorials often include is a "Where to find out more" section. This doesn't. Someone who doesn't know the distinction might be tempted to search for help on TeX or LaTeX instead and wonder why it doesn't work. – Andrew Stacey Sep 11 '12 at 14:40
• @AndrewStacey All the tips given here would work in any $\TeX$/$\LaTeX$ environment with the proper packages. MathJax is just the service used to render it. You wouldn't say "Miktex tutorial" or "texlive tutorial". – axblount Sep 11 '12 at 15:01
• @axblount But that's precisely the wrong way around to think about it! The likelihood is that someone will look at this tutorial to figure out how to write something on the Maths-SX site: i.e., to use MathJaX. If they can't find help here, where do they go? If they have the idea that MathJaX is "just a javascript implementation of TeX" then they might think to look for help with TeX, but that is quite possibly not going to be helpful. – Andrew Stacey Sep 11 '12 at 15:08
• @axblount For a start, you've changed the goalposts: "LaTeX math expressions". LaTeX is so much more than just a way of typesetting maths! Second, I don't really know but it wouldn't take me long to cook one up. I don't use MathJaX so I haven't explored it. But I know, for example, that it can't handle catcode changes. Which means that I can't make ( and ) automatically resizeable. I can in LaTeX. – Andrew Stacey Sep 11 '12 at 16:04
• I wish I saw this post when I first joined. This post should be a main link on the home page. There should be a button under each box: NEW TO LATEX, CLICK HERE FOR EXAMPLES. This is extremely useful, concise. – user1527227 May 31 '13 at 18:09
• @MJD: I use \mathrm in many places; e.g. $\mathrm{d}x$ in integrals and derivatives and for operator names that don't need the full force of \operatorname. \mathrm was intended for roman symbols in math mode; \text was intended for text because of the way it spaces things. See this TEX thread. Since I don't believe we can use preambles in MathJax, we can't use \DeclareMathOperator, though we can use \newcommand, but that is orthogonal to the use of \mathrm vs \text for math symbols. – robjohn Jun 10 '13 at 16:23

# Matrices

1. Use $$\begin{matrix}…\end{matrix}$$ In between the \begin and \end, put the matrix elements. End each matrix row with \\, and separate matrix elements with &. For example,

$$\begin{matrix} 1 & x & x^2 \\ 1 & y & y^2 \\ 1 & z & z^2 \\ \end{matrix}$$


produces:

$$\begin{matrix} 1 & x & x^2 \\ 1 & y & y^2 \\ 1 & z & z^2 \\ \end{matrix}$$

MathJax will adjust the sizes of the rows and columns so that everything fits.

2. To add brackets, either use \left…\right as in section 6 of the tutorial, or replace matrix with pmatrix $\begin{pmatrix}1&2\\3&4\\ \end{pmatrix}$, bmatrix $\begin{bmatrix}1&2\\3&4\\ \end{bmatrix}$, Bmatrix $\begin{Bmatrix}1&2\\3&4\\ \end{Bmatrix}$, vmatrix $\begin{vmatrix}1&2\\3&4\\ \end{vmatrix}$, Vmatrix $\begin{Vmatrix}1&2\\3&4\\ \end{Vmatrix}$.

3. Use \cdots $\cdots$ \ddots $\ddots$ vdots $\vdots$ when you want to omit some of the entries:

$$\begin{pmatrix} 1 & a_1 & a_1^2 & \cdots & a_1^n \\ 1 & a_2 & a_2^2 & \cdots & a_2^n \\ \vdots & \vdots& \vdots & \ddots & \vdots \\ 1 & a_m & a_m^2 & \cdots & a_m^n \end{pmatrix}$$

4. For horizontally "augmented" matrices, put parentheses or brackets around a suitably-formatted table; see arrays below for details. Here is an example:

$$\left[\begin{array}{cc|c} 1&2&3\\ 4&5&6 \end{array}\right]$$

is produced by:

$$\left[ \begin{array}{cc|c} 1&2&3\\ 4&5&6 \end{array} \right]$$


The cc|c is the crucial part here; it says that there are three centered columns with a vertical bar between the second and third.

5. For vertically "augmented" matrices, use \hline. For example

$$\begin{pmatrix} a & b \\ c & d\\ \hline 1 & 0\\ 0 & 1 \end{pmatrix}$$ is produced by

$$\begin{pmatrix} a & b\\ c & d\\ \hline 1 & 0\\ 0 & 1 \end{pmatrix}$$

1. For small inline matrices use \bigl(\begin{smallmatrix} ... \end{smallmatrix}\bigr), e.g. $\bigl( \begin{smallmatrix} a & b \\ c & d \end{smallmatrix} \bigr)$ is produced by:

 $\bigl( \begin{smallmatrix} a & b \\ c & d \end{smallmatrix} \bigr)$

• This says "End each matrix row with \\". But there is no reason to end the LAST row of the matrix that way. The double backslash means: now go on to the next row. But there isn't any next row after the last one. – Michael Hardy Aug 28 '14 at 5:15
• I can't edit, but that could be phrased "Separate matrix rows with \\". – trichoplax Nov 18 '16 at 9:43
• as in section 6 of the tutorial... Which tutorial? Is there a link to this tutorial section? – Tom Hale May 21 '17 at 3:35
• @tom The tutorial is at the top of this page. It has numbered sections. – MJD May 21 '17 at 17:04
• @MichaelHardy but a \\ on every line is harmless, and it makes the editing of matrices easier because swapping with the last line can be done with one quick keystroke in many editors. – Reb.Cabin Feb 8 '18 at 15:18
• Is it possible to get smallpmatrix or something? – linear_combinatori_probabi Aug 13 '18 at 5:49

# Aligned equations

Often people want a series of equations where the equals signs are aligned. To get this, use \begin{align}…\end{align}. Each line should end with \\, and should contain an ampersand at the point to align at, typically immediately before the equals sign.

For example,

\begin{align} \sqrt{37} & = \sqrt{\frac{73^2-1}{12^2}} \\ & = \sqrt{\frac{73^2}{12^2}\cdot\frac{73^2-1}{73^2}} \\ & = \sqrt{\frac{73^2}{12^2}}\sqrt{\frac{73^2-1}{73^2}} \\ & = \frac{73}{12}\sqrt{1 - \frac{1}{73^2}} \\ & \approx \frac{73}{12}\left(1 - \frac{1}{2\cdot73^2}\right) \end{align}

is produced by

\begin{align}
\sqrt{37} & = \sqrt{\frac{73^2-1}{12^2}} \\
& = \sqrt{\frac{73^2}{12^2}\cdot\frac{73^2-1}{73^2}} \\
& = \sqrt{\frac{73^2}{12^2}}\sqrt{\frac{73^2-1}{73^2}} \\
& = \frac{73}{12}\sqrt{1 - \frac{1}{73^2}} \\
& \approx \frac{73}{12}\left(1 - \frac{1}{2\cdot73^2}\right)
\end{align}


The usual  marks that delimit the display may be omitted here. • The AMS's Short Math Guide recommends the align environment over eqnarray in LaTeX. In MathJax the spacing seems to be the same , but align requires one less ampersand per line. – user856 Aug 28 '12 at 4:41 • Thanks. I was not sure whether to discuss that. A detailed argument against eqnarray is in this article. – MJD Aug 28 '12 at 4:51 • Would you mind if I changed your example to use align then? – user856 Aug 28 '12 at 5:34 • @Rahul: Please go ahead and change anything that seems good to change. This is all CW. – MJD Aug 28 '12 at 5:44 • Also, if you think you have a better example, please use it; I used the first one I found. – MJD Aug 28 '12 at 5:49 • Correct me if I'm wrong, but I don't believe the \\ is necessary before and after the \begin{align}. I've certainly never used it. From experience, the \begin{align} puts you into math-display mode by itself. – TravisJ Apr 21 '15 at 12:24 • I sometimes find that one line of this environment is too close to another, making them uncomfortable to read. The interline spacing can be adjusted by using input such as \\[1ex] instead of \\ . (And of course the 1 can be changed to another value such as 1.5 or .7 in order to get enough space but not too much.) – David K Jan 30 '16 at 16:29 • Note - in Jekyll I had to add an additional \ to break lines. – baxx May 24 '16 at 17:45 • @MJD i put the equation: \begin{align} f(x)&=\left(x^3\right)+\left(x^3+x^2+x^1\right)+\left(x^3+x^2\right)\\ f'(x)&=\left(\left(3x^2+2x+1\right)+\left(3x^2+2x\right)\\ f''(x)&=\left(6x+2\right)\\ \end{align} but the third & is a problem: according to Mathjax, it does not go there. then when i remove it, it says that "a missing close brace or unclosed brace" is present. what am i doing wrong? – Alexander Day Apr 26 '17 at 21:25 • {}{}{}{}{}{}{}{} – John Militer May 9 '17 at 3:55 • @AlexanderDay How did you used that boxed quote? What are commands or formats for it? – Always Confused May 21 '17 at 15:53 • @AlexanderDay I notice that right after your second &=, you have two instances of \left( in a row, and one of them is not closed. Removing one of them, I get: \begin{align} f(x)&=\left(x^3\right)+\left(x^3+x^2+x^1\right)+\left(x^3+x^‌​2\right)\\ f'(x)&=\left(3x^2+2x+1\right)+\left(3x^2+2x\right)\\ f''(x)&=\left(6x+2\right)\\ \end{align} Is that what you expected? – Dan Henderson Oct 2 '17 at 13:31 • @AlwaysConfused the box delimits a MathJax formula with a syntax error. – Dan Henderson Oct 2 '17 at 13:32 • There is a difference between aligned and align environment. Equation above are just one equation with different representations, rather than multiple aligned equations. I think the correct environment is aligned. – jdhao Jan 26 '18 at 1:40 • The align* variation does two things differently: left-aligns the equations and omits equation numbers; the regular align environment centers the equations and puts an equation number on each line, at least in my version of Jupyter notebooks. – Reb.Cabin Feb 6 '18 at 19:24 ## Symbols In general, you have to search in long tables about a specific symbol you're looking for, things like \Psi, \delta, \zeta, \ge, \subseteq ... And it turns out that this operation can be frustrating and time consuming, which can cause the buddy to abandon writing the complete \LaTeX sentence in his answer, or in some cases, the complete answer itself. That's why the tool that I will present you in this post was conceived. Basically, it is a \LaTeX handwritten symbol recognition. Example in image: Here is the website: Detexify² No more frustration. • How to implement usepackage ? I'd like to have \iddots from package mathdots available. – Gottfried Helms Jun 15 '16 at 11:05 • @GottfriedHelms see this question - I think the answer is "you can't do that"... – Floris Jun 27 '17 at 22:40 • @Floris: thanks, that is indeed the informative answer! – Gottfried Helms Jun 28 '17 at 0:35 • It recognized my horrible drawing with a finger on my notebook's mousepad! Unfortunately the symbol it recognized (mapsfrom) isn't part of MathJax – Manfred Weis Oct 24 '19 at 5:55 ## Definitions by cases (piecewise functions) Use \begin{cases}…\end{cases}. End each case with a \\, and use & before parts that should be aligned. For example, you get this:f(n) = \begin{cases} n/2, & \text{if $n$ is even} \\ 3n+1, & \text{if $n$ is odd} \end{cases}$$by writing this:  f(n) = \begin{cases} n/2, & \text{if n is even} \\ 3n+1, & \text{if n is odd} \end{cases}  The brace can be moved to the right:$$ \left. \begin{array}{l} \text{if $n$ is even:}&n/2\\ \text{if $n$ is odd:}&3n+1 \end{array} \right\} =f(n) $$by writing this: \left. \begin{array}{l} \text{if n is even:}&n/2\\ \text{if n is odd:}&3n+1 \end{array} \right\} =f(n)  To get a larger vertical space between cases we can use \\[2ex] instead of \\. For example, you get this:$$f(n) = \begin{cases} \frac{n}{2}, & \text{if $n$ is even} \\[2ex] 3n+1, & \text{if $n$ is odd} \end{cases}$$by writing this: f(n) = \begin{cases} \frac{n}{2}, & \text{if n is even} \\[2ex] 3n+1, & \text{if n is odd} \end{cases}  (An ‘ex’ is a length equal to the height of the letter x; 2ex here means the space should be two exes high.) • @MJD Do we have to use the additional instruction \displaystyle when the formulas displayed are more complex ? – jibe Jul 1 '14 at 14:43 • @jibs \displaystyle is enabled automatically in displays, for example between $$…. You should not ever have to use it. – MJD Jul 1 '14 at 14:50 • @jibe In general, the separate cases in this notation should be in text style unless they are very very complex (and then, the { notation is just wrong anyways). – yo' Aug 25 '14 at 9:53 • can this be written with ascii math instead of latex @MJD – wrufesh May 24 '18 at 7:35 • What an absurd function to use as an example. Nobody would ever consider such a function. – samerivertwice Oct 30 '18 at 21:56 ## Arrays It is often easier to read tables formatted in MathJax rather than plain text or a fixed width font. Arrays and tables are created with the array environment. Just after \begin{array} the format of each column should be listed, use c for a center aligned column, r for right aligned, l for left aligned and a | for a vertical line. Just as with matrices, cells are separated with & and rows are broken using \\. A horizontal line spanning the array can be placed before the current line with \hline. For example,\begin{array}{c|lcr} n & \text{Left} & \text{Center} & \text{Right} \\ \hline 1 & 0.24 & 1 & 125 \\ 2 & -1 & 189 & -8 \\ 3 & -20 & 2000 & 1+10i \end{array} $$$$
\begin{array}{c|lcr}
n & \text{Left} & \text{Center} & \text{Right} \\
\hline
1 & 0.24 & 1 & 125 \\
2 & -1 & 189 & -8 \\
3 & -20 & 2000 & 1+10i
\end{array}
$$ Arrays can be nested to make an array of tables. For example,$$ % outer vertical array of arrays \begin{array}{c} % inner horizontal array of arrays \begin{array}{cc} % inner array of minimum values \begin{array}{c|cccc} \text{min} & 0 & 1 & 2 & 3\\ \hline 0 & 0 & 0 & 0 & 0\\ 1 & 0 & 1 & 1 & 1\\ 2 & 0 & 1 & 2 & 2\\ 3 & 0 & 1 & 2 & 3 \end{array} & % inner array of maximum values \begin{array}{c|cccc} \text{max}&0&1&2&3\\ \hline 0 & 0 & 1 & 2 & 3\\ 1 & 1 & 1 & 2 & 3\\ 2 & 2 & 2 & 2 & 3\\ 3 & 3 & 3 & 3 & 3 \end{array} \end{array} \\ % inner array of delta values \begin{array}{c|cccc} \Delta&0&1&2&3\\ \hline 0 & 0 & 1 & 2 & 3\\ 1 & 1 & 0 & 1 & 2\\ 2 & 2 & 1 & 0 & 1\\ 3 & 3 & 2 & 1 & 0 \end{array} \end{array} As the source for the preceding array is long, please right-click on one of the tables and choose \mathsf{Show\ Math\ As\ }\blacktriangleright\mathsf{\ TeX\ Commands}. • You'll have to wrap the contents of each cell in \text if you don't want all italics, weird-looking spacing, an' odd apostrophes. – user856 Aug 29 '12 at 21:30 • @RahulNarain: True. I used words just for illustration, but I guess the example was slightly misleading. If you'd like to modify it please go ahead. – axblount Aug 29 '12 at 22:00 • Thanks! I like your numeric example better, since the widths of the entries are different enough that the alignment differences are visually clear. – MJD Aug 30 '12 at 1:37 • @robjohn how do you use | while typing , i don't find it in my keyboard...... – ABC Mar 28 '13 at 12:05 • @exploringnet: on my keyboard, it is the shifted backslash. It may be in different places (or absent) depending on your keyboard. On my mobile device (iPhone), it is in the shifted numerics, to the right of the backslash. In mathmode, \vert gives \vert and \mid gives \mid, but neither works in the column spec for an array. If you cannot type it on your keyboard, you can alwaays copy and paste it from another document. – robjohn Mar 28 '13 at 17:39 • It should perhaps be mentioned, that in nested arrays there seems to be no option to synchronize column-widths and/or row-heights over the top-level. I didn't find a solution such that if two arrays are stacked vertically one could make their column-widths matching/fit. – Gottfried Helms Aug 26 '13 at 9:16 • This could also be convenient for some people, althought it destroys the joy of writing tables in \LaTeX by hand! – nullgeppetto Jun 3 '14 at 14:18 • @Rahul: why did regulars not press developers to enhance HTML formatting instead of doing inconvenient and resource-devouring detours through MathJax? When a table contains (mostly) formulæ, the use of a formula-formatting engine looks determined. But when one wants just a table, why should it run software with completely different purpose? I once tried to speak about it at meta.SE, but was gagged. – Incnis Mrsi Dec 3 '14 at 12:11 • @IncnisMrsi What kind of pressure could we apply: bribery, threats, kidnapping? A feature request was made, supported by SE communities, and declined by SE (on technical grounds, as they say). At least we have the MathJax workaround, with all of its flaws: SO and others have nothing. – user147263 Dec 3 '14 at 15:55 • Center Aligned Table Captions with Left Aligned Contents \begin{array}{ll} \hfill\mathrm{Bad}\hfill & \hfill\mathrm{Better}\hfill \\ \hline \\ e^{i\frac{\pi}2} \quad e^{\frac{i\pi}2}& e^{i\pi/2} \\ \int_{-\frac\pi2}^\frac\pi2 \sin x\,dx & \int_{-\pi/2}^{\pi/2}\sin x\,dx \\ \end{array} – GNUSupporter 8964民主女神 地下教會 Dec 12 '16 at 16:41 • P.S. Table copied from MJD's example below so as to make an example with cells much wider than the caption. – GNUSupporter 8964民主女神 地下教會 Dec 12 '16 at 16:47 • How would you make a tic-tac-toe grid, framed or not framed? And how would you construct an array on the right side? – Mr Pie Nov 19 '17 at 0:23 ## Fussy spacing issues These are issues that won't affect the correctness of formulas, but might make them look significantly better or worse. Beginners should feel free to ignore this advice; someone else will correct it for them, or more likely nobody will care. Don't use \frac in exponents or limits of integrals; it looks bad and can be confusing, which is why it is rarely done in professional mathematical typesetting. Write the fraction horizontally, with a slash: $$\begin{array}{cc} \mathrm{Bad} & \mathrm{Better} \\ \hline \\ e^{i\frac{\pi}2} \quad e^{\frac{i\pi}2}& e^{i\pi/2} \\ \int_{-\frac\pi2}^\frac\pi2 \sin x\,dx & \int_{-\pi/2}^{\pi/2}\sin x\,dx \\ \end{array}$$ The | symbol has the wrong spacing when it is used as a divider, for example in set comprehensions. Use \mid instead: $$\begin{array}{cc} \mathrm{Bad} & \mathrm{Better} \\ \hline \\ \{x|x^2\in\Bbb Z\} & \{x\mid x^2\in\Bbb Z\} \\ \end{array}$$ When using stretchable delimiters (i.e. with \left and \right), it may be preferable to use \,\middle|\,. This produces a stretchable vertical bar with a little bit of space around it. Another alternative is to use a colon instead. $$\begin{array}{cc} \mathrm{Bad} & \mathrm{Better} \\ \hline \\ \left\{\dfrac{m}{n} \mid m,n\in\Bbb Z\right\} & \left\{\dfrac{m}{n} \,\middle|\, m,n\in\Bbb Z\right\} \\ \end{array}$$ For double and triple integrals, don't use \int\int or \int\int\int. Instead use the special forms \iint and \iiint: $$\begin{array}{cc} \mathrm{Bad} & \mathrm{Better} \\ \hline \\ \int\int_S f(x)\,dy\,dx & \iint_S f(x)\,dy\,dx \\ \int\int\int_V f(x)\,dz\,dy\,dx & \iiint_V f(x)\,dz\,dy\,dx \end{array}$$ Use \, to insert a thin space before differentials; without this $$\TeX$$ will mash them together: $$\begin{array}{cc} \mathrm{Bad} & \mathrm{Better} \\ \hline \\ \iiint_V f(x)dz dy dx & \iiint_V f(x)\,dz\,dy\,dx \end{array}$$ • I think the first adjusted fraction looks better than the original, but I don't like the second. In any case, this minor spacing imbalance is too peripheral to belong in a basic MathJax tutorial IMO. Too likely to scare people away rather than make them feel helped. – hmakholm left over Monica Aug 31 '12 at 21:05 • @Henning Do you mean that the fraction example is too unimportant even to appear in an addendum on fussy spacing, or that the fussy spacing article is too unimportant to appear as an addendum to the tutorial? – MJD Aug 31 '12 at 23:57 • I was talking specifically about the fraction example. Mostly I'm concerned that somebody will come away thinking, Eeek! Do I have to worry about THAT to use the site? But it's also arguable that the disclaimer at the top of the answer ought to take care of that. – hmakholm left over Monica Sep 1 '12 at 21:13 • @MJD I like the less space, but what if we want to list the bounds for multiple integrals? Like if we have say 3 integrals and we have 3 separate bounds for each how would we list each one? Or do we have to do \int_bound1^bound2\int_bound3^bound4\int_bound5^bound6?? – TheHopefulActuary Nov 19 '12 at 19:45 • @Kyle I think that's exactly what you do in that case. – MJD Nov 19 '12 at 20:09 • Worth nothing you can use \middle with | to get it to work with \left and \right, like \left\{x\middle | \frac{x^2}{2} \in \mathbb{z}\right\}: \left\{x\middle | \frac{x^2}{2} \in \mathbb{z}\right\} – asmeurer Jun 9 '13 at 22:49 • Thanks very much! I wanted to do that, but didn't know how. – MJD Jun 10 '13 at 15:47 • @asmeurer Don't forget the spacing around the bar. – user76284 Apr 26 '18 at 19:30 • It seems \middle \mid doesn't work. What is the correct way to get the right spacing with automatic vertical resizing? – asmeurer Apr 26 '18 at 20:05 • In the case of base e powers I would recommend using \exp(i\pi/2) which is, in my opinion, even better than what's suggested in this post. – mechanicious Jun 9 '18 at 23:08 • @asmeurer I always use \left\{\, ... \,\middle|\, ... \,\right\} like in \left\{\,x\in\Bbb R\,\middle|\, \frac{x^2}{2}\in\Bbb Z\,\right\}. – Christoph Dec 17 '18 at 21:14 • Added the differential section, cannot find it elsewhere. The newcommand solution is taken from TeX.SE. – zwim Jul 4 at 11:06 # Crossing things out Use \require{cancel} in the first formula in your post that requires cancelling; you need it only once per page. Then use:\require{cancel}\begin{array}{rl} \verb|y+\cancel{x}| & y+\cancel{x}\\ \verb|\cancel{y+x}| & \cancel{y+x}\\ \verb|y+\bcancel{x}| & y+\bcancel{x}\\ \verb|y+\xcancel{x}| & y+\xcancel{x}\\ \verb|y+\cancelto{0}{x}| & y+\cancelto{0}{x}\\ \verb+\frac{1\cancel9}{\cancel95} = \frac15+& \frac{1\cancel9}{\cancel95} = \frac15 \\ \end{array} $$Use \require{enclose} for the following:$$\require{enclose}\begin{array}{rl} \verb|\enclose{horizontalstrike}{x+y}| & \enclose{horizontalstrike}{x+y}\\ \verb|\enclose{verticalstrike}{\frac xy}| & \enclose{verticalstrike}{\frac xy}\\ \verb|\enclose{updiagonalstrike}{x+y}| & \enclose{updiagonalstrike}{x+y}\\ \verb|\enclose{downdiagonalstrike}{x+y}| & \enclose{downdiagonalstrike}{x+y}\\ \verb|\enclose{horizontalstrike,updiagonalstrike}{x+y}| & \enclose{horizontalstrike,updiagonalstrike}{x+y}\\ \end{array} $$\enclose can also produce enclosing boxes, circles, and other notations; see MathML menclose documentation for a complete list. • Can I use \enclose{counterstrike}? :P – Akiva Weinberger Jul 27 '15 at 19:19 • That sneaky 19/95 = 1/5. Nice one! – Darth Geek Dec 8 '15 at 23:57 • I see you can further resolve existing resolutions, \cancelto{\cancelto{\cancelto{x^{2+x}}{\cancelto{x^2}{x}+4}}4}0 – alan2here May 1 '16 at 2:40 • Is enclose a \LaTeX package, or only a MathML option? – Tim Thayer Nov 4 '16 at 18:51 • I really need this thing. It will really help. – Always Confused May 19 '17 at 13:42 • very very very thanx, I've searcing this – Anıl B.C.T. Apr 30 '18 at 13:54 • Here is a related post on meta: Striking out equations. – Martin Sleziak Mar 20 '19 at 3:15 • Nice command to make an arrow: \cancelto{}{} \cancelto{}{} – math Jul 21 at 11:32 ## System of equations • Use \begin{array}…\end{array} and \left\{…\right.. For example, you get this:$$ \left\{ \begin{array}{c} a_1x+b_1y+c_1z=d_1 \\ a_2x+b_2y+c_2z=d_2 \\ a_3x+b_3y+c_3z=d_3 \end{array} \right. $$by writing this: $$
\left\{
\begin{array}{c}
a_1x+b_1y+c_1z=d_1 \\
a_2x+b_2y+c_2z=d_2 \\
a_3x+b_3y+c_3z=d_3
\end{array}
\right.
$$ • Alternatively we can use \begin{cases}…\end{cases}. The same system$$ \begin{cases} a_1x+b_1y+c_1z=d_1 \\ a_2x+b_2y+c_2z=d_2 \\ a_3x+b_3y+c_3z=d_3 \end{cases} $$is produced by the following code $$\begin{cases}
a_1x+b_1y+c_1z=d_1 \\
a_2x+b_2y+c_2z=d_2 \\
a_3x+b_3y+c_3z=d_3
\end{cases}
 • To align the = signs use \begin{aligned}...\end{aligned} and \left\{…\right. (see asmeurer's comment)\left\{\begin{aligned} a_1x+b_1y+c_1z&=d_1+e_1 \\ a_2x+b_2y&=d_2 \\ a_3x+b_3y+c_3z&=d_3 \end{aligned} \right. $$whose code is $$
\left\{
\begin{aligned}
a_1x+b_1y+c_1z &=d_1+e_1 \\
a_2x+b_2y&=d_2 \\
a_3x+b_3y+c_3z &=d_3
\end{aligned}
\right.
 • To align the = signs and the terms as in\left\{\begin{array}{ll}a_1x+b_1y+c_1z &=d_1+e_1 \\ a_2x+b_2y &=d_2 \\ a_3x+b_3y+c_3z &=d_3 \end{array} \right.use array with l (for "align left"; there are also c and r) parameters 
\left\{
\begin{array}{ll}
a_1x+b_1y+c_1z &=d_1+e_1 \\
a_2x+b_2y &=d_2 \\
a_3x+b_3y+c_3z &=d_3
\end{array}
\right.
f\left(
\left[
\frac{
1+\left\{x,y\right\}
}{
\left(
\frac{x}{y}+\frac{y}{x}
\right)
\left(u+1\right)
}+a
\right]^{3/2}
\right)
$$ renders as$$ f\left(\left[ \frac{1+\left\{x,y\right\}}{\left(\frac{x}{y}+\frac{y}{x}\right)\left(u+1\right)}+a\right]^{3/2}\right). $$Note that curly braces need to be escaped as \{ \}. If you start a big brace with \left and then need to match that to a \right brace that's on a different line, use the forms \right. and \left. to make "shadow" braces. Thus, $$
\begin{aligned}
a=&\left(1+2+3+  \cdots \right. \\
& \cdots+ \left. \infty-2+\infty-1+\infty\right)
\end{aligned}
$$ renders as$$ \begin{aligned} a=&\left(1+2+3+ \cdots \right. \\ & \cdots+ \left. \infty-2+\infty-1+\infty\right). \end{aligned} $$There is also a \middle construct which is useful when one has a mid-expression brace which must also scale up: $$
\left\langle
q
\middle\|
\frac{\frac{x}{y}}{\frac{u}{v}}
\middle|
p
\right\rangle
$$ renders as$$ \left\langle q\middle\|\frac{\frac{x}{y}}{\frac{u}{v}} \middle| p \right\rangle. $$Note that constructs like \left\langle, \left| and \left\| are also possible. • Note: \Big( ... \Big) produces \Big(\dots\Big) but this bracket size is fixed in all situations unlike \left( ... \right) which varies in size with its contents. \Big can be useful in various situations. – Nick Dec 19 '14 at 6:34 ## Limits To make a limit (like \lim \limits_{x \to 1} \frac{x^2-1}{x-1}), use this syntax: First, start off with \lim. This renders as \lim. The backslash is there to prevent things like lim, where the letters are slanted. Second, add \limits_{x \to 1} inside. The code now looks like \lim \limits_{x \to 1}, and renders as \lim \limits_{x \to 1}. The \to inside makes the right arrow, rendered as \to. The _ makes the x \to 1 go underneath the \lim. Finally, the pair of curly braces { } makes sure that x \to 1 is treated as a whole object, and not two separate things. Lastly, add the function you want to apply the limit to. To make the limit mentioned above, \lim \limits_{x \to 1} \frac{x^2-1}{x-1}, simply use \lim\limits_{x \to 1} \frac{x^2-1}{x-1}. And that is how you make a limit using MathJax. • Why not just \lim_{x\to 1}$$\lim_{x\to 1}?$$As I understand it \limits is only needed for operations that don't already understand limits, for example if you want to use + and get$$\mathop{+}\limits_{i=1}^k\text{ instead of }+_{i=1}^k$$When used inline, your suggestion will produce \lim\limits_{x\to 1} instead of the more compact form \lim_{x\to 1} that mathjax normally chooses. Are you sure this is good advice? – MJD Feb 26 '14 at 14:10 • @MJD \lim_{x\to 1} renders to \lim_{x\to 1}, and \lim\limits_{x\to 1 renders as lim\limits_{x\to 1}. Note how the x\to 1 is separated from the first limit, and not directly underneath. We do not write limits like that in real life, so we use \limits. – TrueDefault Feb 26 '14 at 16:19 • I meant that the second limit renders to \lim \limits_{x \to 1} – TrueDefault Feb 26 '14 at 16:28 • Limits are usually written that way in typeset materials like papers and books when the limit is inline, rather than a displayed formula, and that's why MathJax typesets it that way. – MJD Feb 26 '14 at 16:41 • The issue with this answer is that it is trying to "force" display mode on inline code. Doing so makes the text look less pretty. For example, see how the spacing between the lines change when I force display mode using \lim\limits_{x\mapsto 1}\dfrac1x: \lim\limits_{x\mapsto 1}\dfrac1x. On the other hand, when I let \TeX do what it wants to do, using \lim_{x\mapsto 1}\frac1x, the spacing between the lines stays the same, which is much neater: \lim_{x\mapsto 1}\frac1x. This is much easier on the eyes. If you want to make your math mode more prominent then take a new line using $$-$$ – user1729 Jul 17 '14 at 12:30 • The moral is: \TeX was written by a jolly clever chap. Let it do what it wants, because it does it for a reason! – user1729 Jul 17 '14 at 12:35 • Part 11 of the "question" shows how to write limits in the way they were meant to be written in LaTeX and MathJax. – David K Nov 14 '15 at 23:17 # Arbitrary operators If an operator is not available as a built-in command, use \operatorname{…}. So for things like$$\operatorname{arsinh}(x)$$write \operatorname{arsinh}(x) since \arsinh(x) will give an error and arsinh(x) has wrong font and spacing: arsinh(x). This was already mentioned in a comment by Charles Staats. You might consider this an addition to the FAQ section on \lim, \sin and so on. For operators which need limits above and below the operator, use \operatorname*{…}, as in$$ \operatorname*{Res}_{z=1}\left(\frac1{z^2-z}\right)=1 $$• We can also use \verb*{\rm ...}*. For example, \verb*{\rm arsinh}* yields {\rm arsinh}. – Felix Marin Aug 12 '14 at 0:27 • @Felix: \rm will change the font but not the spacing. \operatorname{arsinh}x renders as “\operatorname{arsinh}x” while {\rm arsinh}x renders as “{\rm arsinh}x”. Notice the added space between operator and operand in the first example, which is missing in the second. On the whole, I'd say that operatorname is a lot more in the spirit of semantic markup, declaring what you want to write instead of how you want to write it, so I'd strongly suggest using this. – MvG Aug 13 '14 at 11:27 • Thanks. I didn't know there was a difference between them. I always avoided {\tt operatorname} because it was too long. – Felix Marin Aug 13 '14 at 14:41 • Thanks for this. I thought carefully about whether to put \operatorname in the main post, and decided to leave it out. The reason is simple: If a beginner omits \operatorname, the resulting formula will still be perfectly clear, and a more experienced user will have no trouble inserting the \operatorname where it is needed. So including it in the main post would not be a good use of space. – MJD Aug 16 '14 at 6:28 • ... I always use "\text{operator }". Hmmm, \text{arsinh }x vs \operatorname{arsinh}x. – JP McCarthy Feb 10 '15 at 16:48 • If you use the same operator many times, I think you can do \DeclareMathOperator{\arsinh}{arsinh} at the post's top. Never tried it though… – MickG Aug 15 '15 at 17:28 # Highlighting equation To highlight an equation, \bbox can be used. E.g, $$ \bbox[yellow]
{
e^x=\lim_{n\to\infty} \left( 1+\frac{x}{n} \right)^n
}
$$ produces$$ \bbox[yellow] { e^x=\lim_{n\to\infty} \left( 1+\frac{x}{n} \right)^n \qquad (1) } $$By default, the bounding box is "tight", so it doesn't extend beyond the characters used in the formula. You can add a little space around the equation by adding a measurement after the color. E.g., $$ \bbox[yellow,5px]
{
e^x=\lim_{n\to\infty} \left( 1+\frac{x}{n} \right)^n
}
$$ produces$$ \bbox[yellow,5px] { e^x=\lim_{n\to\infty} \left( 1+\frac{x}{n} \right)^n \qquad (1) } $$To add a border, use $$ \bbox[5px,border:2px solid red]
{
e^x=\lim_{n\to\infty} \left( 1+\frac{x}{n} \right)^n
}
$$ produces$$ \bbox[5px,border:2px solid red] { e^x=\lim_{n\to\infty} \left( 1+\frac{x}{n} \right)^n \qquad (2) } $$You can do both border and background, as well: $$ \bbox[yellow,5px,border:2px solid red]
{
e^x=\lim_{n\to\infty} \left( 1+\frac{x}{n} \right)^n
}
$$ produces$$ \bbox[yellow,5px,border:2px solid red] { e^x=\lim_{n\to\infty} \left( 1+\frac{x}{n} \right)^n \qquad (1) } $$• When using constructs like this, please heed the points raised in this discussion on usage of colour. – Lord_Farin May 20 '16 at 15:56 • This would be a very helpful feature. – Always Confused May 19 '17 at 13:36 # Absolute values and norms The absolute value of some expression can be denoted as \lvert x\rvert or, more generally, as \left\lvert … \right\rvert. It renders as \lvert x\rvert. The norm of a vector (or similar) can be denoted as \lVert v\rVert or, more generally, as \left\lVert … \right\rVert. It renders as \lVert v\rVert. (You may also write \left\|…\right\| instead.) In both cases, the rendering is better than what you'd get from |x| or ||v||, which render with bars that don't descend low enough and sub-optimal spacing. At least on some browsers, so here is a screenshot how it looks for me, using Firefox 31 on OS X: And here is the same formula rendered by your browser:$$|x|, ||v|| \quad\longrightarrow\quad \lvert x\rvert, \lVert v\rVert$$It was typeset as $$|x|, ||v|| \quad\longrightarrow\quad \lvert x\rvert, \lVert v\rVert • You can use \|x\| instead of \lVert x \rVert; \|x\| and \lVert x \rVert. (I don't think that there is a difference between them. I've tried [asking on SE](tex.stackexchange.com/questions/77767/whats-the-correct-way-to-write-norm).) – Martin Sleziak Jun 24 '14 at 8:48 • On my browser |x| and \lvert x\rvert (|x| and \lvert x\rvert) look identical, contrary to your claim. Perhaps you need to show an example more complicated than just 'x'? – MJD Jun 24 '14 at 12:39 • @MJD: What's your browser? I included a screenshot to support my claim. – MvG Aug 13 '14 at 11:24 • Usually various versions of Firefox on either Linux or Windows. I happen to have Windows 8 booted now, so here's a screenshot from there: a.pomf.se/jrujkq.PNG The bar height looks good on both pairs of symbols; the spacing is a little off for the || version. On Linux they looked the same. – MJD Aug 13 '14 at 17:02 • Here's a screenshot with FF 31.0 under Linux: a.pomf.se/fhwmjo.png – MJD Aug 16 '14 at 6:23 • The difference in output that you are seeing has to do with whether you have the STIX fonts installed locally on your computer or not. The | in STIX doesn't descend below the baseline, while in the MathJax TeX fonts it does. – Davide Cervone May 20 '16 at 14:16 ## Giving reasons on each line of a sequence of equations To produce this: \begin{align} v + w & = 0 &&\text{Given} \tag 1\\ -w & = -w + 0 && \text{additive identity} \tag 2\\ -w + 0 & = -w + (v + w) && \text{equations (1) and (2)} \end{align} write this: \begin{align} v + w & = 0 &&\text{Given} \tag 1\\ -w & = -w + 0 && \text{additive identity} \tag 2\\ -w + 0 & = -w + (v + w) && \text{equations (1) and (2)} \end{align}  • Using multiple \tag commands in my equations causes them to break. It only takes one tag per equation and it labels the entire thing instead of allowing tagging on a per-line basis. Any ideas? – code_dredd Jun 1 '19 at 20:19 • @code_dredd The particular formatting in this answer still seems to work. Perhaps you could post your formulas in a new meta question to get help with them. – David K Jun 2 '19 at 5:20 # Pack of cards If you are asking (or answering) a combinatorics question involving packs of cards you can make it look more elegant by using \spadesuit, \heartsuit, \diamondsuit, \clubsuit in math mode:\spadesuit\quad\heartsuit\quad\diamondsuit\quad\clubsuit$$Or if you're really fussy: \color{red}{\heartsuit} and \color{red}{\diamondsuit}$$\color{red}{\heartsuit}\quad\color{red}{\diamondsuit}$$You can also enter the standard Unicode characters (U+2660 BLACK SPADE SUIT etc.) literally, or copy them from here:$$♠\quad♡\quad♢\quad♣\\ ♤\quad♥\quad♦\quad♧ $$• This is very nice! Is there other auto-shapes or stickers? – Always Confused May 19 '17 at 13:37 • Is it also possible to draw the spade and club in outlines and fill the heart and diamond with a colour? – Always Confused May 19 '17 at 13:39 • @AlwaysConfused None that come to mind. Google search turned up this which might help. Otherwise search for a TeX/LaTeX/MathJax symbol table. – David May 22 '17 at 23:48 • @AlwaysConfused Unicode has those characters, so you can enter them however you normally enter Unicode characters, or you can now use copy-paste to copy them from this answer. – MJD May 29 '18 at 16:11 • @MJD Not sure that your edit is a good idea, firstly because I think we would prefer questions and answers on MSE to be in MathJax as far as possible, secondly because this page is specifically a MathJax tutorial. However I'm not really bothered - if you still think it's a good idea, let me know and I'll approve the edit. – David May 30 '18 at 4:31 • Is there a way to force the heart and diamond suit symbols to be filled, like the club and spade? – code_dredd Jun 2 '19 at 18:39 • @code_dredd See my previous comment in reply to "Always Confused", also the comment by MJD. – David Jun 2 '19 at 22:08 • @David I guess nothing has changed since then... Thanks. – code_dredd Jun 2 '19 at 23:36 • To the above commenters - it is possible, for instance$$\color{yellow}♥\!\!\!\color{blue}♡ $$achieved via the code $$\color{yellow}♥\!\!\!\color{blue}♡$$ but you will need to fiddle with the number of \!s depending on where you put it, because I don't think there is a command in mathJax to place characters on top of each other. Another example,$$\Huge \color{green}\Huge \color{green}♥\!\!\!\!\!\!\!\!\!\!\,\color{red}♡$$ gives$$\Huge \color{green}♥\!\!\!\!\!\!\!\!\!\!\,\color{red}♡ $$– Calvin Khor Mar 28 at 6:02 ## Left and Right Implication Arrows Another way to display the arrows for right and left implication instead of using \Rightarrow, \Leftarrow and \Leftrightarrow which produces \Rightarrow, \Leftarrow and \Leftrightarrow respectively, you can use \implies for \implies, \impliedby for \impliedby and \iff for \iff The latter of which produces longer arrows which may be more desirable to some. ## Long division $$
\require{enclose}
\begin{array}{r}
13  \\[-3pt]
4 \enclose{longdiv}{52} \\[-3pt]
\underline{4}\phantom{2} \\[-3pt]
12  \\[-3pt]
\underline{12}
\end{array}
$$$$ \require{enclose} \begin{array}{r} 13 \\[-3pt] 4 \enclose{longdiv}{52} \\[-3pt] \underline{4}\phantom{2} \\[-3pt] 12 \\[-3pt] \underline{12} \end{array} $$One important trick shown here is the use of \phantom{2} to make a blank space that is the same size and shape as the digit 2 just above it. This is adapted from https://stackoverflow.com/a/22871404/3466415 (which uses slightly different but not less valid formatting). • Synthetic division. Example to find that$$x^3−6x^2+11x−6=(x−{\color{red}1})(x^2−5x+6)+{\color{blue}0}$$\begin{array}{c|rrrr}& x^3 & x^2 & x^1 & x^0\\ & 1 & -6 & 11 & -6\\ {\color{red}1} & \downarrow & 1 & -5 & 6\\ \hline & 1 & -5 & 6 & |\phantom{-} {\color{blue}0} \end{array} \begin{array}{c|rrrr}& x^3 & x^2 & x^1 & x^0\\ & 1 & -6 & 11 & -6\\ {\color{red}1} & \downarrow & 1 & -5 & 6\\ \hline & 1 & -5 & 6 & |\phantom{-} {\color{blue}0} \end{array} – Américo Tavares Aug 21 '16 at 14:32 • I will need this. It is so useful. – Always Confused May 21 '17 at 16:09 • What about long division? – Aqua Aug 14 '18 at 8:54 • @Maria Mazur For the same example  \dfrac{x^3-6x^2+11x-6}{x-1}=x^2-5x+6:$$\begin{array}{rrrr|ll} x^3 & -6x^2 & +11x & -6 & x - 1 \\ -x^3 & +x^2 & & & x^2-5x+6 \\ \hline & -5x^2 & +11x & -6\\ & \phantom{-}5x^2 & -5x & & & & \\ \hline & & +6x & -6 \\ & & -6x & +6 \\ \hline & & 0 & 0 \end{array}$$I've used this code \begin{array}{rrrr|ll} x^3 & -6x^2 & +11x & -6 & x - 1 \\ -x^3 & +x^2 & & & x^2-5x+6 \\ \hline & -5x^2 & +11x & -6\\ & \phantom{-}5x^2 & -5x & & & & \\ \hline & & +6x & -6 \\ & & -6x & +6 \\ \hline & & 0 & 0 \end{array} – Américo Tavares May 16 '19 at 20:06 # Degree symbol Standard Mathjax does not yet support a dedicated degree symbol, so here are some of the ways to try and emulate one : $$\begin{array} \\ \text{45^\text{o}} & \text{renders as} & 45^\text{o} \\ \text{45^o} & \text{renders as} & 45^o \\ \text{45^\circ} & \text{renders as} & 45^\circ \\ \text{90°} & \text{renders as} & 90° & \text{Using keyboard entry of symbol} % % Use the following line as a template for additional entries % % \text{} & \text{renders as} & \\ \end{array}$$ The degree symbol for angles is not ^\circ. Although many people use this notation, the result looks quite different from the canonical degree symbol shipped with the font, as seen above. If your keyboard doesn't have a ° key, feel free to copy from this post here, or follow these suggestions. Note that comments below indicate that on some configurations at least, ° renders inferior to ^\circ. And I recently had a post of mine edited just for the sake of turning ° into ^\circ, indicating that someone felt rather strongly about this. So the suggestion above does seem somewhat controversial at the moment. I maintain that from a semantic point of view, ° is superior to ^\circ, and if the rendering suffers from this, then it's a bug in MathJax. After all, LaTeX offers a proper degree symbol in the tex companion fonts, indicating that someone there, too, decided that ^\circ is not perfect. But if things are broken now, I can't fault people from pragmatically sticking with the rendering they prefer. Personally I prefer semantics, also for the sake of screen readers. Accessibility Aside from appearance, one consideration in choosing which notation to use is how it will get parsed by screen readers. For example, ChromeVox reads both 45^\circ and 45° as "forty-five degrees", while the other two are pronounced as "forty-five oh", which may be a reason to avoid them. Usepackage Commonly in Latex you can \usepackage{gensymb} to get the \degree symbol, however on Stack Exchange this is not an option. Note that even if you can do this it will typically affect the entire page, which may have side effects for other users. So don't rely on this approach. • If mathjax loads siunitx or gensymb, there is then \degree in latex which is the degree symbol. – dustin Feb 17 '15 at 22:29 • @dustin: I couldn't find siunitx or gensymb mentioned anywhere in the MatJax source repository. Are they available as some kind of third-party extension? If so, where? Since MathJax is not LaTeX, packages can't be loaded unless they have been migrated. By the way, all occurrences of “degree” in the MathJax sources refer to something else, as far as I can tell, so there really doesn't seem to be a \degree macro. There should be one, imho. – MvG Feb 17 '15 at 23:39 • I am not a mathjax expert. I just know latex. I just gave that suggestion in case they were available. Siunitx would be a great package to have. If you aren't familiar, you will see the advantage by scanning the documentation on ctan. – dustin Feb 17 '15 at 23:43 • On my display, ° looks bad and ^\circ looks good: a.pomf.se/xnlfyg.png – MJD Mar 24 '15 at 21:10 • Degree sign can generally be typed by holding down Alt and typing 0176 on the numeric keypad. ° (I don't know how international the actual number is). The leading zero is required. – Joffan Apr 19 '17 at 14:04 • @Joffan: 167 is the decimal representation of the Codepoint for ° in Latin 1, Unicode and CP-1252. Without the leading zero, CP-437 gets applied instead, at least in typical English-speaking countries, so you'd use Alt+248 there. The Wikipedia article I linked to already describes those two ways of entering the symbol, and en.wikipedia.org/wiki/Alt_code has some more details. – MvG Apr 20 '17 at 22:24 • How to use Radian (c) , gradian (g) and Steradian (sr) ? And also, Angstrom (though a lenght unit)? – Always Confused May 21 '17 at 16:06 • Actually we can write degrees by 90^o (O for Orange, using lowercase o, like 'o'), and it'd render it close to degrees symbol$$90^o + 30 ^o + 45^o$$– user427802 May 31 '18 at 14:41 • @AbhasKumarSinha It looks quite slanty to me. – Tom Hale Jun 13 '18 at 3:57 • @StephenG: I'm not happy with your latest edit. I feel that it is not helpful to users if we suggest even more ways to poorly format that symbol (like ^o imho), or to mention a LaTeX approach just to say it won't work. You deleted the example for 45°, but kept the sentence talking about it, including the colon. I'm reluctant to revert your edit on a CW page without a conversation, but as it stands I see the edit as a change for the worse. Can we find a combined solution? – MvG Oct 8 '18 at 19:09 • I just wrote a feature request for a \degree symbol, since I believe it would be technically easy and conceptually beneficial to have such a symbol defined for the whole site. – MvG Oct 8 '18 at 19:25 • @MvG I have added an entry to the "renders as" table for keyboard entry (which frankly looks awful IMO) but regarding your "unhappiness" note only one line was deleted from the version preceding my first edit and I regard your belief that this justifies your claim my edit was "unhelpful" is nonsense. I fail to see how undoing my edit helps anyone but you. – StephenG Oct 10 '18 at 4:16 • While we're at it, I included my comment on accessibility from the feature request post, since it may be more useful here. It would be nice if other people tested other screen readers to get a sample size of higher than one. – Misha Lavrov Oct 10 '18 at 5:25 # Displaystyle and Textstyle Many things like fractions, sums, limits, and integrals display differently when written inline versus in a displayed formula. You can switch styles back and forth with \displaystyle and \textstyle in order to achieve the desired appearance. Here's an example switching back and forth in a displayed equation: $$\sum_{n=1}^\infty \frac{1}{n^2} \to
\textstyle \sum_{n=1}^\infty \frac{1}{n^2} \to
\displaystyle \sum_{n=1}^\infty \frac{1}{n^2}$$$$\sum_{n=1}^\infty \frac{1}{n^2} \to \textstyle \sum_{n=1}^\infty \frac{1}{n^2} \to \displaystyle \sum_{n=1}^\infty \frac{1}{n^2}

It is possible to switch style inline as well:

Compare $\displaystyle \lim_{t \to 0} \int_t^1 f(t)\, dt$
versus $\lim_{t \to 0} \int_t^1 f(t)\, dt$.


Compare $\displaystyle \lim_{t \to 0} \int_t^1 f(t)\, dt$ versus $\lim_{t \to 0} \int_t^1 f(t)\, dt$.

• Oh!! I was always confused on why some people had \displaystyle. – Simply Beautiful Art Nov 7 '16 at 0:42
• @SimplyBeautifulArt I was always wondering on why the math expressions of some people looked nicer than mine.. – allesia_b Sep 21 '18 at 21:37
• There is also $\scriptstyle{AbC}$ $\scriptstyle{AbC}$ and $\scriptscriptstyle{AbC}$ $\scriptscriptstyle{AbC}$. – emacs drives me nuts Mar 5 at 8:52

# Vertical Spacing

Some formulas such as $\overline a+\overline b=\overline {a\cdot b}$, $\sqrt{a}-\sqrt{b}$, do not look quite right when it comes to vertical spacing. Fortunately, there is more than one way to fix this. One can for instance employ the \mathstrut command as follows:

$\sqrt{\mathstrut a} - \sqrt{\mathstrut b}$


Which yields: $\sqrt{\mathstrut a} - \sqrt{\mathstrut b}$. Or using \vphantom (vertical phantom) command, which measures the height of its argument and places a math strut of that height into the formula.

$\sqrt{\vphantom{b} a} - \sqrt{b}$


Which renders as: $\sqrt{\vphantom{b} a} - \sqrt{b}$.

Another issue is with the spacing within lines in situations like this,

Based on the previous technique, we can simplify $\dfrac{1}{\sqrt{\vphantom{b} a} - \sqrt{b}}$, and we thus get the result of the previous limit.

These two lines are too far apart, but this is unnecessary since the second line is very short. We can solve this by using the \smash command, to get:

Based on the previous technique, we can simplify $\smash{\dfrac{1}{\sqrt{\vphantom{b} a} - \sqrt{b}}}$, and we thus get the result of the previous limit.

• Alternatively, one can also sneak in a rule of zero width \rule{0pt}{2ex}, as explained here. – on4aa Apr 29 at 15:06

# Equation numbering

## Simple equation

To give an equation a number, use the \tag{}. To refer to it later, use \label{} to label this equation. When you want to refer to it, use \eqref{}. For example,

$$e=mc^2 \tag{1}\label{eq1}$$

Equation $$\eqref{eq1}$$ is one the greatest equations in mankind history. Equation $$\eqref{eq1}$$ is produced using the following code,

$$e=mc^2 \tag{1}\label{eq1}$$


To refer to it, use \eqref{eq1}.

## Multi-line equation

Multi-line equation is actually just one equation rather than several equations. So the correct environment is aligned instead of align.

\begin{aligned} a &= b + c \\ &= d + e + f + g \\ &= h + i \end{aligned}\tag{2}\label{eq2}

Equation $$\eqref{eq2}$$ is a multi-line equation. The code to produce equation $$\eqref{eq2}$$ is

\begin{aligned} a &= b + c \\ &= d + e + f + g \\ &= h + i \end{aligned}\tag{2}\label{eq2}


## Multiple aligned equations

For multiple aligned equations, we use the align environment.

\begin{align} a &= b + c \tag{3}\label{eq3} \\ x &= yz \tag{4}\label{eq4}\\ l &= m - n \tag{5}\label{eq5} \end{align}

Equation $$\eqref{eq3}$$, $$\eqref{eq4}$$ and $$\eqref{eq5}$$ are multiple equations aligned together. The code to produce these equations is,

\begin{align} a &= b + c \tag{3}\label{eq3} \\ x &= yz \tag{4}\label{eq4}\\ l &= m - n \tag{5}\label{eq5} \end{align}

• I don’t believe there is any difference between align and aligned, but whatever feels comfortable I suppose. – Mr Pie Feb 2 '18 at 6:12
• There is actaully a difference, read here for a detailed discussions. – jdhao Feb 2 '18 at 6:28
• thank you very much for clearing up that understanding :) – Mr Pie Feb 2 '18 at 6:30
• You are welcome. When in doubt, always google it first :). – jdhao Feb 2 '18 at 6:32
• If there's an equation with multiple lines, is there a way to add tags on a per-line basis, i.e. \tag{1} for line 1, \tag{2} for line 2, etc? If I use the \tag{...} commands, I can only use one per equation and it labels the entire equation, not each line. – code_dredd Jun 1 '19 at 20:17
• I am not aware of this kind of command. What is your use case? – jdhao Jun 4 '19 at 2:27
• the last equation numbering can also be used with align* instead of align – Masacroso Dec 2 '19 at 23:59
• I get all tags on the first line: "a = b + c (3)(4)(5)". – Jiri Kriz Dec 13 '19 at 13:55

# Linear programming

## Formulation

A theoretical LPP can be typeset as

$$\begin{array}{ll} \text{maximize} & c^T x \\ \text{subject to}& d^T x = \alpha \\ &0 \le x \le 1. \end{array}$$


$$\begin{array}{ll} \text{maximize} & c^T x \\ \text{subject to}& d^T x = \alpha \\ &0 \le x \le 1. \end{array}$$

To input a numerical LPP, use alignat instead of align to get better alignment between signs, variables and coefficients.

\begin{alignat}{5} \max \quad & z = & x_1 & + & 12 x_2 & & & && \\ \mbox{s.t.} \quad & & 13 x_1 & + & x_2 & + & 12x_3 & \geq 5 && \tag{constraint 1} \\ & & x_1 & & & + & x_3 & \leq 16 && \tag{constraint 2} \\ & & 15 x_1 & + & 201 x_2 & & & = 14 && \tag{constraint 3} \\ & & \rlap{x_i \ge 0, i = 1, 2, 3} \end{alignat}


\begin{alignat}{5} \max \quad & z = & x_1 & + & 12 x_2 & & & && \\ \mbox{s.t.} \quad & & 13 x_1 & + & x_2 & + & 12x_3 & \geq 5 && \tag{constraint 1} \\ & & x_1 & & & + & x_3 & \leq 16 && \tag{constraint 2} \\ & & 15 x_1 & + & 201 x_2 & & & = 14 && \tag{constraint 3} \\ & & \rlap{x_i \ge 0, i = 1, 2, 3} \end{alignat}

We treat $$\max$$, $$z$$, each variable, $$\pm$$ sign and RHS as one separate column, while leaving an extra empty column on the right. Then we count the number of separators &, add one into this number then divide it by two. (e.g. (9 + 1) ÷ 2 = 5)

\rlap is used so that the last row spans over one column.

Optional: \tag is used to label the constraints.

## Change MATLAB/Octave matrices to $$\rm\LaTeX$$ code

To get fractions, execute format rat at the beginning.

Writing manually the $$\rm\LaTeX$$ code for a matrix with many rows and columns in Octave is tedious. The Octave function

strcat("\\begin{bmatrix}\n",strrep(strrep(mat2str(A)," "," & "), ...
";"," \\\\\n")(2:end-1),"\n\\end{bmatrix}\n")


converts

A = [1 2 2; 2 3 4; 4 4 2]
A =

1   2   2
2   3   4
4   4   2


to

$$\begin{bmatrix} 1 & 2 & 2 \\ 2 & 3 & 4 \\ 4 & 4 & 2 \end{bmatrix}$$


so that pasting the generated code gives

$$\begin{bmatrix} 1 & 2 & 2 \\ 2 & 3 & 4 \\ 4 & 4 & 2 \end{bmatrix}.$$

## Simplex tableaux

Since the coefficient of the objective value variable $$z$$ never changes, my habit is to omit the $$z$$-column to save ink.

### Normal simplex tableau

$$\begin{array}{rrrrrr|r} & x_1 & x_2 & s_1 & s_2 & s_3 & \\ \hline s_1 & 0 & 1 & 1 & 0 & 0 & 8 \\ s_2 & 1 & -1 & 0 & 1 & 0 & 4 \\ s_3 & 1 & 1 & 0 & 0 & 1 & 12 \\ \hline & -1 & -1 & 0 & 0 & 0 & 0 \end{array}$$


$$\begin{array}{rrrrrr|r} & x_1 & x_2 & s_1 & s_2 & s_3 & \\ \hline s_1 & 0 & 1 & 1 & 0 & 0 & 8 \\ s_2 & 1 & -1 & 0 & 1 & 0 & 4 \\ s_3 & 1 & 1 & 0 & 0 & 1 & 12 \\ \hline & -1 & -1 & 0 & 0 & 0 & 0 \end{array}$$

It can be stacked up to give an illustration of the entering of variables at different stages.

$$\begin{array}{rrrrrrr|rr} & x_1 & x_2 & s_1 & s_2 & s_3 & w & & \text{ratio} \\ \hline s_1 & 0 & 1 & 1 & 0 & 0 & 0 & 8 & - \\ w & 1^* & -1 & 0 & -1 & 0 & 1 & 4 & 4 \\ s_3 & 1 & 1 & 0 & 0 & 1 & 0 & 12 & 12 \\ \hdashline & 1 & -1 & 0 & -1 & 0 & 0 & 4 & \\ \hline s_1 & 0 & 1 & 1 & 0 & 0 & 0 & 8 & \\ x_1 & 1 & -1 & 0 & -1 & 0 & 1 & 4 & \\ s_3 & 0 & 2 & 0 & 2 & 1 & -1 & 8 & \\ \hdashline & 0 & 0 & 0 & 0 & 0 & -1 & 0 & \end{array}$$


$$\begin{array}{rrrrrrr|rr} & x_1 & x_2 & s_1 & s_2 & s_3 & w & & \text{ratio} \\ \hline s_1 & 0 & 1 & 1 & 0 & 0 & 0 & 8 & - \\ w & 1^* & -1 & 0 & -1 & 0 & 1 & 4 & 4 \\ s_3 & 1 & 1 & 0 & 0 & 1 & 0 & 12 & 12 \\ \hdashline & 1 & -1 & 0 & -1 & 0 & 0 & 4 & \\ \hline s_1 & 0 & 1 & 1 & 0 & 0 & 0 & 8 & \\ x_1 & 1 & -1 & 0 & -1 & 0 & 1 & 4 & \\ s_3 & 0 & 2 & 0 & 2 & 1 & -1 & 8 & \\ \hdashline & 0 & 0 & 0 & 0 & 0 & -1 & 0 & \end{array}$$

### Dual simplex tableau

$$\begin{array}{rrrrrrrr|r} & x_1 & x_2 & x_3 & x_4 & x_5 & x_6 & x_7 & \\ \hline x_4 & 0 & -3 & 7 & 1 & 0 & 0 & 2 & 2M -4 \\ x_5 & 0 & -9 & 0 & 0 & 1 & 0 & -1 & -M -3 \\ x_6 & 0 & 6 & -1 & 0 & 0 & 1 & -4^* & -4M +8 \\ x_1 & 1 & 0 & 1 & 0 & 0 & 0 & 1 & M \\ \hline & 0 & 1 & 1 & 0 & 0 & 0 & 2 & 2M \\ \text{ratio} & & & 1 & & & & 1/2 & \end{array}$$


$$\begin{array}{rrrrrrrr|r} & x_1 & x_2 & x_3 & x_4 & x_5 & x_6 & x_7 & \\ \hline x_4 & 0 & -3 & 7 & 1 & 0 & 0 & 2 & 2M -4 \\ x_5 & 0 & -9 & 0 & 0 & 1 & 0 & -1 & -M -3 \\ x_6 & 0 & 6 & -1 & 0 & 0 & 1 & -4^* & -4M +8 \\ x_1 & 1 & 0 & 1 & 0 & 0 & 0 & 1 & M \\ \hline & 0 & 1 & 1 & 0 & 0 & 0 & 2 & 2M \\ \text{ratio} & & & 1 & & & & 1/2 & \end{array}$$

It can be stacked up to give a theoretical illustration of what happens in the upcoming steps.

$$\begin{array}{rrrrrrr|r} & x_1 & x_2 & x_3 & s_1 & s_2 & s_3 & \\ \hline s_1 & -2 & 0 & -2 & 1 & 0 & 0 & -60 \\ s_2 & -2 & -4^* & -5 & 0 & 1 & 0 & -70 \\ s_3 & 0 & -3 & -1 & 0 & 0 & 1 & -27 \\ \hdashline & 8 & 10 & 25 & 0 & 0 & 0 & 0 \\ \text{ratio} & -4 & -5/2 & -5 & & & & \\ \hline s_1 & -2^* & 0 & -2 & 1 & 0 & 0 & -60 \\ x_2 & 1/2 & 1 & 5/4 & 0 & -1/4 & 0 & 35/2 \\ s_3 & 3/2 & 0 & 11/4 & 0 & -3/4 & 1 & 51/2 \\ \hdashline & 3 & 0 & 25/2 & 0 & 5/2 & 0 & -175 \\ \text{ratio} & -3/2 & & 25/4 & & & & \\ \hline x_1 & 1 & 0 & 1 & -1/2 & 0 & 0 & 30 \\ x_2 & 0 & 1 & 3/4 & 1/4 & -1/4 & 0 & 5/2 \\ s_3 & 0 & 0 & 5/4 & 3/4 & -3/4^* & 1 & -39/2 \\ \hdashline & 0 & 0 & 19/2 & 3/2 & 5/2 & 0 & -265 \\ \text{ratio} & & & & & \dots & & \\ \hline x_1 & 1 & 0 & 1 & -1/2 & 0 & 0 & 30 \\ x_2 & 0 & 1 & 1/3 & 0 & 0 & -1/3 & 9 \\ s_2 & 0 & 0 & -5/3 & -1 & 1 & -4/3 & 26 \\ \hdashline & 0 & 0 & 41/3 & 4 & 0 & 10/3 & -330 \end{array}$$

## Duality

A picture is worth a thousand words.

$$\require{extpfeil} % produce extensible horizontal arrows \begin{array}{ccc} % arrange LPPs % first row % first LPP \begin{array}{ll} \max & z = c^T x \\ \text{s.t.} & A x \le b \\ & x \ge 0 \end{array} & \xtofrom{\text{duality}} & % second LPP \begin{array}{ll} \min & v = b^T y \\ \text{s.t.} & A^T y \ge c \\ & y \ge 0 \end{array} \\ ({\cal PC}) & & ({\cal DC}) \\ \text{add } {\Large \downharpoonleft} \text{slack var} & & \text{minus } {\Large \downharpoonright} \text{surplus var}\\ % Change to your favorite arrow style % % second row % third LPP \begin{array}{ll} \max & z = c^T x \\ \text{s.t.} & A x + s = b \\ & x,s \ge 0 \end{array} & \xtofrom[\text{some steps skipped}]{\text{duality}} & % fourth LPP \begin{array}{ll} \min & v = b^T y \\ \text{s.t.} & A^T y - t = c \\ & y,t \ge 0 \end{array} \\ ({\cal PS}) & & ({\cal DS}) % \end{array}$$

• It must have taken more than a thousand words to write that picture though :D – Mr Pie Jul 20 '18 at 9:25

# Mixing code and MathJax formatting on lines

To give an example of how this might be useful, I wanted to express an algorithm in more or less the same indentation and symbolic way it appears in a paper.

On my desktop browsers (Chrome, Firefox) the following appears reasonably well spaced and indented, but loses indentation on my Android smartphone:

Input: positive integer $n$
Output: Tangent numbers $T_1,\ldots,T_n$
$T_1\gets 1$
for$k$ from $2$ to$n$
$T_k\gets (k−1)T_{k−1}$
for$k$ from $2$ to$n$
for$j$ from$k$ to$n$
$T_j\gets (j −k)T_{j−1} + (j −k+2)T_j$
return $\;T_1,T_2,\ldots,T_n$.

The source can be examined for specific techniques, but the basic trick is that a MathJax dollar-delimiter can follow a closing back-tick code delimiter, but an opening back-tick should be preceded by a space when following the (closing) dollar-sign delimiter.

Here is a version using \phantom rather than code monospacing to produce indents and tweaking the spacing between code and MathJax expressions with \;, so that the results appear clear on Android browsers:

Input: positive integer $n$
Output: Tangent numbers $T_1,\ldots,T_n$
$T_1\gets 1$
for $\;k\;$ from $2\;$ to $\;n$
$\phantom{{}++{}}$ $T_k\gets (k−1)T_{k−1}$
for $\;k\;$ from $2\;$ to $\;n$
$\phantom{{}++{}}$ for $\;j\;$ from $\;k\;$ to $\;n$
$\phantom{{}++{}}$ $\phantom{{}++{}}$ $T_j\gets (j −k)T_{j−1} + (j −k+2)T_j$
return $\;T_1,T_2,\ldots,T_n$.

• But this is why we have \space, \quad, and \qquad – Simply Beautiful Art Nov 7 '16 at 0:41
• While those are among the ways $\LaTeX$ provides control over spacing, they do not suffice for mixing code and MathJax formatting on a line. – hardmath Nov 7 '16 at 1:05
• I'm not sure if the topic of mixing other code in is well-suited here. – Simply Beautiful Art Nov 7 '16 at 2:05
• I would write the code in TeX using \texttt if I were you. Regardless, this answer probably does not belong here. – pzp May 21 '17 at 14:10
• @pzp: Thanks, that is an interesting suggestion. – hardmath May 22 '17 at 16:15
• @hardmath you can shorten the <code></code> spacers a bit by writing <codde/>, at least in my Jupyter notebooks in Chrome. – Reb.Cabin Feb 6 '18 at 22:28