Posted on ::

在 VS Code 中使用正则表达式(Regex)批量在 LaTeX 公式与中文字符间加空格,需要分两种情况(公式在左或在右)进行匹配。 以下是具体操作步骤和正则表达式:

第一步:打开替换面板

  1. 在当前文件中按 Ctrl + H(Mac 为 Cmd + Option + F)。
  2. 点击输入框右侧的 .* 图标,启用正则表达式模式。

第二步:执行替换(分两步进行)## 1. 处理:中文 + 公式(如 中文$x$ -> 中文 $x$)

  • 查找内容:([\u4e00-\u9fa5])(\$)
  • 替换内容:$1 $2
  • 解释:匹配一个中文字符和紧随其后的 $ 符号。$1 代表第一个括号里的中文,$2 代表第二个括号里的 $,中间加个空格。

2. 处理:公式 + 中文(如 $x$中文 -> $x$ 中文)

  • 查找内容:(\$)([\u4e00-\u9fa5])
  • 替换内容:$1 $2
  • 解释:匹配 $ 符号和其后的中文字符。同理,在两者捕获组中间插入空格。

高级:一次性处理(更严谨,推荐)

如果你的公式有单美元 $x$ 和双美元 $$x$$ 两种情况,为了防止误伤公式内部,可以使用以下组合: 场景 A:中文 + 公式

  • 查找:([\u4e00-\u9fa5])(\${1,2})
  • 替换:$1 $2

场景 B:公式 + 中文

  • 查找:(\${1,2})([\u4e00-\u9fa5])
  • 替换:$1 $2

注意事项

  1. 预览修改:在点击“全部替换”之前,先通过上下箭头查看搜索结果,确保没有误伤(例如你的公式内部不小心混入了中文字符)。
  2. 全局搜索:如果你想在整个项目的所有文件中替换,请按 Ctrl + Shift + H
  3. 其他字符:如果你还想给数字或英文加空格,可以将上述正则中的 \$ 替换为 [a-zA-Z0-9]
Table of Contents