【已解决】Obsidian不渲染“\[, \], \(, \)",但可以渲染”$“和”$$“,如何解决?本论坛的帖子也存在这个问题。

遇到的问题

win10+Obsidian V1.6.7

markdown源代码包含非独立公式和独立公式,代码如下:

上述代码显示的效果,与本论坛的显示效果是一样的,如下:

为了推导公式 (2.2),我们从给定的平稳过程 (\Delta y_t) 的 (\mathrm{MA}(\infty)) 表达式开始:

[
\Delta y_t = \psi(L) \varepsilon_t
]

很显然,段内公式和独立公式都没有正常显示

已尝试的解决方案

把“\[, \]”换成“$$”,把“\(, \)”换成“$”就能正常显示。

请问这是什么原因?最简单的解决方法是什么?需要安装第三方插件么?安哪个?

原因是 markdown 格式使用 $...$$$...$$ 表示数学公式, 而不用 \[ ... \]

但既然两边都是纯文本, 那转换起来也是很容易的

const input = `
context1
\\[
\\Delta y_t = \\psi(L) \\varepsilon_t
\\]
context2
\\[
\\Delta y_t = \\psi(L) \\varepsilon_t
\\]
context3
`;
const regex = /\\\[(.+?)\\\]/gs;
const output = input.replaceAll(regex, "$$$$$1$$$$");
console.log(output);
// context1
// $$
// \Delta y_t = \psi(L) \varepsilon_t
// $$
// context2
// $$
// \Delta y_t = \psi(L) \varepsilon_t
// $$
// context3

推荐先找个在线 regex 编辑器 (如 ref ) 或者 VSCode, 把转换规则测稳妥了, 再去仓库里转换

另外也见 一键将带 (math),[math] (chatgpt格式的数学公式)的文本转换为 obsidian 能识别的用 $math$,$$math$$ 表示的文本 - 经验分享 这个讨论的方案

ob是底层是使用markdown语言。
不是ob的问题,是markdown语言的问题。
因此除了替换没有办法解决。

我记得你在QQ群里也问过来着吧,不是自己写了个脚本解决了么~