出版商经常在内部抱怨手写 LaTeX 的质量太差。哪些图形数学编辑器能够导出高质量的 LaTeX?
让我添加一些我个人会使用的标准,但我对其他人认为重要的标准持开放态度。
生成的 LaTeX 显然应该是人类可读和可编辑的。
代码编译时应该没有任何错误(或只有极少量的错误)。
代码应该格式良好:各行长度大致相同,环境缩进正确。
序言中额外定义的数目最少,并且可能有些用户偏好根本没有任何定义。
减少对特定包的依赖。
尽可能依赖标准标记,避免使用模糊的标记。
答案1
本能地,这不可能有答案。
例如:写文章用什么墨水最好?取决于我是否使用钢笔,以及我所在地方的湿度。(还有纸张。)
但有可能找到答案吗?
一些思考:
1 (a) 代码源程序(某些过程)和 latex 代码(源程序过程的某些输出)不是同一个对象/事件。它们在逻辑上是分离的。无关:如果减少具有实际目的和结果,则应减少对弃用代码、视觉风格、技术/方法和程序逻辑流的依赖。另请注意:程序逻辑流是多价的,因此可能有多种解决方法。据推测,最短的标记列表是一个 HQ,或者单位时间最容易理解的是另一个 HQ(或两者兼而有之?)。还是最容易维护/修改??
1 (b) 一个源程序所应用的“视觉语法”语法规则并不强制与另一个源程序所应用的规则相同,因此允许有多种替代方案,就像英语或法语短语的语法可以更接近或更远离中文或日语短语的语法一样,但所有视觉短语都具有相同的“含义”(latex PDF 等输出是相同的)。
2 代码应该可以编译。无关:相当快。
3 为什么?无关:其他“视觉语法”可能更适合(或不适合)不同的目的。“更好”有多个轴可以比较。当轴朝不同的方向拉时,一种“风格”不会一直完全满足所有要求。
4 为什么?(尽管所有内容都可以放在输入文件中。)如果出版商对序言不感兴趣,为什么他们不能跳过它?如果“定义”与程序逻辑流有关,请参阅 1(a)。
5 系统是开放式的。没有边界。软件包可以合并、拆分、被吸收到内核和/或被模拟。除此之外,还可以做其他事情。软件包依赖性听起来更像是发布商安装设置约束,而不是 HQ。
6 “标准标记”:参见1(a);“模糊标记”:如果问题(如X
)是:(How to increase the information transfer rate?
从文档到人),则问题1、3、4、5和6中的一半是Y
。
例如:如果我有一份文档,其源无法在 5 分钟内修改(如果源 -- 注意:不是 latex 代码 -- 是手动创建的),那么它就是“笨重的”。定义 HQ 的标准(针对发布者 XYZ)。
示例:如果输出是垃圾(无论是物理的还是逻辑的还是两者兼有),那么格式良好的代码也是垃圾。但确实是垃圾。
例如:需要“出版商复杂度”的度量 O(p)。这不会自动与“转换复杂度”(例如,转换为另一种人类或机器语言,或数学符号)相同。或者任何其他复杂性。那么,问题是:出版商想要什么?
答案2
我个人只使用 TeXmacs 来撰写数学文章。一位出版商曾经称赞我,说我的(自动生成的)LaTeX“源代码”比他们经常收到的其他论文好得多。