1
0

feat: add support for english thesis

This commit is contained in:
2026-06-23 15:10:11 +08:00
parent 89f9ce9e50
commit fd4b24153f
5 changed files with 510 additions and 18 deletions

View File

@@ -22,7 +22,8 @@ uv run pandoc <thesis.tex> \
-s \
-f latex -t docx \
--citeproc \
--metadata-file=meta.yaml \
--metadata-file=shared-meta.yaml \
--metadata-file=chinese-meta.yaml \
-F pandoc-tex-numbering \
--resource-path <path-to-tex-dir> \
--reference-doc=my-thesis.docx \
@@ -36,7 +37,8 @@ uv run pandoc <thesis.tex> \
- `-s`表示Standalone模式用于表示生成一个独立的文档而不仅仅是文档片段。
- `-f latex -t docx`用于显式指定输入输出格式。
- `--citeproc`用于启用引用解析功能,不启用就没有引用标识。
- `--metadata-file=meta.yaml`指定了元数据,包括:引用文献样式和`pandoc-tex-numbering`过滤器等相关配置。
- `--metadata-file=shared-meta.yaml`指定了中英文共享的元数据,包括:开启要求将文内引用连接到文末参考列表文献等。以及`pandoc-tex-numbering`过滤器的基础共享配置
- `--metadata-file=chinese-meta.yaml`指定了中文论文需要的元数据,如果你正在处理纯英文论文,请切换到`english-meta.yaml`。这部分元数据包括:参考文献样式,以及`pandoc-tex-numbering`过滤器的引用文本配置等。
- `-F pandoc-tex-numbering`显式指定使用`pandoc-tex-numbering`过滤器。
- `--resource-path <path-to-tex-dir>`用于设置LaTeX资源文件夹。Pandoc会在你指定的`<path-to-tex-dir>`文件夹中查找文档中引用的图片和子文档等内容。一般来说需要设置为你待转换的LaTeX文件所在的文件夹的路径。
- `--reference-doc=my-thesis.docx`设置了转换到DOCX格式时使用的模板。你也可以把`my-thesis.docx`换成你想要的模板,至于如何编辑属于你的模板,请参考后文。
@@ -122,7 +124,7 @@ git apply -R --directory pandoc/.venv/Lib/site-packages/pandoc_tex_numbering num
目前该环境存在以下缺点:
- 不能够按照原生Word编写的方式使用交叉引用来进行文献和图表的引用。我不打算在这个环境中通过Pandoc Filter来解决这个问题我打算直接通过编写专门的转换器来解决详见XThesis分支
- 不能够将LaTeX的`\clearpage``\newpage`换页指令翻译成换页符。我写了一个Lua Filter来完成这个工作现存的也有官方的过滤器可以完成这一工作但它必须启用`latex+raw_tex`扩展后才能正常使用。但是这个`raw_tex`扩展带来的副作用远大于启用其的好处。首先是我各种图片的大小设置全部失效了,另外,面对不认识的环境名,它也不输出环境中的内容了。
- 不能够按照原生Word编写的方式使用交叉引用来进行文献和图表的引用。我不打算在这个环境中通过Pandoc Filter来解决这个问题我打算直接通过未来规划中的专门的转换器来解决。
- 不能够将LaTeX的`\clearpage``\newpage`换页指令翻译成换页符。我写了一个Lua Filter来完成这个工作现存的也有官方的过滤器可以完成这一工作但它必须启用`latex+raw_tex`扩展后才能正常使用。然而这个`raw_tex`扩展带来的副作用远大于启用其的好处。首先是我各种图片的大小设置全部失效了,另外,面对不认识的环境名,它也不输出环境中的内容了。
- 不能够处理不认识的命令。我的LaTeX文档中用了一些自定义的命令这些命令它不识别就算了它连其参数都不愿意以字面量输出出来。比如`\my_style{Keywords}`,它直接什么都不输出,但我期望他能够至少把`Keywords`输出出来,即使在不认识`\my_style`的情况下。