|
中文语境添加LaTeX分隔符
按下面的规则,在中文语境应该能匹配大多数公式(可根据个人习惯修改 )
- 由,号-号_号\号(){}[]号和除了汉字或标点(^号在Unicode里不属于标点而_号\号属于)的任意字符组成
- 首末不是,号和空白
- 单独一个字母是公式, 多个字母不是公式(外文单词)
写成JS
- function add$(teststring){
- return teststring.replace(/(-|\(|\)|\{|\}|\[|\]|_|\\|,|[^\p{P}\p{sc=Han}])+/gu,match=>{
- if(/^\p{L}$/u.test(match))return '$'+match+'$';
- if(match.length==1||/^[\s|\p{L}]+$/u.test(match))return match;
- return match.replace(/^(\s*)(\S*)(\s*)$/,(m,p1,p2,p3)=>p1+p2.replace(/^(,?)(.*?)(,?)$/,'$1$$$2$$$3')+p3)})
- }
复制代码
例1- add$(String.raw`公式可含,号,如 1,2,\cdots,n,上标 11^2,a的11倍是11a.如 1+1=2, 保留首末逗号与空白.`)
复制代码 输出
- 公式可含,号,如 $1,2,\cdots,n$,上标 $11^2$,$a$的$11$倍是$11a$.如 $1+1=2$, 保留首末逗号与空白.
复制代码
例2
- add$(String.raw`曲线\Gamma当t\in\mathbb{(-2\pi,2\pi)}的Wolfram Mathematica绘图代码:`)
复制代码
输出
- 曲线$\Gamma$当$t\in\mathbb{(-2\pi,2\pi)}$的Wolfram Mathematica绘图代码:
复制代码 |
|