katex 0.15.5 → 0.15.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/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 +3 -3
- package/dist/katex.css +1 -1
- package/dist/katex.js +68 -3
- package/dist/katex.min.css +1 -1
- package/dist/katex.min.js +1 -1
- package/dist/katex.mjs +65 -3
- package/package.json +1 -1
- package/src/MacroExpander.js +3 -1
- package/src/defineMacro.js +7 -0
- package/src/macros.js +52 -0
package/dist/katex.mjs
CHANGED
|
@@ -15789,7 +15789,67 @@ defineMacro("\\bra", "\\mathinner{\\langle{#1}|}");
|
|
|
15789
15789
|
defineMacro("\\ket", "\\mathinner{|{#1}\\rangle}");
|
|
15790
15790
|
defineMacro("\\braket", "\\mathinner{\\langle{#1}\\rangle}");
|
|
15791
15791
|
defineMacro("\\Bra", "\\left\\langle#1\\right|");
|
|
15792
|
-
defineMacro("\\Ket", "\\left|#1\\right\\rangle");
|
|
15792
|
+
defineMacro("\\Ket", "\\left|#1\\right\\rangle");
|
|
15793
|
+
|
|
15794
|
+
var braketHelper = one => context => {
|
|
15795
|
+
var left = context.consumeArg().tokens;
|
|
15796
|
+
var middle = context.consumeArg().tokens;
|
|
15797
|
+
var middleDouble = context.consumeArg().tokens;
|
|
15798
|
+
var right = context.consumeArg().tokens;
|
|
15799
|
+
var oldMiddle = context.macros.get("|");
|
|
15800
|
+
var oldMiddleDouble = context.macros.get("\\|");
|
|
15801
|
+
context.macros.beginGroup();
|
|
15802
|
+
|
|
15803
|
+
var midMacro = double => context => {
|
|
15804
|
+
if (one) {
|
|
15805
|
+
// Only modify the first instance of | or \|
|
|
15806
|
+
context.macros.set("|", oldMiddle);
|
|
15807
|
+
|
|
15808
|
+
if (middleDouble.length) {
|
|
15809
|
+
context.macros.set("\\|", oldMiddleDouble);
|
|
15810
|
+
}
|
|
15811
|
+
}
|
|
15812
|
+
|
|
15813
|
+
var doubled = double;
|
|
15814
|
+
|
|
15815
|
+
if (!double && middleDouble.length) {
|
|
15816
|
+
// Mimic \@ifnextchar
|
|
15817
|
+
var nextToken = context.future();
|
|
15818
|
+
|
|
15819
|
+
if (nextToken.text === "|") {
|
|
15820
|
+
context.popToken();
|
|
15821
|
+
doubled = true;
|
|
15822
|
+
}
|
|
15823
|
+
}
|
|
15824
|
+
|
|
15825
|
+
return {
|
|
15826
|
+
tokens: doubled ? middleDouble : middle,
|
|
15827
|
+
numArgs: 0
|
|
15828
|
+
};
|
|
15829
|
+
};
|
|
15830
|
+
|
|
15831
|
+
context.macros.set("|", midMacro(false));
|
|
15832
|
+
|
|
15833
|
+
if (middleDouble.length) {
|
|
15834
|
+
context.macros.set("\\|", midMacro(true));
|
|
15835
|
+
}
|
|
15836
|
+
|
|
15837
|
+
var arg = context.consumeArg().tokens;
|
|
15838
|
+
var expanded = context.expandTokens([...right, ...arg, ...left // reversed
|
|
15839
|
+
]);
|
|
15840
|
+
context.macros.endGroup();
|
|
15841
|
+
return {
|
|
15842
|
+
tokens: expanded.reverse(),
|
|
15843
|
+
numArgs: 0
|
|
15844
|
+
};
|
|
15845
|
+
};
|
|
15846
|
+
|
|
15847
|
+
defineMacro("\\bra@ket", braketHelper(false));
|
|
15848
|
+
defineMacro("\\bra@set", braketHelper(true));
|
|
15849
|
+
defineMacro("\\Braket", "\\bra@ket{\\left\\langle}" + "{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");
|
|
15850
|
+
defineMacro("\\Set", "\\bra@set{\\left\\{\\:}" + "{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");
|
|
15851
|
+
defineMacro("\\set", "\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"); // has no support for special || or \|
|
|
15852
|
+
//////////////////////////////////////////////////////////////////////
|
|
15793
15853
|
// actuarialangle.dtx
|
|
15794
15854
|
|
|
15795
15855
|
defineMacro("\\angln", "{\\angl n}"); // Custom Khan Academy colors, should be moved to an optional package
|
|
@@ -16245,7 +16305,9 @@ class MacroExpander {
|
|
|
16245
16305
|
return this.macros.has(name) ? this.expandTokens([new Token(name)]) : undefined;
|
|
16246
16306
|
}
|
|
16247
16307
|
/**
|
|
16248
|
-
* Fully expand the given token stream and return the resulting list of
|
|
16308
|
+
* Fully expand the given token stream and return the resulting list of
|
|
16309
|
+
* tokens. Note that the input tokens are in reverse order, but the
|
|
16310
|
+
* output tokens are in forward order.
|
|
16249
16311
|
*/
|
|
16250
16312
|
|
|
16251
16313
|
|
|
@@ -18106,7 +18168,7 @@ var katex = {
|
|
|
18106
18168
|
/**
|
|
18107
18169
|
* Current KaTeX version
|
|
18108
18170
|
*/
|
|
18109
|
-
version: "0.15.
|
|
18171
|
+
version: "0.15.6",
|
|
18110
18172
|
|
|
18111
18173
|
/**
|
|
18112
18174
|
* Renders the given LaTeX into an HTML+MathML combination, and adds
|
package/package.json
CHANGED
package/src/MacroExpander.js
CHANGED
|
@@ -356,7 +356,9 @@ export default class MacroExpander implements MacroContextInterface {
|
|
|
356
356
|
}
|
|
357
357
|
|
|
358
358
|
/**
|
|
359
|
-
* Fully expand the given token stream and return the resulting list of
|
|
359
|
+
* Fully expand the given token stream and return the resulting list of
|
|
360
|
+
* tokens. Note that the input tokens are in reverse order, but the
|
|
361
|
+
* output tokens are in forward order.
|
|
360
362
|
*/
|
|
361
363
|
expandTokens(tokens: Token[]): Token[] {
|
|
362
364
|
const output = [];
|
package/src/defineMacro.js
CHANGED
|
@@ -61,6 +61,13 @@ export interface MacroContextInterface {
|
|
|
61
61
|
*/
|
|
62
62
|
expandMacroAsText(name: string): string | void;
|
|
63
63
|
|
|
64
|
+
/**
|
|
65
|
+
* Fully expand the given token stream and return the resulting list of
|
|
66
|
+
* tokens. Note that the input tokens are in reverse order, but the
|
|
67
|
+
* output tokens are in forward order.
|
|
68
|
+
*/
|
|
69
|
+
expandTokens(tokens: Token[]): Token[];
|
|
70
|
+
|
|
64
71
|
/**
|
|
65
72
|
* Consume an argument from the token stream, and return the resulting array
|
|
66
73
|
* of tokens and start/end token.
|
package/src/macros.js
CHANGED
|
@@ -912,6 +912,58 @@ defineMacro("\\ket", "\\mathinner{|{#1}\\rangle}");
|
|
|
912
912
|
defineMacro("\\braket", "\\mathinner{\\langle{#1}\\rangle}");
|
|
913
913
|
defineMacro("\\Bra", "\\left\\langle#1\\right|");
|
|
914
914
|
defineMacro("\\Ket", "\\left|#1\\right\\rangle");
|
|
915
|
+
const braketHelper = (one) => (context) => {
|
|
916
|
+
const left = context.consumeArg().tokens;
|
|
917
|
+
const middle = context.consumeArg().tokens;
|
|
918
|
+
const middleDouble = context.consumeArg().tokens;
|
|
919
|
+
const right = context.consumeArg().tokens;
|
|
920
|
+
const oldMiddle = context.macros.get("|");
|
|
921
|
+
const oldMiddleDouble = context.macros.get("\\|");
|
|
922
|
+
context.macros.beginGroup();
|
|
923
|
+
const midMacro = (double) => (context) => {
|
|
924
|
+
if (one) {
|
|
925
|
+
// Only modify the first instance of | or \|
|
|
926
|
+
context.macros.set("|", oldMiddle);
|
|
927
|
+
if (middleDouble.length) {
|
|
928
|
+
context.macros.set("\\|", oldMiddleDouble);
|
|
929
|
+
}
|
|
930
|
+
}
|
|
931
|
+
let doubled = double;
|
|
932
|
+
if (!double && middleDouble.length) {
|
|
933
|
+
// Mimic \@ifnextchar
|
|
934
|
+
const nextToken = context.future();
|
|
935
|
+
if (nextToken.text === "|") {
|
|
936
|
+
context.popToken();
|
|
937
|
+
doubled = true;
|
|
938
|
+
}
|
|
939
|
+
}
|
|
940
|
+
return {
|
|
941
|
+
tokens: doubled ? middleDouble : middle,
|
|
942
|
+
numArgs: 0,
|
|
943
|
+
};
|
|
944
|
+
};
|
|
945
|
+
context.macros.set("|", midMacro(false));
|
|
946
|
+
if (middleDouble.length) {
|
|
947
|
+
context.macros.set("\\|", midMacro(true));
|
|
948
|
+
}
|
|
949
|
+
const arg = context.consumeArg().tokens;
|
|
950
|
+
const expanded = context.expandTokens([
|
|
951
|
+
...right, ...arg, ...left, // reversed
|
|
952
|
+
]);
|
|
953
|
+
context.macros.endGroup();
|
|
954
|
+
return {
|
|
955
|
+
tokens: expanded.reverse(),
|
|
956
|
+
numArgs: 0,
|
|
957
|
+
};
|
|
958
|
+
};
|
|
959
|
+
defineMacro("\\bra@ket", braketHelper(false));
|
|
960
|
+
defineMacro("\\bra@set", braketHelper(true));
|
|
961
|
+
defineMacro("\\Braket", "\\bra@ket{\\left\\langle}" +
|
|
962
|
+
"{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");
|
|
963
|
+
defineMacro("\\Set", "\\bra@set{\\left\\{\\:}" +
|
|
964
|
+
"{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");
|
|
965
|
+
defineMacro("\\set", "\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");
|
|
966
|
+
// has no support for special || or \|
|
|
915
967
|
|
|
916
968
|
//////////////////////////////////////////////////////////////////////
|
|
917
969
|
// actuarialangle.dtx
|