codecamp

关于编辑器的简单介绍

流行的 TeX 发行,比如 CTeX 和 TeX Live, 都自带有一些用于编辑文档的编辑器。这些编辑器差异还是很大的,从简单的 TeXworks 到复杂的 WinEdt, 各种各样。但是不管是什么样的编辑器,他们都是用来编辑纯文本的而已(.tex 就是纯文本),换言之他们只是 Windows 自带的记事本程序的加强版而已,他们本身并不是 TeX 系统的一部分

所谓 TeX 发行,指的是包括 TeX 系统的各种可执行程序,以及他们执行时需要的一些辅助程序和宏包文档的集合。

国内的同学安装 CTeX 的比较多,CTeX 自带的编辑器,除了大家熟知的 WinEdt,还有 TeXworks。而 TeX Live 则只是自带了 TeXworks 而已。

本文只介绍 TeXworks 编辑器的使用。原因有二:

  • WinEdt 过于繁琐,很多功能用不上,反而给新手增加学习成本;
  • TeXworks 是 TeX Live 自带的编辑器,而 TeX Live 是跨平台的,各个操作系统都可以使用。

启动 TeXworks

启动 TeXworks 很简单,不论你安装的是 CTeX 还是 TeX Live, 你都可以在 Windows 启动对话框中输入 texworks 按回车。具体步骤是:

  • 按下键盘上的 Windows 徽标键,同时按下 R 键 —— + R;
  • 键入 texworks
  • 回车。

如果安装的是 CTeX,也可以进入开始菜单,从 CTeX - MiKTeX - TeXworks 打开。

启动之后,TeXworks 的界面,会默认占据你屏幕的左半边,右半边留空。效果如下图:

图中空白的部分,就是输入编辑文本的编辑框;在编辑框的右下角,显示有三个按钮,最左边的是换行符模式,中间是编码模式,右边标示当前光标所在位置;编辑框的上方是工具栏,工具栏的右半部分使大家熟悉的功能(新建、打开、保存、撤消、恢复、剪切、复制、黏贴、查找、替换),工具栏的左边则是编译按钮 (TeXworks 也称其为“排版工具”);工具栏在往上,则是菜单栏,此处按下不表。

Windows,Unix 等操作系统对待“换行符”是有不同的。索性 TeXworks 为我们做了足够的提示,方面我们的选择(点击一下那个按钮就知道了)。一般而言,保持默认即可。

字符(包括英文字符和中文字符)在计算机中,经过编码以二进制的形式存储在计算机中。如果编辑器编码和计算机内部编码不一致,则会导致所谓“乱码”的现象。TeXworks 默认使用 UTF8 编码,在我们的文档中不需要进行任何更改,而对于一些其他的文档可能需要按照要求更改编码。

排版工具

TeXworks 为我们预设了若干排版工具(pdfTeX, pdfLaTeX, XeTeX, XeLaTeX 等),他们分别代表什么实在太过复杂并且也不是当前需要讲明白的。本文中需要用到的排版工具主要是XeLaTeX,关于这些工具的介绍,可以参看后文。当你对 TeX 系统相当熟悉之后,也可以不适用 TeXworks 预设的工具,自己配置排版工具。

TeXworks 默认的排版工具是 pdfLaTeX,如果你希望更改这个默认值,可以在编辑 - 首选项 - 排版 - 处理工具 - 默认 中修改。

Hello, world!

在编辑框中,输入如下内容:

\documentclass{article}
% 这里是导言区
\begin{document}
Hello, world!
\end{document}

将文档保存在你希望的位置,然后在排版工具的下拉选框中选中 XeLaTeX 后,按下绿色的编译按钮。一会儿,如果没有意外,屏幕的右边就会出现编译之后结果。如下图:

很容易发现,输入进编辑框的五行文字,在最终输出的 pdf 档中只显示了 1 行。事实上,交付 TeX 处理的文档内容,并不会全部输出。

此处的第一行\documentclass{article}中包含了一个控制序列(或称命令 / 标记)。所谓控制序列,是以反斜杠\开头,以第一个空格或非字母 的字符结束的一串文字,他们并不被输出,但是他们会影响输出文档的效果。这里的控制序列是documentclass,它后面紧跟着的{article}代表这个控制序列有一个必要的参数,该参数的值为article. 这个控制序列的作用,是调用名为 “article” 的文档类。

部分控制序列还有被方括号[]包括的可选参数。

所谓文档类,即是 TeX 系统预设的(或是用户自定的)一些格式的集合。不同的文档类在输出效果上会有差别。

此处的第二行以%开头。在 TeX 风格的文档中,从 “%” 开始,到该行末尾的所有字符,都会被 TeX 系统无视,只作为供人类阅读的注释。除非在 “%” 前加上反斜杠来取消这一特性,例如

今年的净利润为 20\%, 比去年高。

此处 “%” 被当做正常的百分号处理,其后的文字也将被正常输出。

其后出现了控制序列begin,这个控制序列总是与end成对出现。这两个控制序列以及他们中间的内容被称为“环境”;他们之后的第一个必要参数总是一致的,被称为环境名。

只有在 “document” 环境中的内容,才会被正常输出到文档中去或是作为控制序列对文档产生影响。因此,在\end{document}之后插入任何内容都是无效的。

\begin{document}\documentclass{article}之间的部分被称为导言区。导言区中的控制序列,通常会影响到整个输出文档。

实现中英文混排
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }