December 05, 2009

Twitterでつぶやくと数式の画像のURLが返ってくる

Twitterでぶつぶつ言っていると急に数式を書きたくなりませんか? 僕は勿論のこと、皆さんもそうなりますよね(笑)。そこでTwitter上でTeXの数式をつぶやくと、画像のURLを返してくれるサービスを作りました。

使い方は簡単、@TeX_Eqに対してTeXの数式をつぶやいてみてください。
例えば @TeX_Eq E = mc^{2} とつぶやくと、しばらくして http://is.gd/5cg3AというURLがつぶやき返しされるはずです。これはアクセスすると以下のような画像がゲットできます。



Rubyで書いたソースコードを公開しておきますが、仕組みは至極簡単です。

  1. TeX_Eq向けのつぶやきをcronで監視
  2. つぶやきがあったら、それを数式と解釈してGoogle chart APIを使って数式の画像を取得するためのURLを内部的に生成
  3. そのままだとTwitterの140文字制限に引っかかってしまうので、is.gdを使って、短縮URLに変換
  4. それをつぶやき元に@で返信

これだけです。途中is.gdのAPIの仕様に躓いたり(ソースでgsub!をしているあたりが原因)したのですが、賞味3時間くらいでなんとか様になりました。前にTwitterで遊んでいた経験も大きいのですが、マッシュアップのおかげには違いありません。

続きはギャラリー。

※その後、透過機能と指定サイズ機能をつけました。背景を透明にするには@TeX_Eqの前にTという単語(スペースで区切られたT)をつけてください。指定サイズで数式を得るには(縦のピクセル数)x(横のピクセル数)という単語(x(横のサイズ)を省略することもできます)をつけてください。例えば T 200x200 @TeX_Eq E=mc^{2} は背景透明の200x200の画像を得ます。

※※(2009/12/19)結城浩さんの日記で紹介していただけたようです。もしバグや改善点などありましたら、コメントとして残していただけると幸いです。

せっかくなので、最近つぶやかれた数式です。

00:51 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/732
コメント

へ~GoogleにこんなAPIあるんだ。
そいえば昔mimetex使ってWiki拡張作ったっけなとか思い出してました。
ってかmimetexが思い出せなかったf^^; ご存知?

Posted by: あおき : December 5, 2009 04:03 AM

学生につかわせます。

Posted by: 通りすがり@関西人 : December 5, 2009 09:07 AM

>あおきさん
mimetex知っていますよ!! 昔mimetexを使ってサーバサイドで画像を作って…、ということも考えたのですが、手間と負荷が気になったので控えていました。Google大先生のおかげです。

>通りすがり@関西人さん
数式で簡単にコミュニケーションとれたらいいかな、と思って作った次第です。よろしければ使ってやってください!

Posted by: fenrir : December 5, 2009 10:41 AM
コメントする









名前、アドレスを登録しますか?
(次回以降コメント入力が楽になります)
  • 匿名でのコメントは受け付けておりません。
  • 名前(ハンドル名可)とメールアドレスは必ず入力してください。
  • メールアドレスを表示されたくないときはURLも必ず記入してください。
  • コメント欄でHTMLタグは使用できません。
  • コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
  • コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。