Преглед на файлове

Merge pull request #17393 from overleaf/mj-tikzcd

[cm6] Don't decorate tikzcd environments

GitOrigin-RevId: bf499432d67cefe12576fc135f4564b97a1b2c13
Mathias Jakobsen преди 2 години
родител
ревизия
60d38285ea
променени са 1 файла, в които са добавени 16 реда и са изтрити 11 реда
  1. 16 11
      services/web/frontend/js/features/source-editor/extensions/visual/atomic-decorations.ts

+ 16 - 11
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)
+                )
+              }
             }
           }