Skip to main content

Translate math-heavy papers

Project description

MathTranslate

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.

Releases

Mar 24, 2023

We add the ability to directly translate arxiv papers.

Mar 21, 2023

We add tencent translation option for users with IP in China mainland.

Mar 16, 2023

We are now supporting all operating systems! Now you can install simply by pip install --upgrade mathtranslate.

Requirements

  1. Python3 and pip. Anaconda is recommended.
  2. (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).

Installation & Update

pip install --upgrade mathtranslate -i https://pypi.org/simple

We suggest the users to always check update before using because we update frequently

Usage

  1. Prepare or generate a tex file. You can get the tex file by the following two ways:
    • For most arxiv papers, you can download the latex source code (Download - Other formats - Source). If the file you downloaded has no suffix, in most cases it is in .tar format, you may need to add the suffix manually. After decompression you can get a latex project, and then you can translate the .tex files in it.
    • Use mathpix to convert the pdf you want to translate into latex code. mathpix can directly convert pdf page into latex code or convert screenshots into code. We can handle both of these methods. Unfortunately, mathpix charges after a certain amount of usage, here is the price.
  2. (Tencent Translate API users) run translate_tex --setkey to store the API secretID and secretKey.
  3. Translate the tex file by translate_tex input.tex -o output.tex.
  4. Compile your tex file. You can compile it with the texlive command xelatex output.tex. For Chinese you need the xeCJK package. If it is a downloaded arxiv project, we recommend compressing all files into a zip file and uploading it to overleaf for online compilation. Note, you need to set the XeLatex compiler in Menu - Compiler, otherwise it cannot handle other languages.
  5. You can change the default settings of the translation language and engine through the command line arguments -engine, -from, -to. For example translate_tex -engine tencent input.tex -o output.tex. You can also permanently change the setting via translate_tex --setdefault. You can see more details with translate_tex --help.

Examples

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.

Known Issues

  1. If \begin{env} \end{env} is reset with \newcommand in latex, it will not be translated correctly.
  2. There is a small probability to get something like "XMATHX_1_2" or wrong formula during translation. The accuracy rate of Tencent translation is slightly lower than that of Google translation.

Further developments

  1. Fix bugs in the latex translations.
  2. 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mathtranslate-2.1.12.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

mathtranslate-2.1.12-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

Details for the file mathtranslate-2.1.12.tar.gz.

File metadata

  • Download URL: mathtranslate-2.1.12.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for mathtranslate-2.1.12.tar.gz
Algorithm Hash digest
SHA256 7061961c9d4a32b80b472c82301809b3f3ed9306e9e8997613ac6368212681e0
MD5 775707f67f2ab8d634d5baf313064031
BLAKE2b-256 dcec89e0a2209c69358f4abc427bc2478e9675d872aa848942aa3b29759b6676

See more details on using hashes here.

File details

Details for the file mathtranslate-2.1.12-py3-none-any.whl.

File metadata

File hashes

Hashes for mathtranslate-2.1.12-py3-none-any.whl
Algorithm Hash digest
SHA256 d2f1bb8b0b6f385e325aaf56e3f94f38fd416b80b7140b06e5210148c37b1ce3
MD5 b08774d6369c26deba73c17b9843d8d0
BLAKE2b-256 1a36c13778f5c6c4fd7a4f2ce23cebf4889ed7d49a63f5ffbdb50c13ea59c6f2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page