找回密码
 快速注册
搜索
查看: 4|回复: 0

rime输入TeX命令

[复制链接]

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2024-10-18 00:46 |阅读模式

Rime Latex 数学符号输入方案 | Typing LaTeX symbols everywhere.

CSDN rime中州韵小狼毫 LaTex输入法配置

Github

dyy个人使用的rime输入法的配置包

Rime 输入法在 TeX 输入中的运用

《Rime定製指南(来点我)》

《輸入方案設計書(来点我)》

——若干年前,人们用Rime前得先琢磨透的文档。

下面开始进入本文的中心——4. 让Rime替我们输入TeX命令!

首先注意到,『傻瓜式』的配置使用“/ + 字母”的组合输入符号, (详见『傻瓜式』中的 symbols.yaml), 这自然是像极了TeX的命令,思绪由此发散开来……

一个方法是打开用户文件夹中的 custom_phrase.txt,该文件用于用户自定义短语,怎么输入都行,不需要考虑字符转义,TeX命令自然可以被囊括其中。 另一方法则是借助『傻瓜式』中的符号文件进行设置,此法好处在于设置时较方便,且看后文……

此处就以使用频率很高的定界符为例,在 symbols.yaml 中增设一系列括号类的TeX命令:

    '/kuo': [ '()', '\left( \right)', '\bigl( \bigr)', '\Bigl( \Bigr)', '\biggl( \biggr)', '\Biggl( \Biggr)', '[]', '\left[ \right]', '\bigl[ \bigr]', '\Bigl[ \Bigr]', '\biggl[ \biggr]', '\Biggl[ \Biggr]', '\{\}', '\left\{ \right\}', '\bigl\{ \bigr\}', '\Bigl\{ \Bigr\}', '\biggl\{ \biggr\}', '\Biggl\{ \Biggr\}' ]
    '/ve': [ '\lvert\rvert', '\left\vert \right\vert', '\bigl\vert \bigr\vert', '\Bigl\vert \Bigr\vert', '\biggl\vert \biggr\vert', '\Biggl\vert \Biggr\vert' ]

重新部署后输入“/kuo”就是如下的样子 这里需要提醒一下,yaml文件对格式敏感,输入‘/kuo’条时前面有4个空格,切不可忽视。

现在面临新问题,我们这个命令不像是 TeX 的命令,普通斜杠没有那味。 那么这个问题也可以解决,对符号设定剖析深入的知乎文章 有助于我们继续DIY。

根据此文以及其第1行指向的补充文,我们看向 symbols.yaml 第10行, 这一行规定了『傻瓜式』方案中匹配符号的方式,写法大概就是正则表达式,我们不妨把反斜杠加入词头,

 '^/([0-9]0?|[A-Za-z]+)$' -> "^([/\\\\])([0-9]0?|[A-Za-z]+)$"   #比较特殊,要写4个\
                          -> "^([/\\\\vi])([0-9]0?|[A-Za-z]+)$" #也能设定v或i开头的符号

同样的改动要登记到优先级较高的 luna_pinyin.custom.yaml 中的第193行才能生效。对上一页的‘/ve’稍事修改后即可实现:

TeX 这么多命令里面,最阴间的地方可能就是环境格式 , 因为它多行,意味着代码量还不小。好在即便是多行代码也能整进 Rime 的设置。

问题简化成:要在编辑器中输入

A

B

这个问题有两条途径,一个方法是使用Vim查看修改用户文件夹中的 custom_phrase.txt,我在Win上使用gVim进行尝试并获得了成效。 在Vim中要输入的是

A^MB [Tab] ppp         #注:怎么输入^M自行百度

保存、重新部署后,输入自定义短语‘ppp’就能得到换行的AB。

TeX 环境命令可不在少数,都用gVim设置的话有些精神污染。 可以继续在 symbols.yaml 中寻找突破,可用转义字符,提供三例足矣:

    '\al': [ "\\begin{align*}\rA ={}& B \\\\\r  ={}& C\r\\end{align*}\r", "\\begin{align}\rA ={}& B \\\\\r  ={}& C\r\\end{align}\r" ]
    '\pm': [ "\\begin{pmatrix}\rx & y\\\\\ru & v\r\\end{pmatrix}\r", "\\begin{pmatrix}\rx & y & z\\\\\ru & v & w\\\\\rr & s & t\r\\end{pmatrix}\r" ]
    '\item': [ "\\begin{enumerate}\r\\item \r\\item \r\\end{enumerate}\r", "\\begin{itemize}\r\\item \r\\item \r\\end{itemize}\r", "\\begin{description}\r\\item \r\\item \r\\end{description}\r" ]

这里再交代一些经验:

1. 使用斜杠或反斜杠启用符号时,需保证按下这俩斜杠不会直接输出符号。 简单点说一般输入法按下‘/’跳出个顿号就完事了,Rime如果设置不够合理也可能造成你想输入‘/kuo’却得到“、阔”的情况,根本不会出现前面截图所示的候选框。 解决方案是使用“v”“i”作为符号字头;若执意用斜杠做符号字头, 那么需要在 symbols.yaml 中的设置好相应条目——即俩斜杠都得对应≥2个符号才能出现候选框。 好在『傻瓜式』已经设置妥善,所以这里的问题不大。

2. 还是符号的问题,前面说过设置文件是有优先级之分的,有时会出现在 symbols.yaml 中辛苦耕耘良久, 但重新部署后没有新变化的情况,这情况只出现在半角符号(half_shape)的设置上, 因为优先级较高的文件 luna_pinyin.custom.yaml 第176–191行重复定义了一些半角符号, 导致在 symbols.yaml 里再怎么弄都是无用功,注释掉 *.custom.yaml 那几行便可脱离苦海。值得一提的是第185行的那个破折号也不是常规的破折号,常规的长这样“——”。

手机版|悠闲数学娱乐论坛(第3版)

GMT+8, 2025-3-4 12:16

Powered by Discuz!

× 快速回复 返回顶部 返回列表