はてなブログにLaTeXで数式を書く (Markdown記法用)
追記 2014/05/10 この記事は古いので、 はてなブログの LaTeX 数式表示がデフォルトで MathJax 化された を参照してください。
MathJaxを導入したら、はてなブログがMarkdown+LaTeXという夢の様な環境になって便利という話。
はてな記法で数式を書く
以前は以下の方法ではてなブログに数式を書いていた。 いわゆるはてな記法を使う方法。
[tex:{ \displaystyle b_n = \sum_{m=0}^{N-1} a_m }]
この方式では数式が画像に変換されてしまい、よくない。
MathJaxで数式を書く
画像化するのではなく、javascriptでフォントの位置とサイズを整えて数式を表示するMathJaxという仕組みがある。 MathJaxはすでに有力な標準仕様で、画像化するより MathJaxを使ったほうが綺麗らしい ので乗り換えた。 LaTeXコマンドをそのままブログに書ける ので、かなり便利。
導入の詳細は はてなブログで MathJax \( \alpha^{\beta^{\gamma}} \) (←リンク名にも数式が使えるのだ) や MathJaxでの数式表示を試す を参照。 要するにはてなブログのサイドバーに
<script type="text/javascript" src="https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" ></script>
と書くだけ。むっちゃ簡単。
文中の数式は、以下のように\\(
と\\)
で数式部を挟む。
京都北山 \\( \alpha \\) ステーション!
京都北山 \( \alpha \) ステーション!
普通のLaTeXでは$ \alpha $
とするけれど、
MathJaxでは $
記号が推奨されない。
そのかわり、普通のMathJaxでは\( \alpha \)
とするのが推奨されている。
ただしこのブログは Markdown で書かれてるのでエスケープを2重にしなければならない。
つまり\\( \alpha \\)
とする。
エスケープ関連の問題はややこしいので追記に書いた。
別行立ての数式を書く時はalign
環境を使う。
\begin{align\*} b_n = \sum_{m=0}^{N-1} a_m \end{align\*}
\begin{align} b_n = \sum_{m=0}^{N-1} a_m \end{align}
算数のおべんきょうが捗る。
2014/02/17 追記
id:tosh1ki さんに指摘されたので追記します。
参考 :
はてなブログ(Markdown記法)+MathJaxの記入例
MathJax環境内では _,*[]()
の文字をエスケープしないと、
数式化されない場合がある。一例を上記ブログから引用する。
アンダースコアを全てエスケープした場合
\\( \mathcal{Z}[x\_{n}]=\sum\_{n=-\infty}^{\infty} x\_{n}z^{-n}\\ \\)
\( \mathcal{Z}[x_{n}]=\sum_{n=-\infty}^{\infty} x_{n}z^{-n}\ \)
↑正しく数式化された。
アンダースコアのエスケープを外した場合
\\( \mathcal{Z}[x_{n}]=\sum_{n=-\infty}^{\infty} x_{n}z^{-n}\\ \\)
\( \mathcal{Z}[x{n}]=\sum{n=-\infty}^{\infty} x_{n}z^{-n}\ \)
↑数式化されない!!
きちんとエスケープしましょう。