Browse Source

fix: 知识点公式解析 bug 跟踪。

yemeishu 2 weeks ago
parent
commit
149344cc4b
1 changed files with 3 additions and 0 deletions
  1. 3 0
      app/Services/KatexRenderer.php

+ 3 - 0
app/Services/KatexRenderer.php

@@ -221,6 +221,9 @@ class KatexRenderer
             $content = $m[1];
             // 将 cases 中被转成单反斜杠的换行恢复为双反斜杠(仅处理紧跟 +/- 的情况)
             $content = preg_replace('/(?<!\\\\)\\\\(?=[-+])/', '\\\\\\\\', $content);
+            // 行首是变量/数字的情况(如 \\3x 或 \\a_1x 或 \\x=...)
+            $content = preg_replace('/(?<!\\\\)\\\\(?=[0-9])/', '\\\\\\\\', $content);
+            $content = preg_replace('/(?<!\\\\)\\\\(?=[A-Za-z](?:[_^0-9=<>]|\\s))/', '\\\\\\\\', $content);
             return '\\begin{cases}' . $content . '\\end{cases}';
         }, $tex);
     }