vscode jupyter补全_TexStudio:最好用的tex编辑器(含自定义补全)

33e61fd1d2209c12a420aae3e3cacbd5.png

无论你是什么原因需要使用

编辑文稿,你都要一款编辑器和编译器,后者在此不在赘述,大部分人都会选择Texlive和MiKTeX,至于编辑器嘛,你可以尝试:
  1. 神圣的Vim/Emacs
  2. VScode/Sublime
  3. Texstudio
  4. 其他

为什么我说texstudio是最好的tex编辑器?因为它简单,当你去用vscode,你要面临一对CSDN和博客圆互抄还说着行内黑话的人跟你说着复杂的配置,你真有心情去弄嘛?

当你看了某1700页小哥,你真的会去学VIM吗?还是别吧,如果你只是想编辑一下LaTeX,那么texsutdio绝对够你用了,至于我为什么这么说,理由如下.


可以自定义配色

好用不好用是可以解决的是,漂不漂亮是一辈的事,texstudio支持你自定义配色方案,可以上网搜到,直接复制粘贴用上sublime同款.

可以自定义快捷键(宏)

这是最重要的一部分,当我说起快捷键,你可能想到的是按Ctrl+B输入粗体,然而快捷键不仅是这样,texstudio也可以做到和vim一样丰富的补全,下面上实例.

a109bb7b8fc8470adac78cd32effe28a.png

在顶部工具栏,宏(macros)-自定义中可以找到此面板

  • 名称:它的名字
  • 描述:怕自己忘了随便写一点
  • 缩写:按下反斜杠的内容,比如缩写 lim ,在编辑时输入lim就会找到自定义的代码片段
  • 触发器:这是一个正则表达式,可以去网上搜,也可以通过下面的实例领悟
  • 快捷键:实体按键,比如上述的Ctrl+B
  • 类型:下面说
  • LaTeX代码:通过快捷方式希望出现的代码片段

我设置了这些自定义宏,因为我没有用快捷键,我下面说的都是触发器中的内容


触发器:`l
代码片段:lambda

输出:


触发器:`a `b `g `e `d ``d
代码片段:alpha beta gamma varepsilon delta Delta

这样打字的时候按`a就可以输出

上述例子类似的还有

触发器:cz(存在的首字母)
代码片段exists
触发器:ryi
代码片段:forall
触发器:wuq
代码片段:infty

触发器:intt
代码片段:int_{%<从...%>}^{%<到...%>} %<f(x)%> mathrm{d}x%< %>

解释一下,texstudio中用%<%>来代指光标的位置,你可以在%<这里%>输入提示词,当按下intt时,屏幕上就会出现

int_{text{从...}}^{text{到...}} f(x) mathrm{d}x

按ctrl+right键在%<%>出跳动,比如输入 intt a b,就会输出

这里f(x)也是预留的,当跳转到f(x)时不输入直接按ctrl+right,就会保留预置的内容.

这里的ctrl+right也可以在设置-快捷键-键盘映射中改为Tab,然后把缩进改成另一个,我把缩进改成了ctrl+

用%|也可以代指光标,只是这个不能跳转

上述例子同样的还有

触发器:=-=
代码片段:sum_{%<i=1%>}^{%<n%>} 
触发器:lim
代码片段:lim_{%<i to infty%>}
触发器:ii(inline的意思)
代码片段$ %| $
触发器:oo(outline)
代码片段:
[
%|
]
触发器:cu
代码片段:textbf{%|}

剩下的留待读者自己挖掘,自己觉得什么顺手就用什么


下面介绍最最最牛逼的部分,脚本.我在百度上几乎搜不到什么东西,翻墙去谷歌倒是收获了很多实例,懂了一部分,更多的语法涉及到Javascript,我不准备学了,毕竟为了用vim我还特地买了个树梅派涌起了linux.

用脚本,需要在类型中选择脚本.第一行出现%SCRIPT

再之后输入

触发器:([0-9]+)r
代码片段:
%SCRIPT
var up=triggerMatches[1]
editor.write("^{"+up+"}");

解释一下,触发器中用到了正则表达式,r是回车的意思(return)半个小时就学得差不多了,b站有,你可以换成更复杂的

([imn]?[-+]?[0-9]+)r

下面的triggerMatches是和触发器匹配时执行脚本,在输入内容的左边加上^{ 在右边加上}

这样我输入a0按回车,就会出来a^{0},输入ai回车就是a^{i}

你可能会问:那下标怎么办呢?

可以在触发器中输入

([imn]?[-+]?[0-9]+) 

咋一看是把r去掉了,实际上是打了一个空格,看不到罢了,这样输入a0再按一下空格,就有a_{0}

这样做是因为回车在键盘上面,空格在键盘的下面,这些都是偷懒的思想.

说道空格,我要提一句,在替换infty这种的时候,最好在代码片段的infty后面也加上一个空格,否则当infty出来后在输入英文字母会和infty融合在一起,如果你不按空格的话.也就是我wuq后出来infty,我在输入a>0,就会变成inftya>0,这样无疑会报错!


上述例子的类似:

触发器:[一-龥]+      
这是代指所有中文
代码片段:
%SCRIPT
var hanzi=triggerMatches[1]
editor.write("text{"+hanzi+"}");

把反斜杠转义,能够输出text{汉字},这样在数学环境中就可以不用跳出去,直接在里面打汉字了.


其他的

触发器:()r
代码片段:left( %| right)
触发器:{}r
代码片段:leftlbrace %| rightbrace
触发器:|r
代码片段:left| %| right|   绝对值

有问题欢迎交流,可以知糊私信,或者qq1164299245

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值