代表的な方法は、次の通りです。
方法1.数式の画像を作成してアップロードする。
方法2.数式を表示するWebサービス(Webアプリケーション)を利用する。
方法3.数式表示用のMathML(Mathematical Markup Language)を使う。
方法4.HTMLだけで頑張る。
方法1.数式の画像を作成してアップロードする。
アップロードの方法は省略します。数式の画像を作成するには幾つかの方法があります。
- TeX(LaTeX)を使う。
画像生成までを一括して行ってくれるアプリケーション(TeX2img)もあります。 - 数式エディタを使う。
LibreOfficeやMS-Officeの数式エディタ
Chromeアプリ
Webアプリケーション(Webサイト) - 記述した数式を画像に変換(生成)してくれるアプリケーション(サービス)を使う。
TeX(LaTeX)のみを使う場合は、コンパイルしてできたDVIファイルをdvipng.exeでPNGに変換します。
>dvipng -T tight -bg Transparent targetfile.dvi
上記のオプションは、
・-T tight : 余白を削除する
・-bg Transparent : 背景を透過にする
です。オプションは引数なしで実行すると表示されます。
TeX2imgは数式モードを宣言する必要がありますが、(pLaTeXをインストールしてあれば?)日本語を含めて画像にすることが可能です。
LibreOfficeの数式エディタでは、ビジュアルに数式を作成することができます。
しかしながら、画像で保存することはできないので、次の方法で入手します。
- 作成した数式(文書)のスクリーンショットを撮って、ペイントソフト or ドローソフトにペーストする。
- オブジェクトをペイントソフト or ドローソフトにコピー&ペーストする。
ドローソフト(Inkscape)を使うとSVG形式で保存することもできます。
ChromeアプリのDaum Equation Editorは、ビジュアルに数式を作成することができます。また、TeXコードで入力することもできます。結果は、PNG画像に保存することもできます。
Web上には、TeXコードを数式画像に変換してくれるサイトがあります。(2013.10.15現在)
上から3つはビジュアルな入力ができます。
- http://www.sciweavers.org/free-online-latex-equation-editor(PNM作成可能)
- http://www.wiris.com/editor/demo/en/index.html
- http://www.codecogs.com/latex/eqneditor.php(SWF,SVG作成可能)
- http://arachnoid.com/latex/
- http://www.texify.com/links.php
- http://formula.s21g.com/(化学式も可能)
- http://maru.bonyari.jp/texclip/texclip.php(EPS作成可能)
- http://www.eaflux.com/imgtex/interactive.html
- http://www.hostmath.com/Default.aspx(画像保存はできない)
方法2.数式を表示するWebサービス(Webアプリケーション)を利用する。
URLのクエリー部にTeXコードを記述することで数式の画像を表示させるサービスを提供しているWebサイトがあります。(2013.10.15現在)- http://www.sciweavers.org/free-online-latex-equation-editor
- http://www.codecogs.com/latex/eqneditor.php
- http://www.texify.com/links.php
なお、URIエンコードは、
- このページ。
- http://urlencode.net/
- http://www.tagindex.com/tool/url.html
- http://home.kendomo.net/board/decode/decode2.php
- http://kunisan.jp/uri_encode_decode/
- https://developers.google.com/chart/interactive/docs/querylanguage?hl=ja&csw=1#plainText
なお、手入力する向きは、サイトによって使えるTeXコードが異なる点もご注意ください。例えば、\overや\cfrac、\matrixが使えたり使えなかったりします。
また、ブラウザに数式を表示させるライブラリであるMathjaxを使う手もあります。
これを利用する場合は、
<script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML" type="text/javascript"></script>と(ヘッダ内などに)記述しておく必要があります。
数式はHTML中に数式を表すコード(上記の場合はTeXコード)を直接記述することになります。
Mathjaxについては、くろきげんさんのサイトに詳しい説明があります。
configについては、http://docs.mathjax.org/en/latest/configuration.html#using-a-configuration-fileを参照してください。
HostMathのサーバにあるMathjaxを指定することもできます。その場合は、
<script type="text/javascript" src="http://www.hostmath.com/Math/MathJax.js?config=OK"></script>でいいようです。
ただし、私の環境(X-Iron30)では、正しく印刷することができませんでした。IE11とFireFox21は大丈夫でした。
- いずれのサイトを利用する場合でも、そのサイトの利用規約を確認して下さい。
- 方法2で紹介したサイトで、クエリー部にTeXコードを記述することで画像を生成しているところがありますが、そのような利用を想定しているか不明なので、ご配慮ください。
方法3.MathML(Mathematical Markup Language)を使う。
MathMLの文法を覚えるのは大変なので、グラフィカルに作成できるアプリケーションやサービスを利用するのが良いでしょう。具体的には、前述のWebサービスのいくつか(WIRIS、HostMath、arachnoid)とLibreOfficeの数式エディタでMathMLコードが作成できます。
MathMLは表示がブラウザに依存している(GoogleChromeは対応していない!)点には注意が必要です。
方法4.HTMLだけで頑張る。
上付き下付きは、<sup></sup><sub></sub>を使います。分数は、tableでスタイルシートを設定してみます。
スタイルシートはこんな感じです。
<style type="text/css">
.frac {
display:inline-block;
text-align:center;
vertical-align:middle;
font-size:smaller;
}
td.denominator{/* 分母 */
border-top:1px solid black;
vertical-align:top;
}
td.numerator{/* 分子 */
border:none;
vertical-align:bottom;
}
</style>
――(使用例)――
・二次関数の解の公式
x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}
貼り付け(PNG)
縦横比がおかしくなってしまいました……。
Google Chart API
小さく感じたので\Largeを指定してます。
codecogs
Mathjav
右クリックで、TexコードやMathMLコードを見ることができます。
画像として保存はできません。
x=−b±√b2−4ac2a
これは、\LARGEを指定しています。
MathML
Chrome系のブラウザでは、
HTMLだけで頑張った。
y=1+
-b±(b2-4ac)
| ||
2a |
y=1+
<span class="frac">
<table>
<tr><td class="numerator">
-b±(b<sup>2</sup>-4ac)
<sup>
<span class="frac"><table><tr><td class="numerator">1</td></tr><tr><td class="denominator">2</td></tr></table></span>
</sup>
</td></tr>
<tr><td class="denominator" height="35px">
2a
</td></tr>
</table>
</span>
または、y=1+
-b±√(b2-4ac) |
2a |
y=1+
<span class="frac">
<table>
<tr><td class="numerator">
-b±√(b<sup>2</sup>-4ac)
</td></tr>
<tr><td class="denominator" height="30px">
2a
</td></tr>
</table>
</span>
∫
3 |
4 |
∫<span class="frac"><table><tr><td>3</td></tr><tr><td>4</td></tr></table></span>x dx
数式画像の作成を試してみたい方はこちらのページにどうぞ。