TeX/LaTeX 的继任者即将到来吗? [关闭]

2024-01-22

TeX/LaTeX 很棒,我在很多方面都使用它。它的一些优点是:

  • 它使用文本文件,这样可以区分输入文件,并且有许多工具可以处理文本
  • 它非常灵活
  • 它具有稳定的布局:如果我在文档开头更改某些内容,它不会影响文档末尾的其他内容
  • 它有许多扩展来达到不同的目标(继任者将在没有扩展的情况下开始,但会有一个良好的扩展系统)
  • 您可以使用标准构建控制工具来支持复杂的文档(感谢 dmckee)
  • 您可以封装解决方案并将其复制粘贴到新文档或发送给其他人学习(感谢 dmckee)

但另一方面,有些小事情却不太好:

  • 一开始很难学
  • 图像位置控制比较复杂
  • 有些事情有点违反直觉
  • 有时你必须输入太多内容(begin{itemize} ... \end{itemize})

那么,是否存在 LaTeX 的后继者/替代品,或者至少是正在开发的替代品的一些热门候选者。真正的继任者/好的替代方案将保留优点并解决缺点,或者至少其中一些。


有一个LaTeX3 http://www.latex-project.org/latex3.html基本上一直持续下去的项目。从这个意义上来说,它是当前 LaTeX2e 的继承者。

您忘记/忽略了 TeX 创建时的主要目标——“TeX 是一种新的排版系统,旨在创建精美的书籍”。 TeX 的目标是排版,它的主要关注点是“将段落分成行”(Donald E. Knuth 和 Michael F. Plass,软件 - 实践和经验,第 11 卷,第 1119-1184 页) ,1981),连字,字距调整,漂亮的字体(Knuth 与赫尔曼·扎普夫创建 AMS Euler 等字体),以及精确控制页面上文本的布局。

LaTeX 是后来在 TeX 之上构建的一组宏,引入了“文档管理”功能,例如方程和节的自动编号、交叉引用等。它的名称是“LaTeX:文档准备系统”。

人们可以很好地想象 LaTeX 的后继者,提供 LaTeX 文档管理功能的替代品,并且可能做得更好——比如 DocBook。 (嗯,它是基于 XML 的,但是……)但是很难想象有什么替代方案可以取代 TeX(排版引擎本身)。 TeX 可能是 bug 数量最少的程序之一 —— Knuth 为 TeX 中发现的每个 bug 提供 327.68 美元,并且长期以来一直这样做。高德纳深思熟虑,追求完美。它的每个方面都是可配置的,代码是公共领域的(当然除了这样的限制:如果你进行修改,你必须用其他名称来调用它——这是因为 TeX 的目标是在任何地方的任何机器上排版相同的 TeX 文件)世界应该永远生成一个外观完全相同的文档),并且已经写了一些关于 TeX:程序本身以及在 TeX 中发现的所有错误的书籍。

TeX 的一些想法已经被纳入 Adob​​e 的 Indesign(例如)中,那些排版引擎也有一些创新的想法,但 TeX 仍然保持优越性。 [注:Knuth 并不打算让 TeX 永远成为标准,只是“在接下来的 100 年左右”直到出现更好的东西为止。据我们所知,有人可能会这样做。]

LaTeX 有基于 TeX 的替代品,例如 ConTeXt 和 LuaTeX。可能有他们更适合的任务。

回答你的其他反对意见:虽然 LaTeX 可能引入了不必要的复杂性,但学习的 TeX 部分是不可避免的——如果你想创作精美的书籍,那么你需要做一些事情have要知道,无论如何。而且控制图像的位置并不难; TeX 旨在让您控制每一个point http://en.wikipedia.org/wiki/Point_(typography)在页面上,但要行使这种控制,您可能必须超越简单的构造(尽管我从来没有...)并且如果您使用好的编辑器或宏,则不必输入太多 \开始{逐项} ... \结束{逐项};这只是一个蹩脚的抱怨:P

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TeX/LaTeX 的继任者即将到来吗? [关闭] 的相关文章

  • 插件 (vim-latex) 在启动时导致 gVim 崩溃

    我正在尝试使用在 Windows XP 上使用 gVim 但是一旦我打开 tex 文件 或者一旦我set ft tex gVim 崩溃且没有可见的错误消息 控制台 vim 中不会发生崩溃 我已经按照设置说明进行了操作 据我所知 并且我尝试禁
  • 如何处理 Ipython Notebook 中的引用?

    在 Ipython Notebook 中处理引用的最佳方法是什么 理想情况下 我想要一个 bibtex 文件 然后像在 Latex 中一样 在 Ipython markdown 单元格中拥有一个速记列表 并在笔记本末尾提供完整的参考文献 我
  • tikz:为节点设置适当的x值

    这个问题源于这个问题here https stackoverflow com questions 2772972 latex curly braces outside math 我想生成一个跨越一些文本行的大括号 问题是我必须手动对齐 x
  • 有没有办法让 LaTeX 将图形放置在同一页面中作为对该图形的引用?

    我正在使用 LaTeX 和图形环境 我非常熟悉该环境的参数 htbp 而且我通常也熟悉 LaTeX 默认情况下决定将每个图形放在哪里的策略 例如 将图形放置在页面的顶部或底部 我想知道是否有一个包 宏或一些我可以提供的命令 这样如果我有一个
  • 有关于 VBScript 正则表达式对象 (RegExp) 的好文档吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们都知道每个正则表达式实现都有其自身的特点 我需要在使用 COM 自动化的应用程序中使用 Micros
  • 是否可以使用 MS Visual Studio 作为 LaTeX 用户的 IDE?

    我是 Microsoft Visual Studio 的忠实粉丝 我喜欢代码折叠 自动完成 自动格式化等等 我想如果我能将 MS Visual Studio 用作 LaTeX 用户的 IDE 就好了 简而言之 可能吗 对于第一步 我认为让我
  • 表格外的标题?

    我试图在乳胶中向表格添加标题 但它会抛出此错误 乳胶错误 标题位于浮动之外 从错误中我猜测这意味着它在表之外 但我已经清楚地把它放在里面了 begin tabular c c c c c c caption Table1 Potentiom
  • LaTeX 报告章节样式

    如何更改 LaTeX 报告类中的章节样式 我发现了一些关于 makechapterstyle 但它似乎不适用于报告 或者至少不适用于my报告 我很确定一定有某种方法可以改变这一点 我知道 LaTeX 不太适合编程 但我不知道有什么更好的地方
  • 有没有一种明智的方法可以在 R 中执行诸如文档字符串之类的操作?

    这不仅仅是一个编码风格问题 如果您了解 python 我认为 Ruby 也有类似的东西 您可以在函数中拥有文档字符串 这样您就可以通过发出 help 命令轻松获取该字符串 例如 def something t None Do somethi
  • 如何记录函数的全局依赖关系?

    我从第三方供应商 用于嵌入式平台 获得了一些使用全局变量 用于速度和空间优化 的 C 代码 我正在记录代码 转换为Doxygen格式 如何在函数文档中添加函数需要的全局变量和函数的注释 Doxygen有用于注释参数和返回值的特殊命令 如下所
  • 在Matlab图例中使用Latex?

    我的 matlab 不接受我的 Latex 例如 如果我使用legend b 6 rightarrow b 7 它没有向我显示箭头 我该如何解决这个问题 尝试使用 Latex 解释器 例如 legend b 6 rightarrow b 7
  • 添加和完成 PHP 源代码文档的工具 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有几个已完成的较旧的 PHP 项目 其中有很多内容 我想以 javadoc phpDocumentor
  • LaTeX 仅打印文档的前两页

    我正在 LaTeX 中工作 当我创建 pdf 文件 使用 LaTeX 按钮或 pdfLaTeX 按钮或使用 yap 时 pdf 仅包含前两页 没有错误 它就停止了 如果我通过添加文本使第一页更长 它仍然会停在第二页末尾 有任何想法吗 好的
  • Pear PHP UML 类图 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试创建现有代码的图形表示 我尝试使用 VS PHP 使用 Visual Studios 201
  • LaTeX、波形符和逐字模式

    继从这个问题 https stackoverflow com questions 256457 how does one insert a backslash or a tilde into latex 256620 当我处于逐字模式时 我
  • Google Apps 脚本自动生成的库文档

    我目前正在开发一个 Google Apps 脚本库 它基本上将电子表格视为数据库对象 目前 该库有两个相同的功能 例如 Opens and creates a query object for a spreadsheet with the
  • 使用 Latex 中的答案创建问题集

    我想在 Latex 中排版数学问题集 我的要求如下 当我输入它们时 我希望问题和答案在源代码中彼此相邻 以便可以轻松地修复错误等 However 当文档排版时 我希望答案出现在单独的 答案 部分中 就像在教科书中那样 有谁知道有什么方法可以
  • 是否可以使用“pandoc”将 .tex 文件编译为 PDF?

    是否可以使用 pandoc 编译 tex 文件 我目前正在使用 MacVim 在 MultiMarkdown 中记课堂笔记 这样 当我回到家时 我就可以mmd2tex并使用 TexShop 将 tex 文件编译为 PDF 它效果很好 但这个
  • COBOL 88 级数据类型

    这是非常基本的问题 我必须为 COBOL 程序编写数据术语表 该数据术语表包含有关每个变量的以下详细信息 Name 数据类型 值范围 如果适用 行号 更全名 我有几个变量 其中包括 88 级开关 我的问题是 这些 88 级开关是否算作变量
  • 如何在 MathJax 中对公式进行装箱?

    如何在 MathJax 中围绕公式绘制方框 我见过 LaTeX 一般推荐使用 boxed 但 MathJax 不支持该操作 有没有替代方案可以解决这个问题 boxed 位于 AMSmath 扩展中 因此如果您将 TeX AMSmath js

随机推荐

  • 使用 php 创建 3 位毫秒

    我有 13 位数字 想要创建包含毫秒的日期和时间 示例代码是这样的这是我的 php 脚本 mil 1328910295939 seconds mil 1000 showdate date Y m d H i s seconds echo s
  • 通过 itext pdf 库进行图像旋转

    我无法通过在java程序中使用itext pdf库从中心或任何固定点旋转图像 当我旋转图像时 它的x和y坐标会发生变化 请在这方面帮助我 Image pdfImage Image getInstance assets product png
  • 通过 JDBC 显示多列索引的列名

    有谁知道如何获取跨多个列的索引的列名 请参阅SQL via JDBC 我确实知道如何获取所有索引列 请参阅代码 但这样我就无法看到哪些列链接到单个索引 CREATE TABLE IF NOT EXISTS foo id int 11 NOT
  • CSS3 Flexbox 布局一行最多 3 个子项目

    在将下一个子元素推入新行之前 CSS 中是否有一种简单的方法可以在同一行上拥有固定的最大子项数 据我了解 Flexbox 如果子项目在其上方的行上没有足够的可用空间 则只会将其推入新行 但我正在寻找一个 CSS 规则或函数 让我说 我希望任
  • 将用户表单复制到另一个工作簿

    我已经寻找过这个问题的答案 但找不到任何与我正在寻找的内容完全匹配的内容 如果有人有答案或可以为我指出一个可以回答这个问题的方向 那就是非常感激 我曾讨论过构建一个将数据输入工作簿的解决方案并已成功构建它 但是需要添加到的工作簿是一个非常活
  • 如何使用现代版本的 CodePipeline 进行 S3 部署

    我正在尝试使用最新版本的 AWS CDK for typescript 1 128 设置一个全新的管道 管道的创建非常简单 我已经添加了源代码和构建阶段 没有任何问题 这里的目标是自动部署静态登陆页面 到目前为止我有这段代码 const l
  • ASP.NET Core 5 既不尊重 JsonConverter 也不尊重 TypeConverter

    标题是非常不言自明的 ASP NET Core 5 既不尊重 JsonConverter 也不尊重 TypeConverter 符号例如 TRX USDT 应该被分割 并转换为new Symbol TRX USDT 因为我已经这样做了 基本
  • 比较数组时难以填充列表

    在下面我想使用 GetUsersRole 但对显示的部分有困难 我想将 Roles 值与 usersRole 进行比较 如果 Role usersRole 则 UserRole true 否则为 false 基本上我想要这样的结果 用户1
  • 今天我该如何使用装饰器?

    我看到今天已经在一些 javascript 代码中使用了装饰器 我的问题实际上有两个方面 First 如果装饰器还没有最终确定 今天怎么可能在生产代码中使用它们呢 浏览器支持会不会不存在 Second 鉴于今天可以使用它 正如一些开源项目所
  • ajax调用完成后开始下载文件

    ajax type POST url processform php dataType json data name name email email city city country country day day month mont
  • 如何在textview上显示最新的附加文本?

    我正在开发一个聊天应用程序 每当我提交或接收短信时 我都会将它们附加到聊天框中 当列表变长时 我需要向下滚动才能看到它们 如何让它自动滚动到新追加的文本
  • Angular-jwt 令牌未在我的 http 请求标头中发送

    在我的 Angular 应用程序中 我向后端服务器的端点 api token 发送 http GET 请求 如下所示 并接收令牌 后端 service ts authenticate userName String passwd Strin
  • 是否可以将 C# 单例包装在接口中?

    我目前有一个类 其中只有静态成员和常量 但是我想将其替换为封装在接口中的单例 但是我该如何做到这一点 记住我见过的每个单例实现都有一个静态实例方法 从而违反了接口规则 一个需要考虑的解决方案 而不是自己动手 是利用 IoC 容器 例如Uni
  • PostgreSQL 11 中外部表的并行追加

    PostgreSQL 11 中的外部表是否可以实现并行追加 就像本地表一样 本地表 select version version PostgreSQL 11beta3 on x86 64 pc linux gnu compiled by g
  • 在 pyqt 中使用 sys.exit() 和 app.exec_

    任何人都可以解释使用的相对优点sys exit app exec 而不是更简单的app exec 在 PyQt 中启动 GUI 我是 PyQt 的新手 并且看过这两个示例 当 Unix 风格的应用程序退出时 他们向其父进程返回一个数字 ht
  • 我如何确定工作的状态?

    我有一个安排作业的存储过程 这项工作需要很长时间才能完成 大约 30 到 40 分钟 我需要了解这份工作的状态 以下详细信息会对我有所帮助 1 如何查看已安排在未来某个时间且尚未开始的所有作业的列表 2 如何查看正在运行的作业列表以及它们运
  • 在哪里可以找到有关 Mach 内核消息传递的好文档 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 Windows 10 上安装 PostgreSql 12 时出现数据库集群错误

    当我尝试在 Windows 计算机上安装 PostgreSql 11 12 时 出现以下错误 初始化数据库集群时出错 以下是详细信息 端口号 5432 安装位置 我尝试将其安装在 C ProgramFiles 中 也尝试直接安装在 C 盘中
  • 如何在 Python 中检查 .h5 文件

    如何在 Python 中查看给定 h5 文件有哪些变量 数据集等 我可以通过运行这个来读取文件 import h5py f h5py File filename r 我现在如何查看我的 h5 文件有哪些变量 Running f keys 输
  • TeX/LaTeX 的继任者即将到来吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 TeX LaTeX 很棒 我在很多方面都使用它 它的一些优点是 它使用文本文件 这样可以区分输入文件 并且有许多工具可以处理文本 它非常灵活 它