从vsc支持的md内嵌Latex到博客园支持的内嵌Latex
从vsc支持的正则到博客园支持的正则
问题
在vsc中,如果要在md内嵌Latex公式,单行应该是用小括号包围,多行是中括号;
而在博客园当中则应该使用dollar符,我们可以写一个脚本来进行转化
脚本
import re
def replace(input: str):
in_patterns = [r"\\\((.*?)\\\)", r"\\\[", r"\\\]", r"((.*?))"] # 最后一个用来特判博客园的情况
out_patterns = [r"$\g<1>$", r"$$", r"$$", r"( \g<1> )"]
with open(input, 'r') as file:
lines = file.readlines()
with open(input, 'w') as file:
for line in lines:
for i in range(4):
line = re.sub(in_patterns[i], out_patterns[i], line)
file.write(line)
if __name__ == "__main__":
input = "tmp.txt"
replace(input)
加第四个是因为,如果一个latex表达式被中文括号包围,不加空格隔开的话会渲染错误。
另外,vsc的搜索功能当中,$
符号是特殊符号,如果需要字面量需要连打两个或者转义,但是在python的正则表达式当中,$
符只是一个普通的字符。
本文作者:Gold_stein
本文链接:https://www.cnblogs.com/smartljy/p/18737243
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2024-02-25 P8669 [蓝桥杯 2018 省 B] 乘积最大