为什么不用 LaTeX

8102 年了,为什么还要用 LaTeX 呢?LaTeX 没有:

  • 良好的设计。混乱的宏定义名称、包名称、语法,读不懂的错误信息。你猜不出你要用的命令到底叫什么、在哪个包,也没有命名空间的约定。
  • 文档。它唯一的官方文档是一本书,没有电子版,也没有多少能用的索引,有些命令还没有提到。常见问题分散在各大论坛、问答网站,而不是加进官方文档。每个包的文档不统一,还得用难用的 PDF 搜索功能。
  • 更新。没有新增和删减功能,都是靠包来凑。
  • 国际化支持。别跟我说 Xe/Lua/PdfLaTeX 之类的扩展实现,LaTeX 设计上就是没有的,也常常会遇到外部扩展不支持国际化的问题。它是在 Unicode 标准建立之前设计的,却从来没有官方更新支持国际化和 Unicode。除了拉丁文字,其他文字的特有排版样式,像是中文竖排,也是没有的。
  • 排版样式。你就只见到过那几种排版,没多少人会写一个新的版式。如果你要稍微调一下什么东西的位置、大小,那对不起,打字五分钟,排版两小时。
  • 所见即所得。编辑器只是隔多少时间编译一次,并没有增量编译的方法。没有简单的办法检查你写的对不对。
  • 文字和样式分离。你在写文章的时候,如果预览没有像想像中那样好,你还是得加点奇怪的代码进去调整,更不用说插入表格。最后你的文字飘到天边,文章塞满了各种命令,就会觉得 HTML+CSS 也比这个强。
  • 结构化文档。文档没有统一的元数据规范,没法简单地解析文档每一部分的语义,更难转成其他标记语言,或者进行索引。有的正文是包含在排版命令中的,无法区分正文和排版标记。那些元数据都是用命令打上去的,实际上不还一样是排版命令吗?
  • 可读性。当排版命令一多就看得眼花缭乱。其他编程语言和标记语言可以自动给源代码排版,LaTeX 根本没有这种选项。
  • 效率。有研究表明,用 Word 写文档的人平均比用 LaTeX 的更高效、更少出错。文档需要 \begin{document} 这种模板字样才能编译。修正排版错误比起其他标记语言更为低效。

当然,LaTeX 可以用作公式生成器和 PDF 文档生成器。但写作一般文档,直接用 LaTeX 是浪费时间。要所见即所得,用常用办公软件套装的文字处理。要文字样式分离,用 HTML/XML/Markdown/reStructedText 之类的标记语言,用好办公软件的样式表功能也能做到。要专业排版、设计版面,还是得用专业排版软件。