katex 0.10.1 → 0.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +51 -0
- package/README.md +4 -4
- package/cli.js +0 -0
- package/contrib/copy-tex/README.md +3 -3
- package/contrib/mathtex-script-type/README.md +5 -5
- package/contrib/mhchem/README.md +1 -1
- package/dist/README.md +4 -4
- package/dist/fonts/KaTeX_AMS-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_AMS-Regular.woff +0 -0
- package/dist/fonts/KaTeX_AMS-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
- package/dist/fonts/KaTeX_Fraktur-Bold.woff +0 -0
- package/dist/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/dist/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Fraktur-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Main-Bold.ttf +0 -0
- package/dist/fonts/KaTeX_Main-Bold.woff +0 -0
- package/dist/fonts/KaTeX_Main-Bold.woff2 +0 -0
- package/dist/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
- package/dist/fonts/KaTeX_Main-BoldItalic.woff +0 -0
- package/dist/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/dist/fonts/KaTeX_Main-Italic.ttf +0 -0
- package/dist/fonts/KaTeX_Main-Italic.woff +0 -0
- package/dist/fonts/KaTeX_Main-Italic.woff2 +0 -0
- package/dist/fonts/KaTeX_Main-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Main-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Main-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
- package/dist/fonts/KaTeX_Math-BoldItalic.woff +0 -0
- package/dist/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/dist/fonts/KaTeX_Math-Italic.ttf +0 -0
- package/dist/fonts/KaTeX_Math-Italic.woff +0 -0
- package/dist/fonts/KaTeX_Math-Italic.woff2 +0 -0
- package/dist/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
- package/dist/fonts/KaTeX_SansSerif-Bold.woff +0 -0
- package/dist/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/dist/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
- package/dist/fonts/KaTeX_SansSerif-Italic.woff +0 -0
- package/dist/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/dist/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_SansSerif-Regular.woff +0 -0
- package/dist/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Script-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Script-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Script-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Size1-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Size1-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Size1-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Size2-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Size2-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Size2-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Size3-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Size3-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Size3-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Size4-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Size4-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Size4-Regular.woff2 +0 -0
- package/dist/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
- package/dist/fonts/KaTeX_Typewriter-Regular.woff +0 -0
- package/dist/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/dist/katex.css +10 -0
- package/dist/katex.js +541 -249
- package/dist/katex.min.css +1 -1
- package/dist/katex.min.js +1 -1
- package/dist/katex.mjs +418 -198
- package/package.json +1 -1
- package/src/Options.js +11 -75
- package/src/buildMathML.js +13 -3
- package/src/domTree.js +63 -0
- package/src/environments/array.js +118 -2
- package/src/fontMetrics.js +3 -2
- package/src/functions/arrow.js +15 -5
- package/src/functions/color.js +2 -37
- package/src/functions/delimsizing.js +12 -2
- package/src/functions/enclose.js +15 -3
- package/src/functions/genfrac.js +31 -12
- package/src/functions/includegraphics.js +146 -0
- package/src/functions/mclass.js +1 -0
- package/src/functions/op.js +18 -10
- package/src/functions/phantom.js +5 -2
- package/src/functions/rule.js +20 -9
- package/src/functions/supsub.js +6 -2
- package/src/functions/symbolsOp.js +4 -0
- package/src/functions/tag.js +20 -4
- package/src/functions/text.js +4 -2
- package/src/functions.js +2 -0
- package/src/katex.less +15 -0
- package/src/macros.js +144 -27
- package/src/mathMLTree.js +1 -1
- package/src/parseNode.js +20 -1
- package/src/stretchy.js +3 -1
- package/src/symbols.js +15 -15
package/src/macros.js
CHANGED
|
@@ -334,6 +334,9 @@ defineMacro("\u212D", "\\mathfrak{C}"); // Fraktur
|
|
|
334
334
|
defineMacro("\u210C", "\\mathfrak{H}");
|
|
335
335
|
defineMacro("\u2128", "\\mathfrak{Z}");
|
|
336
336
|
|
|
337
|
+
// Define \Bbbk with a macro that works in both HTML and MathML.
|
|
338
|
+
defineMacro("\\Bbbk", "\\Bbb{k}");
|
|
339
|
+
|
|
337
340
|
// Unicode middle dot
|
|
338
341
|
// The KaTeX fonts do not contain U+00B7. Instead, \cdotp displays
|
|
339
342
|
// the dot at U+22C5 and gives it punct spacing.
|
|
@@ -348,7 +351,8 @@ defineMacro("\\clap", "\\mathclap{\\textrm{#1}}");
|
|
|
348
351
|
// \DeclareMathSymbol{\not}{\mathrel}{symbols}{"36}
|
|
349
352
|
// It's thus treated like a \mathrel, but defined by a symbol that has zero
|
|
350
353
|
// width but extends to the right. We use \rlap to get that spacing.
|
|
351
|
-
|
|
354
|
+
// For MathML we write U+0338 here. buildMathML.js will then do the overlay.
|
|
355
|
+
defineMacro("\\not", '\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');
|
|
352
356
|
|
|
353
357
|
// Negated symbols from base/fontmath.ltx:
|
|
354
358
|
// \def\neq{\not=} \let\ne=\neq
|
|
@@ -719,40 +723,61 @@ defineMacro("\\ordinarycolon", ":");
|
|
|
719
723
|
//TODO(edemaine): Not yet centered. Fix via \raisebox or #726
|
|
720
724
|
defineMacro("\\vcentcolon", "\\mathrel{\\mathop\\ordinarycolon}");
|
|
721
725
|
// \providecommand*\dblcolon{\vcentcolon\mathrel{\mkern-.9mu}\vcentcolon}
|
|
722
|
-
defineMacro("\\dblcolon",
|
|
723
|
-
"\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}"
|
|
726
|
+
defineMacro("\\dblcolon", "\\html@mathml{" +
|
|
727
|
+
"\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}" +
|
|
728
|
+
"{\\mathop{\\char\"2237}}");
|
|
724
729
|
// \providecommand*\coloneqq{\vcentcolon\mathrel{\mkern-1.2mu}=}
|
|
725
|
-
defineMacro("\\coloneqq", "\\
|
|
730
|
+
defineMacro("\\coloneqq", "\\html@mathml{" +
|
|
731
|
+
"\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}" +
|
|
732
|
+
"{\\mathop{\\char\"2254}}"); // ≔
|
|
726
733
|
// \providecommand*\Coloneqq{\dblcolon\mathrel{\mkern-1.2mu}=}
|
|
727
|
-
defineMacro("\\Coloneqq", "\\
|
|
734
|
+
defineMacro("\\Coloneqq", "\\html@mathml{" +
|
|
735
|
+
"\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}" +
|
|
736
|
+
"{\\mathop{\\char\"2237\\char\"3d}}");
|
|
728
737
|
// \providecommand*\coloneq{\vcentcolon\mathrel{\mkern-1.2mu}\mathrel{-}}
|
|
729
|
-
defineMacro("\\coloneq",
|
|
730
|
-
"\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}"
|
|
738
|
+
defineMacro("\\coloneq", "\\html@mathml{" +
|
|
739
|
+
"\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}" +
|
|
740
|
+
"{\\mathop{\\char\"3a\\char\"2212}}");
|
|
731
741
|
// \providecommand*\Coloneq{\dblcolon\mathrel{\mkern-1.2mu}\mathrel{-}}
|
|
732
|
-
defineMacro("\\Coloneq",
|
|
733
|
-
"\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}"
|
|
742
|
+
defineMacro("\\Coloneq", "\\html@mathml{" +
|
|
743
|
+
"\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}" +
|
|
744
|
+
"{\\mathop{\\char\"2237\\char\"2212}}");
|
|
734
745
|
// \providecommand*\eqqcolon{=\mathrel{\mkern-1.2mu}\vcentcolon}
|
|
735
|
-
defineMacro("\\eqqcolon", "\\
|
|
746
|
+
defineMacro("\\eqqcolon", "\\html@mathml{" +
|
|
747
|
+
"\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}" +
|
|
748
|
+
"{\\mathop{\\char\"2255}}"); // ≕
|
|
736
749
|
// \providecommand*\Eqqcolon{=\mathrel{\mkern-1.2mu}\dblcolon}
|
|
737
|
-
defineMacro("\\Eqqcolon", "\\
|
|
750
|
+
defineMacro("\\Eqqcolon", "\\html@mathml{" +
|
|
751
|
+
"\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}" +
|
|
752
|
+
"{\\mathop{\\char\"3d\\char\"2237}}");
|
|
738
753
|
// \providecommand*\eqcolon{\mathrel{-}\mathrel{\mkern-1.2mu}\vcentcolon}
|
|
739
|
-
defineMacro("\\eqcolon",
|
|
740
|
-
"\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}"
|
|
754
|
+
defineMacro("\\eqcolon", "\\html@mathml{" +
|
|
755
|
+
"\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}" +
|
|
756
|
+
"{\\mathop{\\char\"2239}}");
|
|
741
757
|
// \providecommand*\Eqcolon{\mathrel{-}\mathrel{\mkern-1.2mu}\dblcolon}
|
|
742
|
-
defineMacro("\\Eqcolon",
|
|
743
|
-
"\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}"
|
|
758
|
+
defineMacro("\\Eqcolon", "\\html@mathml{" +
|
|
759
|
+
"\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}" +
|
|
760
|
+
"{\\mathop{\\char\"2212\\char\"2237}}");
|
|
744
761
|
// \providecommand*\colonapprox{\vcentcolon\mathrel{\mkern-1.2mu}\approx}
|
|
745
|
-
defineMacro("\\colonapprox",
|
|
746
|
-
"\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}"
|
|
762
|
+
defineMacro("\\colonapprox", "\\html@mathml{" +
|
|
763
|
+
"\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}" +
|
|
764
|
+
"{\\mathop{\\char\"3a\\char\"2248}}");
|
|
747
765
|
// \providecommand*\Colonapprox{\dblcolon\mathrel{\mkern-1.2mu}\approx}
|
|
748
|
-
defineMacro("\\Colonapprox",
|
|
749
|
-
"\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}"
|
|
766
|
+
defineMacro("\\Colonapprox", "\\html@mathml{" +
|
|
767
|
+
"\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}" +
|
|
768
|
+
"{\\mathop{\\char\"2237\\char\"2248}}");
|
|
750
769
|
// \providecommand*\colonsim{\vcentcolon\mathrel{\mkern-1.2mu}\sim}
|
|
751
|
-
defineMacro("\\colonsim", "\\
|
|
770
|
+
defineMacro("\\colonsim", "\\html@mathml{" +
|
|
771
|
+
"\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}" +
|
|
772
|
+
"{\\mathop{\\char\"3a\\char\"223c}}");
|
|
752
773
|
// \providecommand*\Colonsim{\dblcolon\mathrel{\mkern-1.2mu}\sim}
|
|
753
|
-
defineMacro("\\Colonsim", "\\
|
|
774
|
+
defineMacro("\\Colonsim", "\\html@mathml{" +
|
|
775
|
+
"\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}" +
|
|
776
|
+
"{\\mathop{\\char\"2237\\char\"223c}}");
|
|
754
777
|
|
|
755
778
|
// Some Unicode characters are implemented with macros to mathtools functions.
|
|
779
|
+
defineMacro("\u2237", "\\dblcolon"); // ::
|
|
780
|
+
defineMacro("\u2239", "\\eqcolon"); // -:
|
|
756
781
|
defineMacro("\u2254", "\\coloneqq"); // :=
|
|
757
782
|
defineMacro("\u2255", "\\eqqcolon"); // =:
|
|
758
783
|
defineMacro("\u2A74", "\\Coloneqq"); // ::=
|
|
@@ -792,13 +817,47 @@ defineMacro("\\limsup", "\\DOTSB\\mathop{\\operatorname{lim\\,sup}}\\limits");
|
|
|
792
817
|
defineMacro("\\liminf", "\\DOTSB\\mathop{\\operatorname{lim\\,inf}}\\limits");
|
|
793
818
|
|
|
794
819
|
//////////////////////////////////////////////////////////////////////
|
|
795
|
-
//
|
|
820
|
+
// MathML alternates for KaTeX glyphs in the Unicode private area
|
|
821
|
+
defineMacro("\\gvertneqq", "\\html@mathml{\\@gvertneqq}{\u2269}");
|
|
822
|
+
defineMacro("\\lvertneqq", "\\html@mathml{\\@lvertneqq}{\u2268}");
|
|
823
|
+
defineMacro("\\ngeqq", "\\html@mathml{\\@ngeqq}{\u2271}");
|
|
824
|
+
defineMacro("\\ngeqslant", "\\html@mathml{\\@ngeqslant}{\u2271}");
|
|
825
|
+
defineMacro("\\nleqq", "\\html@mathml{\\@nleqq}{\u2270}");
|
|
826
|
+
defineMacro("\\nleqslant", "\\html@mathml{\\@nleqslant}{\u2270}");
|
|
827
|
+
defineMacro("\\nshortmid", "\\html@mathml{\\@nshortmid}{∤}");
|
|
828
|
+
defineMacro("\\nshortparallel", "\\html@mathml{\\@nshortparallel}{∦}");
|
|
829
|
+
defineMacro("\\nsubseteqq", "\\html@mathml{\\@nsubseteqq}{\u2288}");
|
|
830
|
+
defineMacro("\\nsupseteqq", "\\html@mathml{\\@nsupseteqq}{\u2289}");
|
|
831
|
+
defineMacro("\\varsubsetneq", "\\html@mathml{\\@varsubsetneq}{⊊}");
|
|
832
|
+
defineMacro("\\varsubsetneqq", "\\html@mathml{\\@varsubsetneqq}{⫋}");
|
|
833
|
+
defineMacro("\\varsupsetneq", "\\html@mathml{\\@varsupsetneq}{⊋}");
|
|
834
|
+
defineMacro("\\varsupsetneqq", "\\html@mathml{\\@varsupsetneqq}{⫌}");
|
|
835
|
+
|
|
836
|
+
//////////////////////////////////////////////////////////////////////
|
|
837
|
+
// stmaryrd and semantic
|
|
838
|
+
|
|
839
|
+
// The stmaryrd and semantic packages render the next four items by calling a
|
|
840
|
+
// glyph. Those glyphs do not exist in the KaTeX fonts. Hence the macros.
|
|
796
841
|
|
|
797
|
-
|
|
798
|
-
|
|
842
|
+
defineMacro("\\llbracket", "\\html@mathml{" +
|
|
843
|
+
"\\mathopen{[\\mkern-3.2mu[}}" +
|
|
844
|
+
"{\\mathopen{\\char`\u27e6}}");
|
|
845
|
+
defineMacro("\\rrbracket", "\\html@mathml{" +
|
|
846
|
+
"\\mathclose{]\\mkern-3.2mu]}}" +
|
|
847
|
+
"{\\mathclose{\\char`\u27e7}}");
|
|
799
848
|
|
|
800
|
-
defineMacro("\u27e6", "\\
|
|
801
|
-
defineMacro("\u27e7", "\\
|
|
849
|
+
defineMacro("\u27e6", "\\llbracket"); // blackboard bold [
|
|
850
|
+
defineMacro("\u27e7", "\\rrbracket"); // blackboard bold ]
|
|
851
|
+
|
|
852
|
+
defineMacro("\\lBrace", "\\html@mathml{" +
|
|
853
|
+
"\\mathopen{\\{\\mkern-3.2mu[}}" +
|
|
854
|
+
"{\\mathopen{\\char`\u2983}}");
|
|
855
|
+
defineMacro("\\rBrace", "\\html@mathml{" +
|
|
856
|
+
"\\mathclose{]\\mkern-3.2mu\\}}}" +
|
|
857
|
+
"{\\mathclose{\\char`\u2984}}");
|
|
858
|
+
|
|
859
|
+
defineMacro("\u2983", "\\lBrace"); // blackboard bold {
|
|
860
|
+
defineMacro("\u2984", "\\rBrace"); // blackboard bold }
|
|
802
861
|
|
|
803
862
|
// TODO: Create variable sized versions of the last two items. I believe that
|
|
804
863
|
// will require new font glyphs.
|
|
@@ -864,7 +923,7 @@ defineMacro("\\Rarr", "\\Rightarrow");
|
|
|
864
923
|
defineMacro("\\real", "\\Re");
|
|
865
924
|
defineMacro("\\reals", "\\mathbb{R}");
|
|
866
925
|
defineMacro("\\Reals", "\\mathbb{R}");
|
|
867
|
-
defineMacro("\\Rho", "\\mathrm{
|
|
926
|
+
defineMacro("\\Rho", "\\mathrm{P}");
|
|
868
927
|
defineMacro("\\sdot", "\\cdot");
|
|
869
928
|
defineMacro("\\sect", "\\S");
|
|
870
929
|
defineMacro("\\spades", "\\spadesuit");
|
|
@@ -883,3 +942,61 @@ defineMacro("\\Zeta", "\\mathrm{Z}");
|
|
|
883
942
|
|
|
884
943
|
defineMacro("\\argmin", "\\DOTSB\\mathop{\\operatorname{arg\\,min}}\\limits");
|
|
885
944
|
defineMacro("\\argmax", "\\DOTSB\\mathop{\\operatorname{arg\\,max}}\\limits");
|
|
945
|
+
|
|
946
|
+
// Custom Khan Academy colors, should be moved to an optional package
|
|
947
|
+
defineMacro("\\blue", "\\textcolor{##6495ed}{#1}");
|
|
948
|
+
defineMacro("\\orange", "\\textcolor{##ffa500}{#1}");
|
|
949
|
+
defineMacro("\\pink", "\\textcolor{##ff00af}{#1}");
|
|
950
|
+
defineMacro("\\red", "\\textcolor{##df0030}{#1}");
|
|
951
|
+
defineMacro("\\green", "\\textcolor{##28ae7b}{#1}");
|
|
952
|
+
defineMacro("\\gray", "\\textcolor{gray}{##1}");
|
|
953
|
+
defineMacro("\\purple", "\\textcolor{##9d38bd}{#1}");
|
|
954
|
+
defineMacro("\\blueA", "\\textcolor{##ccfaff}{#1}");
|
|
955
|
+
defineMacro("\\blueB", "\\textcolor{##80f6ff}{#1}");
|
|
956
|
+
defineMacro("\\blueC", "\\textcolor{##63d9ea}{#1}");
|
|
957
|
+
defineMacro("\\blueD", "\\textcolor{##11accd}{#1}");
|
|
958
|
+
defineMacro("\\blueE", "\\textcolor{##0c7f99}{#1}");
|
|
959
|
+
defineMacro("\\tealA", "\\textcolor{##94fff5}{#1}");
|
|
960
|
+
defineMacro("\\tealB", "\\textcolor{##26edd5}{#1}");
|
|
961
|
+
defineMacro("\\tealC", "\\textcolor{##01d1c1}{#1}");
|
|
962
|
+
defineMacro("\\tealD", "\\textcolor{##01a995}{#1}");
|
|
963
|
+
defineMacro("\\tealE", "\\textcolor{##208170}{#1}");
|
|
964
|
+
defineMacro("\\greenA", "\\textcolor{##b6ffb0}{#1}");
|
|
965
|
+
defineMacro("\\greenB", "\\textcolor{##8af281}{#1}");
|
|
966
|
+
defineMacro("\\greenC", "\\textcolor{##74cf70}{#1}");
|
|
967
|
+
defineMacro("\\greenD", "\\textcolor{##1fab54}{#1}");
|
|
968
|
+
defineMacro("\\greenE", "\\textcolor{##0d923f}{#1}");
|
|
969
|
+
defineMacro("\\goldA", "\\textcolor{##ffd0a9}{#1}");
|
|
970
|
+
defineMacro("\\goldB", "\\textcolor{##ffbb71}{#1}");
|
|
971
|
+
defineMacro("\\goldC", "\\textcolor{##ff9c39}{#1}");
|
|
972
|
+
defineMacro("\\goldD", "\\textcolor{##e07d10}{#1}");
|
|
973
|
+
defineMacro("\\goldE", "\\textcolor{##a75a05}{#1}");
|
|
974
|
+
defineMacro("\\redA", "\\textcolor{##fca9a9}{#1}");
|
|
975
|
+
defineMacro("\\redB", "\\textcolor{##ff8482}{#1}");
|
|
976
|
+
defineMacro("\\redC", "\\textcolor{##f9685d}{#1}");
|
|
977
|
+
defineMacro("\\redD", "\\textcolor{##e84d39}{#1}");
|
|
978
|
+
defineMacro("\\redE", "\\textcolor{##bc2612}{#1}");
|
|
979
|
+
defineMacro("\\maroonA", "\\textcolor{##ffbde0}{#1}");
|
|
980
|
+
defineMacro("\\maroonB", "\\textcolor{##ff92c6}{#1}");
|
|
981
|
+
defineMacro("\\maroonC", "\\textcolor{##ed5fa6}{#1}");
|
|
982
|
+
defineMacro("\\maroonD", "\\textcolor{##ca337c}{#1}");
|
|
983
|
+
defineMacro("\\maroonE", "\\textcolor{##9e034e}{#1}");
|
|
984
|
+
defineMacro("\\purpleA", "\\textcolor{##ddd7ff}{#1}");
|
|
985
|
+
defineMacro("\\purpleB", "\\textcolor{##c6b9fc}{#1}");
|
|
986
|
+
defineMacro("\\purpleC", "\\textcolor{##aa87ff}{#1}");
|
|
987
|
+
defineMacro("\\purpleD", "\\textcolor{##7854ab}{#1}");
|
|
988
|
+
defineMacro("\\purpleE", "\\textcolor{##543b78}{#1}");
|
|
989
|
+
defineMacro("\\mintA", "\\textcolor{##f5f9e8}{#1}");
|
|
990
|
+
defineMacro("\\mintB", "\\textcolor{##edf2df}{#1}");
|
|
991
|
+
defineMacro("\\mintC", "\\textcolor{##e0e5cc}{#1}");
|
|
992
|
+
defineMacro("\\grayA", "\\textcolor{##f6f7f7}{#1}");
|
|
993
|
+
defineMacro("\\grayB", "\\textcolor{##f0f1f2}{#1}");
|
|
994
|
+
defineMacro("\\grayC", "\\textcolor{##e3e5e6}{#1}");
|
|
995
|
+
defineMacro("\\grayD", "\\textcolor{##d6d8da}{#1}");
|
|
996
|
+
defineMacro("\\grayE", "\\textcolor{##babec2}{#1}");
|
|
997
|
+
defineMacro("\\grayF", "\\textcolor{##888d93}{#1}");
|
|
998
|
+
defineMacro("\\grayG", "\\textcolor{##626569}{#1}");
|
|
999
|
+
defineMacro("\\grayH", "\\textcolor{##3b3e40}{#1}");
|
|
1000
|
+
defineMacro("\\grayI", "\\textcolor{##21242c}{#1}");
|
|
1001
|
+
defineMacro("\\kaBlue", "\\textcolor{##314453}{#1}");
|
|
1002
|
+
defineMacro("\\kaGreen", "\\textcolor{##71B307}{#1}");
|
package/src/mathMLTree.js
CHANGED
|
@@ -25,7 +25,7 @@ export type MathNodeType =
|
|
|
25
25
|
"mfrac" | "mroot" | "msqrt" |
|
|
26
26
|
"mtable" | "mtr" | "mtd" | "mlabeledtr" |
|
|
27
27
|
"mrow" | "menclose" |
|
|
28
|
-
"mstyle" | "mpadded" | "mphantom";
|
|
28
|
+
"mstyle" | "mpadded" | "mphantom" | "mglyph";
|
|
29
29
|
|
|
30
30
|
export interface MathDomNode extends VirtualNode {
|
|
31
31
|
toText(): string;
|
package/src/parseNode.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @flow
|
|
2
2
|
import {NON_ATOMS} from "./symbols";
|
|
3
3
|
import type SourceLocation from "./SourceLocation";
|
|
4
|
-
import type {AlignSpec} from "./environments/array";
|
|
4
|
+
import type {AlignSpec, ColSeparationType} from "./environments/array";
|
|
5
5
|
import type {Atom} from "./symbols";
|
|
6
6
|
import type {Mode, StyleStr} from "./types";
|
|
7
7
|
import type {Token} from "./Token";
|
|
@@ -28,6 +28,7 @@ type ParseNodeTypes = {
|
|
|
28
28
|
type: "array",
|
|
29
29
|
mode: Mode,
|
|
30
30
|
loc?: ?SourceLocation,
|
|
31
|
+
colSeparationType?: ColSeparationType,
|
|
31
32
|
hskipBeforeAndAfter?: boolean,
|
|
32
33
|
addJot?: boolean,
|
|
33
34
|
cols?: AlignSpec[],
|
|
@@ -49,6 +50,12 @@ type ParseNodeTypes = {
|
|
|
49
50
|
loc?: ?SourceLocation,
|
|
50
51
|
color: string,
|
|
51
52
|
|},
|
|
53
|
+
"keyVals": {|
|
|
54
|
+
type: "keyVals",
|
|
55
|
+
mode: Mode,
|
|
56
|
+
loc?: ?SourceLocation,
|
|
57
|
+
keyVals: string,
|
|
58
|
+
|},
|
|
52
59
|
// To avoid requiring run-time type assertions, this more carefully captures
|
|
53
60
|
// the requirements on the fields per the op.js htmlBuilder logic:
|
|
54
61
|
// - `body` and `value` are NEVER set simultanouesly.
|
|
@@ -60,6 +67,7 @@ type ParseNodeTypes = {
|
|
|
60
67
|
limits: boolean,
|
|
61
68
|
alwaysHandleSupSub?: boolean,
|
|
62
69
|
suppressBaseShift?: boolean,
|
|
70
|
+
parentIsSupSub: boolean,
|
|
63
71
|
symbol: boolean,
|
|
64
72
|
name: string,
|
|
65
73
|
body?: void,
|
|
@@ -70,6 +78,7 @@ type ParseNodeTypes = {
|
|
|
70
78
|
limits: boolean,
|
|
71
79
|
alwaysHandleSupSub?: boolean,
|
|
72
80
|
suppressBaseShift?: boolean,
|
|
81
|
+
parentIsSupSub: boolean,
|
|
73
82
|
symbol: false, // If 'symbol' is true, `body` *must* be set.
|
|
74
83
|
name?: void,
|
|
75
84
|
body: AnyParseNode[],
|
|
@@ -271,6 +280,16 @@ type ParseNodeTypes = {
|
|
|
271
280
|
html: AnyParseNode[],
|
|
272
281
|
mathml: AnyParseNode[],
|
|
273
282
|
|},
|
|
283
|
+
"includegraphics": {|
|
|
284
|
+
type: "includegraphics",
|
|
285
|
+
mode: Mode,
|
|
286
|
+
loc?: ?SourceLocation,
|
|
287
|
+
alt: string,
|
|
288
|
+
width: Measurement,
|
|
289
|
+
height: Measurement,
|
|
290
|
+
totalheight: Measurement,
|
|
291
|
+
src: string,
|
|
292
|
+
|},
|
|
274
293
|
"infix": {|
|
|
275
294
|
type: "infix",
|
|
276
295
|
mode: Mode,
|
package/src/stretchy.js
CHANGED
|
@@ -25,8 +25,10 @@ const stretchyCodePoint: {[string]: string} = {
|
|
|
25
25
|
overrightarrow: "\u2192",
|
|
26
26
|
underrightarrow: "\u2192",
|
|
27
27
|
xrightarrow: "\u2192",
|
|
28
|
-
underbrace: "\
|
|
28
|
+
underbrace: "\u23df",
|
|
29
29
|
overbrace: "\u23de",
|
|
30
|
+
overgroup: "\u23e0",
|
|
31
|
+
undergroup: "\u23e1",
|
|
30
32
|
overleftrightarrow: "\u2194",
|
|
31
33
|
underleftrightarrow: "\u2194",
|
|
32
34
|
xleftrightarrow: "\u2194",
|
package/src/symbols.js
CHANGED
|
@@ -202,11 +202,12 @@ defineSymbol(math, main, rel, "\u21cc", "\\rightleftharpoons", true);
|
|
|
202
202
|
|
|
203
203
|
// AMS Negated Binary Relations
|
|
204
204
|
defineSymbol(math, ams, rel, "\u226e", "\\nless", true);
|
|
205
|
-
|
|
206
|
-
defineSymbol(math, ams, rel, "\
|
|
205
|
+
// Symbol names preceeded by "@" each have a corresponding macro.
|
|
206
|
+
defineSymbol(math, ams, rel, "\ue010", "\\@nleqslant");
|
|
207
|
+
defineSymbol(math, ams, rel, "\ue011", "\\@nleqq");
|
|
207
208
|
defineSymbol(math, ams, rel, "\u2a87", "\\lneq", true);
|
|
208
209
|
defineSymbol(math, ams, rel, "\u2268", "\\lneqq", true);
|
|
209
|
-
defineSymbol(math, ams, rel, "\ue00c", "
|
|
210
|
+
defineSymbol(math, ams, rel, "\ue00c", "\\@lvertneqq");
|
|
210
211
|
defineSymbol(math, ams, rel, "\u22e6", "\\lnsim", true);
|
|
211
212
|
defineSymbol(math, ams, rel, "\u2a89", "\\lnapprox", true);
|
|
212
213
|
defineSymbol(math, ams, rel, "\u2280", "\\nprec", true);
|
|
@@ -215,22 +216,22 @@ defineSymbol(math, ams, rel, "\u22e0", "\\npreceq", true);
|
|
|
215
216
|
defineSymbol(math, ams, rel, "\u22e8", "\\precnsim", true);
|
|
216
217
|
defineSymbol(math, ams, rel, "\u2ab9", "\\precnapprox", true);
|
|
217
218
|
defineSymbol(math, ams, rel, "\u2241", "\\nsim", true);
|
|
218
|
-
defineSymbol(math, ams, rel, "\ue006", "
|
|
219
|
+
defineSymbol(math, ams, rel, "\ue006", "\\@nshortmid");
|
|
219
220
|
defineSymbol(math, ams, rel, "\u2224", "\\nmid", true);
|
|
220
221
|
defineSymbol(math, ams, rel, "\u22ac", "\\nvdash", true);
|
|
221
222
|
defineSymbol(math, ams, rel, "\u22ad", "\\nvDash", true);
|
|
222
223
|
defineSymbol(math, ams, rel, "\u22ea", "\\ntriangleleft");
|
|
223
224
|
defineSymbol(math, ams, rel, "\u22ec", "\\ntrianglelefteq", true);
|
|
224
225
|
defineSymbol(math, ams, rel, "\u228a", "\\subsetneq", true);
|
|
225
|
-
defineSymbol(math, ams, rel, "\ue01a", "
|
|
226
|
+
defineSymbol(math, ams, rel, "\ue01a", "\\@varsubsetneq");
|
|
226
227
|
defineSymbol(math, ams, rel, "\u2acb", "\\subsetneqq", true);
|
|
227
|
-
defineSymbol(math, ams, rel, "\ue017", "
|
|
228
|
+
defineSymbol(math, ams, rel, "\ue017", "\\@varsubsetneqq");
|
|
228
229
|
defineSymbol(math, ams, rel, "\u226f", "\\ngtr", true);
|
|
229
|
-
defineSymbol(math, ams, rel, "\ue00f", "
|
|
230
|
-
defineSymbol(math, ams, rel, "\ue00e", "
|
|
230
|
+
defineSymbol(math, ams, rel, "\ue00f", "\\@ngeqslant");
|
|
231
|
+
defineSymbol(math, ams, rel, "\ue00e", "\\@ngeqq");
|
|
231
232
|
defineSymbol(math, ams, rel, "\u2a88", "\\gneq", true);
|
|
232
233
|
defineSymbol(math, ams, rel, "\u2269", "\\gneqq", true);
|
|
233
|
-
defineSymbol(math, ams, rel, "\ue00d", "
|
|
234
|
+
defineSymbol(math, ams, rel, "\ue00d", "\\@gvertneqq");
|
|
234
235
|
defineSymbol(math, ams, rel, "\u22e7", "\\gnsim", true);
|
|
235
236
|
defineSymbol(math, ams, rel, "\u2a8a", "\\gnapprox", true);
|
|
236
237
|
defineSymbol(math, ams, rel, "\u2281", "\\nsucc", true);
|
|
@@ -240,20 +241,20 @@ defineSymbol(math, ams, rel, "\u22e9", "\\succnsim", true);
|
|
|
240
241
|
defineSymbol(math, ams, rel, "\u2aba", "\\succnapprox", true);
|
|
241
242
|
// unicode-math maps \u2246 to \simneqq. We'll use the AMS synonym.
|
|
242
243
|
defineSymbol(math, ams, rel, "\u2246", "\\ncong", true);
|
|
243
|
-
defineSymbol(math, ams, rel, "\ue007", "
|
|
244
|
+
defineSymbol(math, ams, rel, "\ue007", "\\@nshortparallel");
|
|
244
245
|
defineSymbol(math, ams, rel, "\u2226", "\\nparallel", true);
|
|
245
246
|
defineSymbol(math, ams, rel, "\u22af", "\\nVDash", true);
|
|
246
247
|
defineSymbol(math, ams, rel, "\u22eb", "\\ntriangleright");
|
|
247
248
|
defineSymbol(math, ams, rel, "\u22ed", "\\ntrianglerighteq", true);
|
|
248
|
-
defineSymbol(math, ams, rel, "\ue018", "
|
|
249
|
+
defineSymbol(math, ams, rel, "\ue018", "\\@nsupseteqq");
|
|
249
250
|
defineSymbol(math, ams, rel, "\u228b", "\\supsetneq", true);
|
|
250
|
-
defineSymbol(math, ams, rel, "\ue01b", "
|
|
251
|
+
defineSymbol(math, ams, rel, "\ue01b", "\\@varsupsetneq");
|
|
251
252
|
defineSymbol(math, ams, rel, "\u2acc", "\\supsetneqq", true);
|
|
252
|
-
defineSymbol(math, ams, rel, "\ue019", "
|
|
253
|
+
defineSymbol(math, ams, rel, "\ue019", "\\@varsupsetneqq");
|
|
253
254
|
defineSymbol(math, ams, rel, "\u22ae", "\\nVdash", true);
|
|
254
255
|
defineSymbol(math, ams, rel, "\u2ab5", "\\precneqq", true);
|
|
255
256
|
defineSymbol(math, ams, rel, "\u2ab6", "\\succneqq", true);
|
|
256
|
-
defineSymbol(math, ams, rel, "\ue016", "
|
|
257
|
+
defineSymbol(math, ams, rel, "\ue016", "\\@nsubseteqq");
|
|
257
258
|
defineSymbol(math, ams, bin, "\u22b4", "\\unlhd");
|
|
258
259
|
defineSymbol(math, ams, bin, "\u22b5", "\\unrhd");
|
|
259
260
|
|
|
@@ -278,7 +279,6 @@ defineSymbol(math, ams, textord, "\u2204", "\\nexists");
|
|
|
278
279
|
defineSymbol(math, ams, textord, "\u2127", "\\mho");
|
|
279
280
|
defineSymbol(math, ams, textord, "\u2132", "\\Finv", true);
|
|
280
281
|
defineSymbol(math, ams, textord, "\u2141", "\\Game", true);
|
|
281
|
-
defineSymbol(math, ams, textord, "\u006b", "\\Bbbk");
|
|
282
282
|
defineSymbol(math, ams, textord, "\u2035", "\\backprime");
|
|
283
283
|
defineSymbol(math, ams, textord, "\u25b2", "\\blacktriangle");
|
|
284
284
|
defineSymbol(math, ams, textord, "\u25bc", "\\blacktriangledown");
|