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}
热门推荐
社交媒体上的网红特质养成秘籍
揭秘网红爆红背后的心理秘密
从需求感控制到情绪管理:挽回前女友的四大策略
倾听、支持到治疗:伴侣应对抑郁症女友全攻略
八部金刚功:千年非遗养生功法,强肾健体助长寿
张至顺道长教你八部金刚功养生秘诀
江苏深挖“名著经济”潜力 实现传承和发展双赢
远比苏锡常更好吃,这座苏北小城堪称是无数饕客心中的“宝藏”
邳州旅游必吃9大特色美食,让你品味地道风味
元旦餐桌装饰攻略:用苹果和火龙果点亮你的新年餐桌
如何正确饲养乌鸫(打造宠物生活的最佳伴侣)
横跨藏滇:日喀则至云南温泉旅游攻略
自制儿童生日蛋糕(新手也能成功DIY)
桂林导游阿洁:专业规划+独家优惠,带你玩转漓江精华
华语乐坛风云变幻:从周杰伦到李荣浩的时代变迁
回顾徐小凤:赚的钱给了父母和灾区,73岁的她至今消失在大众视野
他研究了N位世界名人,终于发现“大器晚成”的奥秘
细菌耐药性与什么有关
成语故事:本末倒置
投资中的批判性思维
成语故事五十步笑百步:傲慢与短视的寓言新解
数字文创博物馆案例分析
社交之道:与人相处的智慧与禁忌
高铁直达“五省通衢”,徐州两汉文化与美食攻略
“宝贝回家”成立16年,助力超万个家庭重聚
骑坏11辆摩托,行50万公里:郭刚堂24年寻子记
河南济源:18公里旅游路串珠成链,带动南山七村变“网红”
济源至厦门旅游攻略:交通方式与景点全推荐
抓马又温情的《好团圆》,怎么让观众“好团圆”?
《好团圆》结局:柴进贪功成替罪羊,向前徐素敏联手救向南,解气