![是否有一些使用 XML 符号的排版系统?](https://linux22.com/image/234786/%E6%98%AF%E5%90%A6%E6%9C%89%E4%B8%80%E4%BA%9B%E4%BD%BF%E7%94%A8%20XML%20%E7%AC%A6%E5%8F%B7%E7%9A%84%E6%8E%92%E7%89%88%E7%B3%BB%E7%BB%9F%EF%BC%9F.png)
是否有某种使用 XML 进行标记的排版系统?我无意冒犯,但我不喜欢打字,\emph{This \emph{text} is important}
尽管有编辑器可以帮你打字。(不过我认为真正的铁杆 LaTeX 使用者不会使用它们。)
我宁愿做以下的事情,因为根据我的观点和键盘布局,这样打字更容易:
<em>This <em>text</em> is important</em>
尽管有很多 XML 解析器,并且 XML 的样式对我来说更简单、更清晰、更常见。但我不认为 HTML 满足我的需求,因为它是一种超文本,而不是文档标记语言。
附加问题:您能列出编写大型文档时使用 HTML 而不是类似 LaTeX 的排版系统的一些缺点吗?
答案1
文档书绝对是 XML 文档编写的标准。我听说过数据与信息技术协会,但无法透露太多相关信息。
你可以使用 ConTeXt 处理 XML。它通过定义 XML 标签和 TeX 标记指令之间的映射来工作。这应该会给您带来 DocBook(通用、基于 XML)的好处以及 ConTeXt 在文档美观和格式化方面的许多好处。
虽然 TeX 和 HTML 之间存在许多特别令印刷师感兴趣的差异,但在我看来,使用 TeX、LaTeX 或 ConTeXt 等系统的最大优势在于,由于它们是可编程的,因此您可以扩展它的功能。例如,我讨厌手动维护索引,或者不得不记住有关如何格式化引文的所有繁琐细节。所有 TeX 变体都可以为您完成这些任务,甚至更多,而且作为 TeX,它们为您提供了一种将其扩展到您独特问题的方法。通过 XSLT 自定义 DocBook 渲染是一项相当繁琐的工作。您必须学习 XSLT、XPath、XSL:fo,并找到一个高质量的 FO 处理器。上次我研究这个问题时,开源 FO 处理器不是很好,而商业处理器也不便宜。(当然,如果只生成 HTML 输出,您可以消除这种依赖关系。)
HTML 根本不像 TeX 那样可编程。您当然可以找到使用 TeX 或其他类型标记并生成 HTML 的软件包,但您找不到许多以 HTML 开头并生成其他内容的系统。手动管理 HTML 很麻烦,尤其是当您想在一组页面中保持相似的结构时。CSS 有很多事情根本无法做到。HTML 文档和 HTML 页面之间存在 1:1 映射,而 TeX 则不同,因为这些概念没有关联。
最近我听到最多的竞争系统是狮身人面像,这可能更适合记录主要注重 HTML 输出的编程项目。
答案2
答案3
有文档书 XML格式,可用于书籍或其他形式的文档。例如Apache FOP它可以将其编译为 PDF。优点是它可以比 LaTeX 更容易地转换为 HTML 等其他格式。我从颠覆书它是用 DocBook XML 编写的,因为出版商 O'Reilly Media 希望以这种方式制作印刷版和在线(PDF、HTML)副本。
缺点是你没有 TeX 的排版能力,也就是说,生成的 PDF 相当丑陋。不过DocBookXML 到 LaTeX 转换器首先可以从中生成 LaTeX。上次我尝试时,生成的代码也不是很惊人。
答案4
“排版”这个词我很久没听说过了——这就是为什么谷歌在这方面可能不是你的好朋友!有许多 XML 词汇表专为编写文档而设计(一些流行的词汇表是用于软件文档的 DocBook、用于科学/学术论文的 NLM、用于几乎所有其他内容的 DITA),它们都带有用于以各种形式生成输出的工具。更接近印刷技术的是 XSL-FO(格式化对象),它是一种基于 XML 的页面布局词汇表:你不会直接使用它来编写文档,而是将其用作作者视图和最终纸上墨迹之间的中间格式。