【オープンソース】数式掲示板を作ろう【Java】

このエントリーをはてなブックマークに追加
139ご冗談でしょう?名無しさん:2008/10/22(水) 14:38:40 ID:???
既出かもしれんが、ASCIIMathML.js使えばtex形式で入力→即表示ができるよ。
このスレで作ってる掲示板とは違う方向かもしれんが、デモページ貼っとくから参考にしてちょうだい。
テキストボックスにtex形式で入力したら数式がすぐ反映される。

ttp://www1.chapman.edu/~jipsen/mathml/asciimathdemo.html

このスレの掲示板は火狐が固まって見れなかった。
140LightCone ◆sSJBc30S5w :2008/10/22(水) 15:10:42 ID:???
>>139
>このスレの掲示板は火狐が固まって見れなかった。

Shikikeiの最近のバージョンでですか?

私の環境ではFireFoxとIEで全く同じように見れますので、
状況が特定できないと、不具合修正が出来ず、問題です。

Shikikeiの過去のバージョンでは、掲示板の書き込み件数が多すぎる
とき、起動時に固まってしまうように見える不具合がありました。
実はそれは、サイズを計算する内部処理が重すぎて時間がかかって
いただけなので、数十秒間待っていると、起動は出来たのですが。
141LightCone ◆sSJBc30S5w :2008/10/22(水) 15:44:38 ID:???
ttp://nowsmartsoft.or.tv/bbs/test/read-new.cgi/FreeTalk2/1076227067/

平方根も上段から直接入力できるようにしておきました。
平方根アイコンか、F6キーを押します。
ただし、F6キーを押した場合、下段にフォーカスが移ってしまう
不具合があるようです。JavaのSwingのデフォルトの動作がそう
なっているのかもしれません。後で調査しておきます。

それから、行列(縦ベクトルを含めた)がSeem-->Sourceへ出てくれ
なかったのでコードを加筆しておきましたので、出るようになりま
した。
142LightCone ◆sSJBc30S5w :2008/10/22(水) 15:53:20 ID:???
ttp://72.14.235.104/search?q=cache:mvMTZEwAYW0J:d.hatena.ne.jp/kaiseh/searchdiary%3Fword%3D*%255BSwing%255D+Swing+F6&hl=ja&ct=clnk&cd=3&lr=lang_ja

JSplitPaneにおいてF6キーが「定義済みアクション」になっていて、
toggleFocus
という「Action」を起こす、

という事が書かれています。

F6キーを押した時にフォーカスが下段に移ってしまう不具合は、
このせいのようです。
143LightCone ◆sSJBc30S5w :2008/10/22(水) 17:09:50 ID:???
F6キーの不具合は取っておきました。
これで、上段でF6キーを押しても勝手に下段へフォーカスは移
らなくなりました。
144LightCone ◆sSJBc30S5w :2008/10/22(水) 17:21:45 ID:???
>>139
「ASCIIMathML.js」を少し試してみましたが、
確かに「TeXソース」-->「数式での表示」がすぐに出来ますね。

Shikikeiでは、これは、「下段から上段」の動作に相当しますが、
「上段から下段」も出来るのがShikikeiなんですよ・・・。
145139:2008/10/22(水) 18:23:31 ID:???
java許可してなかっただけみたい。
IEで見ようとしたらjava使うか聞いてくるメッセージでてきて許可したら、firefoxでも見れえるようになった。
firefoxはメッセージ出ないで固まったから分からなかった。
146LightCone ◆sSJBc30S5w :2008/10/22(水) 20:55:20 ID:???
>>145
なるほど。
安心しました。
147LightCone ◆sSJBc30S5w :2008/10/22(水) 22:01:03 ID:???
ttp://nowsmartsoft.or.tv/bbs/test/read-new.cgi/FreeTalk2/1076227067/

Σ記号とΠ記号も上段から直接入力できるようにしました:
・F1キー、または、青い[E]アイコン:独立数式ブロック
・F2キー、または、赤茶[E]アイコン:行内数式ブロック
・F3キー、または、分数アイコン:分数
・F4キー、または、行列アイコン:2x2行列
・F5キー、または、縦ベクトル・アイコン:縦ベクトル
・F6キー、または、平方根アイコン:√記号
・F7キー、または、Σアイコン:Σ記号
・F8キー、または、Πアイコン:Π記号
148LightCone ◆sSJBc30S5w :2008/10/23(木) 06:55:30 ID:???
ΣやΠが数式ボックスの一番左にあるようなときに、その直前に文字を
入れようとしてΣやΠの直前をクリックすると、ΣやΠの「画像部分」に
「Enter」してしまって、変な部分に文字を書いてしまう不具合を修正。
ΣやΠをクリックしても「画像部分」には「Enter」しないようにした。
149LightCone ◆sSJBc30S5w :2008/10/23(木) 11:13:05 ID:???
ttp://nowsmartsoft.or.tv/bbs/test/read-new.cgi/FreeTalk2/1076227067/

「入力ガイド」を付けておきました。

現在の入力中の行と、キャレットの次の文字の位置に色分けされた
箱が表示されます。
150LightCone ◆sSJBc30S5w :2008/10/23(木) 12:13:22 ID:???
さらに、次の点を改良しました。
・キャレットの次のオブジェクトが単なる文字の時は、
「次文字ガイド」を表示しない。
・数式コンテキストでは、キャレットの前の文字に「前文字ガイド」を
付ける。
・一般コンテキストでは、行ガイド、前文字ガイドを付けない。
151LightCone ◆sSJBc30S5w :2008/10/23(木) 14:20:25 ID:???
「発言」ボタンで「発言入力ウィンドウ」を最初に出した時、
上段にフォーカスが移ってない不具合を修正しておきました。
152LightCone ◆sSJBc30S5w :2008/10/24(金) 08:51:17 ID:???
ttp://nowsmartsoft.or.tv/bbs/test/read-new.cgi/FreeTalk2/1076227067/

・sinやcosなどのイタリック体にしたくない関数名のような物の入力を
上段からも出来るようにしました:
F9キーまたは、「sin」アイコン:関数名ボックスの作成

・「次文字ガイド」の色を変更。
・数式モードでは次文字ガイドを常に表示するように変更。
・[EOF]にも「次文字ガイド」が表示される現象を修正。
153LightCone ◆sSJBc30S5w :2008/10/24(金) 09:25:26 ID:???
ttp://www.nowsmartsoft.or.tv/bbs_top/images/programming-math5.png

行列をソース・コード中で使った時の想像図。
154LightCone ◆sSJBc30S5w :2008/10/24(金) 12:45:54 ID:???
ttp://www.nowsmartsoft.or.tv/bbs_top/images/programming-math6.png

戻り値を複数にすれば、引数に戻り値のポインタを指定したり、
わざわざそのためだけに構造体を作る必要はない。

関数の戻り値を別の関数の入力に指定すれば、テンポラリ変数を
用意する必要もない。
155LightCone ◆sSJBc30S5w :2008/10/24(金) 13:11:43 ID:???
ttp://www.nowsmartsoft.or.tv/bbs_top/images/programming-math7.png

C/C++/Javaなどのプログラミングで中括弧の範囲が分かりやすくなる例。
156LightCone ◆sSJBc30S5w :2008/10/30(木) 13:41:45 ID:???
ttp://nowsmartsoft.or.tv/bbs/test/read-new.cgi/FreeTalk2/1076227067/

上段で行列(やベクトル)の大きさ(次元、要素数)を変更できる
ようになりました。

ALT+上下左右キー : カーソルの上下左右に行または列を追加
SHIFT+ALT+上下左右キー : カーソルの上下左右の行または列を削除
(指定した方向へ「バックスペース」のニュアンス)
157LightCone ◆sSJBc30S5w :2008/10/30(木) 14:07:17 ID:???
ttp://www.nowsmartsoft.or.tv/bbs_top/how_to_use_applet_version.htm

こちらも行列の項を加筆しておきました。
158LightCone ◆sSJBc30S5w :2008/10/31(金) 11:47:14 ID:???
159LightCone ◆sSJBc30S5w :2008/10/31(金) 15:41:10 ID:???
ttp://nowsmartsoft.or.tv/bbs/test/read-new.cgi/FreeTalk2/1076227067/

括弧の大きさや位置やバランスなどを修正。
160LightCone ◆sSJBc30S5w :2008/11/01(土) 13:10:26 ID:???
ttp://nowsmartsoft.or.tv/bbs/test/read-new.cgi/FreeTalk2/1076227067/

文字の位置や大きさ、前後の空白、などを調整しておきました。

こっちの画像も変化が大きい部分は入れ替えておきました。

ttp://www.nowsmartsoft.or.tv/bbs_top/how_to_use_applet_version.htm
161ご冗談でしょう?名無しさん:2008/11/01(土) 13:23:26 ID:Abg0D+cN
age
162LightCone ◆sSJBc30S5w :2008/11/01(土) 16:28:33 ID:???
ttp://nowsmartsoft.or.tv/bbs/test/read-new.cgi/FreeTalk2/1076227067/

分数の分子や分母の上下表示位置が美しくなるように修正。
・1/n - 1/(n+1)
・d/dx df/dx
のような場合に以前より美しく表示されます。

こっちの画像も変化が大きい部分は入れ替えておきました。

ttp://www.nowsmartsoft.or.tv/bbs_top/how_to_use_applet_version.htm
163LightCone ◆sSJBc30S5w :2008/11/02(日) 13:04:39 ID:???
ttp://nowsmartsoft.or.tv/bbs/test/read-new.cgi/FreeTalk2/1076227067/

上付き下付き文字の表示が美しくなるように改良しておきました。

こっちの画像も大事な部分は入れ替えておきました。

ttp://www.nowsmartsoft.or.tv/bbs_top/how_to_use_applet_version.htm
164LightCone ◆sSJBc30S5w :2008/11/04(火) 15:30:42 ID:4/lirxFm
色々と調整を積み重ねました。

ttp://www.nowsmartsoft.or.tv/bbs_top/images/hamiltonian.png

現状でテストしてみると、こういった数式の表示の美しさが向上
しています。
165LightCone ◆sSJBc30S5w :2008/11/05(水) 10:16:34 ID:QvDoGQ3o
ttp://nowsmartsoft.or.tv/bbs/test/read-new.cgi/FreeTalk2/1076227067/

行列や行列式の見た目の美しさや、括弧の見た目の美しさを向上
させておきました。
166LightCone ◆sSJBc30S5w :2008/11/13(木) 10:36:28 ID:???
入力ウィンドウの上段で行番号を表示できるようにしておきました。
167ご冗談でしょう?名無しさん:2008/11/15(土) 22:10:41 ID:ap4FtM5o
age
168LightCone ◆sSJBc30S5w :2008/11/16(日) 10:06:08 ID:???
ttp://nowsmartsoft.or.tv/bbs/test/read-new.cgi/FreeTalk2/1076227067/

行末に「↓」記号を表示するようにしました。
169ご冗談でしょう?名無しさん:2008/11/19(水) 09:48:26 ID:???
ttp://nowsmartsoft.or.tv/bbs/test/read-new.cgi/FreeTalk2/1076227067/

・\exp{}の後の改行コードの取り扱いや、EOF付近のソースと見た目の関係を
精密にしておきました。
・上段からタブ・コードを入れられることは入れられるようにしておき
ました(微妙な表現なのは、タブ位置が正確ではないため。)。
170LightCone ◆sSJBc30S5w :2008/11/19(水) 10:01:09 ID:???
追加修正:

上段で中身が空の「$式」(行内数式)を書いた時、ソースが$$となって
しまうので、その場合はソースが $ $となるように修正。
171ご冗談でしょう?名無しさん:2008/11/19(水) 10:16:00 ID:???
少し試してみたけど、TeXよりは便利ですね。
頑張ってください。
172ご冗談でしょう?名無しさん:2008/11/20(木) 00:26:50 ID:???
WYSIWYG な数式エディタとTeXより洗練された形式のソース。
これは凄いかも。
173LightCone ◆sSJBc30S5w :2008/11/20(木) 08:02:45 ID:???
これからも成長させていきますので、よろしくお願いします。
174ご冗談でしょう?名無しさん:2008/11/20(木) 08:29:01 ID:J1haZbj+
age
175LightCone ◆sSJBc30S5w :2008/11/21(金) 02:21:49 ID:???
JRE(Java実行環境)をインストールしていない人でも掲示板が見られるよう
にする仕組みを考えた。サーブレットは動かせるレンタル・サーバーが限ら
れるので、以下のような仕組みを考えた。

誰か一人でも世界のどこかでShikikeiのJavaアプレットでその掲示板の
記事を閲覧したら、そのJavaアプレットは式の「見た目」を必ず作る。
これをpngファイルに変換してサーバーへ転送し、画像ファイルとして
蓄積しておく。

JREをインストールしていない環境からは、この画像ファイルを表示
するようなHTMLファイルをサーバーのPerl-CGIが作り出すようにする。

↑これで、世界中の誰か一人がJREにて掲示板のその記事を見れば、
JREなしの人もその記事を見れるようになる。
176ご冗談でしょう?名無しさん:2008/11/22(土) 01:09:43 ID:???
>>175
JREぐらいどのパソコンにも入ってるんじゃないの?
177LightCone ◆sSJBc30S5w :2008/11/22(土) 11:55:43 ID:???
>>176
入ってない人が見れないことを心配して、掲示板利用者が減る可能性が
あります。
178LightCone ◆sSJBc30S5w :2008/11/22(土) 21:24:24 ID:???
「さくら インターネット」というレンタルサーバーは、月額500円で
HDD容量3GB、telnet/ssh 使用可能ですが、そこにJREがインストール
出来たという報告があります。サーブレット(TomCat)ではありませんが、
サーバー内でJavaプログラムが動作する環境にはなるはずです。
ちなみに、サーブレットは、Javaプログラムが「常駐」しますが、
常駐する必要がないならTomCatは必要ありません。通常のCGIと
同様にHTTPリクエストの度にJavaプログラムを起動し直す方法で
良いならJREさえインストールさえできればTomCatは必要ないのです。

これを使えば、>>175のような方法を採らずに、クライアント側に
JRE環境がない場合でもJava版Shikikeiを表示できるようになる
と思われます。
179ご冗談でしょう?名無しさん:2008/11/27(木) 07:42:50 ID:yq51BfgX
age
180LightCone ◆sSJBc30S5w :2008/11/27(木) 08:14:17 ID:???
「さくら インターネット」「CoreServer」のお試し期間を
使って、JREを試しました。いずれでも、JREのインストールに
成功し、簡単なHello Worldのコンソール・プログラムの正常動作
を確認しました。これらのサーバーでは、Javaサーブレットは
使えないことになっていますが、「サーバーサイドJava」自体は
使えることが証明出来ました。
まだ、Graphicsは試してません。
181LightCone ◆sSJBc30S5w :2008/12/01(月) 09:39:24 ID:5xVow6HV
しばらく、サーバーサイド pLatex2e ビューアーが動かなくなっていまし
た。これは、使っていたレンタル・サーバーの容量がTeXを使うには小さく、
TeXやその他のツールをテンポラリ・ディレクトリにしかインストールでき
なかったためです。せっかくインストールしても時間が経つと消えてしま
って使えなくなっていました。

今回、SAKURA Internetのお試し期間を使って、そちらの方にインストール
できましたので、使いたい方はお使い下さい:

ttp://nowsmartsoft.sakura.ne.jp/texview/mytex.cgi

ブラウザさえあれば、TeX が使えます。
面倒なインストールの必要がありません。
182LightCone ◆sSJBc30S5w :2008/12/01(月) 12:20:33 ID:???
CoreServerでも pLaTeX2eビューアーのインストールに成功。
TeXのインストールとPerl 5.8.8の非互換性にかなり苦労しましたが、
なんとか成功しました。

ttp://nowsmart.s93.coreserver.jp/texview/mytex.cgi


SAKURA Internet や CoreServerの不具合ではないが、GhostScript の
フォント周りには苦労しました。
183ご冗談でしょう?名無しさん:2008/12/01(月) 13:16:33 ID:TayZZTZT
TeXで入力できる数式の使えるSNSがあるようです。
http://textex.sakura.ne.jp/
184LightCone ◆sSJBc30S5w :2008/12/03(水) 15:17:09 ID:???
>>183 了解しました。

>>181
SAKURA Internet は閉じました。
以後は>>182のCoreServerを本契約したので少なくとも一年間有効です。
今まで借りていたcsideは、来年2月ごろまでには閉じます。
185ご冗談でしょう?名無しさん:2009/01/01(木) 09:16:17 ID:1ObQ6xgR
age
186ご冗談でしょう?名無しさん:2009/03/11(水) 01:46:19 ID:vHV3lJQx
>>185
(´・ω・`)ショボーン
http://imepita.jp/20090124/089930
187ZRXQAMXVRFNWHHh:2009/10/23(金) 22:56:13 ID:???
Everyone in SA is classified by government as either black, white, Indian, coloured or "other". ,
188ご冗談でしょう?名無しさん

 柳下浩紀