ラベル ライブラリ の投稿を表示しています。 すべての投稿を表示
ラベル ライブラリ の投稿を表示しています。 すべての投稿を表示

2013/01/15

Ubuntu  Mathjax

Mathjax とは

JavaScript ライブラリ*の一つで、 Website や Blog 等に Tex、または MathML などで書かれた数式をブラウザーで表示するためのソースコード。ほとんどのポピュラーなブラウザで特別な設定なしで表示できる。 
例えば
\[
\int_{a}^{b} f(x) dx
\]

HTMLWebsite や Blog をブラウザー上で表示するための言語、)では数式を十分に表現できない。そこで Tex などで数式を書いておき,それをブラウザー上で表示出来るように変換すれば、自在に数式が表現出来る。 Mathjax はブラウザーが利用する JavaScript ライブラリの一つになっている。それゆえ Mathjax を利用するのに特別な設定は必要ない。
MathJax同じく JavaScript のライブラリひとつである jsMath の後継者として2009年に開発が始まった。このプロジェクトは、アメリカ数学会、デザイン科学、産業応用数理学会アメリカ物理学会、エルゼビア、およびプロジェクトユークリッドによってサポートされている。


インストール

インストールの必要はない。
しかし、個人でサーバーを運営している場合,そのサーバーにインストールすることが出来る。詳しくは Installing Your Own Copy of MathJax に書かれている。
  

使い方

ヘッダー(Header:ページのソースコードの<Header> と </Header> の間)に以下のコードを書き加える。
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}});
</script>
<script type="text/javascript"
  src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
詳しくは Sebsite または Blog運営者の仕様にしたがってください。Blogger の場合は
あとは文章内に Tex のコマンドを使って文章中に数式を書いていけばよい。
例えば
\[
\int_{a}^{b} f(x) dx
\]

と表示する場合は

\[ \int_{a}^{b} f(x) dx \]

と書けばよい。

\(\int_{a}^{b} f(x) dx\)

と、表示するには

\( \int_{a}^{b} f(x) dx \)

と書けばよい。([, ] が (, ) となっていることに注意!
個人でサーバーを運営している場合は Installing Your Own Copy of MathJax を参照。


JavaScript とはスクリプト言語の一つで大きくはプログラミング言語の一つである。 
ライブラリとは他のプログラムに何らかの機能をコピーという形で提供するコードの集まりである。


参考

 1. http://en.wikipedia.org/wiki/MathJax

 2. http://docs.mathjax.org/en/latest/start.html

 3. http://docs.mathjax.org/en/latest/platforms/index.html

 4. genkuroki.web.fc2.com/

2013/01/10

Ubuntu  Blog や Website で数式を表現



Tex で書いた数式を Website,Blog へ

LibreOffice write で(定)積分記号を書く方法について調べているときに、Website に数式を書く方法があることを知った。

HTML形式の Website に直接数式を書こうとすると、簡単な式なら

ax+bx+c=0

となる。これならいいが、少し複雑になると,


f(x)dx

という感じになる。ここでは下端の a がインテグラル記号から離れすぎている。さらに複雑になって、例えば二次方程式の解の公式のように根号の中に式が入るような表現はできない。

しかしながら、 HTML -> Tex または HTML <- Tex なら変換ソフトがあったので、数式だけでなくファイル全体を Tex で作ってから変換すれば Website に表現したい数式を自由に表せた。

今回知ったのは,数式の部分だけを Tex で書いた数式を Website に書き込むことが出来ることだ。それならHTML形式である Blog にも Tex で書いた数式を書き込めるはずだ。今日はその方法と、Tex を使わずに数式を表現する方法をいくつか紹介したいと思う。



Tex を使わずに数式を表現する方法

 MathML

  Website, Blog 等で数式を記述するための言語
  例えば

a b f ( x ) d x

Tex を使って数式を画像として表現する方法

 mimeTex

  Tex で書かれた数式を画像に変換するソフトウェア
  例えば



 CODECOGSというサイトの利用

  このサイトにはTeXのコードを使って数式の画像を表示する機能がある。
  例えば



 Google Chart Tools API

  各種グラフを描画するためのソフトウェアの集まり。その中に数式表示機能が含まれている。
  例えば



 formula というサイトの利用

  CODECOGSと同様にTeXのコードを使って数式の画像を表示するAPI
  例えば




数式を表すコマンドを変換して表す方法

 jsMath

  JavaScript ライブラリの一つで、Tex で書かれた数式を Website や Blog で記述するための
  ソースコード


 Mathjax

  JavaScript ライブラリの一つで、 Tex、または MathML などで書かれた数式を Website や
  Blog 等で
記述するためのソースコード
  どのブラウザを使っても同様な表現ができるように工夫されている。
  例えば
\[\int_{a}^{b} f(x) dx
\]


表現の正確さと利用のしやすさについて

今回紹介した7通り

 MathML  mimeTex  CODECOGS  "Google Chart Tools API"  formula  jsMath  Mathjax 

のうち、出力の出来上がりを基準にすると

MathML  CODECOGS  formula  jsMath  Mathjax 

 (mimeTex と "Google Chart Tools API" では加工が必要な場合あり)

閲覧される方々が特に準備がいらないのは

 mimeTex  CODECOGS  "Google Chart Tools API"  formula  jsMath  Mathjax 
  (MathML を Windows系の標準であるインターネットエキスプローラーを使用している場合にはプラグインの設定が必要。)

Website や Blog を書く側も設定の必要がないのは

 MathML  mimeTex  CODECOGS  "Google Chart Tools API"  formula

 ブラウザの違いによる影響を受けないのは

 Mathjax



まとめ

出力の質と手軽さで選ぶなら

 MathML  CODECOGS  formula

出力の質と安定性(正確さ)で選ぶなら
 
 Mathjax

といったところか。

mimeTex と jaMath, Mathjax はサーバーにインストールして利用する。ただし、Mathjax の場合は公式サイトのサーバーにインストールされている Mathjax を利用出来る。したがって、Mathjax はサーバーを運用していない人にも利用出来る