是TeX / LaTeX的继任者吗?

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

  • 它使用文本文件,通过这种方式,input文件可以被区分,并且存在许多工具来处理文本
  • 这是非常灵活的
  • 它有一个稳定的布局:如果我在文档的开始处更改某些内容,则不会影响文档末尾的其他内容
  • 它有很多扩展来实现不同的目标(一个继任者将开始没有扩展,但会有一个很好的扩展系统)
  • 你可以使用标准的构build控制工具来支持复杂的文档(谢谢dmckee)
  • 你可以封装解决scheme,复制并粘贴到新的文件或发送给他人学习(谢谢dmckee)

但另一方面,一些小事情并不那么好:

  • 一开始就很难学
  • 控制图像的位置很复杂
  • 有几件事情是有点反直觉的
  • 有时你必须input太多(开始{itemize} … \ end {itemize})

那么,是否存在LaTeX的继任者/替代者,或者至less是替代发展的热门人选。 一个真正的继任者/好的替代者会保持优势并修复这些缺点,或者至less是其中的一部分。

有一个LaTeX3项目,基本上一直在进行。 从这个意义上说,它是目前LaTeX2e的inheritance者。

当TeX创build时,您会忘记/忽略TeX的主要目标 – “TeX是一个用于创build漂亮书籍的新排版系统”。 TeX的目标是排版,其主要关注点是“将段落划分成线条”( Donald E. Knuth和Michael F. Plass,“软件 – 实践和经验”,第11卷,第1119-1184页,1981年 ) ,连字,字距(kerning),美丽的字体(Knuth与Hermann Zapf一起创build了像AMS Euler这样的字体),以及精确控制页面上文本的布局。

LaTeX是在TeX之上build立的一套较新的macros,它引入了“文档pipe理”function,如方程和段的自动编号,交叉引用等等。 它依赖于“LaTeX:一个文件准备系统”。

人们可以很好地想象LaTeX的后继者,提供LaTeX文档pipe理function的替代品,或许更好一些,比如DocBook。 (嗯,它基于XML,但是…)但是很难想象替代品将取代排版引擎本身的TeX。 TeX可能是其中缺陷数最less的程序之一 – Knuth在TeX中发现的每一个bug都提供了327.68美元,并且已经这么做了很长时间了。 Knuth追求完美的特征使我们思考了很多。 它的每一个方面都是可configuration的,代码是公有领域(除了限制,如果你修改,你必须调用它的其他名称 – 这是因为TeX的目标是相同的TeX文件排版在任何地方的任何机器世界应该永远产生一个完全相同的文件),关于TeX:The Programme本身的书籍,以及在TeX中发现的所有bug,

TeX的一些想法已经被纳入Adobe的Indesign(例如),而这些排版引擎也有一些创新的想法,但TeX仍然是优越的。 [注:Knuth并不打算将TeX永远作为标准,只有“未来100年左右”才会有更好的发展。 对于我们所知的一切可能。]

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

回答您的其他反对意见:尽pipeLaTeX可能会引入更多的复杂性,TeX的一部分学习是不可避免的 – 如果您想创作精美的书籍,无论如何,您必须知道一些事情。 控制图像位置并不困难, TeX的目的是让你控制页面上的每一个点 ,但是为了实现这个控制,你可能不得不超越简单的构造(虽然我从来没有……)如果你使用了一个好的编辑器或者macros,你不必input太多\ begin {itemize} … \ end {itemize}; 这只是一个蹩脚的投诉:P

简短的回答是“不”,因为LaTeX是现任和相当擅长的工作。 它也是免费的,所以试图替代它的商业激励相对较小。 事实上,TeX在技术出版方面非常擅长,技术出版工具的商业市场在“极客”端的“TeX”和“非常大的”端之间相当挤压。

较长的答案是“有替代品”。 LaTeX和其他软件包严重受到漏洞抽象问题的困扰,并且通常需要技术干预才能获得您想要的结果。 这使你了解它如何在幕后工作,这实际上是相当技术性的。 因此,如果您有权访问具有该技术水平的人员,则只能将其用于非休闲应用程序。 写报告或书是好的。 使用LaTeX构build单源技术文档工作stream程是一个完全不同的主张 – 您需要访问具有技术技能基础的人员。

LaTeX的替代品

  • 商业技术出版物工具。 实际上只剩下一个: Framemaker 。 这是一个成熟的产品,但有些停滞。 然而,它有一个开放的文档和段交换格式,称为MIF ,一个全面的API和对结构化文档的广泛支持。 它被广泛应用于航空航天领域(例如,飞机的参考文件达到数万页)。 此外,在这个领域还有几个转折点: Ventura Publisher , Arbortext (基于TeX衍生的后端IIRC)和Interleaf ,现在被称为Quicksilver。
    Adobe 声称要在InDesign中实现技术发布function,但我没有真正评估其function。

  • Lout标记语言与TeX的底层架构完全不同。 我从来没有与Lout合作过,但我相信在TeX背后工作比较容易。

  • 的Troff /格勒夫。 它最初是为二十世纪七十年代的AT&T内部的技术文档而devise的(实际上是UNIX研发工作的一个分支),但它今天仍然被广泛使用。 在很长一段时间内,大部分(如果不是所有的)O'Reilly书籍都是用它排版的。

  • DocBook 。 这是一个基于XML标记的结构文档格式,并且通过通过外部引擎进行渲染而工作。 我从来没有使用过DocBook,所以我实在无法评论它的用法。

  • Wordperfect 。 这是一个古老的文字处理系统,比MS-Word文档大得多。 虽然被看作是一个又一个跑,它保留了一些利基市场,如律师事务所,对于大型,复杂和交叉引用的大型文件是相当不错的(至less比Word更好)。

  • Microsoft Word 。 由于其复杂的文档不稳定,不build议用于严肃的技术出版任务。 但是,由于政治上的限制,这是唯一的select。 索引是特别痛苦的。

编辑:看到这个Stackoverflow的post ,更深入地了解Framemaker和其他技术文档工具。 对于那些不想使用基于标记语言的系统的人来说,这是一个关于技术文档工具问题的答案。

你有没有看过ConTeXt ? 这是TeX的一组macros,可以用来代替LaTeX。

我自己并没有使用它,但在许多情况下,示例文档中的语法看起来比LaTeX更简单。

我已经出版了ConTeXt排版的五本书,其中四本是高质量彩色插图的博物馆目录。 这绝对是生产准备。

TeX实际上是一个相当特殊的排版系统。 它做得很好,但对于更好的东西来说还不够。 “当他deviseTeX时,Donald Knuth不相信一个单一的排版系统将适合每个人的需要”( wikipedia )

大多数“新”系统构buildguis和扩展TeX,我相信这是正确的方法。

你所面对的“问题”有很好的理由,所以如果你想提出不同的做法,请首先研究这些原因。

其次,你自己表明TeX除了一些小小的嘲讽之外还是很棒的。 Knuthbuild立它明确知道,它不适合所有用途和所有人,但他发布的源代码,并build立了一个扩展API,以便任何人都可以适应他们的需求。

您拥有所需的所有工具来进行所提出的更改,更新TeX要比从头开始,甚至适应其他任何系统要容易得多。 真的,没有什么东西接近TeX。 这并不是说它是最好的,但是只是把它说成是一个巨大的努力去实现你所提到的所有好事,并以某种方式克服坏的一点(尽pipe当你遇到坏的时候,你可能会更好地理解为什么它存在)。

无论如何,我希望你追求这一点,甚至作为一个倡导者,并让别人感兴趣。 在其他领域看到TeX的使用会很高兴,但是这需要修改和更新,以方便使用,并且比其他技术实体更好地支持math方程。

-亚当

TeX和LaTeX设置高度; 很难想象一些全新的东西来取代它们。

我有一个Knuth的计算机现代字体 (在计算机和排版系列,我认为完成不像TAOCP书E)的副本。 我不认为很多人看到这本书,放纵我 – 这真的值得一看。 你可以看到Kunth的一些时间在哪里。 以下是序言中的一句话:

1984年,我又获得了一段幸运,当时我得知用于制作Monotype 8A模具的原始青铜模式在旧金山。 多年来,我一直在处理关于刺激这项工作的字体的间接和不准确的信息。 首先,我从“艺术计算机程序devise”( Design of Art Programming)的凸版原始页面的照相炸药工作; 那么理查德·索舒尔(Richard Southall)已经从他在英格兰的原始证据中准备了扩充。 最后,我发现了80年前生成金属types的实际模式。 这些模式的现任主人奥特马·彼得斯先生,在我准备“计算机现代”的最终稿时,同意让我借他们,而且我通过用卡尺测量他们,学到了很多东西。

在很多地方你都不会注意细节,这就是TeX忍耐的原因。

你不能保留“它有很多扩展到达不同的目标”与新的东西。 根据定义,不是TeX / LaTeX的新东西将会以无延伸开始。

作为GNU TeXmacs项目的核心贡献者,我们的目标是成为“除了21世纪以外的TeX”,我认为对LaTeX的inheritance有一些很好的见解。

我没有意识到任何可能引起争议的LaTeX。 在math界有影响力的人太习惯于使用LaTeX认真考虑学习任何可能同样灵活的工具所需的努力。

也许在20年之后,当LaTeX很酷的时候所有拿到博士学位的人都退休了,否则就会取而代之。 希望它会像TeXmacs一样,但没有不必要的复杂性。

你有LuaTeX 。

Quote:“LuaTeX是使用Lua作为embedded式脚本语言的pdfTeX的扩展版本。LuaTeX项目的主要目标是提供一个开放的,可configuration的TeX版本,同时提供向下兼容性。

Lua非常简单快捷,希望LuaTeX不会那么辛苦……希望:)

您可能也对XeTeX感兴趣,它是LaTeX的一个现代版本,它支持Unicode和许多字体。 您可以使用它在一个文件中直接input日文,阿拉伯文等。 (这并没有解决你给出的缺点,但它仍然关于LaTeX的缺点和替代系统的讨论!)

TeX不是一个通用的排版系统,它的核心技能是排版长篇大文章。 在那里没有任何竞争,我可以想象几个原因:

  • 唐纳德·克努特很聪明。 他做了很棒的工作,例如,在公式中间隔。
  • math符号随着几个世纪的时间而变化。 有一些有限的function是必要的,因此新的排版系统没有市场。
  • networking效应。 纸张的唯一目的是阅读。 大多数论文都在进行其他一些研究,并正在使用它们的符号。 使用TeX,您可以确保获得相同的字体和相同的间距,并且您有技术能力从他们的论文中复制复杂的公式。
  • 在TeX中定义新的macros是很简单的,通常很容易说出一个简单的macros,它的定义和许多标准的macros库是一样的。 任何基于GUI的系统都可能使这个过程变得更加透明。

尽pipe你所引用的缺点是真实的,但是在TeX上构build一个体面的编辑器/ GUIshell(比使用不同的语言排版)要容易得多。 如果你是math,并希望你的文章被保存几十年,那就是。 对于通用排版,再次提到的程序可能是一个更好的select。

org-mode是Emacs的扩展,能够生成LaTeX和PDF文件。 组织模式语法与Markdown类似。 它只是可读的 。 20KB文档中只有几个LaTeX代码行。 org-mode可以解决你提到的三个问题 – 你可以从LaTeX中获得所有令人敬畏的function,并且摆脱丑陋的语法。

梦想工具不是TEX

TEX不是很好的工作。 特克斯可能(我不是印刷事务的专家)很好提供一个层次解耦文档从印刷细微和复杂性。

概念线是这样的:
math家不是秘书,主要关心的是他想展示什么 ,而不是怎么展示它。 所以需要比乳胶更多的抽象层。

总目标
因此,有一个工具需要(一个梦想),它使我们能够更亲近手工,当然也比手工更快(事实上,我曾经看到一个用pdf格式扫描的书面答案,乳胶的主要作者在不使用它!)。

梦工具的规格 :(粗糙一个得到的想法)
S1。 在学习曲线的大约一个小时的初始时间。
S2。 即使疲倦,也可以快速写出文件(通过简单的比喻)。
S3。 剪切和粘贴看到公式可用。
S4。 用手比用手更快地修正文件(用手2分钟而不是5秒)。

今天最好的工具能力
S1。 差不多。
S2。 不可能的同时思考别的东西。
S3。 公式描述的剪切和粘贴(执行)。
S4。 手需要20分钟而不是5分钟(一切都是特定的,你必须来回解密)。

另一个缓慢的例子:问一个用类别理论中的10个图表写一个乳胶文档的人,以倾斜的方式画出所有的平方,肯定不是一个快速的工作。

http://www.patoline.org是TeX / LaTeX系统的一个很好的select。 它已经被封装在Arch Linux,NixOS上,并且可以在许多类Unix系统上从源代码编译。

毕竟这个时候,没有人告诉过很重要的事情。

LaTeX文本是用文本文件编写的,它可以用于Literate编程 ,这是Don Knuth提出的编写非常有据可查的程序的一种风格。 这个想法是解释程序是如何以类似于math文本的方式来开发的。 在math文本中,代码片段就像公式一样。 这是一个好主意,经过一段时间,你可以阅读程序是如何构思的,你可以修改部分解释为什么决定采取相同的方式。

其他好处是, 你可以生成LaTeX代码作为你的程序的输出,这样你可以发布你的结果精美的排版,或者使用像gnuplot这样的程序来生成graphics,然后为graphics生成LaTeX代码并将其插入到文本中非常棒,因为与导出为某种图像格式的graphics相比,生成的文件非常轻,要将其包含在\includegraphics或者如果您正在使用某个文字处理器,则会将其包含在内。

LaTeX并不是很难学,只要慢慢来,从简单的文件开始使用你所需要的。 当你升学时,你需要学习新的function和软件包。 如果你试图通过学习所有的软件包来成为一个LaTeX专家来掌握LaTeX,那么你就是在浪费你的时间,这里有大量的软件包,但是你并不需要全部学习。 尝试从“LaTeX的简短介绍” lshort.pdf或“TeX的温柔介绍” gentle.pdf等指南开始。 如果你厌倦了input长的macros,学习写你自己的更多的作品,导游有一个关于这个部分。

在哪里可以find信息,在ctan.org,tug.org, 不要在latex.com中search域代表橡胶材料。

有一个TeX / LaTeX目录,在ctan.org中search它,当你需要一个特殊的function时,它是非常有用的。 你可以在http://texcatalogue.sarovar.org/index.htmlfind它,但是如果这个链接变得过时,你可以searchtexcatalogue。;

为了完成我的评论,LaTeX和其他软件经常不会更改版本,TeX / LaTeX是一个非常完整的排版系统,如果您需要某些不存在的内容,您可以添加(和共享)更多的function。 学习LaTeX是一个很好的时间投资,你只需要学习一次,然后致力于工作,而不是学习新版本。

PS我忘了说可以编写程序来将LaTeX翻译成其他标记语言(如果有logging的话还有文字处理器格式), 反之亦然 。 虽然据我所知目前还没有一个能翻译任何LaTeX代码的程序,但是对于更常见的文本,你可以find几个将它们翻译成HTML的程序,LibreOffice可以导出一个字处理器文档到LaTeX,虽然它不是很有用,因为很less文字处理器用户使用标签来标记段落为标题,引号等。绝大多数标记文本改变字体,大小,alignment等,这是翻译进入LaTeX。 但是,在与使用word或LibreOffice的人进行协作时,您可能需要这样做,并且您必须将其与LaTeX文本集成,只要求他们使用正确的标记或将其导出为文本并手动插入所需的macros你必须查看你的协作者的整个文本。

一旦需要将其翻译成HTML以在网上发布或制作便携式演示文稿,但现在带宽允许快速传输PDF文件,而像beamer这样的软件包允许用户写出非常好的演示文稿。

TeX / LaTeX的优点是可以写在它上面的包的大小和分享它们的意愿。 感谢Knuth的伟大的想法,我们仍然在等待他的计算机编程艺术的全套。

我认为docbook应该是一个开放的基于xml的LateX替代品。

“DocBook提供了一个使用SGML或XML编写结构化文档的系统,特别适用于有关计算机硬件和软件的书籍和论文,尽pipe它并不仅限于此。

“简而言之,DocBook是一个易于理解和广泛使用的DTD,数十个组织使用DocBook在全球范围内以各种打印格式和在线格式的数百万页文档。

– 从doc文档常见问题

除了graphics难以定位的问题之外,你对LaTeX的其他批评更多的是关于UI还是缺乏。

如果你想使用LaTeX来制作你的文档,但想要一个更简单的方法来使用它,那么你应该检查出LyX。 这是LaTeX的一个GUI前端,解决了你的一些问题:它使得LaTeX更容易学习(事实上,你甚至不需要知道LaTeX创build一个简单的,无数据的文档),它更直观,并且节省了你打字。 它还增加了拼写检查,更好的graphics处理,导航等等。

由于LyX仅仅是LaTeX的前端,你仍然可以得到漂亮的文档。 LyX文档也是纯文本,所以版本控制效果很好。 实际上,LyX支持内置的颠覆。

如果你还没有猜到,我衷心推荐LyX。 我写了我的整个博士论文使用它,发现它非常值得。

这并没有真正切入LaTeX的主要缺点,但无论如何:)关于你的观点

  • “有时你必须input太多(开始{itemize} … \ end {itemize})”

这完全是由devise。 简洁(易于input)和易于理解(input更长)之间进行权衡。 更长的名字也有更less的冲突,因为TeX和LaTeX不支持命名空间(不幸的是)。

无论如何,一个好的编辑会避免上面的投诉。 设置键绑定或制表符完成或其他任何需要你想象,你永远不必写

 \begin{whatever}...\end{whatever} 

以后再。

你的四个缺点可以概括为“太难了”,“太难了”,“太难了”,最后“太难了”。 我认为解决scheme就是学习如何正确使用系统。

任何为新手devise的系统都会以其他方式显示缺陷,失去控制或丧失灵活性。 如果你想让它更容易放置图像,请尝试MS Word。 没有学习程序的努力,没有办法简单。 TeX支持定义macros,所以如果你愿意的话,你可以把\ begin {itemize}标签改变成更喜欢的\ bi。 一旦你已经充分了解了LaTex世界的angular落,它就像正规打字一样快。

我以前在TeX写math课时练习笔记,因为写在\ sum_ {n = 1} ^ i上比在MS Word中find符号要快。

XSL-FO可能适合您的需求。 虽然它没有TeX那么强大,但它在DocBook等XML格式中performance良好。 一个stream行的开源实现是Apache FOP: http : //xmlgraphics.apache.org/fop/ 。

如果您需要对印刷术进行很好的控制,最好使用TeX或像FrameMaker或InDesign *这样的专有工具。

*注意:InDesign目前对XML的支持力度不够

我偶然发现了AsciiDoc ,它看起来像一个简单的文本标记语言( 减号 ,纺织),但它更强大。 它大致相当于DocBook,所以它可以发出HTML,PDF,甚至docbook XML进一步处理。

你可能想看看维基百科的类别排版编程语言和自由排版软件 。 特别是听起来不错。

不是一个继任者,但是你可能想看看* roff(groff,troff,nroff)。 我不太了解,但我记得它的格式很简洁。 这是用于手册页的工具。 既然我只听过这个消息,我不能再给你任何帮助。

例如:

  .pl 10.0i .po 0 .ll 7.2i .lt 7.2i .nr LL 7.2i .nr LT 7.2i .ds RF FORMFEED[Page %] .ds LH Internet Draft .\" --> Header/footers: Set short title, author(s), and dates: .ds CH 2-nroff.template \" <Short title> .ds LF Postel, Braden \" <Authors> .ds RH October 25, 2006 \" <Submission date> .ds CF Expires April 2007 \" <Expiration date> .hy 0 .ad l .nf .\" 5678901234567 check 72 column width 12345678901234567890123456789012 Internet Draft J. Postel <draft-rfc-editor-nroff-template-00.txt> RFC Editor Category: Informational USC ISI Expires April 2007 October 25, 2006 .ce Nroff Template for Internet Drafts and RFCs .ce <draft-rfc-editor-nroff.template-00.txt> .in 3 \" Basic indent for text is 3 spaces .ti 0 \" "Temporary indent" for next line: 0 spaces Status of this Memo Distribution of this memo is unlimited. By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any 

从技术上说, 狮身人面像并不是LaTex的替代品,而是让您的生活更轻松,并且(如果需要的话)为您生成PDF(通过LaTex),HTML或纯文本输出。

它主要面向代码文档,但是由于使用了reStructuredText ,人们发现更容易用于其他目的 ,包括书写书籍 。

您是否考虑过NoTex :这是一个Sphinx的UI,使用reStructuredText作为内容,使用LaTex作为展示性的问题(比如HTML用于结构和CSS用于devise)。 它完全基于浏览器,您不必经历安装LaTex / XeTex等的头疼。

在我看来,reStructuredText是LaTex 内容部分的继任者; 但是由于LaTex在制作出版质量的PDF文件方面非常出色,所以它应该用于devise部分。 当然,如果有一个完全独立于LaTex的引擎,并将rST直接翻译成PDF,那将是一件好事。 不幸的是,这些工具都没有产生任何可以在质量方面达到LaTex的产品。

也许你已经注意到了TeX的奇怪版本号。 当TeX达到版本3时,Knuth不希望TeX像大多数软件一样进一步发展到新版本。 相反,他希望它能够融合到一个最终的,无bug的TeX中。 因此版本号现在收敛到math数字pi。 在版本3之后,版本3.1,然后3.14和当前版本是3.1415926。

以类似的方式Metafont有一个版本,收敛到math数字e(目前2.718281)。

在此基础上,您的问题的答案是Knuth不希望TeX演变成TeX版本4。

特定工作的工具:

Latex2e的优势在于它是一种标准的文档准备和表示语言,对文章和书籍的表示很有帮助。 但是,排版并不是很好。 这不是一件坏事:过早的格式化是所有排版恶作剧的根源:大多数发行商在复制编辑过程的开始时就简单地将作者格式化。

上下文对排版非常有用; 他们不能与Latex作为文件表示语言竞争,因为它并不能真正解决在文件准备/编辑阶段应该解决的任何问题,所以没有任何人需要从熟知的胶乳中更换。

我们不想通过Latex3的努力来解决Latex2e中不重要的发布漏洞,而是希望看到开发以下工作stream程的努力:

  1. 文档准备:Latex2e
  2. 复制编辑:Latex2e
  3. 转换:应用工具采取Latex2e – >上下文
  4. 排版:上下文
  5. 校对:利用工具根据上下文内容检查Latex2e内容

后记

  1. 上述工作stream几乎与通常的工作stream相匹配,在Word中进行编辑/编辑,使用Indesign或Quark Xpress进行排版。