LaTeX 的替代品

LaTeX 的替代品

有没有 专业的生产的Tex/latex的替代品相同甚至更好排版?也许是昂贵的商业软件。如果它在排版文本方面与 LaTeX(带微排版)相当或优于 LaTeX,则该软件算数或者数学(或两者兼有)。无论如何,请在回答中提及这两个方面。

我只知道 ConTeXt (部分基于 TeX)。

请注意,我并不是在寻找个人使用的替代品,我只是出于好奇而询问。

答案1

你要求专业的解决方案。我相信包括《物理评论快报》和《自然》杂志在内的几家顶级技术期刊都使用 Advanced Print Publisher (APP),也称为 Advent 3B2。以前可从 Arbortext 获得,但现在可从 PTC 获得。

它绝对可以处理数学问题,而且我相信它能够处理印刷细节,例如连字和微字体之类的调整。我认为它比 tex 的主要优势在于它使整个文档制作非常自动化。例如,以比 tex 更自动化的方式处理浮点数(表格和数字),并提供手动控制来覆盖它。

但是我还没有用过它。(截至 2015 年 1 月,标准桌面版起价为 5,000-10,000 美元)。维基百科页面有一点信息。

答案2

我坚信,就输出质量而言,没有什么能与 TeX(及其朋友,例如 LaTeX、ConTeXt)相媲美。

其他 DTP 程序如内设计(Adobe),QuarkXPress(夸克)或抄写员(开源)提供了图形界面,因此学习起来更容易,但它们的质量却不尽如人意。在众多工具中,我只想指出 TeX 最明显的两个质量优势:

数学排版

正确排版数学非常复杂(符号需要调整大小,空格非常具体等),只有 TeX 才能做到这一点。可能还有更好的例子,但请尝试在 InDesign 中获得类似以下内容:

数学排版

换行和分页

Tex 的算法非常复杂,并考虑了可能的连字符、寡字符、孤字符等,以产生更优雅的输出。

我发现最好的展示是 Roel Zinkstok 发布的Zink 字体,如下所示。 比较一下,Roel 用红点表示单词间距不成比例的线条,这是排版的大忌,而红色圆圈表示连字符,应该尽量减少:

换行

答案3

一个无耻的广告:我们提供基于 LuaTeX 的专业排版软件(虽然是开源的)。至于它是否“与 LaTeX 相当甚至更好”,这肯定是主观的。

我们的重点是将 DTP 世界带入自动排版(数据库发布)。例如,我们有

  • 基于任意条件的主页
  • 基于“框架”的文本流
  • 多页表格,包括小计和重复表头和表尾
  • 易于安装/使用字体
  • 基于网格的布局/排版
  • ...

虽然 TeX / LaTeX 专注于文本文档(包含或不包含数学),但我们的主要应用领域是产品目录、价格表和其他从数据库自动创建但具有灵活且美观的布局的文档。

https://www.speedata.de/

我想邀请大家试用或开发该软件。开发永无止境(一如既往)。

答案4

GNU TeXMacs是一款所见即所得的科学结构化文档编辑器和排版程序。它以前需要 TeX 发行版,但现在不需要了。

以下是我在 Google 上找到的一些不太广为人知的排版系统列表,其中大部分是正在进行中的工作(或曾经正在进行中的工作):

  • cl-排版是用 Common Lisp 编写的,这意味着它的标记语言也是 Common Lisp。(有人知道宏语言吗?)

  • Z 格式看起来像 HTML,但实际上不是。

  • 鸭嘴兽命令看起来像[list|bullet:{rarrow}] 。用 Java 编写。

  • 帕托林,用 OCaml 编写。还处理 SQL 书目数据库,并附带 Bibi,这是一个用 Haskell 编写的 bibfile 到 SQL 转换器。(开发人员似乎非常热衷于函数式语言。)您必须从源代码构建它。命令看起来像 TeX、OCaml 和新标记的混合体:

    (* #FORMAT FormatArticle *)
    \begin{genumerate}(AlphaLower, fun s -> [tT (s^". ")])
    \item First item
    \item Second item
    \end{genumerate}
    \includeGraphics("pato.png")
    $$ a + b $$
    $ a + b $
    \Caml(
      let dr ()=
        [bB (fun _->
          [Drawing (drawing [Path (default,[rectangle (0.,0.) (10.,10.)])])]
       )]
    )
    

    请注意,我不知道该代码是否有效,我只是将手册的部分内容复制在一起。

  • 西莱(Simon 改进的布局引擎)是书面在 Lua 中,使用 Harfbuzz 整形引擎。它可以排版任何 XML 输入,但也提供类似于 LaTeX 的输入语法:

    \begin[class=book,papersize=129mm x 198mm]{document}
    \include[src=examples/macros.sil]
    \script[src=packages/grid]
    \left-running-head{A Scandal in Bohemia}
    \right-running-head{\hfill{}Alexander Conan Doyle}
    \headline{A Scandal In Bohemia}
    
    \noindent To Sherlock Holmes she is always \em{the woman}.
    \footnote{Lorem ipsum dolor sit amet.}
    
    \begin[family=Snell Roundhand]{font}
    Consequetur adipiscing elit.
    \end{font}
    \end{document}
    
  • 犀牛型,用 Python 编写。输入格式为 reStructuredText。请参阅输入文件示例

或许还会有更多。

相关内容