MediaWiki User Guide: Editing mathematical formulae
From NWN1 Custom Content Guide
MediaWiki uses TeX markup for mathematical formulas. It generates either PNG images or simple HTML markup, depending on user prefs and the complexity of the expression. In the future, as more browsers are smarter, it will be able to generate enhanced HTML or even MathML in many cases.
Math markup goes inside <math> ... </math>. Line breaks within these tags are fine, and aren't rendered. They're a good idea to keep the raw markup clear (for instance, a line break after each term or row of a matrix).
Discussion, bug reports and feature requests should go to the Wikitech-l mailing list.
Note that PNG images use font sizes and types independent of browser settings. Therefore in most cases these deviate from what HTML renders (the latter does depend on browser settings).
Please avoid using TeX markup as part of a line of regular text, as the formulas don't align properly and the font size, as said, usually does not match.
Regarding the background color, note that the background of the PNG images is not transparent but white. This corresponds with the background of normal MediaWiki pages. Only on special pages like this one, with a gray background, and in the case of browser settings with a deviating background, there is no match.
The text on the PNG images is simply black; again, only with special browser settings this does not match with the color of normal text.
Contents |
Special characters
| Feature | Syntax | How it looks rendered |
|---|---|---|
| std. functions (good) | \sin x + \ln y +\operatorname{sgn} z | <math>\sin x + \ln y +\operatorname{sgn} z</math> |
| std. functions (wrong) | sin x + ln y + sgn z | <math>sin x + ln y + sgn z\,</math> |
| Modular arithm. | s_k \equiv 0 \pmod{m} | <math>s_k \equiv 0 \pmod{m}</math> |
| Derivatives | \nabla \partial dx \dot x \ddot y | <math>\nabla \partial dx \quad \dot x\ \ddot y</math> |
| Sets | \forall x\not\in\varnothing\subseteq A\cap B\cup \exists \{x,y\} \times C | <math>\forall x \not\in \varnothing \subseteq A\cap B\cup \exists \{x,y\} \times C</math> |
| Logic | p \land \bar{q} \to p\lor \lnot q | <math>p \land \bar{q} \to p\lor \lnot q</math> |
| Root | \sqrt{2}\approx 1.4 | <math>\sqrt{2}\approx 1.4</math> |
| \sqrt[n]{x} | <math>\sqrt[n]{x}</math> | |
| Relations | \sim \simeq \cong \le \ge \equiv \not\equiv \approx \ne | <math> \sim \ \simeq \ \cong \ \le \ \ge \ \equiv \ \not\equiv \ \approx \ \ne</math> |
| Geometric | \triangle \angle \perp \| 45^\circ | <math>\triangle \ \angle \perp \| \ 45^\circ</math> |
| Arrows |
\leftarrow \rightarrow \leftrightarrow |
<math>\leftarrow\ \rightarrow\ \leftrightarrow</math> |
\Leftarrow \Rightarrow \Leftrightarrow |
<math>\Leftarrow\ \Rightarrow\ \Leftrightarrow</math> |
|
| Special | \oplus \otimes \pm \mp \hbar \dagger \ddagger \star \circ \cdot \times \bullet \infty | <math>\oplus \otimes \pm \mp \hbar \dagger \ddagger \star \circ \cdot \times \bullet\ \infty</math> |
Subscripts, superscripts
| Feature | Syntax | How it looks rendered |
|---|---|---|
| Superscript | a^2 | <math>a^2</math> |
| Subscript | a_2 | <math> a_2 </math> |
| Grouping | a^{2+2} | <math>a^{2+2}</math> |
| a_{i,j} | <math>a_{i,j}</math> | |
| Combining sub & super | x_2^3 | <math>x_2^3</math> |
| Derivative (good) | x' | <math>x'</math> |
| Derivative (wrong in HTML) | x^\prime | <math>x^\prime</math> |
| Derivative (wrong in PNG) | x\prime | <math>x\prime</math> |
| Sum | \sum_{k=1}^N k^2 | <math>\sum_{k=1}^N k^2</math> |
| Product | \prod_{i=1}^N x_i | <math>\prod_{i=1}^N x_i</math> |
| Limit | \lim_{n \to \infty}x_n | <math>\lim_{n \to \infty}x_n</math> |
| Integral | \int_{-N}^{N} e^x\, dx | <math>\int_{-N}^{N} e^x\, dx</math> |
| Line Integral | \oint_{C} x^3\, dx + 4y^2\, dy | <math>\oint_{C} x^3\, dx + 4y^2\, dy</math> |
Fractions, matrices, multilines
| Feature | Syntax | How it looks rendered |
|---|---|---|
| Fractions | \frac{2}{4} or {2 \over 4} | <math>\frac{2}{4}</math> |
| Binomial coefficients | {n \choose k} | <math>{n \choose k}</math> |
| Matrices | \begin{pmatrix} x & y \\ z & v \end{pmatrix} | <math>\begin{pmatrix} x & y \\ z & v \end{pmatrix}</math> |
| \begin{bmatrix} 0 & \cdots & 0 \\ \vdots &
\ddots & \vdots \\ 0 & \cdots & 0\end{bmatrix} |
<math>\begin{bmatrix} 0 & \cdots & 0 \\ \vdots
& \ddots & \vdots \\ 0 & \cdots & 0\end{bmatrix} </math> |
|
| \begin{Bmatrix} x & y \\ z & v \end{Bmatrix} | <math>\begin{Bmatrix} x & y \\ z & v \end{Bmatrix}</math> | |
| \begin{vmatrix} x & y \\ z & v \end{vmatrix} | <math>\begin{vmatrix} x & y \\ z & v \end{vmatrix}</math> | |
| \begin{Vmatrix} x & y \\ z & v \end{Vmatrix} | <math>\begin{Vmatrix} x & y \\ z & v \end{Vmatrix}</math> | |
| \begin{matrix} x & y \\ z & v \end{matrix} | <math>\begin{matrix} x & y \\ z & v \end{matrix}</math> | |
| Case distinctions | f(n)=\left\{\begin{matrix} n/2, & \mbox{if }n\mbox{ is
even} \\ 3n+1, & \mbox{if }n\mbox{ is odd} \end{matrix}\right. |
<math>f(n)=\left\{\begin{matrix} n/2, & \mbox{if }n\mbox{ is even} \\ 3n+1, & \mbox{if }n\mbox{ is odd} \end{matrix}\right. </math> |
| Multiline equations | \begin{matrix}f(n+1)&=& (n+1)^2 \\ \ & =& n^2 + 2n + 1\end{matrix} | <math>\begin{matrix}f(n+1)&=& (n+1)^2 \\ \ & =& n^2 + 2n + 1\end{matrix}</math> |
Fonts
| Feature | Syntax | How it looks rendered |
|---|---|---|
| Greek letters | \alpha \beta \gamma \Gamma \phi \Phi \Psi\ \tau \Omega | <math>\alpha\ \beta\ \gamma\ \Gamma\ \phi\ \Phi\ \Psi\ \tau\ \Omega</math> |
| Blackboard bold | x\in\mathbb{R}\sub\mathbb{C} | <math>x\in\mathbb{R}\subset\mathbb{C}</math> |
| boldface (vectors) | \mathbf{x}\cdot\mathbf{y} = 0 | <math>\mathbf{x}\cdot\mathbf{y} = 0</math> |
| boldface (greek) | \boldsymbol{\alpha}+\boldsymbol{\beta}+\boldsymbol{\gamma} | <math>\boldsymbol{\alpha}+\boldsymbol{\beta}+\boldsymbol{\gamma}</math> |
| Fraktur typeface | \mathfrak{a} \mathfrak{B} | <math>\mathfrak{a} \mathfrak{B}</math> |
| Script | \mathcal{ABC} | <math>\mathcal{ABC}</math> |
| Hebrew | \aleph \beth \gimel \daleth | <math>\aleph\ \beth\ \gimel\ \daleth</math> |
| non-italicised characters | \mbox{abc} | <math>\mbox{abc}</math> |
Parenthesizing big expressions
| Feature | Syntax | How it looks rendered |
|---|---|---|
| Not good | ( \frac{1}{2} ) | <math>( \frac{1}{2} )</math> |
| Better | \left ( \frac{1}{2} \right ) | <math>\left ( \frac{1}{2} \right )</math> |
You can use various delimiters with \left and \right:
| Feature | Syntax | How it looks rendered |
|---|---|---|
| Parentheses | \left ( A \right ) | <math>\left ( A \right )</math> |
| Brackets | \left [ A \right ] | <math>\left [ A \right ]</math> |
| Braces | \left \{ A \right \} | <math>\left \{ A \right \}</math> |
| Angle brackets | \left \langle A \right \rangle | <math>\left \langle A \right \rangle</math> |
| Bars and double bars | \left | A \right | and \left \| B \right \| | <math>\left | A \right | and \left \| B \right \|</math> |
|
Delimiters can be mixed, |
\left [ 0,1 \right ) |
<
<math>\left [ 0,1 \right )</math> |
/tr>
| Use \left. and \right. if you don't want a delimiter to appear: |
\left . \frac{A}{B} \right \} \to X | <math>\left . \frac{A}{B} \right \} \to X</math> |
Spacing
Note that TeX handles most spacing automatically, but you may sometimes want manual control.
| Feature | Syntax | How it looks rendered |
|---|---|---|
| double quad space | a \qquad b | <math>a \qquad b</math> |
| quad space | a \quad b | <math> a \quad b</math> |
| text space | a\ b | <math>a\ b</math> |
| large space | a\;b | <math>a\;b</math> |
| medium space | a\>b | [not supported] |
| small space | a\,b | <math>a\,b</math> |
| no space | ab | <math>ab\,</math> |
| negative space | a\!b | <math>a\!b</math> |
Align with normal text flow
If you desperately need to insert an equation like- <div style="vertical-align:-100%;display:inline;"><math>...</math></div>
Forced PNG rendering
If you must, it is possible to force the formula to render as PNG, without affecting the display of the formula, by adding \,\! (small space and negative space, which cancel out) somewhere inside the math tags (probably at the end).
This could be useful to keep the rendering of formulas in a proof consistent, for example, or to fix formulas that render incorrectly in HTML (x prime, or a^{2+2}), or to demonstrate how something is rendered when it would normally show up as HTML (as in the examples above). For instance:
| Syntax | How it looks rendered |
|---|---|
| a^{2+2} | <math>a^{2+2}</math> |
| a^{2+2} \,\! | <math>a^{2+2} \,\!</math> |
| \int_{-N}^{N} e^x\, dx | <math> \int_{-N}^{N} e^x\, dx </math> |
| \int_{-N}^{N} e^x\, dx \,\! | <math> \int_{-N}^{N} e^x\, dx \,\! </math> |
This has been tested with most of the formulas on this page, and seems to work perfectly.
You might want to include a comment in the HTML so people don't "correct" the formula by removing it:
- <!-- The \,\! is to keep the formula rendered as PNG instead of HTML. Please don't remove it.-->
See also:
- Proposed GNU LilyPond support
External Links
- A PDF document introducing TeX -- see page 39 onwards for a good introduction to the maths side of things: http://www.ctan.org/tex-archive/info/gentle/gentle.pdf
- Complete reference list of symbols: wanted
- Can't remember but I put it here so it must be ok ;-) http://www.ams.org/tex/amslatex.html
- A set of public domain fixed-size math symbol bitmaps: http://us.metamath.org/symbols/symbols.html
