使用 TeX 和 xtem

作者:Evelyn Mitchell

关于 TeX 或 LaTeX,您首先注意到的事情之一是它们都没有良好的用户界面。为了运行这两个程序,您必须在提示行中键入命令。运行时,错误和状态消息会写入您的终端。这个过程更像是编译程序,而不是使用文字处理器。正如您使用 C 编译器进行编译、链接和测试一样,在 TeX 中,您也需要编译和预览。

运行 TeX 或 LaTeX 只是创建美观文档所需工作的一部分。TeX 将您的源文件编译成 dvi 文件 (DeVice Independent,设备无关),这在概念上类似于从 C 源文件生成的对象文件。为了查看或打印 dvi 文件,您必须使用像 xdvi 这样的查看器,或者将 dvi 转换为 PostScript 或 Portable BitMap (pbm) 文件。这与使用文字处理器时的过程完全不同——在使用文字处理器时,您可以在键入和格式化文字时看到文字打印出来的样子。使用文字处理器,您通常可以直接打印,而无需额外的格式转换步骤。

以类似于编写程序的方式编写文档,对于当今大多数作家来说并不熟悉。这种生产周期的优点是,作家可以更容易地专注于手头的任务。也就是说,在写作时,您不必担心断字或分页。此外,在格式化时,您可以专注于将一致的结构应用于您的文档,而无需担心该结构将如何在打印页面上显示。最后,当您处理结构如何显示时,您可以更确信您的格式化将在整个文档中一致应用,而不是例如使用 Words for Windows 时。

我使用一个名为 xtem 的菜单界面来操作 TeX/LaTeX 和相关程序,它是我在互联网上的 Comprehensive TeX Archive Network (CTAN) 找到的。CTAN 在 O'Reilly and Associates (jasper.ora.com/ctan.html) 拥有一个 WWW 页面,是您获取字体、过滤器、样式表、TeX 用户组新闻通讯 TUGboat 的过刊以及您可能需要的其他所有东西,以便更有效地使用 TeX 的地方。

如果没有 xtem,我仍然会努力将所有部分组合在一起。有了 xtem,我可以在短短几个小时内创建复杂的文档。它可以帮助我管理编写和格式化信件、文章和较长文档所需完成的所有任务。例如,我可以使用 BibTeX 管理我的书目数据库,使用 ispell 检查拼写,甚至使用 texchk 检查我的 TeX 语法。

xtem 这个名字来源于 X11-TeX-menu。它是由德国不莱梅大学的 G. Lamprecht、W. Lotz 和 R. Weibezahn (weibezahn@lrw.uni-bremen.de) 编写的 Tcl/Tk 程序。它需要 Tcl 7.4 版本和 Tk 4.0 版本。xtem 的最新版本是版本 4,我将描述这个版本。

xtem 为 LaTeX 语法提供在线帮助。LaTeX 命令通过示例输出进行说明,这对于演示 LaTeX 命令以及 LaTeX 2.09 和 LaTeX2e 的示例输出等非常方便。在线帮助在我刚开始学习 LaTeX 时非常有用,但找到它对我来说有点困惑。当您打开 .tex 文件进行编辑或使用鼠标中键选择“帮助”按钮时,帮助窗口应该会自动弹出。我怀疑我的安装存在一些问题,因为我无法使“鼠标右键点击菜单项获取帮助”功能正常工作。

xtem 很容易安装。我通过 ftp 从 ftp.lrw.uni-bremen.de 的 /pub/tex/xtem/ 目录中,从互联网上获取了 xtem_texmenu.tar.gz 文件。该文件压缩后约 1.2MB。解压缩后约 3MB。

我首先解压缩了它

$ gunzip xtem_texmenu.tar.gz

然后我检查了我是否需要使用以下命令为存档创建一个目录

$ tar tf xtem_texmenu.tar

存档中的所有文件都在 /xtem 下,所以我使用以下命令解档了它们

$ tar xf xtem_texmenu.tar

要使用 xtem,根据 xtem/README 文件,我需要 Unix、Tcl/Tk、XWindows (X11R4 或 R5 或 R6) 和三键鼠标,以及 TeX/LaTeX、编辑器和查看器。您还需要拼写检查器、用于处理书目的 BibTeX、用于创建索引的 makeindex 等。

大多数这些程序,例如 TeX/LaTeX 和 Tcl/Tk,已经安装在我的系统上,因为它们随 Linux 的 Slackware 发行版一起提供,所以我不需要安装它们。[它们也随所有主要的 Linux 发行版一起提供 — ED] 安装 Tcl/Tk 的说明(如果需要)包含在 xtem/README 文件中。

xtem 带有英文和德文版本,并且很容易添加对其他语言的支持。我只安装了英文版本。删除 xtem/help_german 和 xtem/locals_german 中的德文版本文件节省了约 1.2MB。它还附带一个 HTML 页面,描述了所有包含的文件及其链接。

README 说明很详尽,并且安装 xtem 的步骤描述顺序与我需要的顺序一致。

最复杂的步骤(但不是很复杂)是修改 /xtem/locals_english/mkcommand.vst 文件。我删除了指示的位置,并选择了高性能选项 (mkcommand.3_tcl7.3),因为它可以在 Linux 和 Tk7.3 下工作。我发现在实际运行程序时可以选择另一个选项,所以我没有担心在安装时选择了错误的选项。

然后我必须修改 shell 脚本 xtem/xtem,以告诉它它管理的程序位于何处。要发现它们在您系统上的位置,请使用命令

$ which programname

如果您使用 C shell,则使用以下命令

$ type -path programname

如果您使用 bash shell。

例如,wishx Tk Shell 安装在我的系统上的 /usr/bin/wishx 中,所以我更改了 shell 脚本中的 wishcall 行。我还必须添加一行来设置环境变量 XTEMPATH,其中包含我安装 xtem 的目录路径。这会因您的系统而异。在我的系统上,我添加的行是

$ XTEMPATH=/tmp/xtem

然后我取消注释了将默认语言设置为英语的行

defaultlanguage="english"

通过删除行首的井号 (#)。

其余的 xtem 配置选项可以在程序运行时设置,只需使用鼠标中键选择任何菜单按钮即可。

一旦我检查到它工作了,我就将 xtem 应用程序移动到 /users/local/bin,并将 xtem 目录的其余部分移动到 /users/local/lib,并在这样做时更改了 XTEMPATH

关于我唯一不使用 xtem 的事情是打印,即使有一个打印选项可用。一旦我在 Tex/LaTeX 中格式化了一个文件,我就会使用 xdvi 或 Ghostview 查看它,具体取决于我是否要打印它。xdvi 看起来比 Ghostview 更接近打印输出,但在 Ghostview 中查看会自动调用 dvi 到 PostScript 过滤器,并保存 PostScript 文件。我的打印机连接到另一台计算机,我使用 Ghostscript 进行打印,因此当在 xdvi 中一切看起来完美时,我在 Ghostview 中查看该文件并从 .ps 文件打印。

xtem 是一个程序,它可以让 TeX 新手更容易管理所有不同的程序。它提供了一个完整的在线帮助系统,其中包含不同 LaTeX 命令的格式化示例。然而,xtem 不仅仅是辅助工具。它有几个我经常使用的基本功能,因为它们使 TeX 文件管理变得更加容易。第一个是清理,它允许我从一个窗口中删除 TeX 会话中创建的所有 .log、.aux 和其他文件。第二个是 xtem 尝试捕捉“冲突”情况。这意味着如果我正在拼写检查一个我已经在打开的编辑会话中使用的文件,它会警告我。stem 并不能阻止我陷入困境;它只是让我知道我可能正在进行的更改将不会被保存。

我推荐 xtem 是因为 LaTeX 语法的详细帮助文件,并且因为它使管理我与 LaTeX 一起使用的所有不同程序变得容易。即使对于没有太多 Unix 经验的人来说,它也很容易为不同的安装进行自定义。从本质上讲,xtem 使我更清楚地了解了 LaTeX 的使用方法。

Evelyn Mitchell (efm@tummy.com) 是 tummy.com, ltd. 的合伙人,这是一家位于内布拉斯加州奥马哈的 Linux 咨询和开发公司。请参阅:http://www.tummy.com.

加载 Disqus 评论