2021年1月25日更新:
经过这些年对Sublime Text3, VSCode, TeXStudio写LaTeX文件的摸索,非常建议放弃原教旨主义的TeXWorks,使用TeXStudio。TeXStudio的自动补全可以通过宏的方式100%自定义,使用正则表达式的语法具有极高的灵活性,追求高效不妨尝试一下。
由于本科毕业论文而开始接触使用TeXworks编辑LaTeX文件。最近得知在数学类课程老师采用板书的方式教学时,可以直接用LaTeX做笔记,最重要的是要利用LaTeX编辑器的自动补全功能,因而了解到TeXworks的自动补全功能。
(打消了我原来买Apple Pencil和iPad做笔记的想法)
不了解TeXworks自动补全功能的朋友可以先阅读http://blog.sina.com.cn/s/blog_630306a50101fjwy.html
在使用TeXworks时,经常会有些常用的环境不能够自动补全,譬如数学课程、书籍中经常出现的definition,lemma等环境,为此我们需要自定义自动补全。
在TeXworks界面,选择菜单栏上的【帮助】->【TeXworks配置与资源】,在弹出的对话框中选择“资源:”后面的链接,进入TeXorks资源文件夹。进入“complettion”文件夹,并用Sublime Text 3等编辑器打开“tw-latex.txt”文件。
该文件中每一行(除了第一行外)都是以下格式
引导词:=补全内容
并且按引导词的字母表顺序排序。例如
btheo:=\ begin{theorem}#RET##INS##RET#\end{theorem}•
补全内容中的#RET#表示一个换行,#INS#表示自动补全后光标停留位置,•表示占位符(按Ctrl+Tab后光标将移到下一个最近的占位符)。【\与begin之间没有空格,这里加上空格是为了防止CSDN显示出奇怪的格式,下文亦会加上空格。】
为了添加新的自动补全命令,我们只需要在这个文件第一行与第二行间新建一行,或若干行(不需要考虑字母表顺序),按照上述格式添加即可。例如我需要键入“bdef”再按Tab后将得到
\begin{definition}
\end{definition}•
且光标停留在中间的空行处,那么我们只需要在tw-latex.txt文件中添加一行
bdef:=\ begin{definition}#RET##INS##RET#\end{theorem}•
即可。
作为一名数学从业者,我在tw-latex.txt文件中添加了以下几行
bdef:=\ begin{definition}#RET##INS##RET#\end{definition}•
bcor:=\ begin{corollary}#RET##INS##RET#\end{corollary}•
blem:=\ begin{lemma}#RET##INS##RET#\end{lemma}•
bexa:=\ begin{example}#RET##INS##RET#\end{example}•
bpro:=\ begin{proof}#RET##INS##RET#\end{proof}•
bprop:=\ begin{proposition}#RET##INS##RET#\end{proposition}•
expe:=\mathbb{E}(#INS#)
分别代表了定义、推论、引理、例子、证明、命题的环境,以及数学期望符号。