Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Microsoft 365 applications (Word, Excel, and PowerPoint) can convert between LaTeX math notation and Office Math Markup Language (OMML). This document describes the LaTeX commands and symbols supported during import (LaTeX to OMML) and export (OMML to LaTeX).
Import (LaTeX → Office Math)
When you type or paste LaTeX in a math zone and convert to Office Math, the following commands are recognized.
LaTeX delimiters
When pasting text into Microsoft 365 apps, it will only be recognized as LaTeX if it is enclosed in one of these delimiter pairs:
| Delimiter style | Example |
|---|---|
$...$ |
Inline math |
$$...$$ |
Display math |
\(...\) |
Inline math (LaTeX2e) |
\[...\] |
Display math (LaTeX2e) |
\begin{environment}...\end{environment} |
Inline or display math depending on the environment |
When using Insert Equation, Convert to Professional format, or LaTeX to Math, the LaTeX delimiters are not required, but are processed if specified.
Fractions and binomials
| Command | Description | Package |
|---|---|---|
\frac{num}{den} |
Standard fraction | LaTeX |
\dfrac{num}{den} |
Display-style fraction | amsmath |
\tfrac{num}{den} |
Text-style fraction | amsmath |
\cfrac{num}{den} |
Continued fraction | amsmath |
\cfrac[l]{num}{den} |
Left-aligned continued fraction | amsmath |
\cfrac[r]{num}{den} |
Right-aligned continued fraction | amsmath |
\ifrac{num}{den} |
Inline (skewed) fraction | — |
\binom{n}{k} |
Binomial coefficient | amsmath |
\dbinom{n}{k} |
Display-style binomial coefficient | amsmath |
\tbinom{n}{k} |
Text-style binomial coefficient | amsmath |
\genfrac{left}{right}{thick}{style}{num}{den} |
Generalized fraction | amsmath |
num \over den |
TeX-style fraction | TeX |
num \atop den |
Stacked (no bar) | TeX |
{n \choose k} |
TeX-style binomial coefficient | TeX |
{n \brace k} |
Stirling subset number (curly-brace delimiters) | TeX |
{n \brack k} |
Stirling cycle number (square-bracket delimiters) | TeX |
Roots
| Command | Description | Package |
|---|---|---|
\sqrt{expr} |
Square root | LaTeX |
\sqrt[n]{expr} |
n-th root | LaTeX |
\root n \of{expr} |
n-th root (TeX primitive) | TeX |
Superscripts, subscripts, and pre-scripts
| Syntax | Description |
|---|---|
x^{a} |
Superscript |
x_{b} |
Subscript |
x_{b}^{a} |
Combined sub/superscript |
_{a}^{b}x |
Pre-scripts (left-side sub/super) |
Delimiters and brackets
Delimiter pairs
| Command | Description |
|---|---|
\left( ... \right) |
Auto-sizing parentheses |
\left[ ... \right] |
Auto-sizing square brackets |
\left\{ ... \right\} or \left\lbrace ... \right\rbrace |
Auto-sizing braces |
\left\langle ... \right\rangle |
Auto-sizing angle brackets |
\left\lfloor ... \right\rfloor |
Auto-sizing floor |
\left\lceil ... \right\rceil |
Auto-sizing ceiling |
\left\lvert ... \right\rvert |
Auto-sizing single bars |
\left\lVert ... \right\rVert |
Auto-sizing double bars |
\left. ... \right) |
Invisible left delimiter (. = invisible) |
\middle\| |
Middle delimiter in \left...\right |
\left...\right delimiters always create a
delimiter node. A missing \right produces a delimiter with an invisible
closer.
Bare bracket pairs (expr) and [expr] and delimiter command pairs without \left...\right are matched using
speculative parsing: the converter saves its position, tries to find a
matching closer, and rolls back if none is found (emitting the opener as a
plain character instead). Speculative parsing is done for the following delimiter pairs:
| Opener | Closer | Notes |
|---|---|---|
( |
) |
Bare parentheses |
[ |
] |
Bare square brackets |
\| |
\| |
Double vertical bars |
\langle |
\rangle |
Angle brackets |
\lceil |
\rceil |
Ceiling |
\lfloor |
\rfloor |
Floor |
\lvert |
\rvert |
Single bars |
\lVert |
\rVert |
Double bars |
\lbrace |
\rbrace |
Braces |
\lbrack |
\rbrack |
Square brackets |
\{ |
\} |
Braces (shorthand) |
Double-struck (white square) brackets
The following patterns all produce ⟦ and ⟧ (U+27E6, U+27E7):
[\![and]\!]— negative-thin-space trick with bracket tokens\lbrack\!\lbrackand\rbrack\!\rbrack— command form\left[\!\left[and\right]\!\right]— with\left/\right- Any mixture of
[/\lbrackwith or without\left/\right
Accents
| Command | Symbol | Unicode |
|---|---|---|
\hat{x} |
x̂ | U+02C6 |
\widehat{x} |
x̂ | U+0302 |
\check{x} |
x̌ | U+030C |
\tilde{x} |
x̃ | U+02DC |
\widetilde{x} |
x̃ | U+0303 |
\acute{x} |
x́ | U+0301 |
\grave{x} |
x̀ | U+0300 |
\dot{x} |
ẋ | U+0307 |
\ddot{x} |
ẍ | U+0308 |
\dddot{x} |
U+20DB | |
\ddddot{x} |
U+20DC | |
\breve{x} |
x̆ | U+0306 |
\bar{x} |
x̄ | U+0305 |
\vec{x} |
U+20D7 | |
\mathring{x} |
x̊ | U+030A |
Over and under constructs
| Command | Description | Package |
|---|---|---|
\overline{x} |
Overline (bar above) | LaTeX |
\underline{x} |
Underline (bar below) | LaTeX |
\overbrace{x} |
Horizontal brace above | LaTeX |
\underbrace{x} |
Horizontal brace below | LaTeX |
\overrightarrow{x} |
Right arrow above | LaTeX |
\overleftarrow{x} |
Left arrow above | LaTeX |
\overleftrightarrow{x} |
Left-right arrow above | amsmath |
\underrightarrow{x} |
Right arrow below | amsmath |
\underleftarrow{x} |
Left arrow below | amsmath |
\underleftrightarrow{x} |
Left-right arrow below | amsmath |
\xrightarrow[below]{above} |
Extensible right arrow | amsmath |
\xleftarrow[below]{above} |
Extensible left arrow | amsmath |
Overset and underset
| Command | Description | Package |
|---|---|---|
\overset{top}{base} |
Place top above base | amsmath |
\underset{bot}{base} |
Place bot below base | amsmath |
\stackrel{top}{base} |
Same as \overset |
LaTeX |
\buildrel top \over base |
TeX-style overset | TeX |
N-ary (large) operators
All of the following accept optional \limits and \nolimits modifiers,
and optional subscript/superscript for bounds.
| Command | Symbol | Unicode | Package |
|---|---|---|---|
\sum |
∑ | U+2211 | LaTeX |
\prod |
∏ | U+220F | LaTeX |
\coprod |
∐ | U+2210 | LaTeX |
\int |
∫ | U+222B | LaTeX |
\iint |
∬ | U+222C | amsmath |
\iiint |
∭ | U+222D | amsmath |
\iiiint |
⨌ | U+2A0C | amsmath |
\idotsint |
∫⋯∫ | U+222B | amsmath |
\oint |
∮ | U+222E | LaTeX |
\oiint |
∯ | U+222F | esint |
\oiiint |
∰ | U+2230 | esint |
\pvint |
⨍ | U+2A0D | — |
\bigcap |
⋂ | U+22C2 | LaTeX |
\bigcup |
⋃ | U+22C3 | LaTeX |
\bigvee |
⋁ | U+22C1 | LaTeX |
\bigwedge |
⋀ | U+22C0 | LaTeX |
\bigoplus |
⨁ | U+2A01 | LaTeX |
\bigotimes |
⨂ | U+2A02 | LaTeX |
\bigodot |
⨀ | U+2A00 | LaTeX |
\biguplus |
⨄ | U+2A04 | LaTeX |
\bigsqcup |
⨆ | U+2A06 | LaTeX |
\bigsqcap |
⨅ | U+2A05 | — |
Standard function names
These are set in upright (roman) type automatically:
\arccos, \arcsin, \arctan, \arg, \cos, \cosh, \cot, \coth,
\csc, \deg, \det, \dim, \exp, \gcd, \hom, \ker, \lg,
\ln, \log, \Pr, \sec, \sin, \sinh, \tan, \tanh
\operatorname{name} produces a custom operator name in roman type.
Limit-style functions
These place subscripts/superscripts as limits in display mode:
\lim, \liminf, \limsup, \sup, \inf, \min, \max,
\injlim, \projlim, \varinjlim, \varprojlim, \varliminf, \varlimsup
With \limits modifier: \lim\limits_{x \to 0}.
Compound names like \limsup and \liminf that convert as separate runs
(lim + sup) are automatically reconstructed during export.
Substack
| Command | Description | Package |
|---|---|---|
\substack{a \\ b \\ c} |
Stacked limits for n-ary operators | amsmath |
Modular arithmetic
| Command | Description | Package |
|---|---|---|
\bmod |
Binary mod operator (a mod b) | LaTeX |
\pmod{n} |
Parenthesized mod (a (mod n)) | LaTeX |
\mod{n} |
Spaced mod (a mod n) | amsmath |
Font commands
Math-mode fonts
| Command | Style | Package |
|---|---|---|
\mathrm{x} |
Roman (upright) | LaTeX |
\mathbf{x} |
Bold | LaTeX |
\mathit{x} |
Italic | LaTeX |
\mathsf{x} |
Sans-serif | LaTeX |
\mathtt{x} |
Monospace | LaTeX |
\mathbb{x} or \Bbb{x} |
Double-struck (blackboard bold) | amssymb |
\mathcal{x} or \mathscr{x} |
Script / Calligraphic | LaTeX / mathrsfs |
\mathfrak{x} |
Fraktur | amssymb |
\boldsymbol{x} or \bm{x} |
Bold italic | amsmath / bm |
Text-mode fonts
| Command | Style | Package |
|---|---|---|
\text{...} |
Normal text | amsmath |
\textrm{...} or \textnormal{...} |
Roman text | LaTeX |
\textbf{...} |
Bold text | LaTeX |
\textit{...} or \emph{...} |
Italic text | LaTeX |
\textsf{...} |
Sans-serif text | LaTeX |
\texttt{...} |
Monospace text | LaTeX |
\mbox{...} or \hbox{...} |
Text box | LaTeX / TeX |
Within \text{...}, $...$ and \(...\) switch back to math mode.
Declaration-style font
| Command | Description |
|---|---|
\rm |
Switch to roman within current group |
\bf |
Switch to bold within current group |
\it |
Switch to italic within current group |
\cal |
Switch to script/calligraphic within current group |
\frak |
Switch to Fraktur within current group |
\sf |
Switch to sans-serif within current group |
\tt |
Switch to monospace within current group |
Color
| Command | Description | Package |
|---|---|---|
\color{name}{expr} |
Set color by name | xcolor |
\textcolor{name}{expr} |
Set color by name | xcolor |
\color{#RRGGBB}{expr} |
Set color by hex | xcolor |
Recognized color names: black, blue, brown, cyan, darkgray, gray, green,
grey, lightgray, lime, magenta, maroon, navy, olive, orange, pink, purple,
red, teal, violet, white, yellow.
Boxed and phantom
| Command | Description | Package |
|---|---|---|
\boxed{expr} |
Box around expression (math mode) | amsmath |
\cancel{expr} |
Diagonal strikethrough (bottom-left to top-right) | cancel |
\bcancel{expr} |
Back diagonal strikethrough (top-left to bottom-right) | cancel |
\xcancel{expr} |
X-shaped strikethrough (both diagonals) | cancel |
\fbox{text}, \framebox{text} |
Box around text | LaTeX |
\phantom{expr} |
Invisible with width and height | LaTeX |
\hphantom{expr} |
Invisible with width only | amsmath |
\vphantom{expr} |
Invisible with height only | amsmath |
Negation
| Command | Description |
|---|---|
\not= |
Produces ≠ (U+2260) |
\not\in |
Produces ∉ (U+2209) |
\not\subset |
Produces ⊄ (U+2284) |
\not applied to any supported relation produces the corresponding negated
Unicode character. See the negation table below for the full list of supported
negations. When no dedicated negated codepoint exists, a combining long
solidus overlay (U+0338) accent is applied.
Environments
Matrix environments
| Environment | Delimiters | Package |
|---|---|---|
\begin{matrix} |
None | amsmath |
\begin{pmatrix} |
( ) | amsmath |
\begin{bmatrix} |
[ ] | amsmath |
\begin{Bmatrix} |
{ } | amsmath |
\begin{vmatrix} |
| | | amsmath |
\begin{Vmatrix} |
‖ ‖ | amsmath |
\begin{smallmatrix} |
None (small) | amsmath |
\begin{array}{cols} |
None, with column spec | LaTeX |
Use & as column separator and \\ as row separator.
Equation array and alignment
| Environment | Description | Package |
|---|---|---|
\begin{cases} |
Left-brace case analysis | amsmath |
\begin{rcases} |
Right-brace case analysis | mathtools |
\begin{align} / \begin{align*} |
Aligned equations | amsmath |
\begin{aligned} |
Aligned block within math | amsmath |
\begin{gathered} |
Centred block within math | amsmath |
\begin{eqnarray} / \begin{eqnarray*} |
Equation array | LaTeX |
\begin{equation} / \begin{equation*} |
Single equation | amsmath |
\begin{gather} / \begin{gather*} |
Gathered equations | amsmath |
\begin{multline} / \begin{multline*} |
Multi-line equation | amsmath |
\begin{split} |
Split equation | amsmath |
\begin{alignat} / \begin{alignat*} |
Alignat | amsmath |
\begin{alignedat} |
Alignedat block | amsmath |
\begin{subarray} |
Sub-array for limits | amsmath |
\eqalign{...} |
Equation alignment (TeX primitive; uses & and \cr) |
TeX |
\cr is accepted as a row separator (synonym for \\) in all environments and in \eqalign.
Commutative diagrams
\begin{CD} — supports @>>>, @<<<, @VVV, @AAA arrow syntax (amscd).
User-defined commands
The converter supports \newcommand, \renewcommand, and \def for
user-defined macros. Definitions are processed in a pre-pass before parsing
begins.
Supported syntax
\newcommand{\name}{body}
\newcommand{\name}[n]{body} % n parameters (1-9)
\renewcommand{\name}[n]{body}
\def\name{body} % TeX-style (parameter count auto-detected)
Parameters in the body are referenced as #1, #2, ..., #9.
Example
\newcommand{\RR}{\mathbb{R}}
\newcommand{\norm}[1]{\left\| #1 \right\|}
f : \RR \to \RR, \quad \norm{x} \leq 1
Limitations
- Parameter count: Up to 9 parameters (
#1through#9). - Expansion limit: A maximum of 500 total macro expansions are performed per input. This guards against infinite recursion from self-referential macros. If the limit is reached, remaining macro invocations are left unexpanded.
- No optional parameters: The optional first-argument syntax
\newcommand{\name}[n][default]{body}is not supported. All parameters are required. - No \let or \DeclareMathOperator: Only
\newcommand,\renewcommand, and\defare recognized. Package-level commands like\DeclareMathOperator,\let, and\providecommandare not supported. - Scope: All definitions are global within the input. There is no
group-based scoping — a
\definside{...}is visible everywhere. - Definition order: Macros defined later in the input are available for invocations earlier in the input (the pre-pass collects all definitions first).
- No expansion during definition: Macro bodies are stored as token
lists and expanded at invocation time (
\defstyle), not at definition time (\edefstyle).
Chemical equations and formulas
| Command | Description | Package |
|---|---|---|
\ce{H2O} |
Chemical formula | mhchem |
Supports subscript numbers, superscripts for charges, -> for reaction
arrows, + between species, and other mhchem notation.
See LaTeX mhchem Support in Microsoft 365 for details.
Dirac notation
| Command | Description | Package |
|---|---|---|
\bra{x} |
⟨x| | braket |
\ket{x} |
|x⟩ | braket |
Spacing commands
| Command | Size | Unicode | Package |
|---|---|---|---|
\! |
Negative thin (−3mu) | U+200B | LaTeX |
\, |
Thin (3mu) | U+2009 | LaTeX |
\: or \medspace |
Medium (4mu) | U+205F | LaTeX / amsmath |
\; or \thickspace |
Thick (5mu) | U+2004 | LaTeX / amsmath |
\enspace |
Half em (9mu) | U+2002 | LaTeX |
\quad |
Em space (18mu) | U+2003 | LaTeX |
\qquad |
Double em (36mu) | U+2003×2 | LaTeX |
\mkern <amount>mu |
Explicit kern in mu | — | TeX |
\mskip <amount>mu |
Explicit skip in mu | — | TeX |
\hspace{length} |
Horizontal space | LaTeX | |
~ |
Non-breaking space | U+00A0 | LaTeX |
\ (backslash-space) |
Normal space | U+0020 | LaTeX |
\space |
Normal space | U+0020 | LaTeX |
\mkern and \mskip accept mu, em, ex, and pt units. Units are
converted to mu internally (1 em = 18 mu, 1 ex ≈ 9 mu, 1 pt ≈ 1.8 mu).
Limitation — spacing approximation: OMML does not have an arbitrary math-spacing primitive.
\mkernand\mskipvalues are approximated by mapping to the closest available Unicode space character:
Range Space character used ≥ 14 mu Em space U+2003 (18 mu) 9–13 mu En space U+2002 (~9 mu) 4.5–8 mu Three-per-em space U+2004 (~6 mu) 3.5–4.5 mu Medium mathematical space U+205F (~4 mu) 2–3.5 mu Thin space U+2009 (~3 mu) < 2 mu Zero-width space U+200B For values larger than 18 mu, multiple em spaces are emitted for the whole-em portion, and the fractional remainder is mapped using the table above. Values are capped at 2160 mu (approximately 1200 pt).
Negative spacing is not supported. OMML has no negative-width space characters. Any zero or negative value (including
\mskip -3mu) is mapped to a zero-width space (U+200B). This is also why\!(negative thin space, −3 mu in LaTeX) maps to U+200B rather than producing actual negative spacing.
Style commands
| Command | Description |
|---|---|
\displaystyle |
Switch to display style |
\textstyle |
Switch to text style |
\scriptstyle |
Switch to script style |
\scriptscriptstyle |
Switch to scriptscript style |
\limits |
Force limits placement |
\nolimits |
Force subscript placement |
\footnotesize, \tiny, \scriptsize, \small, \normalsize, \large, \Large, \LARGE, \huge, \Huge |
Font size |
Math operators (custom)
| Command | Description | Package |
|---|---|---|
\mathrel{x} |
Treat x as a relation | LaTeX |
\mathop{x} |
Treat x as a large operator (can use \limits) |
LaTeX |
Greek Letters
Lowercase
| Command | Symbol | Unicode |
|---|---|---|
\alpha |
α | U+03B1 |
\beta |
β | U+03B2 |
\gamma |
γ | U+03B3 |
\delta |
δ | U+03B4 |
\epsilon |
ϵ | U+03F5 |
\varepsilon |
ε | U+03B5 |
\zeta |
ζ | U+03B6 |
\eta |
η | U+03B7 |
\theta |
θ | U+03B8 |
\vartheta |
ϑ | U+03D1 |
\iota |
ι | U+03B9 |
\kappa |
κ | U+03BA |
\varkappa |
ϰ | U+03F0 |
\lambda |
λ | U+03BB |
\mu |
μ | U+03BC |
\nu |
ν | U+03BD |
\xi |
ξ | U+03BE |
\omicron |
ο | U+03BF |
\pi |
π | U+03C0 |
\varpi |
ϖ | U+03D6 |
\rho |
ρ | U+03C1 |
\varrho |
ϱ | U+03F1 |
\sigma |
σ | U+03C3 |
\varsigma |
ς | U+03C2 |
\tau |
τ | U+03C4 |
\upsilon |
υ | U+03C5 |
\phi |
ϕ | U+03D5 |
\varphi |
φ | U+03C6 |
\chi |
χ | U+03C7 |
\psi |
ψ | U+03C8 |
\omega |
ω | U+03C9 |
Uppercase
| Command | Symbol | Unicode |
|---|---|---|
\Gamma |
Γ | U+0393 |
\Delta |
Δ | U+0394 |
\Theta |
Θ | U+0398 |
\Lambda |
Λ | U+039B |
\Xi |
Ξ | U+039E |
\Pi |
Π | U+03A0 |
\Sigma |
Σ | U+03A3 |
\Upsilon |
Υ | U+03A5 |
\Phi |
Φ | U+03A6 |
\Psi |
Ψ | U+03A8 |
\Omega |
Ω | U+03A9 |
Variant uppercase forms (\varGamma, \varDelta, etc.) from the amsmath
package are also accepted, mapping to the same codepoints.
Symbols
Binary operators
| Command | Symbol | Unicode | Command | Symbol | Unicode |
|---|---|---|---|---|---|
\pm |
± | U+00B1 | \mp |
∓ | U+2213 |
\times |
× | U+00D7 | \div |
÷ | U+00F7 |
\cdot |
⋅ | U+22C5 | \ast |
∗ | U+2217 |
\star |
⋆ | U+22C6 | \circ |
∘ | U+2218 |
\bullet |
∙ | U+2219 | \diamond |
⋄ | U+22C4 |
\oplus |
⊕ | U+2295 | \ominus |
⊖ | U+2296 |
\otimes |
⊗ | U+2297 | \oslash |
⊘ | U+2298 |
\odot |
⊙ | U+2299 | \cap |
∩ | U+2229 |
\cup |
∪ | U+222A | \uplus |
⊎ | U+228E |
\sqcap |
⊓ | U+2293 | \sqcup |
⊔ | U+2294 |
\vee |
∨ | U+2228 | \wedge |
∧ | U+2227 |
\setminus |
∖ | U+2216 | \wr |
≀ | U+2240 |
\dagger |
† | U+2020 | \ddagger |
‡ | U+2021 |
\amalg |
⨿ | U+2A3F | \barwedge |
⊼ | U+22BC |
\veebar |
⊻ | U+22BB | \dotplus |
∔ | U+2214 |
\ltimes |
⋉ | U+22C9 | \rtimes |
⋊ | U+22CA |
\leftthreetimes |
⋋ | U+22CB | \rightthreetimes |
⋌ | U+22CC |
\curlyvee |
⋎ | U+22CE | \curlywedge |
⋏ | U+22CF |
\circledast |
⊛ | U+229B | \circledcirc |
⊚ | U+229A |
\circleddash |
⊝ | U+229D | \boxplus |
⊞ | U+229E |
\boxminus |
⊟ | U+229F | \boxtimes |
⊠ | U+22A0 |
\boxdot |
⊡ | U+22A1 | \intercal |
⊺ | U+22BA |
\divideontimes |
⋇ | U+22C7 | \doublebarwedge |
⩞ | U+2A5E |
\triangleleft |
◁ | U+25C1 | \triangleright |
▷ | U+25B7 |
Relations
| Command | Symbol | Unicode | Command | Symbol | Unicode |
|---|---|---|---|---|---|
\leq or \le |
≤ | U+2264 | \geq or \ge |
≥ | U+2265 |
\neq or \ne |
≠ | U+2260 | \equiv |
≡ | U+2261 |
\sim |
∼ | U+223C | \simeq |
≃ | U+2243 |
\approx |
≈ | U+2248 | \cong |
≅ | U+2245 |
\ll |
≪ | U+226A | \gg |
≫ | U+226B |
\subset |
⊂ | U+2282 | \supset |
⊃ | U+2283 |
\subseteq |
⊆ | U+2286 | \supseteq |
⊇ | U+2287 |
\in |
∈ | U+2208 | \ni |
∋ | U+220B |
\notin |
∉ | U+2209 | \mid |
∣ | U+2223 |
\parallel |
∥ | U+2225 | \perp |
⊥ | U+22A5 |
\vdash |
⊢ | U+22A2 | \dashv |
⊣ | U+22A3 |
\prec |
≺ | U+227A | \succ |
≻ | U+227B |
\preceq |
⪯ | U+2AAF | \succeq |
⪰ | U+2AB0 |
\propto |
∝ | U+221D | \therefore |
∴ | U+2234 |
\because |
∵ | U+2235 | \bowtie |
⋈ | U+22C8 |
\smile |
⌣ | U+2323 | \frown |
⌢ | U+2322 |
\models |
⊨ | U+22A8 | \doteq |
≐ | U+2250 |
Many more relations from amssymb are supported, including
\leqq, \leqslant, \eqslantless, \lesssim, \lessapprox,
\lll, \lessdot, \lessgtr, \lesseqgtr, \geqq, \geqslant,
\eqslantgtr, \gtrsim, \ggg, \gtrdot, \gtrless, \gtreqless,
\sqsubset, \sqsupset, \sqsubseteq, \sqsupseteq,
\subsetneq, \supsetneq, \subsetneqq, \supsetneqq,
\Subset, \Supset, \Vdash, \Vvdash,
\precapprox, \succapprox, \precnapprox, \succnapprox,
\precneqq, \succneqq, \precnsim, \succnsim, \precsim, \succsim,
\trianglelefteq, \trianglerighteq, \vartriangleleft, \vartriangleright,
\circeq, \eqcirc, \triangleq, \bumpeq, \Bumpeq,
\doteqdot, \risingdotseq, \fallingdotseq,
\backsim, \backsimeq, \between, \pitchfork,
and their negated forms (\ncong, \nsim, \nleq, \ngeq, \nprec,
\nsucc, \nvdash, \nvDash, \nVdash, \nVDash,
\ntriangleleft, \ntriangleright, \ntrianglelefteq, \ntrianglerighteq,
etc.).
Arrows
| Command | Symbol | Unicode | Command | Symbol | Unicode |
|---|---|---|---|---|---|
\leftarrow |
← | U+2190 | \rightarrow or \to |
→ | U+2192 |
\Leftarrow |
⇐ | U+21D0 | \Rightarrow |
⇒ | U+21D2 |
\leftrightarrow |
↔ | U+2194 | \Leftrightarrow |
⇔ | U+21D4 |
\uparrow |
↑ | U+2191 | \downarrow |
↓ | U+2193 |
\Uparrow |
⇑ | U+21D1 | \Downarrow |
⇓ | U+21D3 |
\updownarrow |
↕ | U+2195 | \Updownarrow |
⇕ | U+21D5 |
\mapsto |
↦ | U+21A6 | \longmapsto |
⟼ | U+27FC |
\longleftarrow |
⟵ | U+27F5 | \longrightarrow |
⟶ | U+27F6 |
\longleftrightarrow |
⟷ | U+27F7 | \Longleftarrow |
⟸ | U+27F8 |
\implies |
⟹ | U+27F9 | \iff |
⟺ | U+27FA |
\hookrightarrow |
↪ | U+21AA | \hookleftarrow |
↩ | U+21A9 |
\nearrow |
↗ | U+2197 | \searrow |
↘ | U+2198 |
\nwarrow |
↖ | U+2196 | \swarrow |
↙ | U+2199 |
\rightharpoonup |
⇀ | U+21C0 | \rightharpoondown |
⇁ | U+21C1 |
\leftharpoonup |
↼ | U+21BC | \leftharpoondown |
↽ | U+21BD |
\rightleftharpoons |
⇌ | U+21CC | \leftrightharpoons |
⇋ | U+21CB |
\rightrightarrows |
⇉ | U+21C9 | \leftleftarrows |
⇇ | U+21C7 |
\rightleftarrows |
⇄ | U+21C4 | \leftrightarrows |
⇆ | U+21C6 |
\Lsh |
↰ | U+21B0 | \Rsh |
↱ U+21B1 | |
\twoheadleftarrow |
↞ | U+219E | \twoheadrightarrow |
↠ | U+21A0 |
\rightsquigarrow |
⇝ | U+21DD | \leftrightsquigarrow |
↭ | U+21AD |
\circlearrowleft |
↺ | U+21BA | \circlearrowright |
↻ | U+21BB |
\curvearrowleft |
↶ | U+21B6 | \curvearrowright |
↷ | U+21B7 |
\dashleftarrow |
⇠ | U+21E0 | \dashrightarrow |
⇢ | U+21E2 |
\upuparrows |
⇈ | U+21C8 | \downdownarrows |
⇊ | U+21CA |
\upharpoonleft |
↿ | U+21BF | \upharpoonright |
↾ | U+21BE |
\downharpoonleft |
⇃ | U+21C3 | \downharpoonright |
⇂ | U+21C2 |
Negated arrows (\nleftarrow, \nrightarrow, \nleftrightarrow,
\nLeftarrow, \nRightarrow, \nLeftrightarrow) are also supported.
Dots
| Command | Symbol | Unicode |
|---|---|---|
\ldots or \dots |
… | U+2026 |
\cdots |
⋯ | U+22EF |
\vdots |
⋮ | U+22EE |
\ddots |
⋱ | U+22F1 |
\iddots |
⋰ | U+22F0 |
Semantic dot commands \dotsb, \dotsc, \dotsi, \dotsm, \dotso are
accepted and mapped to ⋯ or … as appropriate.
Miscellaneous symbols
| Command | Symbol | Unicode | Command | Symbol | Unicode |
|---|---|---|---|---|---|
\infty |
∞ | U+221E | \partial |
∂ | U+2202 |
\nabla |
∇ | U+2207 | \forall |
∀ | U+2200 |
\exists |
∃ | U+2203 | \nexists |
∄ | U+2204 |
\emptyset |
∅ | U+2205 | \aleph |
ℵ | U+2135 |
\beth |
ℶ | U+2136 | \gimel |
ℷ | U+2137 |
\daleth |
ℸ | U+2138 | \ell |
ℓ | U+2113 |
\wp |
℘ | U+2118 | \Re |
ℜ | U+211C |
\Im |
ℑ | U+2111 | \hbar |
ℏ | U+210F |
\imath |
ı | U+0131 | \jmath |
ȷ | U+0237 |
\prime |
′ | U+2032 | \angle |
∠ | U+2220 |
\measuredangle |
∡ | U+2221 | \sphericalangle |
∢ | U+2222 |
\top |
⊤ | U+22A4 | \bot |
⊥ | U+22A5 |
\neg |
¬ | U+00AC | \complement |
∁ | U+2201 |
\square |
□ | U+25A1 | \blacksquare |
■ | U+25A0 |
\triangle |
△ | U+25B3 | \triangledown |
▽ | U+25BD |
\blacktriangle |
▴ | U+25B4 | \blacktriangledown |
▾ | U+25BE |
\lozenge |
◊ | U+25CA | \blacklozenge |
⧫ | U+29EB |
\bigstar |
★ | U+2605 | \Diamond |
◇ | U+25C7 |
\clubsuit |
♣ | U+2663 | \diamondsuit |
♢ | U+2662 |
\heartsuit |
♡ | U+2661 | \spadesuit |
♠ | U+2660 |
\flat |
♭ | U+266D | \natural |
♮ | U+266E |
\sharp |
♯ | U+266F | \checkmark |
✓ | U+2713 |
\maltese |
✠ | U+2720 | \mho |
℧ | U+2127 |
\Finv |
Ⅎ | U+2132 | \Game |
⅁ | U+2141 |
\backslash |
\ | U+005C | \Vert |
‖ | U+2016 |
\bigcirc |
◯ | U+25EF |
Negation table
The \not prefix converts these relations to their negated Unicode form:
| Base | Negated | Base | Negated |
|---|---|---|---|
< → ≮ |
= → ≠ |
> → ≯ |
\leq → ≰ |
\geq → ≱ |
\sim → ≁ |
\simeq → ≄ |
\cong → ≇ |
\approx → ≉ |
\equiv → ≢ |
\prec → ⊀ |
\succ → ⊁ |
\subset → ⊄ |
\supset → ⊅ |
\subseteq → ⊈ |
\supseteq → ⊉ |
\sqsubseteq → ⋢ |
\sqsupseteq → ⋣ |
\vdash → ⊬ |
\models → ⊭ |
\mid → ∤ |
\parallel → ∦ |
\in → ∉ |
\ni → ∌ |
\exists → ∄ |
\trianglelefteq → ⋬ |
\trianglerighteq → ⋭ |
|
\leftarrow → ↚ |
\rightarrow → ↛ |
\leftrightarrow → ↮ |
|
\Leftarrow → ⇍ |
\Rightarrow → ⇏ |
\Leftrightarrow → ⇎ |
Alphabetics and Math-Alphanumeric Variants
How alphabetics work during import
Latin letters (a–z, A–Z) in math mode are rendered in math italic
by default — this is standard LaTeX and OMML behavior. Font commands change
the style:
| Command | Example | Result |
|---|---|---|
\mathbf{A} |
Bold A | Mapped to U+1D400 block (Mathematical Bold) |
\mathbb{R} |
Double-struck R | Mapped to U+1D538 block (Mathematical Double-Struck) |
\mathcal{L} |
Script L | Mapped to U+1D49C block (Mathematical Script) |
\mathfrak{g} |
Fraktur g | Mapped to U+1D504 block (Mathematical Fraktur) |
\mathsf{x} |
Sans-serif x | Mapped to U+1D5A0 block (Mathematical Sans-Serif) |
\mathtt{x} |
Monospace x | Mapped to U+1D670 block (Mathematical Monospace) |
How alphabetics work during export
When exporting OMML to LaTeX, characters from the Unicode Mathematical
Alphanumeric Symbols block (U+1D400–U+1D7FF) are folded back to their
base ASCII/Greek equivalents. The font style encoded in the codepoint
determines which \math*{...} command wraps the character:
| Unicode block | Starting codepoint | Export command |
|---|---|---|
| Bold | U+1D400 | \mathbf{x} |
| Italic | U+1D434 | (default, no wrapper) |
| Bold Italic | U+1D468 | \boldsymbol{x} |
| Script | U+1D49C | \mathcal{x} |
| Fraktur | U+1D504 | \mathfrak{x} |
| Double-Struck | U+1D538 | \mathbb{x} |
| Sans-Serif | U+1D5A0 | \mathsf{x} |
| Monospace | U+1D670 | \mathtt{x} |
Greek letters in the supplementary plane (Bold Greek at U+1D6A8, Italic Greek at U+1D6E2, etc.) are similarly folded back to BMP Greek characters with appropriate font wrappers.
BMP letterlike symbols (ℂ, ℍ, ℕ, ℙ, ℚ, ℝ, ℤ, ℓ, ℏ, etc.) are also
recognized and folded to \mathbb{C}, \mathbb{H}, etc.
Export (Office Math → LaTeX)
When you build down an equation or export to LaTeX, the converter produces LaTeX that re-imports to the same OMML structure.
Structural pattern matching
The export performs pattern matching on the OMML tree to produce idiomatic LaTeX:
| OMML pattern | LaTeX output |
|---|---|
<m:f> (fraction) |
\frac{num}{den} |
<m:f> with no bar |
\binom{n}{k} (if in parentheses) or \genfrac |
<m:rad> |
\sqrt{x} or \sqrt[n]{x} |
<m:d> (delimiter) |
\left( ... \right) with appropriate delimiters |
<m:d> with ⟦ ⟧ |
\lbrack\!\lbrack ... \rbrack\!\rbrack |
<m:func> with "mod" |
\bmod x |
<m:d> with (\mod ...) |
\pmod{x} |
<m:acc> (accent) |
\hat{x}, \vec{x}, etc. |
<m:bar> top |
\overline{x} |
<m:bar> bottom |
\underline{x} |
<m:groupChr> with ⏞ |
\overbrace{x} |
<m:groupChr> with ⏟ |
\underbrace{x} |
<m:groupChr> with → |
\xrightarrow[below]{above} |
<m:limLow> / <m:limUpp> |
\overset, \underset, \lim_{x} |
<m:nary> |
\int_{a}^{b}, \sum_{n=1}^{\infty}, etc. |
<m:m> (matrix) |
\begin{pmatrix}, \begin{bmatrix}, etc. |
<m:eqArr> |
\begin{aligned} or \begin{cases} (with left brace) |
<m:sSup>, <m:sSub>, <m:sSubSup> |
x^{a}, x_{b}, x_{b}^{a} |
<m:sPre> |
{}_{a}^{b}x |
<m:phant> |
\phantom, \hphantom, or \vphantom |
<m:borderBox> |
\boxed{x}, \cancel{x}, \bcancel{x}, or \xcancel{x} |
Function name reconstruction
Consecutive \mathrm{s}\mathrm{i}\mathrm{n} sequences (produced by
character-by-character upright formatting) are collapsed back into \sin,
\cos, \log, \mod, and other known function names.
Compound limit functions
Compound names like \limsup and \liminf are reconstructed from their
component parts (e.g., "lim" + thin-space + "sup") during export.
Unicode space mapping
Unicode math space characters in OMML text are converted to their corresponding LaTeX spacing commands:
| Unicode | LaTeX command |
|---|---|
| U+00A0 (NBSP) | \ |
| U+2001 (em quad) | \quad |
| U+2002 (en space) | \enspace |
| U+2003 (em space) | \quad |
| U+2004 (three-per-em) | \; |
| U+2005 (four-per-em) | \; |
| U+2009 (thin space) | \, |
| U+200A (hair space) | \, |
| U+200B (zero-width) | \! |
| U+205F (medium math space) | \: |
Symbol and character export
All symbols, operators, delimiters, accents, and n-ary operators listed in
the import section are exported using their primary LaTeX command name. When
a Unicode character has multiple LaTeX aliases (e.g., \le and \leq),
the primary form is used.
Vulgar fraction characters (½, ⅓, ⅔, ¼, ¾) are exported as \tfrac{n}{d}.
Clipboard support
Operating systems do not have a clipboard format for LaTeX.
LaTeX is often copied into Microsoft 365 using the CF_UNICODETEXT or CF_TEXT clipboard format.
If the text can be unambiguously recognized as LaTeX since it is enclosed in
$...$, $$...$$, \(...\), or \[...\] delimiters, then it is automatically imported as
LaTeX and converted to Office Math. Otherwise it is inserted as regular text and can then be converted
to Office Math by selecting it and then performing the Insert > Equation command.
Round-trip fidelity
Most LaTeX expressions round-trip faithfully
(LaTeX → OMML → LaTeX produces equivalent output). However, some
normalization occurs: aliases are canonicalized to primary forms
(e.g., \le → \leq), and spacing may be simplified.
Limitations
Fraction and binomial sizes:
\dfracand\tfracare imported identically to\fracand\dbinom, and\tbinomare imported identically to\binom. OMML does not support per-element display-style or text-style overrides, so the sizing distinction is lost.Continued fraction alignment:
\cfrac[l]{num}{den}and\cfrac[r]{num}{den}are imported identically to\cfrac{num}{den}. Left and right alignment are not preserved.Big delimiter sizes:
\big,\Big,\bigg,\Biggand their directional variants (\bigl,\bigr, etc.) are all converted to auto-sizing\left...\rightdelimiters. The explicit size grades are not preserved.Calligraphic style:
\mathcal{...}and\calare only supported for uppercase letters. For other characters such as lowercase letters and digits default styling is applied.Script style:
\mathscr{...}is imported identically to\mathcal{...}.Color: Color information is stored in OMML but not exported back to LaTeX during build-down. Color is preserved within the document but lost on LaTeX export.
Matrix sizes:
\begin{smallmatrix}...\end{smallmatrix}is handled the same as\begin{matrix}...\end{matrix}.Array column alignment: In PowerPoint and Excel, alignment of columns in an array is not supported. All columns are center-aligned.
Equation numbering:
\tag{...},\label{...},\ref{...},\eqref{...},\notag, and\nonumberare parsed and silently discarded during import (they do not cause errors, but the information is not preserved).Multi-line display:
\begin{align}and similar environments produce an equation array. Alignment points are preserved, but the visual layout may differ from LaTeX rendering.Style commands:
\displaystyle,\textstyle,\scriptstyle, and\scriptscriptstyleare parsed during import but do not affect the OMML output.Font sizes:
\footnotesize,\tiny,\scriptsize,\small,\normalsize,\large,\Large,\LARGE,\huge, and\Hugeare parsed and skipped. The sizes are not preserved.
Unsupported Commands
Commands not listed in this document are passed through as literal text
during import (e.g., \smash{x} appears as the text "\smash{x}" in the
equation). The following is a summary of notable commands that are not
supported.
Core LaTeX math commands not supported
| Command | Description |
|---|---|
\smash{x} |
Collapse height and/or depth |
\ensuremath{x} |
Ensure math mode |
\mathnormal{x} |
Reset to default math font |
\mathord{x}, \mathbin{x}, \mathopen{x} |
Atom-type overrides |
\mathclose{x}, \mathpunct{x}, \mathinner{x} |
Atom-type overrides |
\strut, \mathstrut |
Invisible struts for spacing |
\rule{w}{h} |
Horizontal rule |
\raisebox{lift}{x} |
Raise or lower content |
\above, \overwithdelims, \atopwithdelims |
TeX primitives for delimited fractions |
\abovewithdelims |
TeX primitive for delimited fractions with bar |
\let, \providecommand, \edef |
TeX/LaTeX macro definitions (only \newcommand, \renewcommand, \def are supported) |
amsmath commands not supported
| Command | Description |
|---|---|
\DeclareMathOperator{cmd}{name} |
Define a new operator name |
\sideset{_a^b}{_c^d}{\sum} |
Side scripts on large operators |
\smash[t]{x}, \smash[b]{x} |
Selective vertical smash |
\intertext{text}, \shortintertext{text} |
Text between aligned rows |
\shoveleft{x}, \shoveright{x} |
Shift lines within multline |
\hdotsfor{n} |
Dots spanning matrix columns |
\xleftrightarrow[below]{above} |
Extensible left-right arrow (only \xleftarrow and \xrightarrow are supported) |
\xhookleftarrow, \xhookrightarrow |
Extensible hooked arrows |
\xmapsto[below]{above} |
Extensible mapsto arrow |
\nobreakdash |
Non-breaking dash |
\allowdisplaybreaks, \displaybreak |
Page break control |
\numberwithin{counter}{section} |
Numbering configuration |
\raisetag{length} |
Adjust tag position |
Other packages — commands not supported
| Command | Package | Description |
|---|---|---|
\sout{x}, \uline{x}, \uuline{x} |
ulem | Underline/strikeout |
\underbracket{x}, \overbracket{x} |
mathtools | Bracket-style braces |
\prescript{^a_b}{}{X} |
mathtools | Prescripts |
\coloneqq, \eqqcolon |
mathtools | Colon-equals relations |
\dv{f}{x}, \pdv{f}{x} |
physics | Derivative operators |
\braket{x\|y} |
braket | Bra-ket inner product (\bra and \ket individually are supported) |
\SI{value}{unit} |
siunitx | SI units |
\tensor{T}{^a_b} |
tensor | Tensor notation |
Requirements
Unless otherwise noted, the features described here are supported in Microsoft 365 Version 2606 (Build 20131.xxxxx) for Windows and Version 16.110 for Mac and later. Earlier versions support some, but not all of the features described here.