TeXworks使用指南

MATHTH整理
这个世界上有些编辑器, 初次使用时你会觉得这玩意简直奇丑无比, 甚至怀疑这种东西很糟糕, 比如 Vim, Emacs 和TeXworks , 不过当你真正去使用它, 去开发其进阶的功能后, 才会验证那句话

人不可貌相, 海水不可斗量.

长得丑的东西, 如果其还能长期存在, 那么它一定有其过人之处. 最近我在开始使用 Vim 才深刻地领会这个道理. 仔细想想, 其实就明白了, 为什么TeXworks 会设计得不那么美观呢, 其实其设计理念与 Vim , Emacs 等设计理念是一致得,它们有着相似的设计哲学, 华美的界面对它们来说没有什么用处, 因为这类编辑器的核心目标是要高效地实现写作, 对它们而已,使用键盘上的快捷键来实现高效编辑才是其核心, 华美的界面对它们来说一方面浪费了计算机的内存, 另一方面来对于使用键盘输入的人来说, 界面对他们几乎没有什么用.

当然, Vim 有许多的快捷键能提高我们编辑的效率, 最近希望能将这两者进行整合,于是自然就产生了如下问题.

问题: 是否存在一种将 Vim 和 TeXworks 的功能进行整合的办法来提高使用 LaTeX 的效率?

本文是对使用 TeXworks 的使用技巧进行的若干总结, 期待着帮助读到这份文档的读者能大幅度地提高 TeX 的写作速度.

当然终极的杀手级武器是使用 Vim 或者 Emacs 这种级别的编辑器来编辑 TeX , 不过不可否认的是, 学习使用这种级别的编辑的经历通常不会让人感动愉悦, 不过话又说回来, 只有经历了痛苦, 那么文本编辑对你来说才会进入新境界. 细想来,人生也是如此.

TeXworks 拥有大量的快捷键, 熟练掌握这些快捷键可以减少一些界面操作,可以避免手指离开键盘区, 这样才不需要在将手在键盘和鼠标之间进行大量的切换, 这也是许多计算机高手喜欢使用快捷键的原因.

注意, TeXworks 预定义了许多常用操作的快捷键, 不过如果觉得不足,那么你可以使用脚本自定义更多符合你自己的使用习惯的快捷键.

0. 编码的使用方式

TeXWorks 默认使用 UTF-8 编码,如果你需要编辑用 GBK 编码的tex文件(比如 CCT 或者 CJK 文件),可以在文件的最前面加上如下一行以免乱码或者编译出错

% !TEX encoding = System

注4:你也可以通过在文件最前面再加如下一行指定默认的编译命令:

% !TEX program = XeLaTeX

1. 使用模版

我们写作的大多数文件, 几乎都在导言区使用类似的指令, 所以每次都输入一遍比较费时费力;即使复制粘贴, 也很麻烦. TeXworks 提供模板功能, 来简化这个工作.

1.1 使用默认安装的模板

默认情况下, TeXworks 提供了几个模版, 执行 “file→New from Template” 可以看到. 但是这些模版都是英文的.


Using_Template.png

1.2 自定义模板

你可以自己写一个模版(其实就是一个普通的.tex文件, 不过只是包含框架), 放到类似下面

C:\Users\MATHTH\.texlive2018\texmf-config\texworks\templates

的安装路径下, 当然, 如果你实在找不到, 好的办法使用 Everything 搜索关键词 texmf-config 通常就能找到这个路径了.

这里建议为自己的模板通过文件夹进行分类, 就像自带模板的安排方式的一样.

2. 拼写检查

使用 TeXworks 进行写作, 拼写检查不可缺少. 因为我们难免写个错别字. 默认情况, TeXworks 没有搭载拼写检查字典, 需要我们自己配置.

首先, 下载词典. 我们使用openoffice的词典即可, 到它的下载页面:

​ http://wiki.openoffice.org/wiki/Dictionaries

找到合适的语言, 就可以下载了. 接下来到

​ C:\Users\MATHTH.texlive2018\texmf-config\texworks

路径下, 新建 dictionaries 文件夹.

最后, 将刚才解压的文件放到 dictionaries 文件夹内. 重启 TeXworks, 可以在“Edit→Spelling”中发现刚才成功安装的拼写词典. 为了每次都能使用, 去 “Edit→Preferences→Edit→Spell-check language”中选择刚才添加的词典, 这样就可以在拼写的时候帮我们进行检查了.

遗憾的是, 中文的拼写检查还不是很好弄, 这主要是因为中文的编码远比西文编码要复杂.

3. 局部编译技巧与源代码和预览之间切换

这是一个我们经常用到的功能. 编译好了的文档, 我们预览的时候, 发现有某处需要修改, 我们希望立刻跳转到对应的源代码. 很简单, 按住ctrl键, 在预览有问题的地方单击鼠标左键,光标就会跳转到源代码文件中相应的位置. 反过来也一样, 在源代码的某处 ctrl+单击鼠标左键, 也会跳转到预览界面相应位置.

下面我们考虑如何进行局部编译.

在导言区用 includeonly 命令,比如你要include的为chap1,chap2,chap3,chap4,chap5,…,chapn,如果在导言区中声明\includeonly{chapi,chapj,chapk,...,chapr},则只会编译这个括号里面的内容。没有改动的部分就可以从 \includeonly 里去掉, 这样就不会重编译那部分,但是这部分占用的页码以及各种计数器都会被计算在内.

最后需要完整稿样的时候再去掉 \includeonly 语句.

4. 显示文档导航

执行 “Windows→Show→Tags” 可以在左侧显示导航, 通过导航我们能清晰的看到文档的大纲布局.也就是我们通常所说的文档的逻辑结构, 看到文档的逻辑结构对于整理写作思路是很有好处的.同时导航也能帮助我们在文档内进行快速的跳转.

Windows_show-tags.png

5. 删除辅助文件

编译过程中, 会产生一些辅助文件.但是, 我们最终需要保存的只是源文件和pdf文件.当然, 我们可以自己的工作路径下面手工删除不必要的文件, 不过TeXworks提供了更好的办法. 执行 “File→Remove Aux Files”即可.

Remove_Aux.png

6. 语法高亮

在Windows系统安装TeXLive后, 我们可以到
C:\Users.texlive2013\texmf-config\TeXworkss\configuration
路径 (注意, 这不是TeXLive的最初的安装路径)下的 syntax-patterns 文件中看到定义了语法高亮. 如果需要自定义语法高亮内容, 你可以修改这个文件.

7. 快捷键

当然除了这些自动补全的快捷键, 在TeXworks中, 如下的这些快捷键将能提高你在TeXworks中输入的速度.

Shortcut Action
Ctrl+T Typeset
Ctrl+b Balance Delimiters
Ctrl+N New
Ctrl+Shift+N New from Template
Ctrl+W close
Ctrl+Shift+S Save As
Ctrl+All+S Save All
Ctrl+Q Quit TeXworks
Ctrl+F Find
Ctrl+G Find Again
Ctrl+R Replace
Ctrl+Shift+R Replace Again
Ctrl+E Copy to Find
Ctrl+Shift+E Copy to Replace
Ctrl+H Find Selection
Ctrl+L Go to Line
Ctrl+= Show Selection
Ctrl+Shift+] Comment
Ctrl+Shift+[ Uncomment
Ctrl+] Indent
Ctrl+[ Unindent
Ctrl+' Go to Preview
Ctrl+\ Show Console Output
Home 移动到行首
Ctrl+Home 文档开头
End 移动到行尾
Ctrl+End 文档结尾

8. TeXworks 的自动补全功能

在首选项中勾选了自动补全之后, 就可以使用tab键使用自动补全了.如果有多个选项, 那就多按几下tab键, 在几个选项之间循环.

TeXworks的自动补全功能是很强大的, 用习惯之后将是十分高效地解决你的写作问题.

首先, 对TeXworks的自动补全功能解释一下

  1. 在TeXworks的编辑窗里面键入 xa, 按下tab键, 出现了\alpha, 这就是最简单的补全, 对简单命令的补全.

  2. 在TeXworks键入usep, 按下tab键, 得到了\usepackage{}, 这就是最普通的补全, 给出命令后的必须参数括号, 并且光标停留在括号内.

  3. 在TeXworks键入usepo, 按下tab, 得到了\usepackage[]{•}, 这是对含有可选参数的命令的补全, 光标停在可选参数的中括号内, 当我们把可选参数补完之后, 按下ctrl+tab组合键, 光标进入后面的必需参数括号内(后面的位置称为placeholder). 其中ctrl+tab是移向往下最接近的一个placeholder, shift+tab是移向往上最近的一个placeholder.

在刚才的例子中, 我们只按了一次tab, 假如我们键入的引导词是若干个命令的引导词的前部分, 则继续按下tab键会在这几个命令中切换, 得到你想要的命令.

好了, 为了使用自动补全, 我们需要记住引导词.在TeXworks中, 已经定义了很多的引导词, 而且也允许用户自己定义新的引导词.更具体的内容参看TeXworks的使用说明.

8.1 初级——预设快捷键

这里对引导词分类.

8.1.1 环境类

对于环境的补全, 引导词第一个字母均为b, 后面字母个数不定, 但是, 对绝大多数的环境, 只需要使用环境名的前三个字母就行, 即为 "b+xyz+[tab]".

比如 itemize 环境, 根据规则, 我们需要键入 "bite", 然后按下tab键, 即得到了
\begin{itemize}
\item
\end{itemize}•

符合此规则的环境有

环境名 实现方式 环境名 实现方式
document abstract align tabular
appendix bmatrix pmatrix cases
description center equation enumerate
eqnarray figure flalign gather
item letter list minipage
multiline picture split subequations
theorem titlepage trivlist varwidth
verbatim

注意事项

  1. 如果环境名开头带有the, 则xyz为除去the之后的环境名的前三个字母.

    比如bind=theindex环境、bbib=thebibliography环境.

  2. 星号环境在原来引导词后加 s, 即输入 b+xyz+s+tab , 如果环境有可选项, 需要使用可选项, 则需要在末尾加上o (option的意思), 即为 b+xyz+o+tab.

  3. 几个特殊的环境

    align=b+ali(s) alignat=b+ali+at(s) aligned=b+ali+ed alignedat=b+ali+edat(o)
    verbatim=bver+tab verse=bvers tabular=b+tab tabularx=b+tabx
    tabbing=b+tabb table=b+tabl、b+tbl
  4. 章节命令:

    \cha +tab =\chapter{} \sec+tab=\section{}
    \ssec+tab =\subsection{} \sssec+tab=\subsubsection{}
  5. 参考文献

    bbib =\begin{thebibliography} bibitem=\bibitem
    bibitemo+tab=\bibitem[ ] bibs+tab =\bibliographystyle{ }
    bib+tab=\bibliography{}
  6. 居左、居右环境、居中

    居左 居中 居右
    flushleft=bfll+tab centering=cen+tab flushright=bflr+tab

8.1.2 字体

8.1.2.1 普通字体命令

(1.1)\textbf \texttt \textsf \textsc \texts \textit \textup.

方法一、由字体属性的两个关键字构成, 比如** **sc+[tab****键], textit有问题, em+tab 产生 \emph{}

方法二 \text(b/t/s/i/w...)+[tab键]:例如 \textb+tab 产生的是 \textbf{}. 注意:\textwidth 也是 \textw

(1.2)、属性的第二种表示方式、"属性关键字+d"
bfd:\bfseries
ttd:\ttfamily
sfd:\sffamily
scd:\scshape
sld:\slshape
itd:\itshape
upd:\upshape
emd:\em

8.1.2.2 数学字体命令:

由这些 \mathbf, \mathrm, \mathcal, \mathsf, \mathtt, \mattit 引导词为"m+字体属性关键字". 通常字体属性只需要取前两个字母即可. 比如: mbf+tab=\mathbf{}, \mathcal=mca+tab=\mathcal{}

  1. 希腊字母类 方法: x+符号首字母=tab 可得到小写的希腊字母,如果要大写需要用 xc+符号首字母+tab, 例如

    xa+tab 产生 \alpha, xcg+tab 产生 \Gamma.

  2. 适用的字母有:

    \alpha \beta \chi \delta
    \gamma \Gamma \iota \mu
    \lambada \Lambda \mu \nu
    \omega \Omega \sigma \zeta
    \rho \tau \upsilon \xi
    \Xi
  3. 注意以下相同首字母的写法(特殊):

    \epsilon=xe+tab \varepsilon=xve+tab \eta =xet+tab \pi =xp+tab
    \varphi=xvph+tab \phi =xph+tab \Phi=xcph+tab \theta =xth+tab
    \psi=xph+tab \Psi =xcps+tab \tau =xt+tab
  4. 杂项与普通命令:

    4.1 括号 dd+tab =( )•. d+希腊字母表达式=(希腊字母) 例如:dxa = (\alpha)

    4.2 普通命令

    usep+tab=\usepackage{} foo+tab=\footnote{} frac+tab=\frac{}{•}
    fboxo +tab =\framebox[]{•} href+tab=\href{}{•} incg+tab=\includegraphics{}
    toc+tab =\tableofcontents npg+tab=\newpage newe +tab=\newenvironment{}{•}{•}
    \fbo+tab=\fbox{} newc+tab=\newcommand{}{•} incgo+tab=\includegraphics[]{•}
    pgref+tab =\pageref{} pgs +tab =\pagestyle{} sqrt+tab =\sqrt{}
    listf+tab =\listoffigures list +tab =\listoftables multic+tab =\multicolumn{}{•}{•}

默认的自动补全功能很好, 但是有时也很别扭.所以为了满足个人所需, 最好自己进行相应配置.

默认相关配置文件都放在 ~/.TeXworks/completion/, 有3个, 分别是

  • tw-basic.txt,

  • w-contex.txt

  • tw-latex.txt

注意, 就算你改变TeXlive的安装路径, 那么texwork的配置路径有可能还是在Windows 系统的 C盘里,大致在这个位置. C:\Users\MATHTH.texlive2017\texmf-config\texworks\completion 实在找不到的话,简单的方式是使用Everything 搜索关键词 completion, 通常都能找到.

下面我们看在 TeXworks 中的补齐大致像什么样子, 比如我们输入 barr+Tab, 自动补齐的结果为
\begin{array}

\end{array}•
这里的 • 很怪, 如果使用Ctrl+Tab(Shift+Tab是定位到向上的最近一个•, 而Ctrl+Tab是定位到向下的最近一个•, 这里的 •, 按照 http://code.google.com/p/TeXworkss/wiki/CodeCompletion 指出的: the Unicode character U+2022 (BULLET) is used as a placeholder where text should be entered; navigate through to the placeholders with + and ++), 那么光标就会立即定位到•, 这对于下一次输入通常会带来麻烦.我们自然希望修改 barr, 使得用Tab自动补全后, 利用Ctrl+Tab会定位到\end{array}的下一行, 也就是光标在 • 处或者光标在 * 处.

\begin{array}

\end{array}

那么只需要把~/.TeXworkss/completion/tw-latex.txt中的第8行
barr:=\begin{array}#RET##INS##RET#\end{array}•
修改为
barr:=\begin{array}#RET##INS##RET#\end{array}#RET# •
然后保存退出, 重启 TeXworks 即可.以后你可以在输入完成了array的内容后使用Ctrl+Tab定位到•, 接着输入就可以了.

从以上我们看出,其定义模式都是

引导词:=补全内容

例如
barr:=\begin{array}#RET##INS##RET#\end{array}•

  • 补全内容中的 #RET# 表示一个换行.
  • #INS# 表示自动补全后光标停留位置,
  • • 表示占位符(按Ctrl+Tab后光标将移到下一个最近的占位符)

现在我们依照上面的格式来自定义一些快捷键

例如: 我需要键入bdef+tab 后将得到
\begin{definition}

\end{definition}
且光标停留在中间的空行处,那么我们只需要在tw-latex.txt文件中添加一行
bdef:=\begin{definition}#RET##INS##RET#\end{theorem}
即可.

在数学上, 定义、推论、引理、例子、证明、命题等这样的环境是常用的,它们都可以这样定义,
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#)
其他的可以类似定义.

8.2 中级技巧—自定义快捷键

在TeXworks中, 快捷键的定义非常人性化, 比如你不习惯系统预设的快捷键, 可以根据自己的习惯, 重新设置该动作的快捷键. 具体方法为:

  1. 在用户家目录下的.texlive2017\texmf-config\texworks\configuration文件夹(我的为 C:\Users\x.texlive2017\texmf-config\texworks\configuration)中新建一个名为“shortcuts.ini”的文件.

  2. 在该文件中写入你需要为某个动作添加的快捷键. 如: 将排版快捷键改为F5.

  3. 保存该文件, 然后重启TeXworks. 就可以看到, 排版的快捷键变成了F5.

TeXworks中预设了一些基本的动作. 如下所示:编辑框中的动作:预览框中的动作

8.3 高级技巧—自定义脚本快捷键

TeXworks 还支持一些扩展脚本功能, 可以通过 js、python 或者 lua脚本来丰富 TeXworks 的功能. 这些脚本也可以自定义快捷键, 以实现快速使用的目的. 熟悉了这些功能, 你就会深刻的感受到键盘的键位不够用了. 比如: 在修改论文时, 需要将修改的部分标红, 对需要删除的语句使用删除号, 对一些特殊字句使用斜体. 这些都可以通过脚本和快捷键轻松搞定.

你可能感兴趣的:(TeXworks使用指南)