LaTeX 公式贴到 Word / 公众号 / 知乎的完整工作流:KaTeX 渲染原理、MathML 变可编辑公式、parse error 自查清单

· 约 7 分钟 Σ LaTeX 公式编辑器

数学公式贴到 Word 总是变成图片不能改、公众号里公式打不出来只能截图、知乎答案的复杂公式排版总是错位——这些是写技术文章 / 论文 / 学习笔记时最常踩的坑。

LaTeX + KaTeX 的组合解决了 90% 的问题:浏览器里写源码实时预览、按目标平台选导出格式、保留源码可反复修改。这篇把从源码到各类平台的完整路径讲清楚。

KaTeX、MathJax、本地 TeX Live:三层方案

方案包大小渲染速度语法覆盖典型场景
KaTeX~280 KB(含字体)毫秒级99% 常用语法公众号 / 笔记 / 简单数学题 / 90% 日常公式
MathJax5 MB+比 KaTeX 慢 5–10×接近完整 LaTeX自建博客大量公式、复杂学术内容
本地 TeX Live / Overleaf数 GB分钟级完整 LaTeX + TikZ + 自定义包整篇论文、TikZ 画图、复杂排版

本工具用 KaTeX——核心包 280 KB 已经很轻,覆盖:

  • 分数、根号(含 n 次根)、上下标(多字符必须 {} 包)
  • 求和 \sum、积分 \int、极限 \lim、连乘 \prod
  • 希腊字母全集(\alpha\omega,大写首字母大写 \Gamma
  • 矩阵(pmatrix / bmatrix / vmatrix / Vmatrix,括号 ()/[]//||/‖‖)
  • 分段函数(cases)、方程组(aligned
  • 数学字体(\mathbb{R}\mathcal{F}\mathfrak{a}
  • 大部分 AMS-LaTeX 符号(\therefore\because\impliedby

KaTeX 不覆盖的——\usepackage{tikz} 画图、chemfig 化学结构、\xymatrix 范畴论图表、自定义宏。这些需要 Overleaf 或本地 TeX。

两种模式:独占 vs 行内

模式LaTeX 写法视觉效果适用
独占(display)$$ ... $$\[ ... \]居中独占一行,\sum / \int / 大分数正常大小公式独立展示、论文公式块
行内(inline)$ ... $\( ... \)压缩到字号高度,求和积分自动缩小嵌入段落(如”已知 $x^2+y^2=1$”)

示例对比

% 独占模式
$$\sum_{i=1}^n i = \frac{n(n+1)}{2}$$

% 行内模式
已知 $\sum_{i=1}^n i = n(n+1)/2$,证明 ...

独占模式 \sum 上下限正常布局;行内模式 \sum 上下限压到右下角,整体高度跟字号齐平。

基本语法速查

% 分数
\frac{分子}{分母}              % 普通分数
\dfrac{分子}{分母}             % 行内强制显示样式(大分数)
\tfrac{分子}{分母}             % 强制紧凑样式

% 根号
\sqrt{x}                       % 平方根
\sqrt[n]{x}                    % n 次根(注意 [] 是 n,{} 是 x)

% 上下标
x^2                            % 单字符指数
x^{2n+1}                       % 多字符必须 {}
x_n                            % 下标
x_{i,j}                        % 多字符下标必须 {}

% 求和 / 积分 / 极限
\sum_{i=1}^n a_i               % 求和
\int_0^{\infty} f(x) dx        % 定积分
\iint                          % 二重积分(同理 \iiint / \oint)
\lim_{x \to 0}                 % 极限
\prod_{i=1}^n a_i              % 连乘

% 希腊字母(小写)
\alpha \beta \gamma \delta \epsilon ... \omega
% 大写(首字母大写命令)
\Gamma \Delta \Theta \Lambda \Pi \Sigma \Phi \Psi \Omega

% 数学字体
\mathbb{R}  ℝ                  % 黑板粗体(实数 / 整数 / 自然数)
\mathcal{F} 𝓕                 % 花体(拓扑空间 / 范畴)
\mathfrak{g} 𝔤                % 哥特体(李代数)
\mathbf{v}                     % 加粗(向量)

% 内置宏(本工具)
\R \N \Z \Q \C                 % 简写:实数 / 自然数 / 整数 / 有理数 / 复数

三个常踩的 parse error

1. 花括号不配对(最高频)

\frac a b          % ❌ KaTeX 严格要求 {}
\frac{a}{b}        % ✓

x^2n+1             % ❌ 只把 2 当指数,n+1 变成正文
x^{2n+1}           % ✓ 多字符指数必须 {}

\sqrt n+1          % ❌ 只把 n 放根号下,+1 在外
\sqrt{n+1}         % ✓

记忆法:上下标、根号、分数、求和上下限——但凡内容超过一个字符,一律用 {}

2. 命令拼错或大小写错

\alfa              % ❌ 拼错(应该 \alpha)
\bata              % ❌ 拼错(应该 \beta)
\thita             % ❌ 拼错(应该 \theta)

\gamma             % ✓ 小写 γ
\Gamma             % ✓ 大写 Γ(两个是不同字符)

报错信息Undefined control sequence: \alfa——直接告诉你哪个命令拼错了。

避免方法:用上方符号面板点选,希腊字母分类里点 α 自动插入 \alpha,不用手敲。

3. 中文标点混入半角公式

\frac{a}{b}      % ❌ 中文花括号
\frac{a}{b}        % ✓ 半角花括号

x,y \in \R        % ❌ 中文逗号
x, y \in \R        % ✓ 半角逗号

“变量"             % ❌ 中文引号
"变量"             % ✓ 半角引号

根因:从 Word / 微信 / 公众号复制公式过来时,常带入中文标点。复制完先检查标点

番外:\\ 换行的陷阱

% ❌ 独立公式里 \\ 是错误
$$
a = b \\
c = d
$$

% ✓ 多行对齐用 aligned 环境
$$
\begin{aligned}
a &= b \\
c &= d
\end{aligned}
$$

\\ 只在 matrix / aligned / cases 等环境内有效。要换行写多行公式,必须包在 aligned(按 & 对齐等号)里。

矩阵、分段函数、方程组

矩阵

% pmatrix - 圆括号
\begin{pmatrix}
a & b \\
c & d
\end{pmatrix}

% bmatrix - 方括号 / vmatrix - 单竖线 / Vmatrix - 双竖线
\begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}

% 大矩阵(行列式 / 对称展示)
\begin{vmatrix}
a_{11} & a_{12} & \cdots & a_{1n} \\
a_{21} & a_{22} & \cdots & a_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
a_{m1} & a_{m2} & \cdots & a_{mn}
\end{vmatrix}
  • & 列分隔
  • \\ 换行
  • \cdots / \vdots / \ddots 中点 / 竖点 / 斜点(省略号)

分段函数

f(x) = \begin{cases}
  x^2,         & x \geq 0 \\
  -x,          & x < 0
\end{cases}

& 前是表达式,后是条件。

方程组

\begin{aligned}
2x + 3y &= 7 \\
4x - y  &= 5
\end{aligned}

& 之前对齐——这里按 = 对齐。

五种导出格式:贴谁用哪个

导出按钮贴目标优点缺点
LaTeX 源码⎘ TeX知乎 / 飞书 / Notion / GitHub Markdown / 自建 KaTeX 博客可反复编辑、矢量无损目标必须支持渲染
MathML⎘ MMLWord / WPS / Pages / LibreOffice变可编辑公式对象、跟字号缩放Word 渲染细节弱于 KaTeX
HTML⎘ HTML已集成 KaTeX 样式的页面(自建博客)不依赖 LaTeX 解析不能贴 Word
PNG(3×)⤓ PNG公众号 / 小红书 / 微博 / 邮件 / PPT兼容性最广、视网膜屏不糊死图、放大失真
SVG⤓ SVG论文 / 海报 / 印刷品 / Illustrator 编辑矢量无损、任意放大部分聊天工具不识别

透明底(PNG / SVG):勾选 → 适合贴深色背景文档;不勾 → 用工具卡片色填充背景。贴白底文章建议不勾(避免锯齿)。

平台支持速查

平台支持 LaTeX 源码?推荐导出
知乎答案 / 文章✓($$...$$TeX 源码
知乎评论PNG
飞书文档✓(/公式 或敲 $$TeX 源码
Notion✓(公式块)TeX 源码
Obsidian / TyporaTeX 源码
GitHub Markdown(README / Issue / PR)✓(自 2022 起,基于 MathJax)TeX 源码
Word / WPS / PagesMathML(可编辑)
微信公众号PNG(3× 透明底可选)
小红书 / 微博 / CSDNPNG
Outlook / Gmail 邮件PNG
VSCode Markdown 预览TeX 源码
论文 PDF / Beamer在 LaTeX 源文档直接写复制 TeX 源码到 .tex 里
海报 / 印刷品取决于排版工具SVG(矢量印刷品)

分享链接:URL 里编公式的工作原理

工具的 🔗 链接 按钮把公式 LaTeX 源码 base64 编码后塞进 URL 的 hash 片段

https://toolbox.../tools/latex-math/#tex=JHsXigBlIChhKzEpXFoeDl9PXgBYJl

# 后面是 hash 片段。按 HTTP 协议规范,hash 永远不会被浏览器发给服务器——服务器日志、CDN、代理都拿不到。对方点开链接时浏览器在本地解码渲染。

长度限制

公式长度URL 长度实用性
单行短公式(~50 字符)~150 字符✓ 微信群、邮件都能完整传过去
多行 aligned(~300 字符)~600 字符✓ 多数聊天工具不截断
麦克斯韦方程组(~600 字符)~1.2 KB⚠️ 部分聊天工具可能截断
长导数推导(~2000 字符)~4 KB⚠️ 微信会截断,改用 PNG

经验:超过 2 KB 的公式直接发 PNG / SVG 文件,不要硬塞链接。

隐私边界

  • ✓ 中间网络节点(运营商、Wi-Fi、CDN)看不到公式内容(hash 不上服务器 + HTTPS 加密)
  • ✓ 服务器日志拿不到公式
  • ✗ 拿到链接的人能看到完整公式(这是 feature 不是 bug,相当于剪贴板分享)

何时退到 MathJax 或本地 TeX

KaTeX 覆盖 99% 日常公式,但下面这些场景必须升级:

场景推荐方案
整篇论文排版Overleaf / 本地 TeX Live
TikZ 画几何图、流程图、电路图Overleaf(KaTeX 不支持 \usepackage{tikz}
chemfig 画化学结构Overleaf
范畴论交换图(\xymatrix / \tikzcdOverleaf
大量自定义宏(\newcommandMathJax 或本地 TeX
自建博客的公式服务端预渲染KaTeX 静态生成 / MathJax 服务端

实务:90% 的非论文场景 KaTeX 完全够;论文整篇切 Overleaf;偶尔要画一张化学结构 → Overleaf 出图,文章其它公式继续 KaTeX。

与相关工具配合

  • 写技术文档配公式 + 流程图 → 公式用本工具、流程图用 [[mermaid]]
  • 公式 + 思维导图大纲 → 公式用本工具,导图用 [[markmap]](导图节点不能渲染公式,放正文里)
  • 整篇 Markdown 文章 → 在 [[md-editor]] 写完正文,公式部分用本工具单独出图或源码插入
  • 公式数学符号查找 → 不常用符号可在 [[unicode]] 搜码点(KaTeX 不识别的特殊符号用 \text{ } 包 Unicode 字符)

总结

LaTeX 公式编辑器的工作流核心是 3 个决策

  1. 目标平台支不支持原生 LaTeX? → 支持就贴源码(最优)、不支持贴图
  2. 图片要不要后续修改? → 要 → 保留 LaTeX 源码或分享链接;不要 → PNG 直接走
  3. 目标是 Word? → 用 MathML 不用 PNG(可编辑公式对象远胜死图)

常见误区清单

  • ❌ 用 Word 自带公式编辑器手敲(慢、错、丑)
  • ❌ 截屏数学公式放公众号(低分辨率糊)
  • ❌ 在不支持 LaTeX 的富文本编辑器硬贴源码(变成 $$ ... $$ 字符)
  • ❌ KaTeX parse error 时盲改(应该按错误提示精确定位)
  • ✅ 写一次源码、按目标导出对应格式、保留源码以备后改

❓ 常见问题

KaTeX、MathJax、完整 LaTeX 工具链具体差在哪?什么时候必须用哪个?

KaTeX(本工具用的引擎):核心包约 280 KB(含 70+ 字体文件),覆盖 99% 常用数学语法(分数、根号、积分、求和、矩阵、希腊字母、方程组),渲染速度比 MathJax 快 5–10 倍——一篇文章几百条公式毫秒级出图。MathJax:完整 LaTeX 引擎的 JS 实现,包大 5 MB+,支持 \usepackage{xxx} 加载附加包、AMS-LaTeX 全套、自定义宏,能渲染几乎所有学术论文里的公式。本地 TeX Live / Overleaf:完整 LaTeX 排版系统,包括 TikZ 画图、chemfig 化学结构、整页布局——但单条公式渲染要分钟级。怎么选:公众号 / 知乎 / 笔记 / 简单数学题 / 大多数日常公式 → KaTeX 就够;学术论文整篇 → Overleaf;自建博客大量公式 → 用 MathJax 服务端预渲染或 KaTeX 静态生成。

复制 MathML 到 Word 真的能变成可编辑公式吗?跟直接粘 PNG 有什么区别?

。Word 2007 及以后版本的"公式"功能基于 OMML(Office MathML),跟标准 MathML 互转。本工具点 ⎘ MML 按钮把当前公式生成 MathML XML 复制到剪贴板,到 Word 里 Ctrl+V 直接粘贴——Word 自动识别为公式对象,双击就能编辑、改字号、套样式。WPS / Pages / LibreOffice 都支持。vs 粘 PNG:(1) PNG 是死图——以后想改一个变量得回工具重做导出再换;(2) PNG 在论文里排版时跟正文行距对不齐(基线下沉),公式对象会自动跟字号缩放;(3) 打印 / 转 PDF 时 PNG 可能糊(虽然 3× 已经很清晰),公式对象矢量无损。唯一例外:复杂矩阵 / 多重积分 Word 公式渲染细节不如 KaTeX 美观——这时 PNG 反而更稳。

公众号 / 知乎 / 小红书 / CSDN 不原生支持 LaTeX,怎么贴公式?

这些富文本编辑器都不支持原生 LaTeX 渲染,正确做法是贴图片:(1) 微信公众号:点 ⤓ PNG(3× 高清)下载,公众号编辑器拖图进去——3× 适配视网膜屏不糊。勾选透明底贴白色或浅色文章背景,不勾选默认白底;想贴深色背景的文章保持透明底。(2) 知乎:知乎答案/文章实际支持原生 LaTeX(用 $$...$$ 包裹),可以直接贴源码;但评论区不支持,评论里贴图。(3) 小红书 / CSDN:贴 PNG。(4) GitHub README / Markdown:原生不渲染 LaTeX,但 GitHub 自 2022 起支持 $$...$$ 块和 $...$ 行内(基于 MathJax)——直接贴源码;如果是 GitLab 或自建 Gitea,老规则贴 PNG 或 SVG。(5) 飞书文档:原生支持 LaTeX,输入 /公式 或敲 $$ 进入公式编辑器,贴源码进去即可。

parse error 最容易出在哪里?三类常见语法坑是什么?

三类(1) 花括号不配对(最高频)——\frac{a}{b} 不能写成 \frac a b(KaTeX 严格要求 {});多字符上下标必须用 {} 包:x^{2n+1} 而不是 x^2n+1(后者只把 2 当指数,n+1 变成正文)。(2) 命令拼错或大小写错——希腊字母 \alpha 不能写 \alfa\beta 不能写 \bata;大小写敏感:\Gamma 是大写 Γ,\gamma 是小写 γ——拼错就报 Undefined control sequence(3) 中文标点混入半角公式——把 替换成 ( 替换成 ,、中文引号替换成英文引号。额外两类小坑\\ 换行只在 matrix/aligned/cases 环境里有效(独立公式里 \\ 是错误);% 是 LaTeX 注释符,要显示百分号必须 \%自查习惯:报错时看底部红色提示,KaTeX 会标"位置 N",去源码第 N 个字符附近找;实在拼不出来 → 用上方符号面板点选避免手敲。

分享链接会把公式上传服务器吗?为什么 URL 那么长?

不会上传。本工具的分享链接把公式源码 base64 编码后放在 URL 的 hash 片段#tex=...)。按 HTTP 协议规范,hash 部分(# 后面)浏览器永远不会发给服务器——服务器日志、CDN、代理都拿不到。对方点开链接时,浏览器在本地从 URL hash 取出 base64、解码、用 KaTeX 渲染显示。URL 长度:浏览器允许 8 KB+,麦克斯韦方程组、长导数链都能塞下。但超过 2 KB 时分享链接非常长(容易被聊天工具截断、显示丑),推荐改用 ⤓ PNG / SVG 文件直接发给对方。安全边界:分享链接的隐私性等于"剪贴板"——对方拿到链接就能看到公式,但中间任何网络节点都看不到(HTTPS 传输 + hash 不上服务器双重保障)。

KaTeX 不支持哪些高级语法?什么时候必须退到 MathJax 或本地 TeX?

KaTeX 不支持的常见场景:(1) \usepackage{xxx} 附加包加载——TikZ 画图、chemfig 化学键、physics 物理符号包都需要 MathJax 或本地 TeX;(2) 自定义宏(\newcommand{\myop}{\sum_{i=0}^n})——本工具不支持自定义宏,每次都要写完整命令;(3) 部分 AMS 罕用环境(如 eqnarray*subequations)——KaTeX 选择性支持,常用的 aligned / cases / pmatrix 都有;(4) 复杂的图形排版(\xymatrix 画交换图、\tikzcd 范畴论图表)——必须本地 TeX;(5) 字体切换(\mathfrak\mathcal\mathbb 都支持,但 \mathscr 在 KaTeX 里要看版本)。实务:90% 的非论文场景 KaTeX 完全够;写论文整篇切 Overleaf;只是要画一张交换图 / 化学结构图 → 单独用 Overleaf 出图,公式正文继续 KaTeX。

Σ 打开 LaTeX 公式编辑器 KaTeX 实时渲染数学公式·希腊字母/积分求和/矩阵/方程组速插·14 个公式模板·复制 LaTeX/HTML/MathML·导出 PNG/SVG·分享链接·本地处理