- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
TeX/LaTeX 很棒,我在很多方面都使用它。它的一些优点是:
但另一方面,有些小事情不太好:
那么,是否存在 LaTeX 的后继者/替代品,或者至少是正在开发的替代品的一些热门候选者。真正的继任者/好的替代方案将保留优点并解决缺点,或者至少其中一些。
最佳答案
有一个LaTeX3基本上一直持续下去的项目。从这个意义上说,它是当前 LaTeX2e 的继承者。
您忘记/忽略了 TeX 创建时的主要目标——“TeX 是一种新的排版系统,旨在创建精美的书籍”。 TeX 的目标是排版,它的主要关注点是“将段落分成行”(Donald E. Knuth 和 Michael F. Plass,软件 - 实践和经验,第 11 卷,第 1119-1184 页) ,1981)、连字、字距调整、漂亮的字体(Knuth 与 Hermann Zapf 合作创建 AMS Euler 等字体),以及对页面上文本布局的精确控制。
LaTeX 是后来在 TeX 之上构建的一组宏,引入了“文档管理”功能,例如方程和节的自动编号、交叉引用等。它的名称是“LaTeX:文档准备系统”。
人们可以很好地想象 LaTeX 的后继者,提供 LaTeX 文档管理功能的替代品,并且可能做得更好——比如 DocBook。 (嗯,它是基于 XML 的,但是……)但是很难想象有什么替代方案可以取代 TeX(排版引擎本身)。 TeX 可能是 bug 数量最少的程序之一 —— Knuth 为 TeX 中发现的每个 bug 提供 327.68 美元,并且长期以来一直这样做。高德纳深思熟虑,追求完美。它的每个方面都是可配置的,代码是公共(public)领域的(当然除了这样的限制:如果你进行修改,你必须用其他名称来调用它——这是因为 TeX 的目标是在任何地方的任何机器上排版相同的 TeX 文件。世界应该永远生成一个外观完全相同的文档),并且已经写了一些关于 TeX:程序本身以及在 TeX 中发现的所有错误的书籍。
TeX 的一些想法已经被纳入 Adobe 的 Indesign(例如)中,那些排版引擎也有一些创新的想法,但 TeX 仍然保持优越性。 [注:Knuth 并不打算让 TeX 永远成为标准,只是“在接下来的 100 年左右”直到出现更好的东西为止。据我们所知,人们可能会这样做。]
LaTeX 有基于 TeX 的替代品,例如 ConTeXt 和 LuaTeX。可能有他们更适合的任务。
回答你的其他反对意见:虽然 LaTeX 可能引入了不必要的复杂性,但学习的 TeX 部分是不可避免的——如果你想创作精美的书籍,你可以拥有一些东西要知道,无论如何。而且控制图像的位置并不难; TeX 旨在让您控制每一个 point在页面上,但要行使这种控制,您可能必须超越简单的构造(尽管我从来没有......)并且如果您使用好的编辑器或宏,则不必输入太多\开始{逐项} ...\结束{逐项};这只是一个蹩脚的提示:P
关于documentation - TeX/LaTeX 的继任者即将到来吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/303877/
我是一个非常基础的 git 用户;我基本上只使用命令 git add -a(修改后添加文件)然后 git commit -m "what I did" 然后 git push (将其推送到我的服务器)
我有两个用户选择的日期:开始日期和结束日期。它们是 NSDate 实例,我必须将它们作为 NSNumber 的参数发送。如何以秒为单位将它们转换为 NSNumber? 最佳答案 使用下面的代码: N
我正在构建一个应用程序,用户可以在其中无限次操作 svg 对象(例如图像),即旋转和缩放它们。我使用 Raphael.js 来处理 SVG。 如何在应用新转换之前将对象“重置”到其初始状态,以便新转换
我想在调用我的应用程序中的函数时进行记录。有没有一种方法可以监听调用的函数并在此类事件上运行代码? 如果是这样,我从哪里开始研究如何做到这一点? 最佳答案 只需将日志记录直接插入到您想要的位置即可。
void main() { char c; int op; int a=10,b=20,sum; scanf("%c",&c); if(c=='+')
我正在尝试使用 H2 进行集成测试。我希望 H2 数据库在每次测试之间重置为我的 data.sql 。但在建议的解决方案中,我还没有发现有效; @Transactional 和 @DirtiesCon
这个问题在这里已经有了答案: Tokenizing a String but ignoring delimiters within quotes (13 个回答) 关闭6年前。 如何将String按空
我在我的项目中有一个要求,我们有一些输入框,我们应该输入时间。 时间可以以任何格式输入,即 12:30a 或 1230 或 1430 或 14:30 . 以1230 或 1430 格式输入的计时问题是
我对 Jquery UI Resizable 功能有疑问。 我正在使用 Jquery resizable 将 div 调整为不同的宽度和高度。它运行良好,但是当我尝试将高度降低到一个非常低的数字时,它
我刚刚读了an article其中指出: Internet domain addresses opened up to wave of new suffixes Internet naming boa
我有一个对象列表,比方说 List类 Example 有一个成员 a,它是一个字符串: class Example { String a; String b; } 现在我想从List得
假设我有一个只有两列的表格:姓名 和心情。一行包含一个人的名字和他们的心情,如果他们有多种心情,那么多行存储在数据库中。 例如,在数据库中是约翰,他很高兴、兴奋和自豪。 这表示为 John Happy
对于从 (-x 或 0) -> 无穷大的积分,我在 MATLAB 的 quadgk 和 Python 的 quad 例程之间得到不一致的结果。我相信 MATLAB 版本是正确的(基于将 flag 参数
我非常想知道如何修改现有的 LINQ 函数以添加 Func TResult到函数签名,即允许它使用选择器,如 (o => o.CustomField) . 例如,在 C# 中,我可以使用 .IsDis
我是一名优秀的程序员,十分优秀!