From f713f324bd448607dc2b357227c14b6091726251 Mon Sep 17 00:00:00 2001 From: Ron Kok Date: Thu, 1 Nov 2018 15:43:41 -0700 Subject: [PATCH] Support \includegraphics (#1620) * Support \includegraphics * Update screenshots * Fix lint errors * Fix more lint errors * Fix lint errors take 3 * Add documentation, error messages * Improve CSS * Update domTree to coordinate with PR #1633 * Update screenshots * fix flow errors * Use same RegEx as href * Fix lint error * Accept raw ArgType * Fix lint error * fix flow error * Add test --- docs/support_table.md | 2 +- docs/supported.md | 4 + src/Parser.js | 12 ++ src/domTree.js | 63 ++++++++ src/functions.js | 1 + src/functions/includegraphics.js | 146 ++++++++++++++++++ src/katex.less | 8 + src/mathMLTree.js | 2 +- src/parseNode.js | 16 ++ test/katex-spec.js | 20 +++ .../images/Includegraphics-chrome.png | Bin 0 -> 38983 bytes .../images/Includegraphics-firefox.png | Bin 0 -> 37413 bytes test/screenshotter/ss_data.yaml | 7 + 13 files changed, 279 insertions(+), 2 deletions(-) create mode 100644 src/functions/includegraphics.js create mode 100644 test/screenshotter/images/Includegraphics-chrome.png create mode 100644 test/screenshotter/images/Includegraphics-firefox.png diff --git a/docs/support_table.md b/docs/support_table.md index 928adba9..25762bf6 100644 --- a/docs/support_table.md +++ b/docs/support_table.md @@ -474,7 +474,7 @@ table td { |\impliedby|$P\impliedby Q$|`P\impliedby Q`| |\implies|$P\implies Q$|`P\implies Q`| |\in|$\in$|| -|\includegraphics|Not supported|[Issue #898](https://github.com/Khan/KaTeX/issues/898)| +|\includegraphics|$\includegraphics[height=0.8em, totalheight=0.9em, width=0.9em, alt=KA logo]{https://cdn.kastatic.org/images/apple-touch-icon-57x57-precomposed.new.png}$|`\includegraphics[height=0.8em, totalheight=0.9em, width=0.9em, alt=KA logo]{https://cdn.kastatic.org/images/apple-touch-icon-57x57-precomposed.new.png}`| |\inf|$\inf$|| |\infin|$\infin$|| |\infty|$\infty$|| diff --git a/docs/supported.md b/docs/supported.md index 2d69441c..cbbcbbf4 100644 --- a/docs/supported.md +++ b/docs/supported.md @@ -108,6 +108,10 @@ The `{array}` environment does not yet support `\cline` or `\multicolumn`. |:----------------|:-------------------| | $\href{https://katex.org/}{\KaTeX}$ | `\href{https://katex.org/}{\KaTeX}` | | $\url{https://katex.org/}$ | `\url{https://katex.org/}` | +| $\includegraphics[height=0.8em, totalheight=0.9em, width=0.9em, alt=KA logo]{https://cdn.kastatic.org/images/apple-touch-icon-57x57-precomposed.new.png}$ | `\includegraphics[height=0.8em, totalheight=0.9em, width=0.9em, alt=KA logo]{https://cdn.kastatic.org/images/apple-touch-icon-57x57-precomposed.new.png}` | + +`\includegraphics` supports`height`, `width`, `totalheight`, and `alt` in it's first argument. `height` is required. + ## Letters and Unicode diff --git a/src/Parser.js b/src/Parser.js index 9616bc44..2b42d386 100644 --- a/src/Parser.js +++ b/src/Parser.js @@ -527,6 +527,18 @@ export default class Parser { case "math": case "text": return this.parseGroup(name, optional, greediness, undefined, type); + case "raw": { + const token = this.parseStringGroup("raw", optional, true); + if (token) { + return { + type: "raw", + mode: "text", + string: token.text, + }; + } else { + throw new ParseError("Expected raw group", this.nextToken); + } + } case "original": case null: case undefined: diff --git a/src/domTree.js b/src/domTree.js index 426d5562..38ffd912 100644 --- a/src/domTree.js +++ b/src/domTree.js @@ -264,6 +264,69 @@ export class Anchor implements HtmlDomNode { } } +/** + * This node represents an image embed () element. + */ +export class Img implements VirtualNode { + src: string; + alt: string; + classes: string[]; + height: number; + depth: number; + maxFontSize: number; + style: CssStyle; + + constructor( + src: string, + alt: string, + style: CssStyle, + ) { + this.alt = alt; + this.src = src; + this.classes = ["mord"]; + this.style = style; + } + + hasClass(className: string): boolean { + return utils.contains(this.classes, className); + } + + toNode(): Node { + const node = document.createElement("img"); + node.src = this.src; + node.alt = this.alt; + node.className = "mord"; + + // Apply inline styles + for (const style in this.style) { + if (this.style.hasOwnProperty(style)) { + // $FlowFixMe + node.style[style] = this.style[style]; + } + } + + return node; + } + + toMarkup(): string { + let markup = `${this.alt} { + let width = {number: 0, unit: "em"}; + let height = {number: 0.9, unit: "em"}; // sorta character sized. + let totalheight = {number: 0, unit: "em"}; + let alt = ""; + + if (optArgs[0]) { + const attributeStr = assertNodeType(optArgs[0], "raw").string; + + // Parser.js does not parse key/value pairs. We get a string. + const attributes = attributeStr.split(","); + for (let i = 0; i < attributes.length; i++) { + const keyVal = attributes[i].split("="); + if (keyVal.length === 2) { + const str = keyVal[1].trim(); + switch (keyVal[0].trim()) { + case "alt": + alt = str; + break; + case "width": + width = sizeData(str); + break; + case "height": + height = sizeData(str); + break; + case "totalheight": + totalheight = sizeData(str); + break; + default: + throw new ParseError("Invalid key: '" + keyVal[0] + + "' in \\includegraphics."); + } + } + } + } + + const src = assertNodeType(args[0], "url").url; + + if (alt === "") { + // No alt given. Use the file name. Strip away the path. + alt = src; + alt = alt.replace(/^.*[\\/]/, ''); + alt = alt.substring(0, alt.lastIndexOf('.')); + } + + return { + type: "includegraphics", + mode: parser.mode, + alt: alt, + width: width, + height: height, + totalheight: totalheight, + src: src, + }; + }, + htmlBuilder: (group, options) => { + const height = calculateSize(group.height, options); + let depth = 0; + + if (group.totalheight.number > 0) { + depth = calculateSize(group.totalheight, options) - height; + depth = Number(depth.toFixed(2)); + } + + let width = 0; + if (group.width.number > 0) { + width = calculateSize(group.width, options); + } + + const style: CssStyle = {height: height + depth + "em"}; + if (width > 0) { + style.width = width + "em"; + } + if (depth > 0) { + style.verticalAlign = -depth + "em"; + } + + const node = new Img(group.src, group.alt, style); + node.height = height; + node.depth = depth; + + return node; + }, + mathmlBuilder: (group, options) => { + const node = new mathMLTree.MathNode("mglyph", []); + node.setAttribute("alt", group.alt); + + const height = calculateSize(group.height, options); + let depth = 0; + if (group.totalheight.number > 0) { + depth = calculateSize(group.totalheight, options) - height; + depth = depth.toFixed(2); + node.setAttribute("valign", "-" + depth + "em"); + } + node.setAttribute("height", height + depth + "em"); + + if (group.width.number > 0) { + const width = calculateSize(group.width, options); + node.setAttribute("width", width + "em"); + } + node.setAttribute("src", group.src); + return node; + }, +}); diff --git a/src/katex.less b/src/katex.less index c26e1f9c..aaebebf9 100644 --- a/src/katex.less +++ b/src/katex.less @@ -464,6 +464,14 @@ stroke-opacity: 1; } + img { + border-style: none; + min-width: 0; + min-height: 0; + max-width: none; + max-height: none; + } + // Define CSS for image whose width will match its span width. .stretchy { width: 100%; diff --git a/src/mathMLTree.js b/src/mathMLTree.js index 971d1a99..69ecc849 100644 --- a/src/mathMLTree.js +++ b/src/mathMLTree.js @@ -25,7 +25,7 @@ export type MathNodeType = "mfrac" | "mroot" | "msqrt" | "mtable" | "mtr" | "mtd" | "mlabeledtr" | "mrow" | "menclose" | - "mstyle" | "mpadded" | "mphantom"; + "mstyle" | "mpadded" | "mphantom" | "mglyph"; export interface MathDomNode extends VirtualNode { toText(): string; diff --git a/src/parseNode.js b/src/parseNode.js index b6e8897e..87b9c919 100644 --- a/src/parseNode.js +++ b/src/parseNode.js @@ -49,6 +49,12 @@ type ParseNodeTypes = { loc?: ?SourceLocation, color: string, |}, + "keyVals": {| + type: "keyVals", + mode: Mode, + loc?: ?SourceLocation, + keyVals: string, + |}, // To avoid requiring run-time type assertions, this more carefully captures // the requirements on the fields per the op.js htmlBuilder logic: // - `body` and `value` are NEVER set simultanouesly. @@ -271,6 +277,16 @@ type ParseNodeTypes = { html: AnyParseNode[], mathml: AnyParseNode[], |}, + "includegraphics": {| + type: "includegraphics", + mode: Mode, + loc?: ?SourceLocation, + alt: string, + width: Measurement, + height: Measurement, + totalheight: Measurement, + src: string, + |}, "infix": {| type: "infix", mode: Mode, diff --git a/test/katex-spec.js b/test/katex-spec.js index 773b48a6..b5804e42 100644 --- a/test/katex-spec.js +++ b/test/katex-spec.js @@ -1947,6 +1947,17 @@ describe("A MathML font tree-builder", function() { }); }); +describe("An includegraphics builder", function() { + const img = "\\includegraphics[height=0.9em, totalheight=0.9em, width=0.9em, alt=KA logo]{https://cdn.kastatic.org/images/apple-touch-icon-57x57-precomposed.new.png}"; + it("should not fail", function() { + expect(img).toBuild(); + }); + + it("should produce mords", function() { + expect(getBuilt(img)[0].classes).toContain("mord"); + }); +}); + describe("A bin builder", function() { it("should create mbins normally", function() { const built = getBuilt`x + y`; @@ -2647,6 +2658,15 @@ describe("href and url commands", function() { }); }); +describe("A raw text parser", function() { + it("should not not parse a mal-formed string", function() { + // In the next line, the first character passed to \includegraphics is a + // Unicode combining character. So this is a test that the parser will catch a bad string. + expect("\\includegraphics[\u030aheight=0.8em, totalheight=0.9em, width=0.9em]{" + "https://cdn.kastatic.org/images/apple-touch-icon-57x57-precomposed.new.png}").not.toParse(); + }); +}); + + describe("A parser that does not throw on unsupported commands", function() { // The parser breaks on unsupported commands unless it is explicitly // told not to diff --git a/test/screenshotter/images/Includegraphics-chrome.png b/test/screenshotter/images/Includegraphics-chrome.png new file mode 100644 index 0000000000000000000000000000000000000000..038a3862f42e9f692087bb1556e4da132390c6cc GIT binary patch literal 38983 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 literal 0 HcmV?d00001 diff --git a/test/screenshotter/ss_data.yaml b/test/screenshotter/ss_data.yaml index 34e55889..8d9b9d5b 100644 --- a/test/screenshotter/ss_data.yaml +++ b/test/screenshotter/ss_data.yaml @@ -137,6 +137,13 @@ GroupMacros: \endExp: \egroup tex: \startExp a+b\endExp HorizontalBraces: \overbrace{\displaystyle{\oint_S{\vec E\cdot\hat n\,\mathrm d a}}}^\text{emf} = \underbrace{\frac{q_{\text{enc}}}{\varepsilon_0}}_{\text{charge}} +Includegraphics: | + \def\logo{\includegraphics[height=0.8em, totalheight=0.9em, width=0.9em, alt=KA logo]{https://cdn.kastatic.org/images/apple-touch-icon-57x57-precomposed.new.png}} + \def\logoB{\includegraphics[height=0.4em, totalheight=0.9em, width=0.9em, alt=KA logo]{https://cdn.kastatic.org/images/apple-touch-icon-57x57-precomposed.new.png}} + \begin{array}{l} + \underline{A\logo} + \sqrt{\logo} + \tfrac{A\logo}{\logo}\\[1em] + \underline{A\logoB} + \sqrt{x\logoB} + \tfrac{A\logoB}{\logoB} + \end{array} Integrands: | \begin{array}{l} \displaystyle \int + \oint + \iint + \oiint_i^n \\[0.6em]