pythonでlatexの数式をnote用に変換する
noteではlatexの数式を埋め込むことができるようになりました。とても便利でありがたいのですが、数式のはじめに$${、終わりに}$$を付ける必要があります。pythonについてはjupyter notebookプログラムとlatexを含んだ文章を編集していますが、こちらでは$で始まり$で閉じれば数式を表示してくれます。これは仕様であるので従うまでですが、少し手間がかかります。そこで、自動的に変換する関数を作成してみました。Jupyter notebookで編集した文章をクリップボードにコピーし、関数を実行すると、note形式のlatex付きの文章を出力されます。
次の文章を例に実行してみます。
from tkinter import Tk
def l():
text = Tk().clipboard_get()
f_sw = False
t_l = []
for chr in text:
if chr == '$':
if f_sw == False:
t_l.append('$${')
f_sw = True
else:
t_l.append('}$$')
f_sw = False
else:
t_l.append(chr)
return ''.join(t_l)
print(l())
出力した結果をnoteのエディタにコピーすることができます。
pythonからクリップボードを操作するためにはpyperclipを使うことができますが、pipでインストール必要があり、面倒です。そこでTkinterを使います。3行目の text = Tk().clipboard_get()でコピーし、文字列を編集します。本来であれば、clipboard_appendメソッドで実行結果をクリップボードにもどすことができればもっと楽になるはずですが、私のPCではうまく動きません。
noteでは次の通り表示されます。
$${\sin\theta}$$の3倍角のグラフを描いてみます。
ところで$${\sin\theta=3\sin\theta-4\sin^3\theta}$$から同じ曲線を描いてみます。
この記事が気に入ったらサポートをしてみませんか?