From b5cf0e0b77564f34c59978b103ace38140cb5112 Mon Sep 17 00:00:00 2001 From: "Moritz Schubotz (physikerwelt)" Date: Fri, 18 May 2018 19:08:51 +0200 Subject: [PATCH] Serve png mode from mathoid * Use the exactly same routines to deliver png images that are used in mathml mode. * Change the output to use mathoids png image rather than the mathml and svg output. * Locally tested on Firefox and Chrome: Depending on the mode either the SVG or the PNG path is used. Bug: T74240 Change-Id: I4b1cac92eb9a02190f316faab6621940951603d5 --- extension.json | 3 +- maintenance/MathGenerateTests.php | 8 +- src/MathMathML.php | 12 +- src/MathPng.php | 19 + src/MathRenderer.php | 2 +- src/MathRestbaseInterface.php | 10 + tests/MathMathMLTest.php | 2 +- tests/ParserTest.json | 4107 ++++++++++++---------- tests/{ => phpunit}/MathCoverageTest.php | 56 +- 9 files changed, 2369 insertions(+), 1850 deletions(-) create mode 100644 src/MathPng.php rename tests/{ => phpunit}/MathCoverageTest.php (51%) diff --git a/extension.json b/extension.json index e5c0218..45fb7d8 100644 --- a/extension.json +++ b/extension.json @@ -31,7 +31,8 @@ "MathValidator": "src/MathValidator.php", "MathFormatter": "src/MathFormatter.php", "MathWikidataHook": "src/MathWikidataHook.php", - "MathMLRdfBuilder": "src/MathMLRdfBuilder.php" + "MathMLRdfBuilder": "src/MathMLRdfBuilder.php", + "MathPng": "src/MathPng.php" }, "DefaultUserOptions": { "math": "mathml" diff --git a/maintenance/MathGenerateTests.php b/maintenance/MathGenerateTests.php index bf8b0d9..d9a524c 100644 --- a/maintenance/MathGenerateTests.php +++ b/maintenance/MathGenerateTests.php @@ -78,8 +78,12 @@ class MathGenerateTests extends Maintenance { $i = 0; foreach ( array_slice( $allEquations, $offset, $length, true ) as $input ) { $output = MathRenderer::renderMath( $input[1], $input[2], 'png' ); - $output = preg_replace( '#src="(.*?)/(([a-f]|\d)*).png"#', 'src="\2.png"', $output ); - $parserTests[] = [ (string)$input[1], $output ]; + $output = preg_replace( '#src="(.*?)/(([a-f]|\d)*)"#', 'src="\2"', $output ); + $parserTests[] = [ + 'input' => (string)$input[1], + 'params' => $input[2], + 'output' => $output + ]; $i++; echo '.'; } diff --git a/src/MathMathML.php b/src/MathMathML.php index fe047aa..9cae460 100644 --- a/src/MathMathML.php +++ b/src/MathMathML.php @@ -15,6 +15,7 @@ class MathMathML extends MathRenderer { protected $defaultAllowedRootElements = [ 'math' ]; protected $restbaseInputTypes = [ 'tex', 'inline-tex', 'chem' ]; + protected $restbaseRenderingModes = [ 'mathml', 'png' ]; protected $allowedRootElements = []; protected $hosts; @@ -26,6 +27,9 @@ class MathMathML extends MathRenderer { */ private $svgPath = false; + /** @var string|bool */ + private $pngPath = false; + private $mathoidStyle; public function __construct( $tex = '', $params = [] ) { @@ -104,7 +108,7 @@ class MathMathML extends MathRenderer { $this->setPurge( true ); } if ( in_array( $this->inputType, $this->restbaseInputTypes ) && - $this->mode == 'mathml' + in_array( $this->mode, $this->restbaseRenderingModes ) ) { if ( !$this->rbi ) { $this->rbi = @@ -116,6 +120,7 @@ class MathMathML extends MathRenderer { $this->mathml = $rbi->getMathML(); $this->mathoidStyle = $rbi->getMathoidStyle(); $this->svgPath = $rbi->getFullSvgUrl(); + $this->pngPath = $rbi->getFullPngUrl(); } elseif ( $this->lastError === '' ) { $this->doCheck(); } @@ -351,6 +356,9 @@ class MathMathML extends MathRenderer { * @return Title|string */ private function getFallbackImageUrl( $noRender = false ) { + if ( 'png' === $this->getMode() && $this->pngPath ) { + return $this->pngPath; + } if ( $this->svgPath ) { return $this->svgPath; } @@ -399,7 +407,7 @@ class MathMathML extends MathRenderer { * is false the class name will be calculated by getClassName * @return string XML the image html tag */ - private function getFallbackImage( $noRender = false, $classOverride = false ) { + protected function getFallbackImage( $noRender = false, $classOverride = false ) { $attribs = [ 'src' => $this->getFallbackImageUrl( $noRender ) ]; diff --git a/src/MathPng.php b/src/MathPng.php new file mode 100644 index 0000000..bf85d9b --- /dev/null +++ b/src/MathPng.php @@ -0,0 +1,19 @@ +setMode( 'png' ); + } + + public function getHtmlOutput() { + return $this->getFallbackImage(); + } + +} diff --git a/src/MathRenderer.php b/src/MathRenderer.php index fd1fcc2..179c684 100644 --- a/src/MathRenderer.php +++ b/src/MathRenderer.php @@ -167,7 +167,7 @@ abstract class MathRenderer { $renderer = new MathSource( $tex, $params ); break; case 'png': - $renderer = new MathTexvc( $tex, $params ); + $renderer = new MathPng( $tex, $params ); break; case 'latexml': $renderer = new MathLaTeXML( $tex, $params ); diff --git a/src/MathRestbaseInterface.php b/src/MathRestbaseInterface.php index 2dc5d45..bb8e736 100644 --- a/src/MathRestbaseInterface.php +++ b/src/MathRestbaseInterface.php @@ -293,6 +293,16 @@ class MathRestbaseInterface { return $this->getUrl( "media/math/render/svg/{$this->hash}", false ); } + /** + * Gets a publicly accessible link to the generated SVG image. + * @return string + * @throws MWException + */ + public function getFullPngUrl() { + $this->calculateHash(); + return $this->getUrl( "media/math/render/png/{$this->hash}", false ); + } + /** * @return string */ diff --git a/tests/MathMathMLTest.php b/tests/MathMathMLTest.php index ec1b861..362ea7b 100644 --- a/tests/MathMathMLTest.php +++ b/tests/MathMathMLTest.php @@ -125,7 +125,7 @@ class MathMathMLTest extends MediaWikiTestCase { $t = new Title( "test" ); $res = $p->parse( '[[test|a+b]]', $t, $po )->getText(); $this->assertContains( '', $res ); - $this->assertContains( '.png', $res ); + $this->assertContains( 'png', $res ); } /** diff --git a/tests/ParserTest.json b/tests/ParserTest.json index 168496b..fb45656 100644 --- a/tests/ParserTest.json +++ b/tests/ParserTest.json @@ -1,1798 +1,2313 @@ [ - [ - "e^{i \\pi} + 1 = 0\\,\\!", - "\"e^{i" - ], - [ - "e^{i \\pi} + 1 = 0\\,\\!", - "\"e^{i" - ], - [ - "\\definecolor{red}{RGB}{255,0,0}\\pagecolor{red}e^{i \\pi} + 1 = 0\\,\\!", - "\"\\definecolor{red}{RGB}{255,0,0}\\pagecolor{red}e^{i" - ], - [ - "\\text{abc}", - "\"\\text{abc}\"" - ], - [ - "\\alpha\\,\\!", - "\"\\alpha\\,\\!\"" - ], - [ - " f(x) = x^2\\,\\!", - "\"" - ], - [ - "\\sqrt{2}", - "\"\\sqrt{2}\"" - ], - [ - "\\sqrt{1-e^2}\\!", - "\"\\sqrt{1-e^2}\\!\"" - ], - [ - "\\sqrt{1-z^3}\\!", - "\"\\sqrt{1-z^3}\\!\"" - ], - [ - "x", - "\"x\"" - ], - [ - "\\dot{a}, \\ddot{a}, \\acute{a}, \\grave{a} \\!", - "\"\\dot{a}," - ], - [ - "\\check{a}, \\breve{a}, \\tilde{a}, \\bar{a} \\!", - "\"\\check{a}," - ], - [ - "\\hat{a}, \\widehat{a}, \\vec{a} \\!", - "\"\\hat{a}," - ], - [ - "\\exp_a b = a^b, \\exp b = e^b, 10^m \\!", - "\"\\exp_a" - ], - [ - "\\ln c, \\lg d = \\log e, \\log_{10} f \\!", - "\"\\ln" - ], - [ - "\\sin a, \\cos b, \\tan c, \\cot d, \\sec e, \\csc f\\!", - "\"\\sin" - ], - [ - "\\arcsin h, \\arccos i, \\arctan j \\!", - "\"\\arcsin" - ], - [ - "\\sinh k, \\cosh l, \\tanh m, \\coth n \\!", - "\"\\sinh" - ], - [ - "\\operatorname{sh}\\,k, \\operatorname{ch}\\,l, \\operatorname{th}\\,m, \\operatorname{coth}\\,n \\!", - "\"\\operatorname{sh}\\,k," - ], - [ - "\\operatorname{argsh}\\,o, \\operatorname{argch}\\,p, \\operatorname{argth}\\,q \\!", - "\"\\operatorname{argsh}\\,o," - ], - [ - "\\sgn r, \\left\\vert s \\right\\vert \\!", - "\"\\sgn" - ], - [ - "\\min(x,y), \\max(x,y) \\!", - "\"\\min(x,y)," - ], - [ - "\\min x, \\max y, \\inf s, \\sup t \\!", - "\"\\min" - ], - [ - "\\lim u, \\liminf v, \\limsup w \\!", - "\"\\lim" - ], - [ - "\\dim p, \\deg q, \\det m, \\ker\\phi \\!", - "\"\\dim" - ], - [ - "\\Pr j, \\hom l, \\lVert z \\rVert, \\arg z \\!", - "\"\\Pr" - ], - [ - "dt, \\operatorname{d}\\!t, \\partial t, \\nabla\\psi\\!", - "\"dt," - ], - [ - "dy\/dx, \\operatorname{d}\\!y\/\\operatorname{d}\\!x, {dy \\over dx}, {\\operatorname{d}\\!y\\over\\operatorname{d}\\!x}, {\\partial^2\\over\\partial x_1\\partial x_2}y \\!", - "\"dy\/dx," - ], - [ - "\\prime, \\backprime, f^\\prime, f', f'', f^{(3)} \\!, \\dot y, \\ddot y", - "\"\\prime," - ], - [ - "\\infty, \\aleph, \\complement, \\backepsilon, \\eth, \\Finv, \\hbar \\!", - "\"\\infty," - ], - [ - "\\Im, \\imath, \\jmath, \\Bbbk, \\ell, \\mho, \\wp, \\Re, \\circledS \\!", - "\"\\Im," - ], - [ - "s_k \\equiv 0 \\pmod{m} \\!", - "\"s_k" - ], - [ - "a\\,\\bmod\\,b \\!", - "\"a\\,\\bmod\\,b" - ], - [ - "\\gcd(m, n), \\operatorname{lcm}(m, n)", - "\"\\gcd(m," - ], - [ - "\\mid, \\nmid, \\shortmid, \\nshortmid \\!", - "\"\\mid," - ], - [ - "\\surd, \\sqrt{2}, \\sqrt[n]{}, \\sqrt[3]{x^3+y^3 \\over 2} \\!", - "\"\\surd," - ], - [ - "+, -, \\pm, \\mp, \\dotplus \\!", - "\"+," - ], - [ - "\\times, \\div, \\divideontimes, \/, \\backslash \\!", - "\"\\times," - ], - [ - "\\cdot, * \\ast, \\star, \\circ, \\bullet \\!", - "\"\\cdot," - ], - [ - "\\boxplus, \\boxminus, \\boxtimes, \\boxdot \\!", - "\"\\boxplus," - ], - [ - "\\oplus, \\ominus, \\otimes, \\oslash, \\odot\\!", - "\"\\oplus," - ], - [ - "\\circleddash, \\circledcirc, \\circledast \\!", - "\"\\circleddash," - ], - [ - "\\bigoplus, \\bigotimes, \\bigodot \\!", - "\"\\bigoplus," - ], - [ - "\\{ \\}, \\O \\empty \\emptyset, \\varnothing \\!", - "\"\\{" - ], - [ - "\\in, \\notin \\not\\in, \\ni, \\not\\ni \\!", - "\"\\in," - ], - [ - "\\cap, \\Cap, \\sqcap, \\bigcap \\!", - "\"\\cap," - ], - [ - "\\cup, \\Cup, \\sqcup, \\bigcup, \\bigsqcup, \\uplus, \\biguplus \\!", - "\"\\cup," - ], - [ - "\\setminus, \\smallsetminus, \\times \\!", - "\"\\setminus," - ], - [ - "\\subset, \\Subset, \\sqsubset \\!", - "\"\\subset," - ], - [ - "\\supset, \\Supset, \\sqsupset \\!", - "\"\\supset," - ], - [ - "\\subseteq, \\nsubseteq, \\subsetneq, \\varsubsetneq, \\sqsubseteq \\!", - "\"\\subseteq," - ], - [ - "\\supseteq, \\nsupseteq, \\supsetneq, \\varsupsetneq, \\sqsupseteq \\!", - "\"\\supseteq," - ], - [ - "\\subseteqq, \\nsubseteqq, \\subsetneqq, \\varsubsetneqq \\!", - "\"\\subseteqq," - ], - [ - "\\supseteqq, \\nsupseteqq, \\supsetneqq, \\varsupsetneqq \\!", - "\"\\supseteqq," - ], - [ - "=, \\ne, \\neq, \\equiv, \\not\\equiv \\!", - "\"=," - ], - [ - "\\doteq, \\doteqdot, \\overset{\\underset{\\mathrm{def}}{}}{=}, := \\!", - "\"\\doteq," - ], - [ - "\\sim, \\nsim, \\backsim, \\thicksim, \\simeq, \\backsimeq, \\eqsim, \\cong, \\ncong \\!", - "\"\\sim," - ], - [ - "\\approx, \\thickapprox, \\approxeq, \\asymp, \\propto, \\varpropto \\!", - "\"\\approx," - ], - [ - "<, \\nless, \\ll, \\not\\ll, \\lll, \\not\\lll, \\lessdot \\!", - "\"<," - ], - [ - ">, \\ngtr, \\gg, \\not\\gg, \\ggg, \\not\\ggg, \\gtrdot \\!", - "\">," - ], - [ - "\\le \\leq, \\lneq, \\leqq, \\nleqq, \\lneqq, \\lvertneqq \\!", - "\"\\le" - ], - [ - "\\ge \\geq, \\gneq, \\geqq, \\ngeqq, \\gneqq, \\gvertneqq \\!", - "\"\\ge" - ], - [ - "\\lessgtr \\lesseqgtr \\lesseqqgtr \\gtrless \\gtreqless \\gtreqqless \\!", - "\"\\lessgtr" - ], - [ - "\\leqslant, \\nleqslant, \\eqslantless \\!", - "\"\\leqslant," - ], - [ - "\\geqslant, \\ngeqslant, \\eqslantgtr \\!", - "\"\\geqslant," - ], - [ - "\\lesssim, \\lnsim, \\lessapprox, \\lnapprox \\!", - "\"\\lesssim," - ], - [ - " \\gtrsim, \\gnsim, \\gtrapprox, \\gnapprox \\,", - "\"" - ], - [ - "\\prec, \\nprec, \\preceq, \\npreceq, \\precneqq \\!", - "\"\\prec," - ], - [ - "\\succ, \\nsucc, \\succeq, \\nsucceq, \\succneqq \\!", - "\"\\succ," - ], - [ - "\\preccurlyeq, \\curlyeqprec \\,", - "\"\\preccurlyeq," - ], - [ - "\\succcurlyeq, \\curlyeqsucc \\,", - "\"\\succcurlyeq," - ], - [ - "\\precsim, \\precnsim, \\precapprox, \\precnapprox \\,", - "\"\\precsim," - ], - [ - "\\succsim, \\succnsim, \\succapprox, \\succnapprox \\,", - "\"\\succsim," - ], - [ - "\\parallel, \\nparallel, \\shortparallel, \\nshortparallel \\!", - "\"\\parallel," - ], - [ - "\\perp, \\angle, \\sphericalangle, \\measuredangle, 45^\\circ \\!", - "\"\\perp," - ], - [ - "\\Box, \\blacksquare, \\diamond, \\Diamond \\lozenge, \\blacklozenge, \\bigstar \\!", - "\"\\Box," - ], - [ - "\\bigcirc, \\triangle \\bigtriangleup, \\bigtriangledown \\!", - "\"\\bigcirc," - ], - [ - "\\vartriangle, \\triangledown\\!", - "\"\\vartriangle," - ], - [ - "\\blacktriangle, \\blacktriangledown, \\blacktriangleleft, \\blacktriangleright \\!", - "\"\\blacktriangle," - ], - [ - "\\forall, \\exists, \\nexists \\!", - "\"\\forall," - ], - [ - "\\therefore, \\because, \\And \\!", - "\"\\therefore," - ], - [ - "\\or \\lor \\vee, \\curlyvee, \\bigvee \\!", - "\"\\or" - ], - [ - "\\and \\land \\wedge, \\curlywedge, \\bigwedge \\!", - "\"\\and" - ], - [ - "\\bar{q}, \\bar{abc}, \\overline{q}, \\overline{abc}, \\!", - "\"\\bar{q}," - ], - [ - "\\lnot \\neg, \\not\\operatorname{R}, \\bot, \\top \\!", - "\"\\lnot" - ], - [ - "\\vdash \\dashv, \\vDash, \\Vdash, \\models \\!", - "\"\\vdash" - ], - [ - "\\Vvdash \\nvdash \\nVdash \\nvDash \\nVDash \\!", - "\"\\Vvdash" - ], - [ - "\\ulcorner \\urcorner \\llcorner \\lrcorner \\,", - "\"\\ulcorner" - ], - [ - "\\Rrightarrow, \\Lleftarrow \\!", - "\"\\Rrightarrow," - ], - [ - "\\Rightarrow, \\nRightarrow, \\Longrightarrow \\implies\\!", - "\"\\Rightarrow," - ], - [ - "\\Leftarrow, \\nLeftarrow, \\Longleftarrow \\!", - "\"\\Leftarrow," - ], - [ - "\\Leftrightarrow, \\nLeftrightarrow, \\Longleftrightarrow \\iff \\!", - "\"\\Leftrightarrow," - ], - [ - "\\Uparrow, \\Downarrow, \\Updownarrow \\!", - "\"\\Uparrow," - ], - [ - "\\rightarrow \\to, \\nrightarrow, \\longrightarrow\\!", - "\"\\rightarrow" - ], - [ - "\\leftarrow \\gets, \\nleftarrow, \\longleftarrow\\!", - "\"\\leftarrow" - ], - [ - "\\leftrightarrow, \\nleftrightarrow, \\longleftrightarrow \\!", - "\"\\leftrightarrow," - ], - [ - "\\uparrow, \\downarrow, \\updownarrow \\!", - "\"\\uparrow," - ], - [ - "\\nearrow, \\swarrow, \\nwarrow, \\searrow \\!", - "\"\\nearrow," - ], - [ - "\\mapsto, \\longmapsto \\!", - "\"\\mapsto," - ], - [ - "\\rightharpoonup \\rightharpoondown \\leftharpoonup \\leftharpoondown \\upharpoonleft \\upharpoonright \\downharpoonleft \\downharpoonright \\rightleftharpoons \\leftrightharpoons \\,\\!", - "\"\\rightharpoonup" - ], - [ - "\\curvearrowleft \\circlearrowleft \\Lsh \\upuparrows \\rightrightarrows \\rightleftarrows \\rightarrowtail \\looparrowright \\,\\!", - "\"\\curvearrowleft" - ], - [ - "\\curvearrowright \\circlearrowright \\Rsh \\downdownarrows \\leftleftarrows \\leftrightarrows \\leftarrowtail \\looparrowleft \\,\\!", - "\"\\curvearrowright" - ], - [ - "\\hookrightarrow \\hookleftarrow \\multimap \\leftrightsquigarrow \\rightsquigarrow \\twoheadrightarrow \\twoheadleftarrow \\!", - "\"\\hookrightarrow" - ], - [ - "\\amalg \\P \\S \\% \\dagger \\ddagger \\ldots \\cdots \\!", - "\"\\amalg" - ], - [ - "\\smile \\frown \\wr \\triangleleft \\triangleright\\!", - "\"\\smile" - ], - [ - "\\diamondsuit, \\heartsuit, \\clubsuit, \\spadesuit, \\Game, \\flat, \\natural, \\sharp \\!", - "\"\\diamondsuit," - ], - [ - "\\diagup \\diagdown \\centerdot \\ltimes \\rtimes \\leftthreetimes \\rightthreetimes \\!", - "\"\\diagup" - ], - [ - "\\eqcirc \\circeq \\triangleq \\bumpeq \\Bumpeq \\doteqdot \\risingdotseq \\fallingdotseq \\!", - "\"\\eqcirc" - ], - [ - "\\intercal \\barwedge \\veebar \\doublebarwedge \\between \\pitchfork \\!", - "\"\\intercal" - ], - [ - "\\vartriangleleft \\ntriangleleft \\vartriangleright \\ntriangleright \\!", - "\"\\vartriangleleft" - ], - [ - "\\trianglelefteq \\ntrianglelefteq \\trianglerighteq \\ntrianglerighteq \\!", - "\"\\trianglelefteq" - ], - [ - "a^2", - "\"a^2\"" - ], - [ - "a_2", - "\"a_2\"" - ], - [ - "10^{30} a^{2+2}", - "\"10^{30}" - ], - [ - "a_{i,j} b_{f'}", - "\"a_{i,j}" - ], - [ - "x_2^3", - "\"x_2^3\"" - ], - [ - "{x_2}^3 \\,\\!", - "\"{x_2}^3" - ], - [ - "10^{10^{8}}", - "\"10^{10^{8}}\"" - ], - [ - "\\sideset{_1^2}{_3^4}\\prod_a^b", - "\"\\sideset{_1^2}{_3^4}\\prod_a^b\"" - ], - [ - "{}_1^2\\!\\Omega_3^4", - "\"{}_1^2\\!\\Omega_3^4\"" - ], - [ - "\\overset{\\alpha}{\\omega}", - "\"\\overset{\\alpha}{\\omega}\"" - ], - [ - "\\underset{\\alpha}{\\omega}", - "\"\\underset{\\alpha}{\\omega}\"" - ], - [ - "\\overset{\\alpha}{\\underset{\\gamma}{\\omega}}", - "\"\\overset{\\alpha}{\\underset{\\gamma}{\\omega}}\"" - ], - [ - "\\stackrel{\\alpha}{\\omega}", - "\"\\stackrel{\\alpha}{\\omega}\"" - ], - [ - "x', y'', f', f''", - "\"x'," - ], - [ - "x^\\prime, y^{\\prime\\prime}", - "\"x^\\prime," - ], - [ - "\\dot{x}, \\ddot{x}", - "\"\\dot{x}," - ], - [ - " \\hat a \\ \\bar b \\ \\vec c", - "\"" - ], - [ - " \\overrightarrow{a b} \\ \\overleftarrow{c d} \\ \\widehat{d e f}", - "\"" - ], - [ - " \\overline{g h i} \\ \\underline{j k l}", - "\"" - ], - [ - "\\overset{\\frown} {AB}", - "\"\\overset{\\frown}" - ], - [ - " A \\xleftarrow{n+\\mu-1} B \\xrightarrow[T]{n\\pm i-1} C", - "\"" - ], - [ - "\\overbrace{ 1+2+\\cdots+100 }^{5050}", - "\"\\overbrace{" - ], - [ - "\\underbrace{ a+b+\\cdots+z }_{26}", - "\"\\underbrace{" - ], - [ - "\\sum_{k=1}^N k^2", - "\"\\sum_{k=1}^N" - ], - [ - "\\textstyle \\sum_{k=1}^N k^2", - "\"\\textstyle" - ], - [ - "\\frac{\\sum_{k=1}^N k^2}{a}", - "\"\\frac{\\sum_{k=1}^N" - ], - [ - "\\frac{\\displaystyle \\sum_{k=1}^N k^2}{a}", - "\"\\frac{\\displaystyle" - ], - [ - "\\frac{\\sum\\limits^{^N}_{k=1} k^2}{a}", - "\"\\frac{\\sum\\limits^{^N}_{k=1}" - ], - [ - "\\prod_{i=1}^N x_i", - "\"\\prod_{i=1}^N" - ], - [ - "\\textstyle \\prod_{i=1}^N x_i", - "\"\\textstyle" - ], - [ - "\\coprod_{i=1}^N x_i", - "\"\\coprod_{i=1}^N" - ], - [ - "\\textstyle \\coprod_{i=1}^N x_i", - "\"\\textstyle" - ], - [ - "\\lim_{n \\to \\infty}x_n", - "\"\\lim_{n" - ], - [ - "\\textstyle \\lim_{n \\to \\infty}x_n", - "\"\\textstyle" - ], - [ - "\\int\\limits_{1}^{3}\\frac{e^3\/x}{x^2}\\, dx", - "\"\\int\\limits_{1}^{3}\\frac{e^3\/x}{x^2}\\," - ], - [ - "\\int_{1}^{3}\\frac{e^3\/x}{x^2}\\, dx", - "\"\\int_{1}^{3}\\frac{e^3\/x}{x^2}\\," - ], - [ - "\\textstyle \\int\\limits_{-N}^{N} e^x\\, dx", - "\"\\textstyle" - ], - [ - "\\textstyle \\int_{-N}^{N} e^x\\, dx", - "\"\\textstyle" - ], - [ - "\\iint\\limits_D \\, dx\\,dy", - "\"\\iint\\limits_D" - ], - [ - "\\iiint\\limits_E \\, dx\\,dy\\,dz", - "\"\\iiint\\limits_E" - ], - [ - "\\iiiint\\limits_F \\, dx\\,dy\\,dz\\,dt", - "\"\\iiiint\\limits_F" - ], - [ - "\\int_{(x,y)\\in C} x^3\\, dx + 4y^2\\, dy", - "\"\\int_{(x,y)\\in" - ], - [ - "\\oint_{(x,y)\\in C} x^3\\, dx + 4y^2\\, dy", - "\"\\oint_{(x,y)\\in" - ], - [ - "\\bigcap_{i=_1}^n E_i", - "\"\\bigcap_{i=_1}^n" - ], - [ - "\\bigcup_{i=_1}^n E_i", - "\"\\bigcup_{i=_1}^n" - ], - [ - "\\frac{2}{4}=0.5", - "\"\\frac{2}{4}=0.5\"" - ], - [ - "\\tfrac{2}{4} = 0.5", - "\"\\tfrac{2}{4}" - ], - [ - "\\dfrac{2}{4} = 0.5 \\qquad \\dfrac{2}{c + \\dfrac{2}{d + \\dfrac{2}{4}}} = a", - "\"\\dfrac{2}{4}" - ], - [ - "\\cfrac{2}{c + \\cfrac{2}{d + \\cfrac{2}{4}}} = a", - "\"\\cfrac{2}{c" - ], - [ - "\\cfrac{x}{1 + \\cfrac{\\cancel{y}}{\\cancel{y}}} = \\cfrac{x}{2}", - "\"\\cfrac{x}{1" - ], - [ - "\\binom{n}{k}", - "\"\\binom{n}{k}\"" - ], - [ - "\\tbinom{n}{k}", - "\"\\tbinom{n}{k}\"" - ], - [ - "\\dbinom{n}{k}", - "\"\\dbinom{n}{k}\"" - ], - [ - "\\begin{matrix} x & y \\\\ z & v\n\\end{matrix}", - "\"\\begin{matrix}" - ], - [ - "\\begin{vmatrix} x & y \\\\ z & v\n\\end{vmatrix}", - "\"\\begin{vmatrix}" - ], - [ - "\\begin{Vmatrix} x & y \\\\ z & v\n\\end{Vmatrix}", - "\"\\begin{Vmatrix}" - ], - [ - "\\begin{bmatrix} 0 & \\cdots & 0 \\\\ \\vdots\n& \\ddots & \\vdots \\\\ 0 & \\cdots &\n0\\end{bmatrix} ", - "\"\\begin{bmatrix}" - ], - [ - "\\begin{Bmatrix} x & y \\\\ z & v\n\\end{Bmatrix}", - "\"\\begin{Bmatrix}" - ], - [ - "\\begin{pmatrix} x & y \\\\ z & v\n\\end{pmatrix}", - "\"\\begin{pmatrix}" - ], - [ - "\n\\bigl( \\begin{smallmatrix}\na&b\\\\ c&d\n\\end{smallmatrix} \\bigr)\n", - "\"
\\bigl(" - ], - [ - "f(n) =\n\\begin{cases}\nn\/2, & \\text{if }n\\text{ is even} \\\\\n3n+1, & \\text{if }n\\text{ is odd}\n\\end{cases} ", - "\"f(n)" - ], - [ - "\n\\begin{align}\nf(x) & = (a+b)^2 \\\\\n& = a^2+2ab+b^2 \\\\\n\\end{align}\n", - "\"
\\begin{align}
f(x)" - ], - [ - "\n\\begin{alignat}{2}\nf(x) & = (a-b)^2 \\\\\n& = a^2-2ab+b^2 \\\\\n\\end{alignat}\n", - "\"
\\begin{alignat}{2}
f(x)" - ], - [ - "\\begin{array}{lcl}\nz & = & a \\\\\nf(x,y,z) & = & x + y + z\n\\end{array}", - "\"\\begin{array}{lcl}
z" - ], - [ - "\\begin{array}{lcr}\nz & = & a \\\\\nf(x,y,z) & = & x + y + z\n\\end{array}", - "\"\\begin{array}{lcr}
z" - ], - [ - "f(x) \\,\\!", - "\"f(x)" - ], - [ - "= \\sum_{n=0}^\\infty a_n x^n ", - "\"=" - ], - [ - "= a_0+a_1x+a_2x^2+\\cdots", - "\"=" - ], - [ - "f(x) \\,\\!", - "\"f(x)" - ], - [ - "= \\sum_{n=0}^\\infty a_n x^n ", - "\"=" - ], - [ - "= a_0 +a_1x+a_2x^2+\\cdots", - "\"=" - ], - [ - "\\begin{cases} 3x + 5y + z \\\\ 7x - 2y + 4z \\\\ -6x + 3y + 2z \\end{cases}", - "\"\\begin{cases}" - ], - [ - "\n\\begin{array}{|c|c||c|} a & b & S \\\\\n\\hline\n0&0&1\\\\\n0&1&1\\\\\n1&0&1\\\\\n1&1&0\\\\\n\\end{array}\n", - "\"
\\begin{array}{|c|c||c|}" - ], - [ - "( \\frac{1}{2} )", - "\"(" - ], - [ - "\\left ( \\frac{1}{2} \\right )", - "\"\\left" - ], - [ - "\\left ( \\frac{a}{b} \\right )", - "\"\\left" - ], - [ - "\\left [ \\frac{a}{b} \\right ] \\quad \\left \\lbrack \\frac{a}{b} \\right \\rbrack", - "\"\\left" - ], - [ - "\\left \\{ \\frac{a}{b} \\right \\} \\quad \\left \\lbrace \\frac{a}{b} \\right \\rbrace", - "\"\\left" - ], - [ - "\\left \\langle \\frac{a}{b} \\right \\rangle", - "\"\\left" - ], - [ - "\\left | \\frac{a}{b} \\right \\vert \\quad \\left \\Vert \\frac{c}{d} \\right \\|", - "\"\\left" - ], - [ - "\\left \\lfloor \\frac{a}{b} \\right \\rfloor \\quad \\left \\lceil \\frac{c}{d} \\right \\rceil", - "\"\\left" - ], - [ - "\\left \/ \\frac{a}{b} \\right \\backslash", - "\"\\left" - ], - [ - "\\left \\uparrow \\frac{a}{b} \\right \\downarrow \\quad \\left \\Uparrow \\frac{a}{b} \\right \\Downarrow \\quad \\left \\updownarrow \\frac{a}{b} \\right \\Updownarrow", - "\"\\left" - ], - [ - "\\left [ 0,1 \\right )", - "\"\\left" - ], - [ - "\\left \\langle \\psi \\right |", - "\"\\left" - ], - [ - "\\left . \\frac{A}{B} \\right \\} \\to X", - "\"\\left" - ], - [ - "\\big( \\Big( \\bigg( \\Bigg( \\dots \\Bigg] \\bigg] \\Big] \\big]", - "\"\\big(" - ], - [ - "\\big\\{ \\Big\\{ \\bigg\\{ \\Bigg\\{ \\dots \\Bigg\\rangle \\bigg\\rangle \\Big\\rangle \\big\\rangle", - "\"\\big\\{" - ], - [ - "\\big\\| \\Big\\| \\bigg\\| \\Bigg\\| \\dots \\Bigg| \\bigg| \\Big| \\big|", - "\"\\big\\|" - ], - [ - "\\big\\lfloor \\Big\\lfloor \\bigg\\lfloor \\Bigg\\lfloor \\dots \\Bigg\\rceil \\bigg\\rceil \\Big\\rceil \\big\\rceil", - "\"\\big\\lfloor" - ], - [ - "\\big\\uparrow \\Big\\uparrow \\bigg\\uparrow \\Bigg\\uparrow \\dots \\Bigg\\Downarrow \\bigg\\Downarrow \\Big\\Downarrow \\big\\Downarrow", - "\"\\big\\uparrow" - ], - [ - "\\big\\updownarrow \\Big\\updownarrow \\bigg\\updownarrow \\Bigg\\updownarrow \\dots \\Bigg\\Updownarrow \\bigg\\Updownarrow \\Big\\Updownarrow \\big\\Updownarrow", - "\"\\big\\updownarrow" - ], - [ - "\\big \/ \\Big \/ \\bigg \/ \\Bigg \/ \\dots \\Bigg\\backslash \\bigg\\backslash \\Big\\backslash \\big\\backslash", - "\"\\big" - ], - [ - "x^2 + y^2 + z^2 = 1 \\,", - "\"x^2" - ], - [ - "\\Alpha \\Beta \\Gamma \\Delta \\Epsilon \\Zeta \\Eta \\Theta \\!", - "\"\\Alpha" - ], - [ - "\\Iota \\Kappa \\Lambda \\Mu \\Nu \\Xi \\Pi \\Rho \\!", - "\"\\Iota" - ], - [ - "\\Sigma \\Tau \\Upsilon \\Phi \\Chi \\Psi \\Omega \\!", - "\"\\Sigma" - ], - [ - "\\alpha \\beta \\gamma \\delta \\epsilon \\zeta \\eta \\theta \\!", - "\"\\alpha" - ], - [ - "\\iota \\kappa \\lambda \\mu \\nu \\xi \\pi \\rho \\!", - "\"\\iota" - ], - [ - "\\sigma \\tau \\upsilon \\phi \\chi \\psi \\omega \\!", - "\"\\sigma" - ], - [ - "\\varepsilon \\digamma \\varkappa \\varpi \\!", - "\"\\varepsilon" - ], - [ - "\\varrho \\varsigma \\vartheta \\varphi \\!", - "\"\\varrho" - ], - [ - "\\aleph \\beth \\gimel \\daleth \\!", - "\"\\aleph" - ], - [ - "\\mathbb{ABCDEFGHI} \\!", - "\"\\mathbb{ABCDEFGHI}" - ], - [ - "\\mathbb{JKLMNOPQR} \\!", - "\"\\mathbb{JKLMNOPQR}" - ], - [ - "\\mathbb{STUVWXYZ} \\!", - "\"\\mathbb{STUVWXYZ}" - ], - [ - "\\mathbf{ABCDEFGHI} \\!", - "\"\\mathbf{ABCDEFGHI}" - ], - [ - "\\mathbf{JKLMNOPQR} \\!", - "\"\\mathbf{JKLMNOPQR}" - ], - [ - "\\mathbf{STUVWXYZ} \\!", - "\"\\mathbf{STUVWXYZ}" - ], - [ - "\\mathbf{abcdefghijklm} \\!", - "\"\\mathbf{abcdefghijklm}" - ], - [ - "\\mathbf{nopqrstuvwxyz} \\!", - "\"\\mathbf{nopqrstuvwxyz}" - ], - [ - "\\mathbf{0123456789} \\!", - "\"\\mathbf{0123456789}" - ], - [ - "\\boldsymbol{\\Alpha\\Beta\\Gamma\\Delta\\Epsilon\\Zeta\\Eta\\Theta} \\!", - "\"\\boldsymbol{\\Alpha\\Beta\\Gamma\\Delta\\Epsilon\\Zeta\\Eta\\Theta}" - ], - [ - "\\boldsymbol{\\Iota\\Kappa\\Lambda\\Mu\\Nu\\Xi\\Pi\\Rho} \\!", - "\"\\boldsymbol{\\Iota\\Kappa\\Lambda\\Mu\\Nu\\Xi\\Pi\\Rho}" - ], - [ - "\\boldsymbol{\\Sigma\\Tau\\Upsilon\\Phi\\Chi\\Psi\\Omega} \\!", - "\"\\boldsymbol{\\Sigma\\Tau\\Upsilon\\Phi\\Chi\\Psi\\Omega}" - ], - [ - "\\boldsymbol{\\alpha\\beta\\gamma\\delta\\epsilon\\zeta\\eta\\theta} \\!", - "\"\\boldsymbol{\\alpha\\beta\\gamma\\delta\\epsilon\\zeta\\eta\\theta}" - ], - [ - "\\boldsymbol{\\iota\\kappa\\lambda\\mu\\nu\\xi\\pi\\rho} \\!", - "\"\\boldsymbol{\\iota\\kappa\\lambda\\mu\\nu\\xi\\pi\\rho}" - ], - [ - "\\boldsymbol{\\sigma\\tau\\upsilon\\phi\\chi\\psi\\omega} \\!", - "\"\\boldsymbol{\\sigma\\tau\\upsilon\\phi\\chi\\psi\\omega}" - ], - [ - "\\boldsymbol{\\varepsilon\\digamma\\varkappa\\varpi} \\!", - "\"\\boldsymbol{\\varepsilon\\digamma\\varkappa\\varpi}" - ], - [ - "\\boldsymbol{\\varrho\\varsigma\\vartheta\\varphi} \\!", - "\"\\boldsymbol{\\varrho\\varsigma\\vartheta\\varphi}" - ], - [ - "\\mathit{0123456789} \\!", - "\"\\mathit{0123456789}" - ], - [ - "\\mathit{\\Alpha\\Beta\\Gamma\\Delta\\Epsilon\\Zeta\\Eta\\Theta} \\!", - "\"\\mathit{\\Alpha\\Beta\\Gamma\\Delta\\Epsilon\\Zeta\\Eta\\Theta}" - ], - [ - "\\mathit{\\Iota\\Kappa\\Lambda\\Mu\\Nu\\Xi\\Pi\\Rho} \\!", - "\"\\mathit{\\Iota\\Kappa\\Lambda\\Mu\\Nu\\Xi\\Pi\\Rho}" - ], - [ - "\\mathit{\\Sigma\\Tau\\Upsilon\\Phi\\Chi\\Psi\\Omega} \\!", - "\"\\mathit{\\Sigma\\Tau\\Upsilon\\Phi\\Chi\\Psi\\Omega}" - ], - [ - "\\mathrm{ABCDEFGHI} \\!", - "\"\\mathrm{ABCDEFGHI}" - ], - [ - "\\mathrm{JKLMNOPQR} \\!", - "\"\\mathrm{JKLMNOPQR}" - ], - [ - "\\mathrm{STUVWXYZ} \\!", - "\"\\mathrm{STUVWXYZ}" - ], - [ - "\\mathrm{abcdefghijklm} \\!", - "\"\\mathrm{abcdefghijklm}" - ], - [ - "\\mathrm{nopqrstuvwxyz} \\!", - "\"\\mathrm{nopqrstuvwxyz}" - ], - [ - "\\mathrm{0123456789} \\!", - "\"\\mathrm{0123456789}" - ], - [ - "\\mathsf{ABCDEFGHI} \\!", - "\"\\mathsf{ABCDEFGHI}" - ], - [ - "\\mathsf{JKLMNOPQR} \\!", - "\"\\mathsf{JKLMNOPQR}" - ], - [ - "\\mathsf{STUVWXYZ} \\!", - "\"\\mathsf{STUVWXYZ}" - ], - [ - "\\mathsf{abcdefghijklm} \\!", - "\"\\mathsf{abcdefghijklm}" - ], - [ - "\\mathsf{nopqrstuvwxyz} \\!", - "\"\\mathsf{nopqrstuvwxyz}" - ], - [ - "\\mathsf{0123456789} \\!", - "\"\\mathsf{0123456789}" - ], - [ - "\\mathsf{\\Alpha \\Beta \\Gamma \\Delta \\Epsilon \\Zeta \\Eta \\Theta} \\!", - "\"\\mathsf{\\Alpha" - ], - [ - "\\mathsf{\\Iota \\Kappa \\Lambda \\Mu \\Nu \\Xi \\Pi \\Rho} \\!", - "\"\\mathsf{\\Iota" - ], - [ - "\\mathsf{\\Sigma \\Tau \\Upsilon \\Phi \\Chi \\Psi \\Omega}\\!", - "\"\\mathsf{\\Sigma" - ], - [ - "\\mathcal{ABCDEFGHI} \\!", - "\"\\mathcal{ABCDEFGHI}" - ], - [ - "\\mathcal{JKLMNOPQR} \\!", - "\"\\mathcal{JKLMNOPQR}" - ], - [ - "\\mathcal{STUVWXYZ} \\!", - "\"\\mathcal{STUVWXYZ}" - ], - [ - "\\mathfrak{ABCDEFGHI} \\!", - "\"\\mathfrak{ABCDEFGHI}" - ], - [ - "\\mathfrak{JKLMNOPQR} \\!", - "\"\\mathfrak{JKLMNOPQR}" - ], - [ - "\\mathfrak{STUVWXYZ} \\!", - "\"\\mathfrak{STUVWXYZ}" - ], - [ - "\\mathfrak{abcdefghijklm} \\!", - "\"\\mathfrak{abcdefghijklm}" - ], - [ - "\\mathfrak{nopqrstuvwxyz} \\!", - "\"\\mathfrak{nopqrstuvwxyz}" - ], - [ - "\\mathfrak{0123456789} \\!", - "\"\\mathfrak{0123456789}" - ], - [ - "x y z", - "\"x" - ], - [ - "\\text{x y z}", - "\"\\text{x" - ], - [ - "\\text{if} n \\text{is even}", - "\"\\text{if}" - ], - [ - "\\text{if }n\\text{ is even}", - "\"\\text{if" - ], - [ - "\\text{if}~n\\ \\text{is even}", - "\"\\text{if}~n\\" - ], - [ - "{\\color{Blue}x^2}+{\\color{YellowOrange}2x}-{\\color{OliveGreen}1}", - "\"{\\color{Blue}x^2}+{\\color{YellowOrange}2x}-{\\color{OliveGreen}1}\"" - ], - [ - "x_{1,2}=\\frac{-b\\pm\\sqrt{\\color{Red}b^2-4ac}}{2a}", - "\"x_{1,2}=\\frac{-b\\pm\\sqrt{\\color{Red}b^2-4ac}}{2a}\"" - ], - [ - "e^{i \\pi} + 1 = 0", - "\"e^{i" - ], - [ - "\\definecolor{orange}{RGB}{255,165,0}\\pagecolor{orange}e^{i \\pi} + 1 = 0", - "\"\\definecolor{orange}{RGB}{255,165,0}\\pagecolor{orange}e^{i" - ], - [ - "e^{i \\pi} + 1 = 0\\,\\!", - "\"e^{i" - ], - [ - "\\definecolor{orange}{RGB}{255,165,0}\\pagecolor{orange}e^{i \\pi} + 1 = 0", - "\"\\definecolor{orange}{RGB}{255,165,0}\\pagecolor{orange}e^{i" - ], - [ - "e^{i \\pi} + 1 = 0", - "\"e^{i" - ], - [ - "\\definecolor{orange}{RGB}{255,165,0}\\pagecolor{orange}e^{i \\pi} + 1 = 0", - "\"\\definecolor{orange}{RGB}{255,165,0}\\pagecolor{orange}e^{i" - ], - [ - "\\color{Apricot}\\text{Apricot}", - "\"\\color{Apricot}\\text{Apricot}\"" - ], - [ - "\\color{Aquamarine}\\text{Aquamarine}", - "\"\\color{Aquamarine}\\text{Aquamarine}\"" - ], - [ - "\\color{Bittersweet}\\text{Bittersweet}", - "\"\\color{Bittersweet}\\text{Bittersweet}\"" - ], - [ - "\\color{Black}\\text{Black}", - "\"\\color{Black}\\text{Black}\"" - ], - [ - "\\color{Blue}\\text{Blue}", - "\"\\color{Blue}\\text{Blue}\"" - ], - [ - "\\color{BlueGreen}\\text{BlueGreen}", - "\"\\color{BlueGreen}\\text{BlueGreen}\"" - ], - [ - "\\color{BlueViolet}\\text{BlueViolet}", - "\"\\color{BlueViolet}\\text{BlueViolet}\"" - ], - [ - "\\color{BrickRed}\\text{BrickRed}", - "\"\\color{BrickRed}\\text{BrickRed}\"" - ], - [ - "\\color{Brown}\\text{Brown}", - "\"\\color{Brown}\\text{Brown}\"" - ], - [ - "\\color{BurntOrange}\\text{BurntOrange}", - "\"\\color{BurntOrange}\\text{BurntOrange}\"" - ], - [ - "\\color{CadetBlue}\\text{CadetBlue}", - "\"\\color{CadetBlue}\\text{CadetBlue}\"" - ], - [ - "\\color{CarnationPink}\\text{CarnationPink}", - "\"\\color{CarnationPink}\\text{CarnationPink}\"" - ], - [ - "\\color{Cerulean}\\text{Cerulean}", - "\"\\color{Cerulean}\\text{Cerulean}\"" - ], - [ - "\\color{CornflowerBlue}\\text{CornflowerBlue}", - "\"\\color{CornflowerBlue}\\text{CornflowerBlue}\"" - ], - [ - "\\color{Cyan}\\text{Cyan}", - "\"\\color{Cyan}\\text{Cyan}\"" - ], - [ - "\\color{Dandelion}\\text{Dandelion}", - "\"\\color{Dandelion}\\text{Dandelion}\"" - ], - [ - "\\color{DarkOrchid}\\text{DarkOrchid}", - "\"\\color{DarkOrchid}\\text{DarkOrchid}\"" - ], - [ - "\\color{Emerald}\\text{Emerald}", - "\"\\color{Emerald}\\text{Emerald}\"" - ], - [ - "\\color{ForestGreen}\\text{ForestGreen}", - "\"\\color{ForestGreen}\\text{ForestGreen}\"" - ], - [ - "\\color{Fuchsia}\\text{Fuchsia}", - "\"\\color{Fuchsia}\\text{Fuchsia}\"" - ], - [ - "\\color{Goldenrod}\\text{Goldenrod}", - "\"\\color{Goldenrod}\\text{Goldenrod}\"" - ], - [ - "\\color{Gray}\\text{Gray}", - "\"\\color{Gray}\\text{Gray}\"" - ], - [ - "\\color{Green}\\text{Green}", - "\"\\color{Green}\\text{Green}\"" - ], - [ - "\\color{GreenYellow}\\text{GreenYellow}", - "\"\\color{GreenYellow}\\text{GreenYellow}\"" - ], - [ - "\\color{JungleGreen}\\text{JungleGreen}", - "\"\\color{JungleGreen}\\text{JungleGreen}\"" - ], - [ - "\\color{Lavender}\\text{Lavender}", - "\"\\color{Lavender}\\text{Lavender}\"" - ], - [ - "\\color{LimeGreen}\\text{LimeGreen}", - "\"\\color{LimeGreen}\\text{LimeGreen}\"" - ], - [ - "\\color{Magenta}\\text{Magenta}", - "\"\\color{Magenta}\\text{Magenta}\"" - ], - [ - "\\color{Mahogany}\\text{Mahogany}", - "\"\\color{Mahogany}\\text{Mahogany}\"" - ], - [ - "\\color{Maroon}\\text{Maroon}", - "\"\\color{Maroon}\\text{Maroon}\"" - ], - [ - "\\color{Melon}\\text{Melon}", - "\"\\color{Melon}\\text{Melon}\"" - ], - [ - "\\color{MidnightBlue}\\text{MidnightBlue}", - "\"\\color{MidnightBlue}\\text{MidnightBlue}\"" - ], - [ - "\\color{Mulberry}\\text{Mulberry}", - "\"\\color{Mulberry}\\text{Mulberry}\"" - ], - [ - "\\color{NavyBlue}\\text{NavyBlue}", - "\"\\color{NavyBlue}\\text{NavyBlue}\"" - ], - [ - "\\color{OliveGreen}\\text{OliveGreen}", - "\"\\color{OliveGreen}\\text{OliveGreen}\"" - ], - [ - "\\color{Orange}\\text{Orange}", - "\"\\color{Orange}\\text{Orange}\"" - ], - [ - "\\color{OrangeRed}\\text{OrangeRed}", - "\"\\color{OrangeRed}\\text{OrangeRed}\"" - ], - [ - "\\color{Orchid}\\text{Orchid}", - "\"\\color{Orchid}\\text{Orchid}\"" - ], - [ - "\\color{Peach}\\text{Peach}", - "\"\\color{Peach}\\text{Peach}\"" - ], - [ - "\\color{Periwinkle}\\text{Periwinkle}", - "\"\\color{Periwinkle}\\text{Periwinkle}\"" - ], - [ - "\\color{PineGreen}\\text{PineGreen}", - "\"\\color{PineGreen}\\text{PineGreen}\"" - ], - [ - "\\color{Plum}\\text{Plum}", - "\"\\color{Plum}\\text{Plum}\"" - ], - [ - "\\color{ProcessBlue}\\text{ProcessBlue}", - "\"\\color{ProcessBlue}\\text{ProcessBlue}\"" - ], - [ - "\\color{Purple}\\text{Purple}", - "\"\\color{Purple}\\text{Purple}\"" - ], - [ - "\\color{RawSienna}\\text{RawSienna}", - "\"\\color{RawSienna}\\text{RawSienna}\"" - ], - [ - "\\color{Red}\\text{Red}", - "\"\\color{Red}\\text{Red}\"" - ], - [ - "\\color{RedOrange}\\text{RedOrange}", - "\"\\color{RedOrange}\\text{RedOrange}\"" - ], - [ - "\\color{RedViolet}\\text{RedViolet}", - "\"\\color{RedViolet}\\text{RedViolet}\"" - ], - [ - "\\color{Rhodamine}\\text{Rhodamine}", - "\"\\color{Rhodamine}\\text{Rhodamine}\"" - ], - [ - "\\color{RoyalBlue}\\text{RoyalBlue}", - "\"\\color{RoyalBlue}\\text{RoyalBlue}\"" - ], - [ - "\\color{RoyalPurple}\\text{RoyalPurple}", - "\"\\color{RoyalPurple}\\text{RoyalPurple}\"" - ], - [ - "\\color{RubineRed}\\text{RubineRed}", - "\"\\color{RubineRed}\\text{RubineRed}\"" - ], - [ - "\\color{Salmon}\\text{Salmon}", - "\"\\color{Salmon}\\text{Salmon}\"" - ], - [ - "\\color{SeaGreen}\\text{SeaGreen}", - "\"\\color{SeaGreen}\\text{SeaGreen}\"" - ], - [ - "\\color{Sepia}\\text{Sepia}", - "\"\\color{Sepia}\\text{Sepia}\"" - ], - [ - "\\color{SkyBlue}\\text{SkyBlue}", - "\"\\color{SkyBlue}\\text{SkyBlue}\"" - ], - [ - "\\color{SpringGreen}\\text{SpringGreen}", - "\"\\color{SpringGreen}\\text{SpringGreen}\"" - ], - [ - "\\color{Tan}\\text{Tan}", - "\"\\color{Tan}\\text{Tan}\"" - ], - [ - "\\color{TealBlue}\\text{TealBlue}", - "\"\\color{TealBlue}\\text{TealBlue}\"" - ], - [ - "\\color{Thistle}\\text{Thistle}", - "\"\\color{Thistle}\\text{Thistle}\"" - ], - [ - "\\color{Turquoise}\\text{Turquoise}", - "\"\\color{Turquoise}\\text{Turquoise}\"" - ], - [ - "\\color{Violet}\\text{Violet}", - "\"\\color{Violet}\\text{Violet}\"" - ], - [ - "\\color{VioletRed}\\text{VioletRed}", - "\"\\color{VioletRed}\\text{VioletRed}\"" - ], - [ - "\\color{WildStrawberry}\\text{WildStrawberry}", - "\"\\color{WildStrawberry}\\text{WildStrawberry}\"" - ], - [ - "\\color{YellowGreen}\\text{YellowGreen}", - "\"\\color{YellowGreen}\\text{YellowGreen}\"" - ], - [ - "\\color{YellowOrange}\\text{YellowOrange}", - "\"\\color{YellowOrange}\\text{YellowOrange}\"" - ], - [ - "a \\qquad b", - "\"a" - ], - [ - "a \\quad b", - "\"a" - ], - [ - "a\\ b", - "\"a\\" - ], - [ - "a \\mbox{ } b", - "\"a" - ], - [ - "a\\;b", - "\"a\\;b\"" - ], - [ - "a\\,b", - "\"a\\,b\"" - ], - [ - "ab", - "\"ab\"" - ], - [ - "\\mathit{ab}", - "\"\\mathit{ab}\"" - ], - [ - "a\\!b", - "\"a\\!b\"" - ], - [ - "0+1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+\\cdots", - "\"0+1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+\\cdots\"" - ], - [ - "{0+1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+\\cdots}", - "\"{0+1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+\\cdots}\"" - ], - [ - "\\int_{-N}^{N} e^x\\, dx", - "\"\\int_{-N}^{N}" - ], - [ - "\\sum_{i=0}^\\infty 2^{-i}", - "\"\\sum_{i=0}^\\infty" - ], - [ - "\\text{geometric series:}\\quad \\sum_{i=0}^\\infty 2^{-i}=2 ", - "\"\\text{geometric" - ], - [ - "\\iint", - "\"\\iint\"" - ], - [ - "\\oint", - "\"\\oint\"" - ], - [ - "\\iint\\limits_{S}\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\subset\\!\\supset \\mathbf D \\cdot \\mathrm{d}\\mathbf A", - "\"\\iint\\limits_{S}\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\subset\\!\\supset" - ], - [ - "\\int\\!\\!\\!\\!\\int_{\\partial V}\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\;\\;\\;\\bigcirc\\,\\,\\mathbf D\\cdot\\mathrm{d}\\mathbf A", - "\"\\int\\!\\!\\!\\!\\int_{\\partial" - ], - [ - "\\int\\!\\!\\!\\!\\!\\int\\!\\!\\!\\!\\!\\int_{\\partial V}\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\;\\;\\;\\subset\\!\\supset \\mathbf D\\cdot\\mathrm{d}\\mathbf A", - "\"\\int\\!\\!\\!\\!\\!\\int\\!\\!\\!\\!\\!\\int_{\\partial" - ], - [ - "\\int\\!\\!\\!\\!\\!\\int\\!\\!\\!\\!\\!\\int_{\\partial V}\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\;\\;\\;\\bigcirc\\,\\,\\mathbf D\\;\\cdot\\mathrm{d}\\mathbf A", - "\"\\int\\!\\!\\!\\!\\!\\int\\!\\!\\!\\!\\!\\int_{\\partial" - ], - [ - "{\\scriptstyle S}", - "\"{\\scriptstyle" - ], - [ - "( \\nabla \\times \\bold{F} ) \\cdot {\\rm d}\\bold{S} = \\oint_{\\partial S} \\bold{F} \\cdot {\\rm d}\\boldsymbol{\\ell} ", - "\"(" - ], - [ - "{\\scriptstyle S}", - "\"{\\scriptstyle" - ], - [ - "( \\nabla \\times \\bold{F} ) \\cdot {\\rm d}\\bold{S} = \\oint_{\\partial S} \\bold{F} \\cdot {\\rm d}\\boldsymbol{\\ell} ", - "\"(" - ], - [ - "\\oint_C \\bold{B} \\cdot {\\rm d} \\boldsymbol{\\ell} = \\mu_0 ", - "\"\\oint_C" - ], - [ - "{\\scriptstyle S}", - "\"{\\scriptstyle" - ], - [ - "\\left ( \\bold{J} + \\epsilon_0\\frac{\\partial \\bold{E}}{\\partial t} \\right ) \\cdot {\\rm d}\\bold{S}", - "\"\\left" - ], - [ - "\\oint_{\\partial S} \\bold{B} \\cdot {\\rm d} \\boldsymbol{\\ell} = \\mu_0 ", - "\"\\oint_{\\partial" - ], - [ - "{\\scriptstyle S}", - "\"{\\scriptstyle" - ], - [ - "\\left ( \\bold{J} + \\epsilon_0\\frac{\\partial \\bold{E}}{\\partial t} \\right ) \\cdot {\\rm d}\\bold{S}", - "\"\\left" - ], - [ - "\\bold{P} = ", - "\"\\bold{P}" - ], - [ - "{\\scriptstyle \\partial \\Omega}", - "\"{\\scriptstyle" - ], - [ - "\\bold{T} \\cdot {\\rm d}^3\\boldsymbol{\\Sigma} = 0", - "\"\\bold{T}" - ], - [ - "\\bold{P} = ", - "\"\\bold{P}" - ], - [ - "{\\scriptstyle \\partial \\Omega}", - "\"{\\scriptstyle" - ], - [ - "\\bold{T} \\cdot {\\rm d}^3\\boldsymbol{\\Sigma} = 0", - "\"\\bold{T}" - ], - [ - "\\overset{\\frown}{AB}", - "\"\\overset{\\frown}{AB}\"" - ], - [ - "ax^2 + bx + c = 0", - "\"ax^2" - ], - [ - "ax^2 + bx + c = 0", - "\"ax^2" - ], - [ - "x={-b\\pm\\sqrt{b^2-4ac} \\over 2a}", - "\"x={-b\\pm\\sqrt{b^2-4ac}" - ], - [ - "x={-b\\pm\\sqrt{b^2-4ac} \\over 2a}", - "\"x={-b\\pm\\sqrt{b^2-4ac}" - ], - [ - "2 = \\left( \\frac{\\left(3-x\\right) \\times 2}{3-x} \\right)", - "\"2" - ], - [ - "2 = \\left(\n\\frac{\\left(3-x\\right) \\times 2}{3-x}\n\\right)", - "\"2" - ], - [ - "S_{\\text{new}} = S_{\\text{old}} - \\frac{ \\left( 5-T \\right) ^2} {2}", - "\"S_{\\text{new}}" - ], - [ - "S_{\\text{new}} = S_{\\text{old}} - \\frac{ \\left( 5-T \\right) ^2} {2}", - "\"S_{\\text{new}}" - ], - [ - "\\int_a^x \\!\\!\\!\\int_a^s f(y)\\,dy\\,ds = \\int_a^x f(y)(x-y)\\,dy", - "\"\\int_a^x" - ], - [ - "\\int_a^x \\!\\!\\!\\int_a^s f(y)\\,dy\\,ds\n= \\int_a^x f(y)(x-y)\\,dy", - "\"\\int_a^x" - ], - [ - "\\det(\\mathsf{A}-\\lambda\\mathsf{I}) = 0", - "\"\\det(\\mathsf{A}-\\lambda\\mathsf{I})" - ], - [ - "\\det(\\mathsf{A}-\\lambda\\mathsf{I}) = 0", - "\"\\det(\\mathsf{A}-\\lambda\\mathsf{I})" - ], - [ - "\\sum_{i=0}^{n-1} i", - "\"\\sum_{i=0}^{n-1}" - ], - [ - "\\sum_{i=0}^{n-1} i", - "\"\\sum_{i=0}^{n-1}" - ], - [ - "\\sum_{m=1}^\\infty\\sum_{n=1}^\\infty\\frac{m^2\\,n}{3^m\\left(m\\,3^n+n\\,3^m\\right)}", - "\"\\sum_{m=1}^\\infty\\sum_{n=1}^\\infty\\frac{m^2\\,n}{3^m\\left(m\\,3^n+n\\,3^m\\right)}\"" - ], - [ - "\\sum_{m=1}^\\infty\\sum_{n=1}^\\infty\\frac{m^2\\,n}\n{3^m\\left(m\\,3^n+n\\,3^m\\right)}", - "\"\\sum_{m=1}^\\infty\\sum_{n=1}^\\infty\\frac{m^2\\,n}
{3^m\\left(m\\,3^n+n\\,3^m\\right)}\"" - ], - [ - "u'' + p(x)u' + q(x)u=f(x),\\quad x>a", - "\"u''" - ], - [ - "u'' + p(x)u' + q(x)u=f(x),\\quad x>a", - "\"u''" - ], - [ - "|\\bar{z}| = |z|, |(\\bar{z})^n| = |z|^n, \\arg(z^n) = n \\arg(z)", - "\"|\\bar{z}|" - ], - [ - "|\\bar{z}| = |z|,\n|(\\bar{z})^n| = |z|^n,\n\\arg(z^n) = n \\arg(z)", - "\"|\\bar{z}|" - ], - [ - "\\lim_{z\\rightarrow z_0} f(z)=f(z_0)", - "\"\\lim_{z\\rightarrow" - ], - [ - "\\lim_{z\\rightarrow z_0} f(z)=f(z_0)", - "\"\\lim_{z\\rightarrow" - ], - [ - "\\phi_n(\\kappa)\n= \\frac{1}{4\\pi^2\\kappa^2} \\int_0^\\infty \\frac{\\sin(\\kappa R)}{\\kappa R} \\frac{\\partial}{\\partial R} \\left[R^2\\frac{\\partial D_n(R)}{\\partial R}\\right]\\,dR", - "\"\\phi_n(\\kappa)
=" - ], - [ - "\\phi_n(\\kappa) =\n\\frac{1}{4\\pi^2\\kappa^2} \\int_0^\\infty\n\\frac{\\sin(\\kappa R)}{\\kappa R}\n\\frac{\\partial}{\\partial R}\n\\left[R^2\\frac{\\partial D_n(R)}{\\partial R}\\right]\\,dR", - "\"\\phi_n(\\kappa)" - ], - [ - "\\phi_n(\\kappa) = 0.033C_n^2\\kappa^{-11\/3},\\quad \\frac{1}{L_0}\\ll\\kappa\\ll\\frac{1}{l_0}", - "\"\\phi_n(\\kappa)" - ], - [ - "\\phi_n(\\kappa) =\n0.033C_n^2\\kappa^{-11\/3},\\quad\n\\frac{1}{L_0}\\ll\\kappa\\ll\\frac{1}{l_0}", - "\"\\phi_n(\\kappa)" - ], - [ - "f(x) = \\begin{cases}1 & -1 \\le x < 0 \\\\\n\\frac{1}{2} & x = 0 \\\\ 1 - x^2 & \\text{otherwise}\\end{cases}", - "\"f(x)" - ], - [ - "\nf(x) =\n\\begin{cases}\n1 & -1 \\le x < 0 \\\\\n\\frac{1}{2} & x = 0 \\\\\n1 - x^2 & \\text{otherwise}\n\\end{cases}\n", - "\"
f(x)" - ], - [ - "{}_pF_q(a_1,\\dots,a_p;c_1,\\dots,c_q;z) = \\sum_{n=0}^\\infty \\frac{(a_1)_n\\cdots(a_p)_n}{(c_1)_n\\cdots(c_q)_n}\\frac{z^n}{n!}", - "\"{}_pF_q(a_1,\\dots,a_p;c_1,\\dots,c_q;z)" - ], - [ - "{}_pF_q(a_1,\\dots,a_p;c_1,\\dots,c_q;z)\n= \\sum_{n=0}^\\infty\n\\frac{(a_1)_n\\cdots(a_p)_n}{(c_1)_n\\cdots(c_q)_n}\n\\frac{z^n}{n!}", - "\"{}_pF_q(a_1,\\dots,a_p;c_1,\\dots,c_q;z)
=" - ], - [ - "\\frac{a}{b}\\ \\tfrac{a}{b}", - "\"\\frac{a}{b}\\" - ], - [ - "\\frac{a}{b}\\ \\tfrac{a}{b}", - "\"\\frac{a}{b}\\" - ], - [ - "S=dD\\,\\sin\\alpha\\!", - "\"S=dD\\,\\sin\\alpha\\!\"" - ], - [ - "S=dD\\,\\sin\\alpha\\!", - "\"S=dD\\,\\sin\\alpha\\!\"" - ], - [ - "V=\\frac16\\pi h\\left[3\\left(r_1^2+r_2^2\\right)+h^2\\right]", - "\"V=\\frac16\\pi" - ], - [ - "V=\\frac16\\pi h\\left[3\\left(r_1^2+r_2^2\\right)+h^2\\right]", - "\"V=\\frac16\\pi" - ], - [ - "\\begin{align}\nu & = \\tfrac{1}{\\sqrt{2}}(x+y) \\qquad & x &= \\tfrac{1}{\\sqrt{2}}(u+v)\\\\\nv & = \\tfrac{1}{\\sqrt{2}}(x-y) \\qquad & y &= \\tfrac{1}{\\sqrt{2}}(u-v)\n\\end{align}", - "\"\\begin{align}
u" - ], - [ - "\\begin{align}\nu & = \\tfrac{1}{\\sqrt{2}}(x+y) \\qquad & x &= \\tfrac{1}{\\sqrt{2}}(u+v) \\\\\nv & = \\tfrac{1}{\\sqrt{2}}(x-y) \\qquad & y &= \\tfrac{1}{\\sqrt{2}}(u-v)\n\\end{align}", - "\"\\begin{align}
u" - ], - [ - " with a thumbnail- we don't render math in the parsertests by default, so math is not stripped and turns up as escaped <math> tags. [[Image:foobar.jpg|thumb|2+2", - "Failed to parse (syntax error): with a thumbnail- we don't render math in the parsertests by default, so math is not stripped and turns up as escaped &lt;math&gt; tags. [[Image:foobar.jpg|thumb|<math>2+2<\/strong>\n" - ], - [ - " with a thumbnail- math enabled [[Image:foobar.jpg|thumb|2+2", - "\"" - ], - [ - "