由于一些原因,某些国内高校在毕业论文(设计)中,会要求学生完成一份『外文翻译』。很不幸,我本人就曾被要求提交外文翻译。在我看来,这项任务不仅费时费力、无人关心, 并且没有太大的实际意义。
- 无人关心:除了查毕设材料的负责人以外,包括学生在内的所有人,都不会关心这一任务。外文翻译材料通常不会计入对工作本身的评价。绝大部分学生都会选择使用机翻作为辅助。
- 费时费力:外文文献的排版、格式、引文规范通常与翻译文档的格式规范相差甚远。如果说对正文和图表本身的排版已经要费不少功夫,那么将参考文献转到国标简直就是噩梦。
- 毫无意义:首先,进行翻译本身不会对学术研究产生多大帮助,我相信知识和技术本身的门槛要远大于语言所带来的门槛。其次,现代 AI 技术已经提供了非常强大且易用的翻译工具,就算学生的英语水平欠佳,也完全可以在软件的帮助下阅读文献。
懒是进步的动力。为了不浪费时间在 trivial 至极的工作上,我想到了一个全新的方法来全自动完成外文翻译。我们知道,LaTeX 是一种将内容和样式分离的排版工具,它通常由用户编写的 TeX 源码和定义样式的其他诸如 documentclass 的文件组成。如果我们能够得到原文献的 LaTeX 项目源码,以及目标文档的 LaTeX 模版,那么翻译工作实际上只需要修改 .tex 文件里的文本部分。文献中的图表、公式、表格、参考文献,根本不需要任何修改。LaTeX 会帮你完成一切。
幸运的是,文献的 LaTeX 源码在预印本平台 arXiv 唾手可得;外文翻译文档的模版也有前人为我们做了;甚至,我们还有 ChatGPT 等大语言模型的 API 调用来帮我们完成 TeX 源码的高质量、可定制、自动化的翻译工作。
我在 2023 年 4 月份使用 Python 编写了该项目的雏形:一个解析 TeX 源码并拆分到文本块的翻译脚本。我使用这一脚本顺利完成了我的外文翻译,整个过程极其丝滑,我跑完脚本之后,仅仅是换了个 LaTeX 模版、修了几处编译 bug、修订了一些专业术语的翻译细节,就得到了一份完美的 30 页中文文献。
TransLaTeX 项目的站在巨人的肩膀上:BIThesis 提供了 外文翻译模版,pylatexenc 提供了 Python 语言下的 LaTeX 源码解析器,OpenAI 等平台提供大模型调用服务。
有趣的是,该项目诞生时,距离 OpenAI 首次发布 GPT 对话 API 只有一个多月。
现在,TransLaTeX 已经被重写为 TUI (Terminal/Text User Interface) 应用,提供更直观的交互方式,提高效率的同时降低了使用门槛。
虽然开发本项目所耗费的精力可能远超完成一份外文翻译所需的精力,我仍然很享受造轮子的过程,也非常希望本项目能帮到更多的人,节约宝贵的时间和精力。如果本项目成功帮助你完成了外文翻译,不妨给个 star 或者让更多人知道它~