公式显示源码:网页渲染器没加载的处理

更新于

网页上公式显示源码,只看到美元符号包着一串反斜杠命令,多半是渲染器没处理到这段文字,也可能是这条公式本身写错被原样留下。没处理到的原因主要有三个:渲染脚本没加载成功,定界符配置和正文写法对不上,渲染函数跑的时候这段正文还不在页面上。按「脚本 → 定界符 → 时机」的顺序查,大多数情况几分钟就能定位。

适用范围

本文针对用 KaTeX 或 MathJax 在浏览器里渲染公式的网页,包括自己搭的博客、文档站和论坛主题。读者一方遇到时能做的有限,换浏览器或关掉拦截脚本的扩展试试;要根治得由页面作者改配置。作者自查时,建议用一台没访问过这个页面的电脑或无痕窗口打开,避开缓存带来的假象,第一次加载时的问题才看得出来。下文以 KaTeX 自动渲染扩展为例,依据其文档「Auto-render Extension」一页(页面未标更新日期),核实日期 2026-09-27。

现象与原因对照

现象 原因 处理
所有公式都是源码 渲染脚本没加载 查开发者工具的网络面板
只有单美元符号那种是源码 默认定界符不含单美元符号 在配置里加上,排在双美元符号之后
代码块里的公式是源码 扩展默认跳过 pre、code 等标签 公式别放进代码标签
刷新一次才正常 渲染早于正文插入 正文插入后再调用渲染
个别公式是源码、其余正常 这条源码有错(缺省配置下原样留源码,并在控制台报 Failed to parse;设了 throwOnError: false 才显示红色) 看控制台报错改源码

公式显示源码的现象与原因对照表

逐项排查

先打开开发者工具的控制台,看有没有「KaTeX auto-render: Failed to parse」:有的话是那条公式源码写错,按报错改源码即可,不必往下查。

第一步:脚本加载了没有。 打开开发者工具的网络面板刷新页面,找到 katex 的脚本和样式文件,状态应当是成功。被拦截或 404 的,把地址改成能访问的,或者把文件放到自己的站点上。样式没加载时,公式不再是源码,而是文字重复、分式不上下排,也是这一步的问题。

第二步:定界符对不对得上。 自动渲染扩展的默认定界符是双美元符号、\( 与 \)、\[ 与 \],以及几个 AMS 环境;单美元符号的行内公式默认不在其中。文档的原因是单美元符号会误伤正文里的普通价格。要用它,就在配置里自己加上,并且排在双美元符号后面,否则双美元符号会被当成一个空公式。

第三步:渲染时机。 文档给了三种调用方式:脚本标签的 onload、DOMContentLoaded 事件之后,以及模块脚本里直接调用。单页应用切换页面、评论区异步加载时,新内容是后来才插进来的,需要在插入之后对那一块再调用一次渲染函数。

脚本、定界符、时机三步排查顺序

修好之后怎么验证

  1. 清掉缓存后打开页面,第一次加载时公式就已渲染。
  2. 行内、独立两种公式各挑一条核对,确认都换成了排版后的样子。
  3. 切到别的页面再切回来,公式仍然正常。

下面这条可以作为测试样例,放进正文用双美元符号包住:

\oint_{S}\mathbf{E}\cdot d\mathbf{S}=\frac{Q}{\varepsilon_{0}}

高斯定理:E 对闭合曲面 S 的通量等于 Q 除以 ε0

源码本身有没有写错,可以先粘进本站公式编辑器的「LaTeX」模式,切到「可视化」模式看一眼,排除了源码问题再回头查页面配置。

显示源码与渲染成功的样子对照

多数「显示源码」都出在第二步:页面作者按 LaTeX 习惯写了单美元符号,而配置里恰好没有它。

延伸阅读

  • 网页显示数学公式:MathJax 与 KaTeX 两种接入的步骤对照
  • KaTeX语法:常用命令速查与常见报错改法
  • 在线编辑器与桌面软件对比:在线编辑器与桌面公式软件的差别
  • 公式溢出:换行与缩放

常见问题

刷新后才显示正常是为什么?
多半是渲染时机不对。第一次打开时,渲染脚本还没下载完,或者正文是后来才插进页面的,渲染函数早已跑完,没看到这段内容;刷新时脚本已在缓存里,加载更快,时序就对上了。修法是在正文插入之后再调用一次渲染函数,或者等页面加载完成再渲染。