2.5 KiB
2.5 KiB
XThesis 中间格式规范
XThesis 是一个基于 XML 的中间格式,用于辅助在 LaTeX 论文与 DOCX 论文之间进行格式转换。
Schema 文件
格式的 XML Schema 定义见 XThesis.xsd。所有的元素结构、属性要求、子元素组合规则均在 Schema 中定义。下文仅补充 XSD 无法在语法层面表达的语义约束。
XSD 不可表达的约束
章节嵌套规则
section1 ~ section9 的嵌套严格限定为相邻向下:
| 父元素 | 允许的子章节 |
|---|---|
section1 |
section2 |
section2 |
section3 |
section3 |
section4 |
section4 |
section5 |
section5 |
section6 |
section6 |
section7 |
section7 |
section8 |
section8 |
section9 |
section9 |
(无) |
禁止:
- 同级别嵌套:
section1内不能再有section1 - 跨级别嵌套:
section1内不能直接出现section3,必须经由section2逐级过渡
粗体与斜体互斥
<b> 与 <i> 元素不能互相嵌套。文本只能是加粗或斜体之一,不允许 <b><i>...</i></b> 或 <i><b>...</b></i> 的形式。需要同时具有两种样式时,应在 <b> 或 <i> 之外另行处理(例如在转换阶段合并样式)。
表格列数一致性
<thead> 中 <td> 的数量必须与 <tbody> 中每一 <tr> 内 <td> 的数量完全相等。XSD 无法在 Schema 层面约束跨元素的计数值相等,处理程序须自行校验并在列数不匹配时报错。
引用与文献名称的格式
<ref> 与 <cref> 的文本内容为被引用对象的 label 名称,多个名称以逗号分隔:
<ref>eq:main,fig:arch,tbl:result</ref>
<cite> 同理,文本内容为被引用文献的标识,多个以逗号分隔:
<cite>knuth1984,dijkstra1968</cite>
此外,逗号前后允许空格:
<ref>eq:main, fig:arch, tbl:result</ref>
<cite>knuth1984, dijkstra1968</cite>
公式内容的格式
<inlineeq> 与 <equation> 的文本内容为 LaTeX 原始代码,且不包含两侧的数学模式标记($ / $$ / \( 等)。例如:
<inlineeq>E = mc^2</inlineeq>
<equation label="eq:energy">E = mc^2</equation>
文件路径格式
<figure> 与 <reference> 的文本内容为文件路径。路径的具体格式(是相对路径还是绝对路径)没有要求。相对路径会在工作目录或资源目录进行查找,非相对路径则直接使用。