これはTeX & LaTeX Advent Calendar 2013の11日目の記事です。遅れてすみません。
Rubyの式を変換するってどういうことかというと
Ratex.generate{ f(x, y, t) == 2 * sin(pi / 4 * sqrt(x ** 2 + y ** 2) - pi / 2 * t) }
で、
$$f(x, y, t) = 2 \sin(\frac{\pi}{4} \sqrt{x ^{2} + y ^{2}} - \frac{\pi}{2} t)$$
となるという事です。これってRubyの記事じゃね?と思われるかもしれませんが、まぁTeXつながりという事で。
インストール方法
Rubyをインストールしているならば、
gem install ratex
でインストール出来ます。インストールしていないかたはさようなら。
使い方
Ratex.generate{
#式...
}
で、TeXのコードが返ってきます。
機能一覧
基本演算
+, -, *, /があります。Rubyのべき乗である、**
は、^になります。演算子の優先順序はRubyと同じです。
puts Ratex.generate{ a + b - c * d / e ** f } #=> $$a + b - \frac{c d}{e ^{f}}$$
=は諸事情により、==です。また、定数は先頭に:をつけてください(これも諸事情)。
puts Ratex.generate{ :V == :R * :I } #=> $$V = R I$$
関数
関数の括弧はそのまんまです。呼び出す方(sinやsqrt)も、関数呼び出しのようにかけます。
puts Ratex.generate{ f(x, y) == sqrt(x ** 2 + y ** 2) }
まとめ
ここまで書いといてなんですが、全然実用的ではありません。なので、こんなんじゃ使えねーよ!と思われる方は、fork(GitHub)して勝手に編集してください(ぉぃ
オイラーの等式
puts Ratex.generate{ e ** (i * pi) == -1 }
0 件のコメント:
コメントを投稿