🎩

Mathematica の式を Scrapbox の数式記法に変換する

2021/12/18に公開

本記事では Mathematica 上で、数式を Scrapbox 記法に変換する方法を紹介します。

Mathematica には、式を LaTeX に変換する TeXForm 関数が用意されています。

In[1]:= TeXForm[10/3]

Out[1]//TeXForm= \frac{10}{3}

この出力を Scrapbox 記法に変換します。
具体的には、TeXForm 関数からの出力(TexForm 形式)を文字列に変換して、改行を空白文字に置換してから Scrapbox 記法 [$ ] にします。

(* 式 expr を Scrapbox 記法に変換する *)
toScrapbox[expr_] := 
  expr //
  TeXForm //
  ToString //
  StringReplace[#, "\n" -> " "]& //
  StringForm["[$ ``]", #]& //
  ToString

実行結果です。HoldForm で式を未評価のままにします。

2次関数の解の公式:

In[1]:= toScrapbox[HoldForm[x = (-b \[PlusMinus] Sqrt[b^2 - 4 a c]) / (2 a)]]
 
Out[1]= [$ x=\frac{-b\pm \sqrt{b^2-4 a c}}{2 a}]

単位行列:

In[2]:= toScrapbox[IdentityMatrix[2]]

Out[2]= [$ \left( \begin{array}{cc}  1 & 0 \\  0 & 1 \\ \end{array} \right)]

Discussion