LaTeX反斜杠丢失:复制后的原因与处理

更新于

LaTeX反斜杠丢失,最常见的现象是方程组挤成一行、集合的花括号不见了,或者预览里冒出一个标红的未知命令。原因有两类:公式经过 Markdown 解析时,反斜杠被当成转义符吃掉;复制时拿到的是渲染后的公式文字而不是源码,或者公式写进程序字符串被当成转义。分辨的办法是看丢的是哪种反斜杠,修复则是把源码放进代码块再传,或者按规律把丢掉的补回来。

现象:丢了之后长什么样

以一个二元一次方程组为例,原本的源码是:

\begin{cases}x+y=5\\x-y=1\end{cases}

经过 Markdown 一遍,行尾的两个反斜杠只剩一个,源码变成下面这样。交给 KaTeX 渲染,报错 Undefined control sequence: \x:程序把剩下那个反斜杠和后面的 x 连起来,当成了一个叫 \x 的命令。

\begin{cases}x+y=5\x-y=1\end{cases}

集合写法更隐蔽。A=\{x\mid x>0\} 丢掉花括号前的反斜杠后,渲染不报错,只是两边的花括号消失,读者看到的是没有括号的集合。这类不报错的丢失最难发现,要靠和原文逐个符号比对,花括号、逗号这类小符号尤其要看仔细。

两类原因怎么分辨

丢失的样子 原因 修法
两个反斜杠变一个 Markdown 转义 放进代码块再发,或把每处补成两个
\{ \} 只剩花括号 Markdown 转义 补回反斜杠
\, \; 只剩标点 Markdown 转义 补回反斜杠
字母命令的反斜杠也没了 复制了渲染后的文字,或程序字符串把 \f、\t 当转义 回原处复制源码;程序里给反斜杠加倍

方程组:x 加 y 等于 5,x 减 y 等于 1

CommonMark 规范(0.31.2 版)「Backslash escapes」一节写明(核实日期 2026-09-27):任何 ASCII 标点前的反斜杠都表示转义,渲染后只留下那个标点。两个反斜杠、\{、\, 都在这个范围里,而 \frac、\alpha 这类字母命令不受影响。

所以丢的只是标点前的反斜杠,就可以断定是 Markdown 造成的;连字母命令的反斜杠也没了,就不是 Markdown 的事:多半是复制了渲染后的公式文字而不是源码,或者公式写进程序字符串被当成转义,比如 \frac 开头的 \f 成了换页符、\theta 开头的 \t 成了制表符。支持 Markdown 格式的聊天软件与第一类同理,只吃标点前的反斜杠。

反斜杠丢失的样子与原因对照表

处理步骤

  1. 能改源头的,把公式放进代码块或行内代码再发送。代码块里的反斜杠按原样保留。
  2. 所用的笔记或博客支持公式扩展的,打开它:扩展会先把公式取出来,再交给 Markdown 处理其余文字。
  3. 已经丢了的,按上表补回:方程组、矩阵每行末尾补成两个反斜杠,集合花括号和小间距前补一个。
  4. 在支持 Markdown 的聊天软件里发给别人的公式,改用文件、截图或代码块。截图对方还得识别才能变回源码,本站的图片识别要登录并开通本站会员。

顺带一提:公式里成对的下划线也会被 Markdown 当成强调,让中间的文字变斜体,放进代码块或开启公式扩展就能避开。

丢失后与补回后的源码写法两栏对照

补完怎么核对

把补好的源码粘进本站公式编辑器的「LaTeX」模式,再切到「可视化」模式:方程组分成两行、左侧大括号完整,集合两边的花括号显示出来,就说明补全了。x=3、y=2 代回两式都成立,也顺手核一遍内容有没有被改动。

方程组的解x=3、y=2及代回两式

补反斜杠时从方程组、矩阵的行尾查起,那里最容易成片丢失,查完行尾再看花括号和小间距。

延伸阅读

  • SimpleLaTex:在线写 LaTeX 公式的入门步骤
  • Markdown公式语法:Markdown 里写公式的定界符与常见坑
  • 网页显示数学公式:MathJax 与 KaTeX 的接入步骤对照
  • 公式预览空白:程序字符串与 JSON 里反斜杠翻倍的检查
  • LaTeX粘贴变形:到其他软件的3种情况

常见问题

双反斜杠变单反斜杠怎么办?
这是 Markdown 把第一个反斜杠当成转义符吃掉了。能改源头就把公式放进代码块或行内代码再发,代码块里的反斜杠不做转义;已经丢了的,就在方程组、矩阵每行末尾把单个反斜杠补回两个,再把集合花括号前的反斜杠补上,渲染一次确认各行分开、花括号显示出来。