Obsidian插件Latex suite:让LaTeX数学排版快如手写
创作时间:
作者:
@小白创作中心
Obsidian插件Latex suite:让LaTeX数学排版快如手写
引用
1
来源
1.
https://pkmer.cn/Pkmer-Docs/10-obsidian/obsidian%E7%A4%BE%E5%8C%BA%E6%8F%92%E4%BB%B6/obsidian-latex-suite/
Obsidian是一款强大的知识管理工具,而LaTeX则是科学论文和数学公式排版的常用语言。为了让用户在Obsidian中更高效地使用LaTeX进行数学排版,社区开发了Latex suite插件。该插件通过代码片段、文本扩展和编辑器增强功能,使LaTeX数学排版速度大幅提升,甚至可以媲美手写速度。
基本功能
Latex suite插件的主要功能包括:
- 代码片段:通过快捷方式和文本扩展帮助用户更快地编写LaTeX。
- 文本编辑增强:支持文本模式、正则模式和LaTeX模式,可以通过字符自动触发或Tab键触发。
- LaTeX增强:内置LaTeX常用片段,支持隐藏LaTeX代码、自动填充括号、大括号、换行等操作,增强LaTeX公式的可读性。
片段设置
片段有两个方式进行设置:
- 在设置里有个内置的输入框,但体验不是很好,输入框大小被限制了;
- 自定义文件,将一个后缀为js的文件放到库内,然后在设置里指定就好了。
片段编写
典型的片段文件如下:
[
//环境设置
{trigger: "$", replacement: " $$0$ ", options: "t"},
{trigger: "$$", replacement: "$$\n$0\n$$", options: "tA"},
{trigger: "beg", replacement: "\\begin{$0}\n$1\n\\end{$0}", options: "mA"},
//begin环境
{trigger: "equat", replacement: "\\begin{equation}\n$0\n\\end{equation}", options: "mA"},
]
是一个json文件,每一个大括号是一个片段。一个典型的片段如下:
{trigger: string, replacement: string, options: string, description?: string, priority?: number}
- trigger字段指定触发字符
- replacement代表将触发字符替换后的字符
- option是选项,t代表文本模式,m代表LaTeX模式,r代表正则模式,A代表自动触发。文本模式指仅在正文中触发,LaTeX模式指仅在LaTeX块中触发——$包裹的部分,r是使用正则表达式,w代表词边界,仅当触发字符前面(和后面)有单词分隔符时才运行此代码段。
- $0代表光标跳转的位置,[[0]]代表正则表达式替换的位置。description是片段描述,可选,priority是优先级,当有多个同样的触发字符时,优先级高的会优先触发,默认是0优先级。
以第一个片段为例:指明$为触发字符,将字符替换成$$,替换后光标在两个$符号中间,option中的t代表文本模式,不会自动触发。
LaTeX suite常用正则表达式
下面是一些常用的正则表达式总结:
- 符号 用处 说明
- () 形成一个捕获组 可以进行引用
- [] 不会形成捕获组,且只能匹配其中的任意一个字符 不能进行引用
- [[0]] 表示提取第一个正则表达式的值
- [[1]] 表示提取第二个正则表达式的值
- ([a-zA-Z]) 26个字母大小写的正则表达式 单个字母
- (\d) 匹配数字的正则表达式 0-9的数字
- (${GREEK}) 在LaTeX suite中自定义的变量 不能用[${GREEK}]表示
- (${Symbol}) 同上
- (${short-symbol}) 同上
- ^ 表示行首,在[]中的第一个位置时表示否定 [^abc]b表示非a的单个字符
- ([^’]) 匹配非’的任意符号
- | 表示或
- $0 光标的第一个位置
- \ 需要用\表示
- \^ 在正则表达式的环境下识别^,必须这样表示 其中$也是这样
- [^\\] 非\的所有其他单个符号
- (.*) 匹配任意字符串,即可以不匹配到东西 .表示匹配任意单个字符,*表示重复前面字符零次或多次
- (.+) 贪婪匹配任意字符串,即至少匹配一个字符串 +表示至少有一个字符
- ([^=$]*) 匹配的字符中不能包含=和$ 对单个字符有要求,即不能是[=$]中的元素,但是目前来看对?:;不起作用
- [+=-] 匹配其中的单个字符,并不需要符号|
- \s 表示空格
- \b \b 表示匹配其中单个字符,而不是字符串中的东西
- \d* 匹配可能没有数字的情况
- \d+ 匹配至少有一个数字的情况
- \2{1} 表示引用第二个被匹配的字符,且出现一次 a-zA-Z\2{1},即xii
- (?<!^|\n) 检验是否为行首
- (?<=…)(?<!) 后瞻断言,检测匹配方向的后方,分为正定和否定
- (?=…)(?!) 前瞻断言,检测匹配方向的前方,分为正定和否定
- ? 表示前面字符出现的次数 -?表示-只能出现0次或一次
进阶用法
- 了解相关option项,编写任意所需公式
- t 文本方式 仅在数学之外运行此代码片段
- m 数学模式 仅在数学内运行此代码片段,m模式包含M和n
- M 块数学模式 仅在$$ ... $$块内运行此代码片段
- n 内联数学模式 仅在$ ... $块内运行此代码片段
- A 自动 键入触发器后立即展开此代码片段。如果省略,则Tab必须按下该键才能展开代码片段
- r Regex trigger将被视为正则表达式
- v 视觉 仅在选择时运行此代码片段。触发器应为单个字符
- w 单词边界 仅当触发器位于单词分隔符(例如、或)之前(和之后)时才运行此代码段。.,-
- c 代码模式 仅在
...
块内运行此代码片段
精准替换
查看代码对照表如下图,增删改查,得到需要的代码键值对
- 其中‘$0’代表光标第一个位置,$1’ 为跳转下一个位置
线性代数矩阵支持
该插件在矩阵、行列式的输入上也保持较快的速度
$$
\mathbb{1}_{3\times 3}=\begin{pmatrix}
2 & 3 & 4 \\
3 & k & k \\
i & 9 & 0
\end{pmatrix}
$$
$$
\mathbb{1}_{3 \times 3}=\begin{pmatrix}
33 & \theta \cos\epsilon & 4334 \\
f & 4 & 89 \\
433 & 890 & f
\end{pmatrix}
$$
Latex Matrics
一款格式化矩阵的插件,可以最大程度避免手打发生错误的插件。
还可以在方格中输入
- 分数:{n}/{m}
- 下标:n_{m}
- 上标:n^{m}
热门推荐
老年人跌倒后的正确处理方法
熊出没主题乐园即将开园,洪泽区打造“文旅新城”迈出关键一步
草莓季来袭,这样吃才不会胃疼
草莓吃多了胃疼怎么办?教你几招
草莓:“水果皇后”还是“最脏水果”?真相在这里!
柯基打嗝频发?三招教你轻松应对
从用户洞察到SEO优化:打造高转化率文案的四大技巧
老年人健康饮食指南:维生素D和钙的秘密
冬季养生正当时!党参红枣炖乌鸡,老人养生首选
精准农业遇上物联网,AI如何重塑农田?
全球物联网大会热议:AI与物联网如何驱动数字经济?
福州琅岐红光湖公园摄影指南:十大拍摄点与实用技巧
游戏陪玩、虚拟恋人:陪伴行业年入百亿,解救都市孤独
社区活动助力退休人员拓展社交圈,提升幸福感
退休文艺爱好者创新引领,跨代合作吸引年轻力量
钟南山推荐过敏防控指南,助力基层医院提升诊疗能力
南靖土楼精华游:田螺坑“四菜一汤”与云水谣古镇全攻略
南靖自驾游攻略:云水谣到田螺坑,半小时车程串联两大地标
田螺坑“四菜一汤”+云水谣古镇:厦门出发玩转南靖土楼
世界遗产土楼遇上电影古镇:福建田螺坑与云水谣全攻略
如何打造最美逆光效果?
如何打造最美逆光效果?
走出去“研学”对孩子来说有什么好处?
西安导游刘磊:用热爱和专业打造研学之旅
故宫摄影全攻略:从建筑特色到创新拍摄手法
云州随手拍,治愈心灵的摄影之旅
碳资产项目开发:深入了解碳资产管理与核算新标准
当龙虾遇上艺术:从餐桌到画布的跨界之旅
揭秘美国马萨诸塞州气象塔数据预处理秘籍
Kaggle竞赛制胜法宝:数据预处理与多元统计分析实战指南