English | 简体中文
This is a project to provide translation of scientific papers with heavy math symbols from any language to any language while keeping the math symbols unchanged. In most translation softwares you wouldn't be able to keep equations and it would annoy you.
The main work of this project is to translate LaTeX files based on Google Translate in plain text, and finally realize the translation of pdf.
Here's an example of what you get finally.
We add the ability to directly translate the whole arxiv project with just one click.
We add the ability to directly translate arxiv papers.
We add tencent translation option for users with IP in China mainland.
We are now supporting all operating systems! Now you can install simply by pip install --upgrade mathtranslate
.
- Python3 and pip. Anaconda is recommended.
- (For users with IP in Mainland China): Tencent Translation API account. After registration, you can get the secret ID (not the APP ID!) and secret Key in Tencent Console. Tencent Translate is the translation API with the highest free quota to our knowledge besides Google Translate, with a free quota of 5 million characters per month, and no fee will be deducted if there is no manual recharge (that is, there is no need to worry about misuse).
pip install --upgrade mathtranslate
All operations are done by command line. For Windows User you may need to run cmd or powershell as administrator.
- Prepare or generate a tex file or project. You can obtain a tex file or project in the following ways:
- For most arxiv papers, the latex source code is public, and we provide a simple API to translate the entire project with just one click using an arxiv number.
- Use mathpix to convert the pdf you want to translate into latex code. Mathpix can directly convert pdf to latex code or convert a screenshot into code. Unfortunately, mathpix requires a fee after exceeding a certain amount of usage. Here is the price list.
- (For Tencent Translation API users) Run
translate_tex --setkey
to store the API secretID and secretKey. - Translate the tex file or project in command line.
- To translate a single file:
translate_tex input.tex -o output.tex
will generate a translated tex fileoutput.tex
. - To translate an arxiv project:
translate_arxiv 2205.15510
will generate a translated tex project2205.15510.zip
.
- To translate a single file:
- Compile your tex file. For a single file, you can use the command
xelatex output.tex
from texlive. Chinese translation requires the xeCJK package. For arxiv projects, we recommend uploading the obtained .zip file to overleaf for online compilation (New Project - Upload Project). Note that you need to set the compiler to XeLatex inMenu - Compiler
. - You can change the default settings of translation language and engine through command line arguments
-engine
,-from
,-to
. For example,translate_tex -engine tencent input.tex -o output.tex
. You can also permanently change the settings throughtranslate_tex --setdefault
. You can view more details throughtranslate_tex --help
.translate_arxiv
also provides exactly the same command line arguments, which have the same effect.
In the example directory, you can see main.txt
which is the mathpix output of a part of paper.pdf
. Run translate_tex main.txt
and you will get the main.tex
and main.pdf
. translated.png
is what you should expect to see in the main.pdf
.
- Fix bugs in the latex translations.
- A more user-friendly interface.
If you have any questions or have interests in making contributions, please contact me by susyustc@gmail.com or joining QQ group 288646946.
If you think this project is helping you a lot, you can support us by the Wechat QR code below