ETD 指南/技术问题/从 LaTeX 转换为 SGML\XML
从这个角度来看,人们可能会认为,由于 LaTeX 中的写作本身就是一种结构化的写作,因此将其转换为兼容 SGML 或 XML 的文档可以很容易地完成。
通常人们使用 Onmimark、Balise 或简单的 Perl 脚本进行转换。
问题
问题 1 LaTeX 格式本身由于其结构化方法,使得它更容易转换为 SGML/XML。但通常纯 LaTeX 方法伴随着复杂的宏编程,因此在许多情况下,LaTeX 文档的纯结构将被宏破坏,或者转换将变得更加困难。此外,缺乏用于检查结构元素(如章节、节、小节)正确使用的解析器,也会使转换更加复杂。
问题 2 如果作者想在 LaTeX 中定义一个数学公式,他有两个基本选择
- 将数学公式生成图片
- 使用适当的 LaTeX 数学功能将它们定义为文本公式。
第一版和第二版
第一版阻止了对公式的任何二次使用。第二版允许在不同上下文中重复使用公式。因此,通过将 LaTeX 公式导入 Maple 或 Mathematica 等数学软件包,可以很容易地证明语句的正确性。通过 IBM Techexplorer、Math Viewer 等软件或插件,可以在浏览器中以渲染形式显示用 LaTeX 编写的公式。由于用 LaTeX 编写的公式仍然具有使用所谓语义标签进行编码的缺点,因此强烈建议使用 MathML。MathML 是 W3C 开发的用于数学的 XML 文档类型定义。
字母 e
在 LaTeX 中,作者通常不会区分可能代表变量的字母 'e' 和欧拉常数。在 MathML 中,将某些内容编码为变量 e 还是欧拉 e (2,718. . .) 有很大区别。因此,在 LaTeX 中使用数学布局定义会使转换为 MathML 以及任何 SGML/XML 格式变得复杂。
可能的解决方案
为了在 LaTeX 中为转换准备数学公式,世界各地的许多大学和 TeX 用户组很快就会开始定义某些可以转换为相应的 MathML 定义的宏。
参见蒙特利尔大学 www.theses.umontreal.ca 或慕尼黑联邦国防军大学。
下一节:渲染样式表