求可以一键写化学式的动作

动作需求 · 1915 次浏览
yfly 创建于 2020-03-05 09:29

本人化学专业学生,经常需要在word内写化学式,但一个数字一个数字的标下标上标的太麻烦啦,所以想求一个可以一键写化学式的动作。不知道是否可以实现?

具体流程如下,

一、寻找文本中字母与数字(或+,-号)同时存在的文本,例如H2O2, OH-,SO42-;

二、如果只有字母与数字相邻,则将数字全部标为下标,快捷键ctrl+=,如H₂O₂;

三、如果存在字母与正负号相邻,则将正负号标为上标,快捷键ctrl+shift+=,如OH⁻;

四、如果两个数字与正负号相邻,则将邻近的数字和正负号标为上标,远的数字标为下标,如SO₄²⁻;

五、如果一个数字与正负号相邻,这种情况比较特殊,需要弹窗选择上下标。例如HO2-选择数字下标变成HO₂⁻,Al3+选择数字上标变成Al³⁺。

规律:

①字母和数字一定是同时存在的,(+,-号)可在可不在;

②一直不变的是字母,一直需要上标的是(+,-)号,需要判断上下标的是数字;

③数字的上下标需要分情况。

 

 


已不用Quicker,不... 2020-05-15 14:38 :

戳中痛点!如果能做成Word的插件就更好了(我在想桃子)

回复内容
CL 2020-03-05 09:49
#1

感觉有点难度。可能应该是先把文本转换成html代码(<sub><sup>标签分别表示下标上标),或者将上标下标数字替换成unicode的特殊字符(https://blog.csdn.net/Sensation_cyq/article/details/51603534),然后写入剪贴板粘贴后粘贴。

主要是转换成html代码的过程比较复杂,不知道有没有谁能搞定。

CL 最后更新于 2020-03-05 09:55
yfly 2020-03-05 11:19 :

感谢,我搜了一下有两种不需要quicker的方法,一种是word里面的加载项“文字效果自动纠正”,需要收费;另一种则是利用word的自动更正功能,相当于iPhone的文本替换功能,可以替换成带格式的化学式,这个方法准备起来比较麻烦。

yfly 最后更新于 2020-03-05 11:20
ChinaHowe 2020-03-07 00:09 :

word中的“自动更正选项”可以用啊,不需要付费额

CL 2020-03-07 19:59
#2

找到一个js代码,做了一个动作可以试试:https://getquicker.net/sharedaction?code=acd50dea-9df0-4ed6-a3cf-08d7c216a695


yfly 2020-03-07 20:22 :
感谢您这么快做了一个动作!我刚刚立刻尝试了一下,还是存在一些问题。一是上下标数字格式问题,在正式毕业论文的写作中,上下标的数字不能用特殊字符,只能像我在问题描述那样表示的右键-字体-选择上下标(或者快捷健ctrl+=或ctrl+shift+=);二是数字的上下标判定问题,我刚刚尝试了一下数字似乎都是默认是下标的,但在表示离子的时候,有部分数字是当作上标的,例如我在问题描述中说到的Al³⁺,NO₂⁻。所以还有完善的空间,不过非常感谢您!
CL 回复 yfly 2020-03-07 20:29 :

前面加一个空格似乎就会变成上标,可以看他原来的例子。“Al 3+” 得到的是 Al³⁺。这个格式支持纯文本,在记事本这种地方都是可以用的。 

yfly 回复 CL 2020-03-07 20:48 :

哦哦,原来如此,确实很方便!不过这个动作似乎还不能解决我最近写论文的痛点。1.虽然¹²³₁₂₃这些支持纯文本,但我们在正式论文写作里是不能用的。。。(虽然我觉得很不方便,但是就这么规定的)。2.另外,上标问题,空格的想法很棒,但是在化学式写的多的情况下,估计在写的时候不会太注意要不要空格。我之前在写作的时候有意识的时候会写完就开始ctrl+=,ctrl+shift+=来标,有时候忘记了只能重新浏览一遍找遗漏的,就很麻烦。PS.还好前天发现Word里有自动更正功能,只是需要自己先弄一遍,相当于要自己做一个数据库;另外一个方法就是word里面的一个收费的加载项“文字效果自动纠正”,这个的操作原理应该是连到某个数据库里的,您感兴趣的话可以看看它的实现原理。。

CL 回复 yfly 2020-03-07 20:58 :

更新了动作,支持选择格式为角标了。使用特殊格式语法相比手动选择上标还是下标会更有效率。只要写完公式后用热键操作一下转换就可以了。

yfly 回复 CL 2020-03-07 21:17 :

太棒了!已经可以解决我的大部分痛点了(可能在写作时自己要注意一点数字上标要空格的问题)!感谢您

yfly 最后更新于 2020-03-07 21:18
CL 回复 yfly 2020-03-07 21:18 :

不客气! 欢迎把这个操作介绍给同学,帮我推广一下Quicker😁

yfly 回复 CL 2020-03-07 21:23 :

我会的!

hanheihei 2021-04-30 09:42
#3

可以看下这个,参考一位高人的vbs代码。https://getquicker.net/Sharedaction?code=a957a0dc-7ed3-40b7-c3b1-08d908802222

hanheihei 最后更新于 2021-04-30 09:43
回复主贴