使用 LyX 以图形形式创建 LaTeX 文档

解决 LaTeX 格式难题,在编写过程中在所选平台上进行预览

LyX 是一个编写和编辑 LaTex 文档的图形工具,具有人们熟悉的下拉菜单和内容驱动的菜单系统。TeX 和它的高级宏语言 LaTeX 是强大的文档标记语言,它们已成为 Linux®用户的事实标准。新用户可能发现它们难以使用,因为您必须知道可用的标记、可使用它们的上下文,以及如何使用文本编辑器和预览工具。LyX 简化了处理 LaTeX 文档的整个过程 —不仅仅是在 Linux 上。了解如何在 Linux、UNIX®、Windows®和 Mac OS X 系统上安装、使用和自定义 LyX。

William von Hagen, 系统管理员,作家, WordSmiths

William von Hagen 担任作家和 UNIX 系统管理员已经超过 20 年,并从 1993 年开始成为 Linux 爱好者。Bill 是一些图书的作者或合著者,涉及的主题包括 Ubuntu Linux、Xen Virtualization、GNU Compiler Collection (GCC)、SuSE Linux、Mac OS X、Linux 文件系统和 SGML。他还为 Linux 和 Mac OS X 出版物和网站撰写了许多文章。



2013 年 9 月 29 日

TeX 发布于 1978 年,是一种标记语言,Donald Knuth 创建该语言是为了用它对其 Art of Computer Programming系列图书进行排版。TeX 很快就被科学和学术界广泛采用,但直接使用 TeX 标记可能有点棘手。LaTeX 宏语言是计算机科学家 Leslie Lamport 多年后创建的,它将 TeX 标记提升到了结构化文档领域,简化了文档类型及其逻辑组件(比如节、段、列表、图和标题)的识别。

标记语言(比如 LaTeX)在学术和科学界非常流行,因为它们使得将来自多个作者的文档合并到一个具有一致结构的出版物中变得非常容易。但是,它们的使用通常需要一个迭代式的编写 / 标记 / 预览顺序。该顺序的预览阶段允许作者验证他们的标记,预览格式化的文档显示效果。标记和预览 LaTeX 文档通常使用单独的外部应用程序来完成,这个过程可能会打断作者的专心工作(或者可能导致工作被耽搁)。

LyX 文档处理器在本世纪初才诞生。LyX 简化了 LaTeX 中的编写和编辑,因为您在编写过程中可以看到格式化的文档显示效果,而不是在单独的预览阶段。LyX 引入了 WYSIWYM(所见即所想)概念来区分图形化地创建结构化文档与图形化地创建没有强制性结构的文档(经典的 WYSIWYG —所见即所得)。LyX 还为许多科学和学术出版物提供了特定于出版物的模板。借助模板,您可使用出版物提供的任何 LaTeX 宏和样式;它们还有助于确保您不会在出版物的提交过程中使用无效的 LaTeX 宏。

本文将全面介绍 LyX。您将了解如何在所选的操作系统上安装、使用和自定义它,以及如何利用 LyX 模板。

从源代码构建 LyX

与所有开源软件一样,LyX 的源代码可免费使用(如果您希望亲自构建它来获取最新的修复程序和功能)。如果您系统上安装了 Git,那么您可以通过 git clone git://git.lyx.org/lyx 命令签出代码。

要提供 LyX 所用的独立平台的图形子系统,则需要其他一些包,比如 qt4qt4-devel。请参阅 YyX 源代码中的 README 和 INSTALL 文件,了解为您的平台构建 LyX 的详细信息。为 Linux 构建 LyX 也需要标准的 automakeautoconfgettext包(和 GNU Compiler Collection)。

将 LyX 安装在您系统上

LyX 受 Linux、Windows、Cygwin、Mac OS X、IBM®OS/2®和 Haiku(一个受 BeOS 启发的操作系统)支持。可扩展的安装程序可用于所有这些操作系统。同样地,大部分 Linux 发布版都在一个中央存储库中为该发布版提供了 LyX 的可安装版本,所以无需单独下载具有该发行版的包格式的可安装包,就可以安装 LyX。

下载针对您平台的安装程序后,就可以像安装其他任何软件包一样安装 LyX。针对 Windows 的 LyX 包提供了一个名为 MiKTeX 的 TeX/LaTeX 捆绑版本。Linux 和 Mac OS X LyX 安装程序要求您单独安装一个针对该平台的 TeX/LaTeX 版本。(参见 参考资料,获取下载和相关信息的链接。)一些 Linux 平台要求您安装其他包来访问特定的 LaTeX 宏包,比如来自 American Mathematical Society 的出版物所使用的 AMS TeX宏包。


在 LyX 中创建和编辑文档

要启动 LyX,请单击 LyX菜单项或从命令行执行 lyx命令,第一次启动 LyX 时,它将显示一个介绍性文档(在 Linux 系统上位于 /usr/share/lyx/examples/splash.lyx 中),其中提供了 LyX 文档和 LyX 主页的各个部分的链接。以后每次登录 LyX 时,它都会显示一个包含 LyX 标识和版本信息的一般欢迎屏幕。

在 LyX 中创建和编辑标准 LaTeX 文档

要创建一个新 LaTeX 文档,请单击 File > New。图 1 显示了产生的新的空文档:

图 1. LyX 中的一个新文档
LyX 中一个新(空)文档的屏幕截图

您可输入文本或添加结构化 LaTeX 命令。要添加结构化 LaTeX 命令:

  1. 单击左上角的格式下拉菜单,它位于 File菜单的正下方。

    此时将会出现一个可用结构化单元列表。

  2. 选择您想要插入的 LaTeX 标记元素。

    选中的标记元素被插入到文档中,插入到当前光标所在的位置。光标位置会发生更改,以反映与插入元素有关联的任何格式。

插入一个 LaTeX 元素后,输入与该元素相关联的文本,然后按下 Return(或 Enter)键结束该元素内容。图 2 显示了一个添加了标准 LaTeX 元素 titleauthorsection和一些标准文本的样例文档:

图 2. LyX 中正在处理的样例文档
LyX 应用程序中正在处理的文档的屏幕截图

Insert菜单,您可以在当前文档或结构化元素的上下文中添加许多不同的 LaTeX 元素。Insert菜单中的菜单项对添加格式化字符(比如不间断空格、换行符和分页符)、特殊字符、特殊的列表类型(比如一个目录或表列表)等特别有用。

要同时查看您创建的文档的 WYSIWYM 版本和该文档的 LaTeX 标记,可单击 View > View Source。文档窗口被拆分为两部分:顶部显示文档的 WYSIWYG 版本,底部显示了文档当前部分的 LaTeX 标记。图 3 显示了一个示例:

图 3. LyX 中正在处理的文档和 LaTeX 源代码
该屏幕截图显示了 LyX 中正在处理的文档和 LaTeX 源代码

默认情况下,如果查看 LyX 文档的 LaTeX 源代码,则只会显示当前的结构化 LaTeX 元素的 LaTeX 源代码。如何查看整个文档的 LaTeX 源代码取决于您的平台。在 Linux 上,可以选择 Complete source复选框。在 Windows 和 Mac OS X 上,可以单击最初显示为 Current paragraph的下拉菜单,然后单击 Complete source

在 LyX 中创建特定于出版物的文档

LyX 提供了模板来简化针对各种学术和科学出版物的文档创建。要从这些模板之一创建一个新文档,可单击 File > New from Template。然后,为您创建的文档选择合适的模板。表 1 列出了 LyX 提供的一些模板:

表 1. LyX 提供的流行的文档模板
模板文件用途
aa.lyx用于期刊 Astronomy & Astrophysics的文章
ACM-siggraph.lyx用于美国计算机协会 (ACM) 计算机图形和交互式技术特殊兴趣小组 (SIGGRAPH) 的期刊的文章
ACM-sigplan.lyx用于 ACM 编程语言特殊兴趣小组的期刊的文章
agutex.lyx用于美国地球物理联盟的期刊的文章
ectaart.lyx用于期刊 Econometrica的文章
elsarticle.lyxElsevier 发表的期刊中的文章
IEEEtran.lyx电气电子工程师学会 (IEEE) 的期刊中的文章
svjour3.lyx、svmono_book.lyx、svmult_author.lyx、svmult_editor.lyx 和 svmult_appendix.lyxSpringer 发表的图书和文章:
  • svjour3.lyx 用于期刊文章。
  • svmono_book.lyx 用于单个作者编写的图书。
  • svmult_author.lyx、svmult_editor.lyx 和 svmult_appendix.lyx 模板用于多作者图书的相应部分。
相关模板 kluwer.lyx 被用于来自 Kluwer Academic Publishers 的出版物,出版社已与 Springer-Verlag 合并组建了 Springer。

LyX 提供的许多模板需要依赖于手动安装在系统上的特定于出版物的 TeX 和 LaTeX 包。请参阅本文后面的 为 LyX 模板添加前提条件,查看使用一个需要自定义 LyX 和 LaTeX 安装的模板示例。

在 LyX 中编辑现有 LaTeX 文档

如果已在处理一个 LaTeX 文档,并且希望利用 LyX 的易用性,可单击 File > Import > LaTeX (plain)将现有文档导入 LyX。LyX 随后显示了一个标准浏览窗口,您可在其中选择您希望在 LyX 中处理的现有文档并导航到该文档。

在 LyX 中保存 LaTeX 文档

为了实现最高性能,通过单击 File > Save保存的 LyX 文档被存储为一种自定义的类 TeX/LaTeX 格式,您可以快速处理该格式,无需调用外部格式化程序。这些文件有一个 .lyx 文件扩展名。

要从您在 LyX 中处理的文档生成一个标准 LaTeX 文件,可以单击 File > Export > LaTeX (plain)。这个命令显示了一个标准浏览窗口,您可在其中导航到您希望保存导出的 LATeX 文件的位置。如果导出一个标准 LaTeX 文档,然后在 LyX 外部编辑它,则必须将它重新导入 LyX (File > Import > LaTeX (plain)),以确保 LyX 知道您对 LaTeX 文件所做的更改。


在 LyX 中打印和发布文档

处理一个文档一段时间后,LyX 为该文档提供的 WYSIWYM 预览可能已经不够用。要查看最终的格式化文档的准确呈现效果,可单击 View > PDF。这个命令(或 View/Update工具栏中的 View PDF图标)生成文档的 PDF 版本,并在系统的默认 PDF 文档查看器中显示它。图 4 在 Evince(基于 GNOME 的 Linux 系统上的默认 PDF 预览程序)中显示了来自 图 3的示例文档:

图 4. 一个正在处理的 LyX 文档的 PDF 预览
该屏幕截图显示了一个正在处理的 LyX 文档在 Linux 上的 PDF 预览

LyX 文档的 PDF 预览看起来与 LyX 本身显示的 WYSIWYM 预览稍有不同。要了解这一区别,可以对比 图 3图 4。PDF 预览(和其他可打印的输出格式)利用了为与自定义 LaTeX 宏对相应的文本部分提供的自定义格式,比如 图 4中的单词 LyX

打印 LyX 文档的最轻松方式是使用平台默认的 PDF 预览应用程序,因为这些应用程序提供了访问一个标准的系统 Print对话框的能力。您可以使用默认的 LyX File > Print命令指定一个目标打印机。但该命令可能难以在 Windows 和 Mac OS X 上使用,因为这些平台上的打印机名称可能包含空格。加入这些打印机的队列,需要使用比 Linux/UNIX lplpr命令资源更复杂的特定于系统的资源。

图 4中所示的预览视图显示了该文档的 PDF 版本生成日期。日期是 LaTeX 文章的标准标题页面的一部分。在本文后面的 在 LyX 中添加自定义 LaTeX 命令中您会看到,可以向文档中添加自定义的 LaTeX 代码来禁止或修改默认项,比如日期。

预览一个 LyX 文档会创建一个不容易找到或使用的临时 PDF 文件。要在您处理的 LyX 文档所在目录中创建一个预览 PDF,可以单击 File > Export > PDF。在 Linux 上,LyX 还提供了两个 PDF 导出命令:

  • PDF (pdflatex)(两个命令中较简单且较快的一个),从 LaTeX 生成的标准 .dvi 文件创建一个 PDF 文件。
  • PDF (ps2pdf)
    1. 生成一个 .dvi 文件。
    2. 从 .dvi 文件生成一个 Adobe®PostScript®文件。
    3. 从 PostScript 文件生成一个 PDF 文件。

自定义 LyX

像 LaTeX 本身一样,LyX 可以自定义。本节提供您可能希望或需要执行的常见自定义类型的例子。

在 LyX 中添加自定义 LaTeX 命令

一些 LaTeX 元素会自动将其他元素添加到您文档中。这方面的一个例子是 LaTeX title元素,它自动在标题和其他相关元素(比如 author元素)下插入当前日期。这些元素不能直接在 LyX 文档(它们在其中不可见)或文档的 LaTex 预览窗格中进行编辑或删除。相反,必须向 LyX 添加到当前 LaTeX 文档的一个标准 LaTeX 序言添加相应的 LaTeX 命令,从而覆盖这些自动插入的命令的默认行为。

例如,您可以在序言中添加 \date{}命令来禁止显示日期。或者在序言中添加 \date{CUSTOM DATE}命令,将日期设置为一个特定的日期值。

要将自定义命令添加到 LyX 的当前文档的 LaTeX 序言中:

  1. 单击 Document > Settings显示 Settings窗口。
  2. 单击导航栏中的 LaTeX Preamble,在右侧文本区域中输入您希望放入序言的 LaTeX 命令。

    图 5 显示了一个添加到序言中的空 \date{}LaTeX 命令:

    图 5. 将一个 LaTeX 命令添加到文档的序言中
    该屏幕截图显示了如何将一个 LaTeX 命令添加到文档的序言中
  3. 随时可以单击 Apply保存对序言的更改,或者单击 OK保存更改并关闭 Settings窗口。

图 6 显示了 图 4中所示的相同文档的 PDF 预览视图,其中通过将 \date{}LaTeX 命令添加到该文档的 LaTeX 序言中删除了日期:

图 6. 一个没有日期的 LyX 文档的 PDF 预览
该图显示了一个没有日期的 LyX 文档的 PDF 预览

文档序言设置与各个文档相关联。它们不会应用到所有具有相同类型的新文档。

为 LyX 模板添加前提条件

表 1列出了 LyX 包含的许多模板,以便可以为各种出版物创建文章。其中许多模板文档依赖于自定义的 TeX 和 LaTeX 宏,您必须从关联的发布程序获取它们。一些模板文档还需要您为该模板类型创建一个自定义布局文件,供 LyX 在您预览此类型的文章时使用。

如果尝试使用 ACM-siggraph.lyx模板创建一个新文档,举例而言,LyX 会显示一条错误消息。该消息表明 ACM-siggraph文档类型缺少布局文件,LyX 无法预览当前配置的这种类型文档。单击 OK关闭错误窗口后,LyX 将会显示一个类似图 7 中所示的 LyX 文档:

图 7. 使用一个缺少 LaTeX 定义的模板
该图显示了一个从缺少 LaTeX 定义的模板创建的文档

图 7中的文档包含各种以黄色突出显示的参考消息,在 LyX 中被称为 插图(inset)。第一个插图提供了 LyX 网站上一个解释如何安装缺少的 ACM-siggraphLaTeX 样式的页面的链接。要汇总该页面的内容:

  1. 下载 acmsiggraph.zip,它包含 ACM SIGGRAPH LaTeX 样式。
  2. 将压缩文件的内容解压到用来安装您的 LaTeX 的适当位置。

    在使用 TeX Live TeX/LaTeX 实现的 Linux 系统上,此位置为 /usr/share/texmf/tex/latex。(参见 参考资料,获取 LyX wiki 页面的链接,其中包含 ACM-siggraph.lyx模板和将这些样式安装到 Windows 和 Mac OS X 上的何处的信息。)

  3. 安装此模板所需的 LaTeX 宏之后,以根用户身份执行 texhash命令,以生成供 TeX Live 发行版用来查找特定于文档的样式文件。
  4. 创建布局文件 /usr/share/lyx/layouts/acmsiggraph.layout,LyX 使用它来预览与此模板有关联的文档。将以下内容添加到该文件中:

    #\DeclareLaTeXClass[acmsiggraph]{ACM SigGraph} 
     Input article.layout

    此布局定义对 LaTeX 文章使用了现有的布局定义。

  5. 要更新您的 LyX 配置,可以选择 Tools > Reconfigure。此命令执行完成后,退出并重新启动 LyX,确保它使用了新的配置数据。

执行这些更改后,在使用 ACM-siggraph.lyx模板创建文档时就不再会看到最初的错误消息。


结束语

LyX 是一个强大、免费的文档图形化编辑器,它使用了 LaTeX,这是全球的学术和科学出版物和 Linux 爱好者们常用的一种标记语言。本文为您开始使用 LyX 奠定了牢固的基础,但仅涉及到 LyX 功能的冰山一角。LyX 提供了精妙而又复杂的 LaTeX 功能,没有这些功能,您需要执行多次 Web 搜索,扫描 LaTeX 文档,并手动输入关联的 LaTeX 命令。LyX 值得安装在您希望用来创建 LaTeX 文档的任何系统上。

参考资料

学习

  • LyX:访问提供 LyX 信息和文档的中央位置。
  • Donald KnuthLeslie Lamport:了解 TeX 的创建者和 LaTeX 的创建者的更多信息。
  • LaTeX:访问 LaTeX 项目网站,了解用于 TeX 标记语言和文档准备系统的 LaTeX 宏包的信息。
  • TeX 用户组:TUG 是面向 TeX 标记语言和宏包(比如 LaReX)的爱好者的一个不错组织。该小组仅供成员使用的 “TUGboat” 出版物总是很有趣。TUG 的 TeX Resources on the Web页面提供了其他 TeX 相关站点的有用链接。
  • LyX for Linux:这个 LyX 维基页面链接到关于在各种 Linux 发行版上安装和额使用 LyX(和 LaTeX 的相应版本)的详细、特定于发行版的信息。
  • LyX AcmSiggraph模板:在 LyX wiki 中的这个页面查找将特定于 ACM 的样式安装在 Windows 和 Mac OS X 平台上何处的信息。
  • developerWorks 上的开源技术主题提供了关于开源工具和使用开源技术的丰富信息。
  • 观看丰富的 developerWorks 点播演示,从面向初学者的产品安装和设置演示,到面向经验丰富的开发人员的高级功能。

获得产品和技术

  • LyX:下载适合您平台的 LyX 版本。
  • MiKTeX:下载适合 Windows 的 TeX/LaTeX 捆绑版本。
  • TeX Live:查找 TeX Live 的信息和下载位置,展示一个推荐用于 Linux 系统的 TeX 和 LaTeX 实现。TeX Live 可通过一个中央存储库用于您的 Linux 发行版。
  • MacTeX:查找一个适合 Mac OS X 的推荐的 TeX 和 LaTeX 实现的信息和下载位置。
  • 以最适合您的方式 评估 IBM 产品:下载产品试用版,在线试用产品,或者在云环境中使用产品。

讨论

  • 加入 developerWorks 社区。探索由开发人员推动的博客、论坛、群组和维基,并与其他 developerWorks 用户进行交流。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Open source, Linux
ArticleID=948073
ArticleTitle=使用 LyX 以图形形式创建 LaTeX 文档
publish-date=09292013