AI个人学习
和实操指南

MathTranslate:科学论文LaTeX翻译工具

综合介绍

MathTranslate 是一个专门用于翻译 LaTeX 文档的在线工具,特别适用于科学论文的翻译。该工具能够保持 LaTeX 表达式(如数学表达式)不变,并最终将 LaTeX 文档编译成 PDF 文件。MathTranslate 提供了一个接口,可以直接输入 arXiv 论文编号进行翻译,也可以通过 Mathpix 从 PDF 生成 LaTeX 代码后再进行翻译。

MathTranslate:科学论文LaTeX翻译工具-1

来源:http://mathtranslate.xyz/

 

功能列表

  • 在线翻译 LaTeX 文档
  • 支持多语言翻译
  • 保持数学表达式不变
  • 将 LaTeX 文档编译成 PDF 文件
  • 支持 arXiv 论文的直接翻译
  • 提供命令行使用方式
  • 支持捐赠功能

 

使用帮助

安装与使用

MathTranslate 提供了两种主要的使用方式:网页服务器和命令行使用。

网页服务器(推荐给初学者)

  1. 访问 MathTranslate 的在线翻译网站。
  2. 输入需要翻译的 arXiv 论文编号,或上传包含 LaTeX 代码的文件。
  3. 点击翻译按钮,等待翻译结果生成。
  4. 下载生成的 PDF 文件。

命令行使用(适用于高级用户)

  1. 安装 Python3 和 pip:
    sudo apt-get install python3 python3-pip
    
  2. 安装 MathTranslate:
    pip install --upgrade mathtranslate
    
  3. 对于 Windows 用户,可能需要以管理员身份运行 cmd 或 powershell。

准备或生成一个 tex 文件或项目

  1. 对于大多数 arXiv 论文,LaTeX 源代码是公开的。MathTranslate 提供了一个简单 API,可以从 arXiv number 一键翻译整个项目。
  2. 使用 Mathpix 把你想翻译的 PDF 转成 LaTeX 代码。Mathpix 可以直接把 PDF 或截图转换成 LaTeX 代码,但在使用超过一定数量之后需要收费。

使用腾讯翻译API

  1. 注册腾讯翻译API账号,并在腾讯控制台中获取 secret ID 和 secret Key。
  2. 运行以下命令来存储 API secretID 和 secretKey:
    translate_tex --setkey
    

使用命令行翻译 tex 文件或项目

  1. 翻译单个文件:
    translate_tex input.tex -o output.tex
    

    这会生成翻译后的 tex 文件 output.tex。

  2. 翻译 arXiv 项目:
    translate_arxiv 2205.15510
    

    这会生成翻译后的 tex 项目 2205.15510.zip。

编译您的 tex 文件

  1. 对于单个文件,可以用 texlive 的命令 xelatex output.tex 编译。中文翻译需要 xeCJK 包。
  2. 对于 arXiv 项目,建议把得到的 .zip 文件上传到 Overleaf 在线编译(New Project - Upload Project)。注意,需要在 Menu - Compiler 中设置成 XeLatex 编译器。

更改翻译语言和引擎的默认设置

  1. 可以通过命令行参数 -engine、-from、-to 更改翻译语言和引擎的默认设置。例如:
    translate_tex -engine tencent input.tex -o output.tex
    
  2. 可以通过以下命令永久更改设置:
    translate_tex --setdefault
    
  3. 可以通过以下命令查看更多细节:
    translate_tex --help
    

    translate_arxiv 也提供完全相同的命令行参数,它们的效果是一样的。

自定义命令

在翻译过程中,可能会遇到一些内容没有被翻译出来,这一般是因为有一些自定义的命令没有被识别到导致的。在命令行模式中提供了自定义命令的功能,您只需创建一个文件(例如 MT_additional_commands.txt),里面定义需要翻译的命令,例如:

# if you need more, just add lines with the same format (don't miss the ","!)
# each line is in the format of (command_name, N, (n1, n2, ...)), 
# N is the total number of arguments, 
# n1, n2, ... are the index of arguments requiring translation (counting from 0)
additional_commands = [
  # latex: \mycommand1{translation needed}
  ('mycommand1', 1, (0, )),
  # latex: \mycommand2{translation not needed}{translation needed}
  ('mycommand2', 2, (1, )),
  # latex: \mycommand3{translation needed}{translation not needed}
  ('mycommand3', 2, (0, )),
  # latex: \mycommand4{translation needed}{translation not needed}{translation needed}{translation not needed}
  ('mycommand4', 4, (0, 2)),
  # practical example: \textcolor{red}{Need translation here}
  ('textcolor', 2, (1, )),
]

之后加上命令行参数 -commands MT_additional_commands.txt 即可翻译自定义的命令。

AI轻松学

普通人的AI入门指南

帮助你以低成本、零基础学会如何利用AI工具。AI就像办公软件一样,是每个人的必备技能。 掌握AI会让你在求职中占据优势,在未来的工作和学习中事半功倍。

查看详情>
未经允许不得转载:首席AI分享圈 » MathTranslate:科学论文LaTeX翻译工具
分享到

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们