1
0
Files
bagu-thesis/docs/XThesis.md
2026-05-22 12:51:10 +08:00

2.5 KiB
Raw Blame History

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> 的文本内容为文件路径。路径的具体格式(是相对路径还是绝对路径)没有要求。相对路径会在工作目录或资源目录进行查找,非相对路径则直接使用。