diff --git a/src/services/import/markdown.spec.ts b/src/services/import/markdown.spec.ts index 061e22f21..ea98eca96 100644 --- a/src/services/import/markdown.spec.ts +++ b/src/services/import/markdown.spec.ts @@ -163,4 +163,16 @@ second line 2
The equation is \(e=mc^{2}\).
`; + expect(markdownService.renderToHtml(input, "Title")).toStrictEqual(expected); + }); + + it("converts display math expressions into Mathtex format", () => { + const input = `$$\sqrt{x^{2}+1}$$`; + const expected = /*html*/`\\[\sqrt{x^{2}+1}\\]
`; + expect(markdownService.renderToHtml(input, "Title")).toStrictEqual(expected); + }); + }); diff --git a/src/services/import/markdown.ts b/src/services/import/markdown.ts index 57bf58dd6..1613c2f57 100644 --- a/src/services/import/markdown.ts +++ b/src/services/import/markdown.ts @@ -12,7 +12,13 @@ class CustomMarkdownRenderer extends Renderer { } paragraph(data: Tokens.Paragraph): string { - return super.paragraph(data).trimEnd(); + let text = super.paragraph(data).trimEnd(); + + // Display math + text = text.replaceAll(/\$\$(.+)\$\$/g, + `\\\[$1\\\]`); + + return text; } code({ text, lang }: Tokens.Code): string {