起因
前段时间在有道云笔记上写笔记,里面使用latex来记录数学符号,有道云的latex行内触发模式为 `$ latex $`, 之后我在visual studio code里面使用markdown+math 插件(简写为mdmath)来实现相同的功能,但mdmath插件中latex触发方式和有道笔记最相似的是 gitlab项,不同之处在于mdmath的行内触发方式为 $``$;和有道云笔记的不同,两者不统一的话是最折磨人的,所以动手给mdmath插件添加了youdao选项
修改步骤
- 找到插件所在位置,ctrl+p 输入
Extensions: Open Extensions Folder
打开文件夹 - 打开插件目录下面 goessner.mdmath-2.1.0/node_modules/markdown-it-texmath/texmath.js 文件 2.1.0是版本号
- 在js文件的166行左右复制gitlab选项 从命名为youdao
- 修改youdao下inline选项(因为gitlab的display选项和有道云的相同) 的reg和tag标签 rex: /`$(.+?)$\
/gy**, **tag: ‘$
‘ - 修改vsc的设置文件,把mdmath.delimiters 设置为youdao "mdmath.delimiters": "youdao"。
- 重启vsc就可以使用 `$ latex$` 来触发行内latex, ``` latext ``` 触发块状latex
修改后的gitlab和youdao选项:
gitlab: { inline: [ { name: 'math_inline', rex: /\$`(.+?)`\$/gy, tmpl: '<eq>$1</eq>', tag: '$`' } ], block: [ { name: 'math_block_eqno', rex: /`{3}math\s+?([^`]+?)\s+?`{3}\s*?\(([^)$\r\n]+?)\)/gmy, tmpl: '<section class="eqno"><eqn>$1</eqn><span>($2)</span></section>', tag: '```math' }, { name: 'math_block', rex: /`{3}math\s+?([^`]+?)\s+?`{3}/gmy, tmpl: '<section><eqn>$1</eqn></section>', tag: '```math' } ] }, youdao: { inline: [ { name: 'math_inline', rex: /`\$(.+?)\$`/gy, tmpl: '<eq>$1</eq>', tag: '`$' } ], block: [ { name: 'math_block_eqno', rex: /`{3}math\s+?([^`]+?)\s+?`{3}\s*?\(([^)$\r\n]+?)\)/gmy, tmpl: '<section class="eqno"><eqn>$1</eqn><span>($2)</span></section>', tag: '```math' }, { name: 'math_block', rex: /`{3}math\s+?([^`]+?)\s+?`{3}/gmy, tmpl: '<section><eqn>$1</eqn></section>', tag: '```math' } ] },