From 60d38285ea9a8e03c9d5ae9eaf2933608b5583a8 Mon Sep 17 00:00:00 2001 From: Mathias Jakobsen Date: Mon, 4 Mar 2024 10:36:42 +0000 Subject: [PATCH] Merge pull request #17393 from overleaf/mj-tikzcd [cm6] Don't decorate tikzcd environments GitOrigin-RevId: bf499432d67cefe12576fc135f4564b97a1b2c13 --- .../extensions/visual/atomic-decorations.ts | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/services/web/frontend/js/features/source-editor/extensions/visual/atomic-decorations.ts b/services/web/frontend/js/features/source-editor/extensions/visual/atomic-decorations.ts index c81901e52d..cc4084b02f 100644 --- a/services/web/frontend/js/features/source-editor/extensions/visual/atomic-decorations.ts +++ b/services/web/frontend/js/features/source-editor/extensions/visual/atomic-decorations.ts @@ -715,6 +715,7 @@ export const atomicDecorations = (options: Options) => { return false // no markup in input content } else if (nodeRef.type.is('Math')) { // math equations + let passToMathJax = true const ancestorNode = ancestorNodeOfType(state, nodeRef.from, '$MathContainer') || @@ -743,6 +744,9 @@ export const atomicDecorations = (options: Options) => { if (environmentName) { // use the outer content of environments that MathJax supports // https://docs.mathjax.org/en/latest/input/tex/macros/index.html#environments + if (environmentName === 'tikzcd') { + passToMathJax = false + } if ( environmentName !== 'math' && environmentName !== 'displaymath' @@ -764,17 +768,18 @@ export const atomicDecorations = (options: Options) => { displayMode = true } } - - decorations.push( - Decoration.replace({ - widget: new MathWidget( - content, - displayMode, - commandDefinitions - ), - block: displayMode, - }).range(ancestorNode.from, ancestorNode.to) - ) + if (passToMathJax) { + decorations.push( + Decoration.replace({ + widget: new MathWidget( + content, + displayMode, + commandDefinitions + ), + block: displayMode, + }).range(ancestorNode.from, ancestorNode.to) + ) + } } }