使用正则表达式统一字符间距
在 VS Code 中使用正则表达式(Regex)批量在 LaTeX 公式与中文字符间加空格,需要分两种情况(公式在左或在右)进行匹配。 以下是具体操作步骤和正则表达式:
第一步:打开替换面板
- 在当前文件中按
Ctrl + H(Mac 为Cmd + Option + F)。 - 点击输入框右侧的
.*图标,启用正则表达式模式。
第二步:执行替换(分两步进行)## 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
注意事项
- 预览修改:在点击“全部替换”之前,先通过上下箭头查看搜索结果,确保没有误伤(例如你的公式内部不小心混入了中文字符)。
- 全局搜索:如果你想在整个项目的所有文件中替换,请按
Ctrl + Shift + H。 - 其他字符:如果你还想给数字或英文加空格,可以将上述正则中的
\$替换为[a-zA-Z0-9]。