以编程方式排版文档 - 除了 LaTeX 和 Apache FOP 之外的选项

以编程方式排版文档 - 除了 LaTeX 和 Apache FOP 之外的选项

有没有其他标记语言没有艰难的学习曲线(我花了大约 2 个月的时间才掌握了 Latex 的速度,但仍然会犯错误)并且易于编程。我正在研究 Apache FOP,但现在看起来有点令人生畏。而 Latex 根本不可能。

我想要的是为文档的预定义部分提供纯文本输入和/或图像,并让程序(Java 或 C#)继续按照我定义的模板格式化该文本,然后将文档编译为 PostScript 或 PDF。我不会编写另一个版本的《摩诃婆罗多》或《奥德赛》,也不需要复杂的格式化选项。这些文档旨在非常简单,最多 15-20 页。

例如,这个想法的一个应用就是简历生成器。我在程序中定义输出格式。然后,每当我想要一份简历副本时,我只需选择应该显示我的哪些技能、项目等,然后程序就会给我一份完全符合我要求的 PDF,并根据我的需求进行定制。

答案1

我个人使用 LaTeX 来完成这类任务,但如果 LaTeX 真的不是一个选择,你可能需要考虑轻量级标记语言喜欢重新结构化文本(具有 HTML、LaTeX 和 PDF 转换器),Markdown, 或者纺织品

答案2

人们通常认为 Lout 比 Latex 更容易学习,尽管 YMMV。

Latex 是基于原始 TEX 的,因此有一些怪癖。Lout 是设计此类系统的全新起点。用户定义的内容更简单,更有意义,可能更快,等等。另一方面,多年来,Latex 用户已经建立了庞大的字体、图形和绘图包、法律、历史、化学、音乐等专业包集合……有人说 Latex/TEX 的数学排版比 Lout 略好,尽管需要对排版有高超的品味才能注意到这一点。

Python 或 Ruby 脚本(或您喜欢的语言)可以编辑或创建 lout 文件。

http://lout.wiki.sourceforge.net/

http://snark.ptc.spbu.ru/~uwe/lout/essays/essays.html

源文件和其他文件:ftp://ftp.cs.usyd.edu.au/jeff/lout/

答案3

你可能会考虑氧合剂. 它有非常简单的标记,用途任意组合latex、javadoc 或 HTML 标记可以嵌入到您的文档中,并可以生成 PDF、HTML、RTF、latex 和其他格式。它专为记录源代码而设计,但您可以指示它从任何格式正确的文本文件中提取文档。您可以嵌入 latex 数学,但您需要安装 latex 编译器才能处理它们。

您可以使用图形可视化使用文本标记添加图表。

答案4

LaTeX 和 TeX 在语法上有一些怪癖,因此制作 TeX/LaTeX 代码生成器并不容易。但你可以通过使用特莱姆,这是 TeX/LaTeX 的 XML 语法。不过,您仍然需要使用 LaTeX 动词并了解命令。

相关内容