LaTeXとAPIを使って数式の画像を作ります.
※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.
レビュー時のiOSバージョン : iOS14.4
スポンサーリンク
Google Chart API
使用するのはGoogle Chart APIというもの.
ただこれ, 既に「非推奨」とされているみたいなのでいつ使えなくなるかわりません.
とは言ってもそうなってから9年くらい経つみたいですが.
このAPI自体は別に数式だけじゃなく, 名前の通り様々なグラフをパラメータとすることで結果を画像にしてくれます.
テキスト形式のパラメータもあり, そこでLaTeX構文の数式を書ける…というわけです.
htmlで記述
まずはweb形式で表示してみます.
後でやりやすいよう, 予め「テキスト」アクションを置いてそこに数式だけ書くスタイルにします.
そもそもAPIで投げる際にURLエンコードが必要のためどのみち画像のように記述した数式構文を「URLエンコード」でエンコードすることになるので.
続けてhtml本文です.
今回はAPIで拾ってくるのでMathJaxのような読み方でなく,
http://chart.apis.google.com/chart?~
という形のURLを呼ぶだけです.
実際にはこの後ろにパラメータをくっつけるわけで, 例えば画像にある順だと1つ目の"cht"はテーマで, txはテキストの意味です.
"chs"はサイズ, 正しくは縦の長さ(ピクセル?)のようです.
"chl"は本文です, 今回はこの後ろにLaTex(をエンコードしたもの)が入ります.
あとはこれを「HTMLからリッチテキストを作成」でリッチテキストにし, 「クイックルック」でプレビューします.
構文に誤りがなければ画像のようになります.
先程の通り, パラメータchsは縦幅のようなので, 例えば画像のように改行して2行3行と書いていくと…
どんどん小さくなってしまいます.
なのでchsの値は適切に選ぶ必要があります.
頑張れば多少複雑な数式も…
このようにそれなりに書くことができます.
ただ通常とまったく同じにできるわけではないようで, 条件は不明ですが\displaystyleコマンドを入れると結果が表示されない場合があったり, また\textコマンドも使えないようです.
\displaystyleなどがないと見た目がちょっと残念になったりするのでちゃんと使えると嬉しいんですが仕方ないですね.
APIとして取り込む
上でやってることもAPIによるものですが, htmlを介したやり方という意味では変則的でした.
なので今度は画像を直接取得します.
先程と同じように数式をURLエンコードしたものを, 同じカスタムURLにくっつけます.
このURLを「URLの内容を取得」で拾うだけです.
実行して得た(画像)ファイルがこちら.
〆
先日紹介したMathLMは人が書くにはめんどくさいのでそれに比べたらとても簡単です.
本当はショートカットでMathJaxが使えるといいな…と思ってるんですがどうもうまく行きません.