Sei sulla pagina 1di 10

Unicode Nearly Plain Text Encoding of Mathematics

Knuth, Jennifer Michelstein, Ethan Bernstein, Said Abou-Hallawa, Jason Rajtar, Yi Zhang, Geraldine Wade, Ross Mills, John Hudson, Ron Whitney, Richard Lawrence, Sergey Malkin, Alex Gil, Mikhail Baranovsky, Hon-Wah Chan, Jos Oglesby, Isao Yamauchi, Yuriko Rosnow, Robert Miller, Joe Roni, Jinsong Yu, Sergey Genkin, Victor Kozyrev, Andrei Burago, and Eliyezer Kohen. Earlier related work is listed in Ref. 10.

Appendix A. Linear Format Grammar


This grammar is simplified compared to the model in the text.

char space ASCII nASCII nMath nOther n diacritic opArray opClose opCloser opDecimal opHbracket opNary opOpen opOpener opOver opBuildup other diacriticbase diacritics atom atoms digits number expBracket

Unicode character ASCII space (U+0020) ASCII A-Z a-z ASCII 0-9 Unicode math alphanumeric (U+1D400 U+1D7FF with some Letterlike symbols U+2102 U+2134) Unicode alphanumeric not including nMath nor nASCII nMath | nOther Unicode combining mark & | VT | ) | ] | } | opClose | \close . | , Unicode math horizontal bracket Unicode integrals, summation, product, and other nary ops ( | [ | { | opOpen | \open / | \atop _ | ^ | | | | | / | | | opArray | opOpen | opClose | opNary | opOver | opHbracket | opDecimal char {n + nASCII + diacritic + opBuildup + CR} n | nASCII | ( exp ) diacritic | diacritics diacritic n | diacriticbase diacritics atom | atoms atom nASCII | digits nASCII digits | digits opDecimal digits opOpener exp opCloser || exp || | exp |

38

Unicode Technical Note 28

Unicode Nearly Plain Text Encoding of Mathematics

word scriptbase soperand expSubsup

expSubscript expSuperscript expScript entity factor operand box hbrack sqrt cubert fourthrt nthrt function numerator fraction row rows array element exp

ASCII | word ASCII word | word nASCII | nMath | number | other | expBracket | opNary operand | | - operand | - scriptbase _ soperand ^ soperand | scriptbase ^ soperand _ soperand scriptbase _ soperand scriptbase ^ soperand expSubsup | expSubscript | expSuperscript atoms | expBracket | number entity | entity ! | entity !! | function | expScript factor | operand factor operand opHbracket operand operand operand operand ( operand & operand ) sqrt | cubert | fourthrt | nthrt | box | hbrack operand | fraction numerator opOver operand exp | row & exp row | rows @ row \array( rows ) fraction | operand | array element | exp other element

Appendix B. Character Keywords and Properties


The following table gives the default math keywords, their target characters and codes along with spacing and linear-format build-up properties. A full keyword consists of a backslash followed by a keyword in the table. Keyword \above \acute \aleph \alpha Glyph Code U+2534 U+0301 U+2135 U+03B1 Spacing ordinary ordinary ordinary ordinary LF Property subsup upper accent operand operand

Unicode Technical Note 28

39

Unicode Nearly Plain Text Encoding of Mathematics

\amalg \angle \aoint \approx \asmash \ast \asymp \atop \Bar \bar \because \begin \below \beta \beth \bot \bigcap \bigcup \bigodot \bigoplus \bigotimes \bigsqcup \biguplus \bigvee \bigwedge \bowtie \bot \box \bra \breve \bullet \cap \cbrt \cdot \cdots

U+2210 U+2220 U+2233 U+2248 U+2B06 U+2217 U+224D U+00A6 U+033F U+0305 U+2235 U+3016 U+252C U+03B2 U+2136 U+22A5 U+22C2 U+22C2 U+2A00 U+2A01 U+2A02 U+2A06 U+2A04 U+22C1 U+22C0 U+22C8 U+22A5 U+25A1 U+27E8 U+0306 U+2219 U+2229 U+221B U+22C5 U+22EF

ordinary relational ordinary relational ordinary binary relational ordinary ordinary ordinary relational open ordinary ordinary ordinary relational ordinary ordinary ordinary ordinary ordinary ordinary ordinary ordinary ordinary relational relational ordinary open ordinary binary binary open binary ordinary

nary normal nary normal encl phantom normal normal divide accent accent normal open subsup lower operand operand normal nary nary nary nary nary nary nary nary nary normal normal encl box open accent normal normal encl root normal normal

40

Unicode Technical Note 28

Unicode Nearly Plain Text Encoding of Mathematics

\check \chi \circ \close \clubsuit \coint \cong \cup \daleth \dashv \Dd \dd \ddddot \dddot \ddot \ddots \degree \Delta \delta \diamond \diamondsuit \div \dot \doteq \dots \Downarrow \downarrow \dsmash \ee \ell \emptyset \emsp \end \ensp \epsilon

U+030C U+03C7 U+2218 U+2524 U+2663 U+2232 U+2245 U+222A U+2138 U+22A3 U+2145 U+2146 U+20DC U+20DB U+0308 U+22F1 U+00B0 U+0394 U+03B4 U+22C4 U+2662 U+00F7 U+0307 U+2250 U+2026 U+21D3 U+2193 U+2B07 U+2147 U+2113 U+2205 U+2003 U+3017 U+2002 U+03F5

ordinary ordinary binary ordinary ordinary ordinary relational binary ordinary relational differential differential ordinary ordinary ordinary relational ordinary ordinary ordinary binary ordinary binary ordinary relational ordinary relational relational ordinary ordinary ordinary unary skip close skip ordinary

accent operand normal close normal nary normal normal operand stretch horz operand operand accent accent accent normal operand operand operand normal normal normal accent normal normal normal normal encl phantom operand operand operand normal close normal operand

Unicode Technical Note 28

41

Unicode Nearly Plain Text Encoding of Mathematics

\eqarray \eqno \equiv \eta \exists \forall \funcapply \Gamma \gamma \ge \geq \gets \gg \gimel \grave \hairsp \hat \hbar \heartsuit \hookleftarrow \hookrightarrow \hphantom \hsmash \hvec \ii \iiiint \iiint \iint \Im \imath \in \inc \infty \int \iota

U+2588 U+0023 U+2261 U+03B7 U+2203 U+2200 U+2061 U+0393 U+03B3 U+2265 U+2265 U+2190 U+226B U+2137 U+0300 U+200A U+0302 U+210F U+2661 U+21A9 U+21AA U+2B04 U+2B0C U+20D1 U+2148 U+2A0C U+222D U+222C U+2111 U+0131 U+2208 U+2206 U+221E U+222B U+03B9

ordinary ordinary relational ordinary unary unary binary ordinary ordinary relational relational ordinary relational ordinary ordinary skip ordinary ordinary ordinary relational relational ordinary ordinary ordinary ordinary ordinary ordinary ordinary ordinary ordinary relational unary ordinary ordinary ordinary

encl eqarray marker normal operand normal normal subsupFA operand operand normal normal stretch horiz normal operand accent normal accent operand normal stretch horiz stretch horiz encl phantom encl phantom accent operand nary nary nary operand operand normal operand operand nary operand

42

Unicode Technical Note 28

Unicode Nearly Plain Text Encoding of Mathematics

\jj \jmath \kappa \ket \Lambda \lambda \langle \lbrace \lbrack \lceil \ldiv \ldots \le \Leftarrow \leftarrow \leftharpoondown \leftharpoonup \Leftrightarrow \leftrightarrow \leq \lfloor \ll \Longleftarrow \longleftarrow \Longleftrightarrow \longleftrightarrow \Longrightarrow \longrightarrow \mapsto \matrix \medsp \mid \models \mp \mu

{ [

U+2149 U+0237 U+03BA U+27E9 U+039B U+03BB U+27E8 U+007B U+005B U+2308 U+2215 U+2026 U+2264 U+21D0 U+2190 U+21BD U+21BC U+21D4 U+2194 U+2264 U+230A U+226A U+27F8 U+27F5 U+27FA U+27F7 U+27F9 U+27F6 U+21A6 U+25A0 U+205F U+2223 U+22A8 U+2213 U+03BC

ordinary ordinary ordinary close ordinary ordinary open open open open binary ordinary relational relational relational relational relational relational relational relational open relational relational relational relational relational relational relational relational ordinary Ordinary relational relational unary/binary ordinary

operand operand operand close operand operand open open open open divide normal normal stretch horiz stretch horiz stretch horiz stretch horiz stretch horiz stretch horiz normal open normal normal normal normal normal normal normal stretch horiz encl matrix normal list delims stretch horz unary/binary operand

Unicode Technical Note 28

43

Unicode Nearly Plain Text Encoding of Mathematics

\nabla \naryand \nbsp \ndiv \ne \nearrow \neg \neq \ni \norm \nu \nwarrow \odot \of \oiiint \oiint \oint \Omega \omega \ominus \open \oplus \oslash \otimes \over \overbar \overbrace \overparen \parallel \partial \phantom \Phi \phi \Pi \pi

U+2207 U+2592 U+00A0 U+2298 U+2260 U+2197 U+00AC U+2260 U+220B U+2016 U+2196 U+2299 U+2592 U+2230 U+222F U+222E U+03A9 U+03C9 U+2296 U+251C U+2295 U+2298 U+2297 U+002F U+00AF U+23DE U+23DC U+2225 U+2202 U+27E1 U+03A6 U+03D5 U+03A0 U+03C0

unary ordinary skip binary relational relational unary relational relational ordinary relational binary ordinary ordinary ordinary ordinary ordinary ordinary binary ordinary binary binary binary binarynsp ordinary ordinary ordinary relational unary ordinary ordinary ordinary ordinary ordinary

operand normal normal divide normal normal normal normal normal open/close operand normal normal normal nary nary nary operand operand normal open normal normal normal divide encl overbar stretch over stretch over normal operand encl phantom operand operand operand operand

U+03BD ordinary

44

Unicode Technical Note 28

Unicode Nearly Plain Text Encoding of Mathematics

\pm \pppprime \ppprime \pprime \prec \preceq \prime \prod \propto \Psi \psi \qdrt \rangle \ratio \rbrace \rbrack \rceil \rddots \Re \rect \rfloor \rho \Rightarrow \rightarrow \rightharpoondown \rightharpoonup \sdiv \searrow \setminus \Sigma \sigma \sim \simeq \smash \spadesuit

} ]

U+00B1 U+2057 U+2034 U+2033 U+227A U+227C U+2032 U+220F U+221D U+03A8 U+03C8 U+221C U+27E9 U+2236 U+007D U+005D U+2309 U+22F0 U+211C U+25AD U+230B U+03C1 U+21D2 U+2192 U+21C1 U+21C0 U+2044 U+2198 U+2216 U+03A3 U+03C3 U+223C U+2243 U+2B0D U+2660

unary/binary unary/binary ordinary ordinary ordinary relational relational ordinary ordinary relational ordinary ordinary open close relational close close close relational ordinary ordinary close ordinary relational relational relational relational binarynsp relational binary ordinary ordinary relational relational ordinary ordinary Unisubsup Unisubsup Unisubsup normal normal Unisubsup nary normal operand operand encl root close normal close close close normal operand encl rect close operand stretch horiz stretch horiz stretch horiz stretch horiz divide normal normal operand operand normal normal encl phantom normal

Unicode Technical Note 28

45

Unicode Nearly Plain Text Encoding of Mathematics

\sqcap \sqcup \sqrt \sqsubseteq \sqsuperseteq \star \subset \subseteq \succ \succeq \sum \superset \superseteq \swarrow \tau \therefore \Theta \theta \thicksp \thinsp \tilde \times \to \top \tvec \underbar \underbrace \underparen \Uparrow \uparrow \Updownarrow \updownarrow \uplus \Upsilon \upsilon

U+2293 U+2294 U+221A U+2291 U+2292 U+22C6 U+2282 U+2286 U+227B U+227D U+2211 U+2283 U+2287 U+2199 U+03C4 U+2234 U+0398 U+03B8 U+2005 U+2006 U+0303 U+00D7 U+2192 U+22A4 U+20E1 U+2581 U+23DF U+23DD U+21D1 U+2191 U+21D5 U+2195 U+228E U+03A5 U+03C5

binary binary open relational relational binary relational relational relational relational ordinary relational relational relational ordinary relational ordinary ordinary skip skip ordinary binarynsp relational relational ordinary ordinary ordinary ordinary relational relational relational relational binary ordinary ordinary

normal normal encl root normal normal normal normal normal normal normal nary normal normal normal operand normal operand operand normal normal accent normal stretch horiz normal accent encl underbar stretch under stretch under normal normal normal normal normal operand operand

46

Unicode Technical Note 28

Unicode Nearly Plain Text Encoding of Mathematics

\varepsilon \varphi \varpi \varrho \varsigma \vartheta \vbar \vdash \vdots \vec \vee \Vert \vert \vphantom \vthicksp \wedge \wp \wr \Xi \xi \zeta \zwnj \zwsp

U+03B5 U+03C6 U+03D6 U+03F1 U+03C2 U+03D1 U+2502 U+22A2 U+22EE U+20D7 U+2228 U+2016 U+007C U+21F3 U+2004 U+2227 U+2118 U+2240 U+039E U+03BE U+03B6 U+200C U+200B

ordinary ordinary ordinary ordinary ordinary ordinary ordinary relational relational ordinary binary ordinary ordinary relational skip binary ordinary binary ordinary ordinary ordinary ordinary ordinary

operand operand operand operand operand operand list delims stretch horz normal accent normal open/close open/close encl phantom normal normal operand normal operand operand operand normal normal

Unicode Technical Note 28

47

Potrebbero piacerti anche