如何在 ConTeXt 中编译文件,但将结果输出到文本文件?

如何在 ConTeXt 中编译文件,但将结果输出到文本文件?

我有一些文件包含使用 ConTeXt 语法的数据,例如包含宏和特殊符号的说明,但没有序言、章节或其他将数据绑定到页面上任何特定位置的功能。我需要编译这些文件,但不是创建 PDF,而是将文件转换为 UTF-8 文本文件。

例如,一个文件可能包含以下数据:

\quotation{Do you want to go to the caf\acutee?}
\quotation{No, it costs 30\percent more than it did before.}

使用 ConTeXt 编译后,它转换为这样:

"Do you want to go to the café?"
"No, it costs 30% more than it did before."

有没有什么方法可以使用 ConTeXt 编译这些文件,但输出为 UTF-8 文本文件?

答案1

ConTeXt 的架构中确实内置了可切换的后端,但您想要的后端尚不存在。有一个 XML 后端,您可能希望将其输出插入 XML 到文本转换器;或者您可能希望编写自己的后端。无论哪种方式,我都没有足够的知识来进一步帮助您。

如果您想了解有关编写后端的更多信息,请向 的邮件列表发送电子邮件[email protected]。开发人员积极参与其中,您的问题肯定会引起他们的兴趣。至少您应该能够发现它是否在您的能力范围内。

哦,就像 Joseph Wright 所说的那样,你需要考虑你的需求。你想要分页输出吗?你将如何处理脚注和交叉引用?浮动放在哪里?表格单元格中的段落呢?简而言之:你想翻译多少个功能?


答案到此结束;下面是一些关于后端的事实

ConTeXt 将其后端保存在 中back-*.*。当前文件:

back-ini.mkiv, back-ini.lua    # Initialization
back-exp.mkiv, back-exp.lua    # XML export
back-pdf.mkiv, back-pdf.lua    # PDF
back-swf.mkiv                  # Shockwave experiment (for *inclusion* in PDFs?)
back-u3d.mkiv                  # U3D experiment (3D graphics) (for inclusion?)

从 开始back-ini.mkiv

从一开始,ConTeXt 就拥有基于运行时可插入代码的后端系统。由于大多数后端问题都涉及特殊情况,而且后处理器没有太多共同点,因此我们最终采用了一个可以同时切换后端以及多个后端的输出代码的系统。

因为 LuaTeX 内置了后端,并且一些后端问题已移至前端,所以我决定为 MkIV 提供新的后端代码,从实际使用的内容开始。

目前.dvi不再用于高级文档输出,因此我们放弃了对这种格式的支持。未来版本可能会再次支持更多后端,但这种格式的优先级较低。

最大的问题是:什么应该被视为后端问题,什么不应该。目前,我们将图像包含、对象重用、位置跟踪和颜色视为前端问题,只是因为我们通过 Lua 代码处理它们,因此我们不太依赖需要为后端注入代码的宏调用。

相关内容