从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 中国大陆许可协议进行许可。

posted @   Gold_stein  阅读(2)  评论(0编辑  收藏  举报
历史上的今天:
2024-02-25 P8669 [蓝桥杯 2018 省 B] 乘积最大
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
🔑
  1. 1 逃离地面 RAD & 三浦透子
逃离地面 - RAD & 三浦透子
00:00 / 00:00
An audio error has occurred.

作词 : 野田洋次郎

作曲 : 野田洋次郎

空飛ぶ羽根と引き換えに 繋ぎ合う手を選んだ僕ら

それでも空に魅せられて 夢を重ねるのは罪か

夏は秋の背中を見て その顔を思い浮かべる

憧れなのか、恋なのか 叶わぬと知っていながら

重力が眠りにつく 1000年に一度の今日

太陽の死角に立ち 僕らこの星を出よう

彼が眼を覚ました時 連れ戻せない場所へ

「せーの」で大地を蹴って ここではない星へ

行こう

もう少しで運命の向こう もう少しで文明の向こう

もう少しで運命の向こう もう少しで

夢に僕らで帆を張って 来たるべき日のために夜を超え

いざ期待だけ満タンで あとはどうにかなるさと 肩を組んだ

怖くないわけない でも止まんない

ピンチの先回りしたって 僕らじゃしょうがない

僕らの恋が言う 声が言う

「行け」と言う