我寻求有关如何学习 Plain Tex 的建议。我刚刚开始使用 Knuth 的参考书 The TeXbook 学习 TeX。我安装了 TeXlive 3.14 并使用命令提示符运行 Tex。这是第 6 章的一个示例。
我得到了一个 DVI 文件输出。我想知道我是否应该继续以这种方式练习这本书?
答案:是的。请参阅下面 Udo 的回复。
我还有 3 个相关问题:
1- 当我输入阿拉伯语文本时,它不会显示在 DVI 输出中。我该如何让它显示出来?
Joseph Wright 回答。Knuth 的 TeX 严格为 8 位,将其用于非拉丁语言并非易事,不建议新用户/文本使用。最好使用 luatex。
2-我如何输出 PDF 而不是 DVI?
大卫·卡莱尔 (David Carlisle) 回答 - 写入tex chapter6
而不是tex
然后chapter6
到 ** 提示符。输入pdftex chapte6
以获取 pdf 而不是 dvi
3- 我可以使用可视化代码来编辑和调试 Plain Tex 吗?
此主题 优秀、简洁的 TeX 编辑器 提到它可以用来运行(参见用户 user132925 的回复)但是当我尝试时出现这个错误?
答案:不支持 plainTex https://github.com/James-Yu/LaTeX-Workshop/issues/2879
我认为我的问题会产生相关的答案/评论,所以我把它们都放在一个帖子里。
对于那个很抱歉
答案1
是的,我认为你学习 TeX 的方法很好。但你必须遵循 Knuth 在书中给出的建议:第一次阅读时不要看危险弯曲段落。当然,这意味着你必须阅读这本书三遍(没有所有危险弯曲段落的文本、没有双重危险弯曲段落的文本、完整文本)才能获得最佳理解。算上你必须阅读的页数,可能是这本书的两倍。
当然,每次阅读之后,你都可以决定是否要深入研究并熟悉更高级的主题。(另请参阅最后一段。)
您从 TeXbook 学到的基本概念也适用于其他引擎:标记、扩展、类别代码、宏、替换文本、参数文本、分隔参数等。此外,处理数学等问题的方式并不局限于纯 TeX。当您稍后决定要使用其他引擎(例如 pdftex 或 luatex 或 hint)或其他格式(例如 LaTeX 或 OpTeX)时,您获得的技能很有价值,尽管您可能需要学习新的东西;例如 pdf 命令、Lua 或 expl3。
是的,原始的 TeX 可以处理 DVI 文件和 8 位字体。两者都不是目前最先进的。但了解过去和导致当前状态的发展并没有什么坏处。使用 DVI,您可以使用 dvips,从而了解一点 PostScript,如果您想制作技术图纸,可以使用 MetaPost,如果您想创建自己的字体,甚至可以使用 Metafont。
正如您从上一段中看到的:很多事情取决于您的兴趣以及您学习 TeX 的目的。您是要成为排版文本的用户,还是想要制作自己的设计项目?您想编写 TeX 宏并为其他人编写包吗?等等。您决定路径及其长度,但您对 TeXbook 所教授的基本概念的理解越好,您就能做出更好的决定。
答案2
您的屏幕截图表明您正在使用 Knuth 的 TeX,它严格来说是 8 位的,并产生 DVI 输出。如果您想保留 8 位但直接生成 PDF,则使用pdftex
是可行的方法。但是,非拉丁语言的 8 位输入并不简单,不建议新用户/文本使用。相反,您最好查看luatex
:请注意,仍然需要适当的字体设置(参见例如如何用普通的 luatex 书写阿拉伯语)。