有没有 专业的生产的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 专注于文本文档(包含或不包含数学),但我们的主要应用领域是产品目录、价格表和其他从数据库自动创建但具有灵活且美观的布局的文档。
我想邀请大家试用或开发该软件。开发永无止境(一如既往)。
答案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}
或许还会有更多。