Pythonを使って TeX の数式を画像として保存する方法がないか調べたところ、SymPy という
Welcome to SymPy’s documentation! — SymPy 1.0.1.dev documentation
SymPyは数式による処理を行うライブラリであり,独自の記法もありますが TeX 記法を扱うこともできます。
インストール方法
Anaconda などのディストリビューションでPythonをインストールした場合は、インストール済みとなっていると思います。
もしインストールされていない場合は、以下のようにpip
を使って導入してください。
pip install sympy
また、今回の利用方法だとTeXのインストールが必要です。
Ubuntu でのインストール方法:
Ubuntu 18.04 LTS に LaTeX をインストール - Qiita
数式の画像化
sympy.preview()
という関数を使い,以下のように記述します.
import sympy sympy.init_printing() # $$TeX記法$$ という形式で数式を入力 wave_equation = r"""$$ \frac{\partial^2 u}{\partial t^2}=c^2\left(\frac{\partial^2 u}{\partial x^2}+\frac{\partial^2 u}{\partial y^2}\right) $$""" sympy.preview(wave_equation, viewer='file', filename='tex.png', euler=False, dvioptions=["-T", "tight", "-z", "0", "--truecolor", "-D 600") # dvioptions=["-T", "tight", "-z", "0", "--truecolor", "-D 600", "-bg", "Transparent"])
Printing — SymPy 1.8 documentation
実行結果:
なお,dvioptions
を変更することで,背景を透明にする等の制御が可能です.