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}
热门推荐
把滑雪从爱好变成职业,这个证不能少!
兰州西站:中国西部最大规模的路网型铁路客运枢纽站
看展丨不经雕琢,何以璀璨——从钻石的切割说起
“吸猫”停不下来?小心幽门螺杆菌“找上门”
打造农产品区域公用品牌 政府、企业如何分工协作?
走私行为的类型与法律规定
高压共轨发动机详解:工作原理及优势?
森林抚育采伐及其影响
联考新趋势:本土化元素在各省省考中的体现与备考建议
阑尾“危机”请别怕,我们有对策!
调理好胃病,日常护胃有妙招——从中医角度谈胃部健康
邮报:遭到违规指控,曼城新赛季降级赔率降到和西汉姆同级
肺腺癌日常注意事项
哈尔滨亚冬会圆满落幕!中国代表团创参赛历史最好成绩,冰雪盛会带动冰雪经济更好发展
加拿大人口快速破4100万!未来50年人口增长仍靠移民!
这植物种子像小船,俗称“梧桐”,可食可入药,遇到请重视!
“ts”缩写在网络语境中的多重含义与使用场景解析
电脑时区的设置错误会带来哪些问题?如何正确设置电脑时区?
食神坐食神是什么意思?食神有哪些特征?
版画制作全流程详解:从构思到成品的艺术之旅
预防登革热2大招:清积水、防叮咬!如有症状做好4点
公务员退休后福利待遇概览:养老金、退休补贴及更多权益解读
巩膜色素斑是怎么回事
红外光谱仪原理、作用及操作方法(详细介绍)
婴儿心脏手术风险全解析:从麻醉到术后康复的六大隐患
一文读懂2024年中国培育钻石行业现状及前景:供需失衡,行业价格暴跌
歌曲祝你平安孙悦歌词,感受孙悦的温暖
中国新一代步兵作战支援轮式步战车族:全能战士的“全家福”
怎么看自己的车加多少号汽油?
Ps:反相