MathJAX とJavaScriptで階段ササラの計算

サンプル作ってみました。
WEBプログラミング(構造トレインNZX) の中のSCRIPT1です。

これは、階段の重量やスパン等を入れれば数式入りの計算結果(曲げ、たわみ)が出る仕様になっています。曲げなどは分数表示ができると俄然見やすくなりますね。手計算で検算できるので便利です。

JavaScriptで文字列を強引に連結させてinnerHTMLで書き出します。中央に表示される仕様も左揃えに設定しました。整形は古典的な方法(・・・)で作っています。実務用には階段荷重を計算するスクリプトとZとIも鉄骨断面から自動計算できるスクリプトをつなげて完成です。その2つは、段板の計算に転送できるので、これでササラと段板計算が完成します。

HOUSE-ST1へ追加荷重算出までできれば、室内の鉄骨階段及び屋外階段込みでの計算が楽になります。

CANVASで数式を書き出すのが楽か?テキスト整形でLaTeX仕様で書き出すのが楽かは、短いものならMathJAXを利用してLaTeX・・・がスマートだと思います。

もう少し完成度を高めてみます。

MathJaxだいぶ慣れてきた

ここのところ建築のお仕事ばっかり(注:それが普通)で飽きてきたので(注:仕事なので飽きては困る)、今日はプログラミングのお仕事。

年明けに作った、鉄骨階段プログラムの表示部分の改良。

Excelで作った物をJavaScriptに移植し・・・までは良かったのですが、数式の表示でGさんにどちらも完全に否定されたので、彼が納得できるものを作る、というのが目標です(大汗)。

ちょっとWebを調べればLaTeX記述で数式を表示できるMathJaxといったJavaScriptライブラリを使えば簡単!!というのですが、計算書書式を作る際に、画面上に表示して・・・となると難しいのが現状です。というのもLaTeXで数式を描いたものを表示するのは簡単なのですが、動的に計算結果を出した物を計算書のように整形して表示・・・というのが難しかったからです。

以下のページを参考に作ってみました。最終的にはSpaceLikeさんの手法をベースに作ってみました。皆様ありがとうございます。

ishii-akihiro’s blog

MathJaxを動的に使う

MathJax を使用してウェブページに数式を表示する

SpaceLikeのブログ

技術的な問題は解消されました。あとはある程度の汎用性を持たせ、きれいに出力できれば、という部分です。またMathJaxが使えなくなった際に、MathMLなどで代用できるか?などまだまだ改善しなければならないところがあります。MathMLは<math>タグでHTMLに直接書き込めます。しかもプラグインなしで。しかし対応ブラウザが問題で、FirefoxやSafariなどしか使えないらしく、ChromeやIE、特にAndroidスマートフォンでは使えない場合が多いようなので、まだ厳しいです。

仕事が忙しいので使える時間は限られているのですが、今月中に完成させたいですねえ・・・。