leqno and fleqn support (#1814)

* leqno support

* Add fleqn support

* Add tests

* Lint fix

* Add leqno and fleqn to website demo
This commit is contained in:
Erik Demaine
2019-01-29 04:40:17 -05:00
committed by ylemkimon
parent 58c36c6fdf
commit 7f778d1543
9 changed files with 82 additions and 12 deletions

View File

@@ -16,6 +16,20 @@ const optionsFromSettings = function(settings: Settings) {
});
};
const displayWrap = function(node: DomSpan, settings: Settings): DomSpan {
if (settings.displayMode) {
const classes = ["katex-display"];
if (settings.leqno) {
classes.push("leqno");
}
if (settings.fleqn) {
classes.push("fleqn");
}
node = buildCommon.makeSpan(classes, [node]);
}
return node;
};
export const buildTree = function(
tree: AnyParseNode[],
expression: string,
@@ -29,11 +43,7 @@ export const buildTree = function(
mathMLNode, htmlNode,
]);
if (settings.displayMode) {
return buildCommon.makeSpan(["katex-display"], [katexNode]);
} else {
return katexNode;
}
return displayWrap(katexNode, settings);
};
export const buildHTMLTree = function(
@@ -44,11 +54,7 @@ export const buildHTMLTree = function(
const options = optionsFromSettings(settings);
const htmlNode = buildHTML(tree, options);
const katexNode = buildCommon.makeSpan(["katex"], [htmlNode]);
if (settings.displayMode) {
return buildCommon.makeSpan(["katex-display"], [katexNode]);
} else {
return katexNode;
}
return displayWrap(katexNode, settings);
};
export default buildTree;