\documentclass: 未定义的控制序列

\documentclass: 未定义的控制序列

关于这一点可能已经存在大量问题,但我整天都在为 TeX 的学习曲线而感到不知所措。

我正在尝试学习 LuaTeX(顺便说一句,如果您知道一个好的教程,我很想了解一下)。我昨天下载了适用于 Windows 的 TeX Live 2011。我有一个 LaTeX 文档,其语法可行,可以正确呈现。当我将排版设置切换为 时ConTeXt (LuaTeX),我得到Undefined control sequence第一行,\documentclass{report}。我做错了什么?

答案1

希望这个回答能帮你澄清一些基本概念。

TeX TeX 是 Knuth 发明的一种(宏)编程语言。它是一种图灵完备的语言。也就是说,理论上你可以用其他语言做几乎所有的事情,尽管不一定很容易。

TeX 引擎 可以解释 TeX 语言的程序。它就像perlPerl 语言的程序。第一个 TeX 引擎由 Knuth 编写。如今,流行的引擎包括pdftex、、xetex。比其他两个引擎快得多,尽管其他两个引擎提供了额外的功能,尤其是对于使用 opentype 字体。luatex提供的不仅仅是字体。pdftexluatex

乳胶语境这些都是格式。格式只是一组 TeX 宏(好吧,其实没那么简单)。它们定义了很多宏供您使用。例如,LaTeX 定义了和\documentclass\begin{document},而 ConTeXt 定义了\starttext。要回答格式中到底有什么,需要很长的篇幅。现在,您可能只是认为该程序是启动引擎、输入 LaTeX 宏包(即格式)然后处理输入的lualatex快捷方式。(我知道这不是luatex精确的解释一下,但我相信它可以帮助初学者理解)。

LuaLaTeX西拉特克斯pdfLaTeX,...这些只是使用 LaTeX 格式和 TeX 引擎的快捷方式。

在问题中,您似乎认为 ConTeXt 和 LuaTeX 是相同的。事实并非如此。ConTeXt Mark IV 需要 LuaTeX 作为引擎来处理此格式。就像许多 LaTeX 软件包和即将推出的 LaTeX3 格式需要具有 e-TeX 功能的引擎一样。

如果这个答案有误,请纠正我。

答案2

最有可能的是,你输入了luatex编译 LaTeX 文档。编译的正确命令乳胶使用 LuaTeX 编写的代码是lualatex

相关内容