katex 0.16.4 → 0.16.6
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/README.md +3 -3
- package/contrib/auto-render/test/auto-render-spec.js +1 -1
- package/contrib/copy-tex/README.md +2 -2
- package/contrib/mathtex-script-type/README.md +5 -5
- package/contrib/mhchem/README.md +1 -1
- package/contrib/mhchem/mhchem.js +2 -2
- package/contrib/render-a11y-string/render-a11y-string.js +1 -1
- package/dist/README.md +3 -3
- package/dist/contrib/mhchem.js +2 -2
- package/dist/contrib/mhchem.min.js +1 -1
- package/dist/contrib/mhchem.mjs +1 -1
- package/dist/contrib/render-a11y-string.js +1 -1
- package/dist/contrib/render-a11y-string.min.js +1 -1
- package/dist/contrib/render-a11y-string.mjs +1 -1
- package/dist/katex.css +3 -1
- package/dist/katex.js +99 -90
- package/dist/katex.min.css +1 -1
- package/dist/katex.min.js +1 -1
- package/dist/katex.mjs +98 -90
- package/katex.js +7 -0
- package/package.json +66 -63
- package/src/MacroExpander.js +21 -22
- package/src/Parser.js +1 -1
- package/src/buildMathML.js +2 -2
- package/src/defineEnvironment.js +1 -1
- package/src/defineMacro.js +1 -1
- package/src/delimiter.js +20 -20
- package/src/environments/array.js +2 -2
- package/src/fontMetrics.js +4 -4
- package/src/functions/arrow.js +1 -1
- package/src/functions/delimsizing.js +1 -1
- package/src/katex.less +1 -1
- package/src/mathMLTree.js +2 -2
- package/src/parseNode.js +1 -1
- package/src/svgGeometry.js +51 -51
package/dist/katex.js
CHANGED
|
@@ -728,49 +728,49 @@ function supportedCodepoint(codepoint) {
|
|
|
728
728
|
* It's a storehouse of path geometry for SVG images.
|
|
729
729
|
*/
|
|
730
730
|
// In all paths below, the viewBox-to-em scale is 1000:1.
|
|
731
|
-
var hLinePad = 80; // padding above a sqrt
|
|
732
|
-
// The
|
|
733
|
-
// Think of variable
|
|
734
|
-
// The detour begins at the lower left of the area labeled
|
|
735
|
-
// The detour proceeds one
|
|
736
|
-
// displacing the radiused corner between surd and
|
|
731
|
+
var hLinePad = 80; // padding above a sqrt vinculum. Prevents image cropping.
|
|
732
|
+
// The vinculum of a \sqrt can be made thicker by a KaTeX rendering option.
|
|
733
|
+
// Think of variable extraVinculum as two detours in the SVG path.
|
|
734
|
+
// The detour begins at the lower left of the area labeled extraVinculum below.
|
|
735
|
+
// The detour proceeds one extraVinculum distance up and slightly to the right,
|
|
736
|
+
// displacing the radiused corner between surd and vinculum. The radius is
|
|
737
737
|
// traversed as usual, then the detour resumes. It goes right, to the end of
|
|
738
|
-
// the very long
|
|
738
|
+
// the very long vinculum, then down one extraVinculum distance,
|
|
739
739
|
// after which it resumes regular path geometry for the radical.
|
|
740
740
|
|
|
741
|
-
/*
|
|
741
|
+
/* vinculum
|
|
742
742
|
/
|
|
743
|
-
/▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒←
|
|
744
|
-
/ █████████████████████←0.04em (40 unit) std
|
|
743
|
+
/▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒←extraVinculum
|
|
744
|
+
/ █████████████████████←0.04em (40 unit) std vinculum thickness
|
|
745
745
|
/ /
|
|
746
746
|
/ /
|
|
747
747
|
/ /\
|
|
748
748
|
/ / surd
|
|
749
749
|
*/
|
|
750
750
|
|
|
751
|
-
var sqrtMain = function sqrtMain(
|
|
751
|
+
var sqrtMain = function sqrtMain(extraVinculum, hLinePad) {
|
|
752
752
|
// sqrtMain path geometry is from glyph U221A in the font KaTeX Main
|
|
753
|
-
return "M95," + (622 +
|
|
753
|
+
return "M95," + (622 + extraVinculum + hLinePad) + "\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl" + extraVinculum / 2.075 + " -" + extraVinculum + "\nc5.3,-9.3,12,-14,20,-14\nH400000v" + (40 + extraVinculum) + "H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM" + (834 + extraVinculum) + " " + hLinePad + "h400000v" + (40 + extraVinculum) + "h-400000z";
|
|
754
754
|
};
|
|
755
755
|
|
|
756
|
-
var sqrtSize1 = function sqrtSize1(
|
|
756
|
+
var sqrtSize1 = function sqrtSize1(extraVinculum, hLinePad) {
|
|
757
757
|
// size1 is from glyph U221A in the font KaTeX_Size1-Regular
|
|
758
|
-
return "M263," + (601 +
|
|
758
|
+
return "M263," + (601 + extraVinculum + hLinePad) + "c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl" + extraVinculum / 2.084 + " -" + extraVinculum + "\nc4.7,-7.3,11,-11,19,-11\nH40000v" + (40 + extraVinculum) + "H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM" + (1001 + extraVinculum) + " " + hLinePad + "h400000v" + (40 + extraVinculum) + "h-400000z";
|
|
759
759
|
};
|
|
760
760
|
|
|
761
|
-
var sqrtSize2 = function sqrtSize2(
|
|
761
|
+
var sqrtSize2 = function sqrtSize2(extraVinculum, hLinePad) {
|
|
762
762
|
// size2 is from glyph U221A in the font KaTeX_Size2-Regular
|
|
763
|
-
return "M983 " + (10 +
|
|
763
|
+
return "M983 " + (10 + extraVinculum + hLinePad) + "\nl" + extraVinculum / 3.13 + " -" + extraVinculum + "\nc4,-6.7,10,-10,18,-10 H400000v" + (40 + extraVinculum) + "\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM" + (1001 + extraVinculum) + " " + hLinePad + "h400000v" + (40 + extraVinculum) + "h-400000z";
|
|
764
764
|
};
|
|
765
765
|
|
|
766
|
-
var sqrtSize3 = function sqrtSize3(
|
|
766
|
+
var sqrtSize3 = function sqrtSize3(extraVinculum, hLinePad) {
|
|
767
767
|
// size3 is from glyph U221A in the font KaTeX_Size3-Regular
|
|
768
|
-
return "M424," + (2398 +
|
|
768
|
+
return "M424," + (2398 + extraVinculum + hLinePad) + "\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl" + extraVinculum / 4.223 + " -" + extraVinculum + "c4,-6.7,10,-10,18,-10 H400000\nv" + (40 + extraVinculum) + "H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M" + (1001 + extraVinculum) + " " + hLinePad + "\nh400000v" + (40 + extraVinculum) + "h-400000z";
|
|
769
769
|
};
|
|
770
770
|
|
|
771
|
-
var sqrtSize4 = function sqrtSize4(
|
|
771
|
+
var sqrtSize4 = function sqrtSize4(extraVinculum, hLinePad) {
|
|
772
772
|
// size4 is from glyph U221A in the font KaTeX_Size4-Regular
|
|
773
|
-
return "M473," + (2713 +
|
|
773
|
+
return "M473," + (2713 + extraVinculum + hLinePad) + "\nc339.3,-1799.3,509.3,-2700,510,-2702 l" + extraVinculum / 5.298 + " -" + extraVinculum + "\nc3.3,-7.3,9.3,-11,18,-11 H400000v" + (40 + extraVinculum) + "H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM" + (1001 + extraVinculum) + " " + hLinePad + "h400000v" + (40 + extraVinculum) + "H1017.7z";
|
|
774
774
|
};
|
|
775
775
|
|
|
776
776
|
var phasePath = function phasePath(y) {
|
|
@@ -779,43 +779,43 @@ var phasePath = function phasePath(y) {
|
|
|
779
779
|
return "M400000 " + y + " H0 L" + x + " 0 l65 45 L145 " + (y - 80) + " H400000z";
|
|
780
780
|
};
|
|
781
781
|
|
|
782
|
-
var sqrtTall = function sqrtTall(
|
|
782
|
+
var sqrtTall = function sqrtTall(extraVinculum, hLinePad, viewBoxHeight) {
|
|
783
783
|
// sqrtTall is from glyph U23B7 in the font KaTeX_Size4-Regular
|
|
784
|
-
// One path edge has a variable length. It runs vertically from the
|
|
785
|
-
// to a point near (14 units) the bottom of the surd. The
|
|
784
|
+
// One path edge has a variable length. It runs vertically from the vinculum
|
|
785
|
+
// to a point near (14 units) the bottom of the surd. The vinculum
|
|
786
786
|
// is normally 40 units thick. So the length of the line in question is:
|
|
787
|
-
var vertSegment = viewBoxHeight - 54 - hLinePad -
|
|
788
|
-
return "M702 " + (
|
|
787
|
+
var vertSegment = viewBoxHeight - 54 - hLinePad - extraVinculum;
|
|
788
|
+
return "M702 " + (extraVinculum + hLinePad) + "H400000" + (40 + extraVinculum) + "\nH742v" + vertSegment + "l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 " + hLinePad + "H400000v" + (40 + extraVinculum) + "H742z";
|
|
789
789
|
};
|
|
790
790
|
|
|
791
|
-
var sqrtPath = function sqrtPath(size,
|
|
792
|
-
|
|
791
|
+
var sqrtPath = function sqrtPath(size, extraVinculum, viewBoxHeight) {
|
|
792
|
+
extraVinculum = 1000 * extraVinculum; // Convert from document ems to viewBox.
|
|
793
793
|
|
|
794
794
|
var path = "";
|
|
795
795
|
|
|
796
796
|
switch (size) {
|
|
797
797
|
case "sqrtMain":
|
|
798
|
-
path = sqrtMain(
|
|
798
|
+
path = sqrtMain(extraVinculum, hLinePad);
|
|
799
799
|
break;
|
|
800
800
|
|
|
801
801
|
case "sqrtSize1":
|
|
802
|
-
path = sqrtSize1(
|
|
802
|
+
path = sqrtSize1(extraVinculum, hLinePad);
|
|
803
803
|
break;
|
|
804
804
|
|
|
805
805
|
case "sqrtSize2":
|
|
806
|
-
path = sqrtSize2(
|
|
806
|
+
path = sqrtSize2(extraVinculum, hLinePad);
|
|
807
807
|
break;
|
|
808
808
|
|
|
809
809
|
case "sqrtSize3":
|
|
810
|
-
path = sqrtSize3(
|
|
810
|
+
path = sqrtSize3(extraVinculum, hLinePad);
|
|
811
811
|
break;
|
|
812
812
|
|
|
813
813
|
case "sqrtSize4":
|
|
814
|
-
path = sqrtSize4(
|
|
814
|
+
path = sqrtSize4(extraVinculum, hLinePad);
|
|
815
815
|
break;
|
|
816
816
|
|
|
817
817
|
case "sqrtTall":
|
|
818
|
-
path = sqrtTall(
|
|
818
|
+
path = sqrtTall(extraVinculum, hLinePad, viewBoxHeight);
|
|
819
819
|
}
|
|
820
820
|
|
|
821
821
|
return path;
|
|
@@ -921,7 +921,7 @@ var path = {
|
|
|
921
921
|
widecheck4: "M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",
|
|
922
922
|
// The next ten paths support reaction arrows from the mhchem package.
|
|
923
923
|
// Arrows for \ce{<-->} are offset from xAxis by 0.22ex, per mhchem in LaTeX
|
|
924
|
-
// baraboveleftarrow is mostly from
|
|
924
|
+
// baraboveleftarrow is mostly from glyph U+2190 in font KaTeX Main
|
|
925
925
|
baraboveleftarrow: "M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",
|
|
926
926
|
// rightarrowabovebar is mostly from glyph U+2192, KaTeX Main
|
|
927
927
|
rightarrowabovebar: "M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",
|
|
@@ -3133,9 +3133,9 @@ var DocumentFragment = /*#__PURE__*/function () {
|
|
|
3133
3133
|
// In TeX, there are actually three sets of dimensions, one for each of
|
|
3134
3134
|
// textstyle (size index 5 and higher: >=9pt), scriptstyle (size index 3 and 4:
|
|
3135
3135
|
// 7-8pt), and scriptscriptstyle (size index 1 and 2: 5-6pt). These are
|
|
3136
|
-
// provided in the
|
|
3136
|
+
// provided in the arrays below, in that order.
|
|
3137
3137
|
//
|
|
3138
|
-
// The font metrics are stored in fonts cmsy10, cmsy7, and cmsy5
|
|
3138
|
+
// The font metrics are stored in fonts cmsy10, cmsy7, and cmsy5 respectively.
|
|
3139
3139
|
// This was determined by running the following script:
|
|
3140
3140
|
//
|
|
3141
3141
|
// latex -interaction=nonstopmode \
|
|
@@ -3145,7 +3145,7 @@ var DocumentFragment = /*#__PURE__*/function () {
|
|
|
3145
3145
|
// '\expandafter\show\the\scriptscriptfont2' \
|
|
3146
3146
|
// '\stop'
|
|
3147
3147
|
//
|
|
3148
|
-
// The metrics themselves were
|
|
3148
|
+
// The metrics themselves were retrieved using the following commands:
|
|
3149
3149
|
//
|
|
3150
3150
|
// tftopl cmsy10
|
|
3151
3151
|
// tftopl cmsy7
|
|
@@ -3357,7 +3357,7 @@ function getCharacterMetrics(character, font, mode) {
|
|
|
3357
3357
|
// So if the character is in a script we support but we
|
|
3358
3358
|
// don't have metrics for it, just use the metrics for
|
|
3359
3359
|
// the Latin capital letter M. This is close enough because
|
|
3360
|
-
// we (currently) only care about the height of the
|
|
3360
|
+
// we (currently) only care about the height of the glyph
|
|
3361
3361
|
// not its width.
|
|
3362
3362
|
if (supportedCodepoint(ch)) {
|
|
3363
3363
|
metrics = fontMetricsData[font][77]; // 77 is the charcode for 'M'
|
|
@@ -6629,7 +6629,7 @@ function buildHTML(tree, options) {
|
|
|
6629
6629
|
* since we're mainly using MathML to improve accessibility, we don't manage
|
|
6630
6630
|
* any of the styling state that the plain DOM nodes do.
|
|
6631
6631
|
*
|
|
6632
|
-
* The `toNode` and `toMarkup` functions work
|
|
6632
|
+
* The `toNode` and `toMarkup` functions work similarly to how they do in
|
|
6633
6633
|
* domTree.js, creating namespaced DOM nodes and HTML text markup respectively.
|
|
6634
6634
|
*/
|
|
6635
6635
|
|
|
@@ -6771,7 +6771,7 @@ var TextNode = /*#__PURE__*/function () {
|
|
|
6771
6771
|
}
|
|
6772
6772
|
/**
|
|
6773
6773
|
* Converts the text node into a string
|
|
6774
|
-
* (representing the text
|
|
6774
|
+
* (representing the text itself).
|
|
6775
6775
|
*/
|
|
6776
6776
|
;
|
|
6777
6777
|
|
|
@@ -6870,7 +6870,7 @@ var SpaceNode = /*#__PURE__*/function () {
|
|
|
6870
6870
|
});
|
|
6871
6871
|
;// CONCATENATED MODULE: ./src/buildMathML.js
|
|
6872
6872
|
/**
|
|
6873
|
-
* This file converts a parse tree into a
|
|
6873
|
+
* This file converts a parse tree into a corresponding MathML tree. The main
|
|
6874
6874
|
* entry point is the `buildMathML` function, which takes a parse tree from the
|
|
6875
6875
|
* parser.
|
|
6876
6876
|
*/
|
|
@@ -6953,7 +6953,7 @@ var getVariant = function getVariant(group, options) {
|
|
|
6953
6953
|
} else if (font === "mathfrak") {
|
|
6954
6954
|
return "fraktur";
|
|
6955
6955
|
} else if (font === "mathscr" || font === "mathcal") {
|
|
6956
|
-
// MathML makes no distinction between script and
|
|
6956
|
+
// MathML makes no distinction between script and calligraphic
|
|
6957
6957
|
return "script";
|
|
6958
6958
|
} else if (font === "mathsf") {
|
|
6959
6959
|
return "sans-serif";
|
|
@@ -7914,7 +7914,7 @@ defineFunction({
|
|
|
7914
7914
|
};
|
|
7915
7915
|
},
|
|
7916
7916
|
// Flow is unable to correctly infer the type of `group`, even though it's
|
|
7917
|
-
//
|
|
7917
|
+
// unambiguously determined from the passed-in `type` above.
|
|
7918
7918
|
htmlBuilder: function htmlBuilder(group, options) {
|
|
7919
7919
|
var style = options.style; // Build the argument groups in the appropriate style.
|
|
7920
7920
|
// Ref: amsmath.dtx: \hbox{$\scriptstyle\mkern#3mu{#6}\mkern#4mu$}%
|
|
@@ -9259,7 +9259,7 @@ var makeStackedDelim = function makeStackedDelim(delim, heightTotal, center, opt
|
|
|
9259
9259
|
var middleMetrics = getMetrics(middle, font, mode);
|
|
9260
9260
|
middleHeightTotal = middleMetrics.height + middleMetrics.depth;
|
|
9261
9261
|
middleFactor = 2; // repeat symmetrically above and below middle
|
|
9262
|
-
} //
|
|
9262
|
+
} // Calculate the minimal height that the delimiter can have.
|
|
9263
9263
|
// It is at least the size of the top, bottom, and optional middle combined.
|
|
9264
9264
|
|
|
9265
9265
|
|
|
@@ -9343,7 +9343,7 @@ var makeStackedDelim = function makeStackedDelim(delim, heightTotal, center, opt
|
|
|
9343
9343
|
children: stack
|
|
9344
9344
|
}, newOptions);
|
|
9345
9345
|
return styleWrap(buildCommon.makeSpan(["delimsizing", "mult"], [inner], newOptions), src_Style.TEXT, options, classes);
|
|
9346
|
-
}; // All surds have 0.08em padding above the
|
|
9346
|
+
}; // All surds have 0.08em padding above the vinculum inside the SVG.
|
|
9347
9347
|
// That keeps browser span height rounding error from pinching the line.
|
|
9348
9348
|
|
|
9349
9349
|
|
|
@@ -9351,8 +9351,8 @@ var vbPad = 80; // padding above the surd, measured inside the viewBox.
|
|
|
9351
9351
|
|
|
9352
9352
|
var emPad = 0.08; // padding, in ems, measured in the document.
|
|
9353
9353
|
|
|
9354
|
-
var sqrtSvg = function sqrtSvg(sqrtName, height, viewBoxHeight,
|
|
9355
|
-
var path = sqrtPath(sqrtName,
|
|
9354
|
+
var sqrtSvg = function sqrtSvg(sqrtName, height, viewBoxHeight, extraVinculum, options) {
|
|
9355
|
+
var path = sqrtPath(sqrtName, extraVinculum, viewBoxHeight);
|
|
9356
9356
|
var pathNode = new PathNode(sqrtName, path);
|
|
9357
9357
|
var svg = new SvgNode([pathNode], {
|
|
9358
9358
|
// Note: 1000:1 ratio of viewBox to document em width.
|
|
@@ -9375,10 +9375,10 @@ var makeSqrtImage = function makeSqrtImage(height, options) {
|
|
|
9375
9375
|
|
|
9376
9376
|
var delim = traverseSequence("\\surd", height * newOptions.sizeMultiplier, stackLargeDelimiterSequence, newOptions);
|
|
9377
9377
|
var sizeMultiplier = newOptions.sizeMultiplier; // default
|
|
9378
|
-
// The standard sqrt SVGs each have a 0.04em thick
|
|
9379
|
-
// If Settings.minRuleThickness is larger than that, we add
|
|
9378
|
+
// The standard sqrt SVGs each have a 0.04em thick vinculum.
|
|
9379
|
+
// If Settings.minRuleThickness is larger than that, we add extraVinculum.
|
|
9380
9380
|
|
|
9381
|
-
var
|
|
9381
|
+
var extraVinculum = Math.max(0, options.minRuleThickness - options.fontMetrics().sqrtRuleThickness); // Create a span containing an SVG image of a sqrt symbol.
|
|
9382
9382
|
|
|
9383
9383
|
var span;
|
|
9384
9384
|
var spanHeight = 0;
|
|
@@ -9386,14 +9386,14 @@ var makeSqrtImage = function makeSqrtImage(height, options) {
|
|
|
9386
9386
|
var viewBoxHeight = 0;
|
|
9387
9387
|
var advanceWidth; // We create viewBoxes with 80 units of "padding" above each surd.
|
|
9388
9388
|
// Then browser rounding error on the parent span height will not
|
|
9389
|
-
// encroach on the ink of the
|
|
9389
|
+
// encroach on the ink of the vinculum. But that padding is not
|
|
9390
9390
|
// included in the TeX-like `height` used for calculation of
|
|
9391
9391
|
// vertical alignment. So texHeight = span.height < span.style.height.
|
|
9392
9392
|
|
|
9393
9393
|
if (delim.type === "small") {
|
|
9394
9394
|
// Get an SVG that is derived from glyph U+221A in font KaTeX-Main.
|
|
9395
9395
|
// 1000 unit normal glyph height.
|
|
9396
|
-
viewBoxHeight = 1000 + 1000 *
|
|
9396
|
+
viewBoxHeight = 1000 + 1000 * extraVinculum + vbPad;
|
|
9397
9397
|
|
|
9398
9398
|
if (height < 1.0) {
|
|
9399
9399
|
sizeMultiplier = 1.0; // mimic a \textfont radical
|
|
@@ -9401,26 +9401,26 @@ var makeSqrtImage = function makeSqrtImage(height, options) {
|
|
|
9401
9401
|
sizeMultiplier = 0.7; // mimic a \scriptfont radical
|
|
9402
9402
|
}
|
|
9403
9403
|
|
|
9404
|
-
spanHeight = (1.0 +
|
|
9405
|
-
texHeight = (1.00 +
|
|
9406
|
-
span = sqrtSvg("sqrtMain", spanHeight, viewBoxHeight,
|
|
9404
|
+
spanHeight = (1.0 + extraVinculum + emPad) / sizeMultiplier;
|
|
9405
|
+
texHeight = (1.00 + extraVinculum) / sizeMultiplier;
|
|
9406
|
+
span = sqrtSvg("sqrtMain", spanHeight, viewBoxHeight, extraVinculum, options);
|
|
9407
9407
|
span.style.minWidth = "0.853em";
|
|
9408
9408
|
advanceWidth = 0.833 / sizeMultiplier; // from the font.
|
|
9409
9409
|
} else if (delim.type === "large") {
|
|
9410
9410
|
// These SVGs come from fonts: KaTeX_Size1, _Size2, etc.
|
|
9411
9411
|
viewBoxHeight = (1000 + vbPad) * sizeToMaxHeight[delim.size];
|
|
9412
|
-
texHeight = (sizeToMaxHeight[delim.size] +
|
|
9413
|
-
spanHeight = (sizeToMaxHeight[delim.size] +
|
|
9414
|
-
span = sqrtSvg("sqrtSize" + delim.size, spanHeight, viewBoxHeight,
|
|
9412
|
+
texHeight = (sizeToMaxHeight[delim.size] + extraVinculum) / sizeMultiplier;
|
|
9413
|
+
spanHeight = (sizeToMaxHeight[delim.size] + extraVinculum + emPad) / sizeMultiplier;
|
|
9414
|
+
span = sqrtSvg("sqrtSize" + delim.size, spanHeight, viewBoxHeight, extraVinculum, options);
|
|
9415
9415
|
span.style.minWidth = "1.02em";
|
|
9416
9416
|
advanceWidth = 1.0 / sizeMultiplier; // 1.0 from the font.
|
|
9417
9417
|
} else {
|
|
9418
9418
|
// Tall sqrt. In TeX, this would be stacked using multiple glyphs.
|
|
9419
9419
|
// We'll use a single SVG to accomplish the same thing.
|
|
9420
|
-
spanHeight = height +
|
|
9421
|
-
texHeight = height +
|
|
9422
|
-
viewBoxHeight = Math.floor(1000 * height +
|
|
9423
|
-
span = sqrtSvg("sqrtTall", spanHeight, viewBoxHeight,
|
|
9420
|
+
spanHeight = height + extraVinculum + emPad;
|
|
9421
|
+
texHeight = height + extraVinculum;
|
|
9422
|
+
viewBoxHeight = Math.floor(1000 * height + extraVinculum) + vbPad;
|
|
9423
|
+
span = sqrtSvg("sqrtTall", spanHeight, viewBoxHeight, extraVinculum, options);
|
|
9424
9424
|
span.style.minWidth = "0.742em";
|
|
9425
9425
|
advanceWidth = 1.056;
|
|
9426
9426
|
}
|
|
@@ -9434,7 +9434,7 @@ var makeSqrtImage = function makeSqrtImage(height, options) {
|
|
|
9434
9434
|
// This actually should depend on the chosen font -- e.g. \boldmath
|
|
9435
9435
|
// should use the thicker surd symbols from e.g. KaTeX_Main-Bold, and
|
|
9436
9436
|
// have thicker rules.
|
|
9437
|
-
ruleWidth: (options.fontMetrics().sqrtRuleThickness +
|
|
9437
|
+
ruleWidth: (options.fontMetrics().sqrtRuleThickness + extraVinculum) * sizeMultiplier
|
|
9438
9438
|
};
|
|
9439
9439
|
}; // There are three kinds of delimiters, delimiters that stack when they become
|
|
9440
9440
|
// too large
|
|
@@ -10011,7 +10011,7 @@ defineFunction({
|
|
|
10011
10011
|
return middleDelim;
|
|
10012
10012
|
},
|
|
10013
10013
|
mathmlBuilder: function mathmlBuilder(group, options) {
|
|
10014
|
-
// A Firefox \middle will
|
|
10014
|
+
// A Firefox \middle will stretch a character vertically only if it
|
|
10015
10015
|
// is in the fence part of the operator dictionary at:
|
|
10016
10016
|
// https://www.w3.org/TR/MathML3/appendixc.html.
|
|
10017
10017
|
// So we need to avoid U+2223 and use plain "|" instead.
|
|
@@ -11080,8 +11080,8 @@ var array_mathmlBuilder = function mathmlBuilder(group, options) {
|
|
|
11080
11080
|
// LaTeX \arraystretch multiplies the row baseline-to-baseline distance.
|
|
11081
11081
|
// We simulate this by adding (arraystretch - 1)em to the gap. This
|
|
11082
11082
|
// does a reasonable job of adjusting arrays containing 1 em tall content.
|
|
11083
|
-
// The 0.16 and 0.09 values are found
|
|
11084
|
-
// similar to LaTeX and in which content does not interfere with \
|
|
11083
|
+
// The 0.16 and 0.09 values are found empirically. They produce an array
|
|
11084
|
+
// similar to LaTeX and in which content does not interfere with \hlines.
|
|
11085
11085
|
|
|
11086
11086
|
var gap = group.arraystretch === 0.5 ? 0.1 // {smallmatrix}, {subarray}
|
|
11087
11087
|
: 0.16 + group.arraystretch - 1 + (group.addJot ? 0.09 : 0);
|
|
@@ -16668,15 +16668,15 @@ var MacroExpander = /*#__PURE__*/function () {
|
|
|
16668
16668
|
* Expand the next token only once if possible.
|
|
16669
16669
|
*
|
|
16670
16670
|
* If the token is expanded, the resulting tokens will be pushed onto
|
|
16671
|
-
* the stack in reverse order and
|
|
16672
|
-
*
|
|
16671
|
+
* the stack in reverse order, and the number of such tokens will be
|
|
16672
|
+
* returned. This number might be zero or positive.
|
|
16673
16673
|
*
|
|
16674
|
-
* If not, the
|
|
16675
|
-
*
|
|
16676
|
-
* instead of an `Array` return value.
|
|
16674
|
+
* If not, the return value is `false`, and the next token remains at the
|
|
16675
|
+
* top of the stack.
|
|
16677
16676
|
*
|
|
16678
16677
|
* In either case, the next token will be on the top of the stack,
|
|
16679
|
-
* or the stack will be empty
|
|
16678
|
+
* or the stack will be empty (in case of empty expansion
|
|
16679
|
+
* and no other tokens).
|
|
16680
16680
|
*
|
|
16681
16681
|
* Used to implement `expandAfterFuture` and `expandNextToken`.
|
|
16682
16682
|
*
|
|
@@ -16696,7 +16696,7 @@ var MacroExpander = /*#__PURE__*/function () {
|
|
|
16696
16696
|
}
|
|
16697
16697
|
|
|
16698
16698
|
this.pushToken(topToken);
|
|
16699
|
-
return
|
|
16699
|
+
return false;
|
|
16700
16700
|
}
|
|
16701
16701
|
|
|
16702
16702
|
this.expansionCount++;
|
|
@@ -16739,7 +16739,7 @@ var MacroExpander = /*#__PURE__*/function () {
|
|
|
16739
16739
|
|
|
16740
16740
|
|
|
16741
16741
|
this.pushTokens(tokens);
|
|
16742
|
-
return tokens;
|
|
16742
|
+
return tokens.length;
|
|
16743
16743
|
}
|
|
16744
16744
|
/**
|
|
16745
16745
|
* Expand the next token only once (if possible), and return the resulting
|
|
@@ -16760,16 +16760,16 @@ var MacroExpander = /*#__PURE__*/function () {
|
|
|
16760
16760
|
|
|
16761
16761
|
_proto.expandNextToken = function expandNextToken() {
|
|
16762
16762
|
for (;;) {
|
|
16763
|
-
|
|
16764
|
-
|
|
16765
|
-
|
|
16766
|
-
// the token after \noexpand is interpreted as if its meaning
|
|
16763
|
+
if (this.expandOnce() === false) {
|
|
16764
|
+
// fully expanded
|
|
16765
|
+
var token = this.stack.pop(); // the token after \noexpand is interpreted as if its meaning
|
|
16767
16766
|
// were ‘\relax’
|
|
16768
|
-
|
|
16769
|
-
|
|
16767
|
+
|
|
16768
|
+
if (token.treatAsRelax) {
|
|
16769
|
+
token.text = "\\relax";
|
|
16770
16770
|
}
|
|
16771
16771
|
|
|
16772
|
-
return
|
|
16772
|
+
return token;
|
|
16773
16773
|
}
|
|
16774
16774
|
} // Flow unable to figure out that this pathway is impossible.
|
|
16775
16775
|
// https://github.com/facebook/flow/issues/4808
|
|
@@ -16799,17 +16799,18 @@ var MacroExpander = /*#__PURE__*/function () {
|
|
|
16799
16799
|
this.pushTokens(tokens);
|
|
16800
16800
|
|
|
16801
16801
|
while (this.stack.length > oldStackLength) {
|
|
16802
|
-
|
|
16803
|
-
|
|
16802
|
+
// Expand only expandable tokens
|
|
16803
|
+
if (this.expandOnce(true) === false) {
|
|
16804
|
+
// fully expanded
|
|
16805
|
+
var token = this.stack.pop();
|
|
16804
16806
|
|
|
16805
|
-
|
|
16806
|
-
if (expanded.treatAsRelax) {
|
|
16807
|
+
if (token.treatAsRelax) {
|
|
16807
16808
|
// the expansion of \noexpand is the token itself
|
|
16808
|
-
|
|
16809
|
-
|
|
16809
|
+
token.noexpand = false;
|
|
16810
|
+
token.treatAsRelax = false;
|
|
16810
16811
|
}
|
|
16811
16812
|
|
|
16812
|
-
output.push(
|
|
16813
|
+
output.push(token);
|
|
16813
16814
|
}
|
|
16814
16815
|
}
|
|
16815
16816
|
|
|
@@ -17586,7 +17587,7 @@ var Parser = /*#__PURE__*/function () {
|
|
|
17586
17587
|
* Parses an "expression", which is a list of atoms.
|
|
17587
17588
|
*
|
|
17588
17589
|
* `breakOnInfix`: Should the parsing stop when we hit infix nodes? This
|
|
17589
|
-
* happens when functions have higher
|
|
17590
|
+
* happens when functions have higher precedence han infix
|
|
17590
17591
|
* nodes in implicit parses.
|
|
17591
17592
|
*
|
|
17592
17593
|
* `breakOnTokenText`: The text of the token that the expression should end
|
|
@@ -18600,6 +18601,7 @@ var parseTree = function parseTree(toParse, settings) {
|
|
|
18600
18601
|
|
|
18601
18602
|
|
|
18602
18603
|
|
|
18604
|
+
|
|
18603
18605
|
/**
|
|
18604
18606
|
* Parse and build an expression, and place that expression in the DOM node
|
|
18605
18607
|
* given.
|
|
@@ -18693,7 +18695,7 @@ var renderToHTMLTree = function renderToHTMLTree(expression, options) {
|
|
|
18693
18695
|
/**
|
|
18694
18696
|
* Current KaTeX version
|
|
18695
18697
|
*/
|
|
18696
|
-
version: "0.16.
|
|
18698
|
+
version: "0.16.6",
|
|
18697
18699
|
|
|
18698
18700
|
/**
|
|
18699
18701
|
* Renders the given LaTeX into an HTML+MathML combination, and adds
|
|
@@ -18758,6 +18760,13 @@ var renderToHTMLTree = function renderToHTMLTree(expression, options) {
|
|
|
18758
18760
|
*/
|
|
18759
18761
|
__defineSymbol: defineSymbol,
|
|
18760
18762
|
|
|
18763
|
+
/**
|
|
18764
|
+
* adds a new function to builtin function list,
|
|
18765
|
+
* which directly produce parse tree elements
|
|
18766
|
+
* and have their own html/mathml builders
|
|
18767
|
+
*/
|
|
18768
|
+
__defineFunction: defineFunction,
|
|
18769
|
+
|
|
18761
18770
|
/**
|
|
18762
18771
|
* adds a new macro to builtin macro list
|
|
18763
18772
|
*/
|
package/dist/katex.min.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype")}.katex{text-rendering:auto;font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.4"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}
|
|
1
|
+
@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype")}.katex{text-rendering:auto;font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.6"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}
|