sunsun fineな日々

子育てしながら,山を歩いたり星を見たり料理したり写真を撮ったり

ポータブル赤道儀の自作
登山記録・山域別
福島の花と風景
カメラ機材レビュー・写真の理論

はてなブログで記事中に数式を書く方法【TeXの簡単な使い方と支援サイト】

f:id:sunsun_fine:20200906014304j:plain

以前,写真の「ボケ」に関する2本の記事で,ボケの量を計算するために数式をいくつか用いました。

www.sunsunfine.com

www.sunsunfine.com

はじめにこれらの記事を書いたとき,数式は MS Word の数式エディタで書いたものをスクショに撮って,画像として貼り込んでいました。

でも,その後調べてみると,はてなブログでもTeXが使えるらしいことがわかりました。そこで実際に上記の記事中の数式を TeXで書きなおしてみたところ,ちゃんと表示されました。

この記事では,ブログ中に数式を表示するための TeX の使い方を記しておこうと思います。はてなブログにおける Tex の書き方はちょっと独特で,思考錯誤して解決したところもあります。

なお,以下の内容は「見たままモード」で書くことを前提としています。はてな記法やMarkdown記法だとまた違う対応が必要になる可能性があるので注意してください。

そもそも TeX ってなに?

TeX(または LaTeX)はフリーの組み版システムです…が,理系の人たちの間では「数式を記述するシステム」として認識されていることが多いような気がします (^ ^;) ちなみに「TeX」は「テフ」と読みます。

ブログの文章はHTMLを使って記述されていますが,数式はなかなかうまく表現できません。例えば2分の1は,通常のHTMLだと 1/2 と書かざるを得ないですね。でもTeX を使うと, \dfrac{1}{2} と書けるのです。まあ,「1/2」くらいだったら意味はすぐにわかりますが,もっと複雑な数式を記述するには,TeX を使わなければ難しいかと思います。

TeX を使って式を書いてみよう

TeX を使うには

はてなブログで TeX を使って数式を書くには,編集画面で

 [tex: ほにゃらら]

と書きます。すると「ほにゃらら」の部分が TeX のルールに従って,数式として記述されるというわけです。

ちなみにはてなブログの場合,「見たまま」モードの画面でこう書くと,編集画面では TeXコードがレンダリングされずにそのまま表示されますが,プレビューや公開後の画面では,ちゃんとレンダリングされた数式が表示されます。

 

簡単な例(四則計算)

はじめにごく簡単な式を書いてみましょう。足し算や引き算は簡単です。

 [tex: 3+5=8]

と書くと, 3+5=8 と表示されますし,

 [tex: 3-5=-2]

と書くと, 3-5=-2 と表示されます。でもこれくらいだったらTeX を使わなくても書けるでしょうか。

掛け算,割り算は以下のように書きます。

 [tex: 3 \times 5=15]
 [tex: 3 \div 5=0.6]

\times が掛け算の印,\div が割り算の印というわけです。これらは,公開後のページでは以下のように表示されます。

 3 \times 5=15

 3 \div 5=0.6

これくらいなら簡単ですね (^◡^)

 

分数

分数は \dfrac {分子}{分母} と書きます。例えば「45分の21」なら

[tex: \dfrac {21}{45}]

です。これが  \dfrac {21}{45} と表示されるわけですね。

 

括弧

 小括弧 ( )

括弧は \left( なんちゃらんかんちゃら \right) と書きます。例えば  a \left( 2x+35 \right) =0

[tex: a \left( 2x+35 \right) =0]

と書きます。\left( が左側の「 ( 」,\right) が右側の「 ) 」というわけですね。

括弧の中に分数などが入っている場合,自動的に括弧の大きさが調整されます。例えば

[tex: a \left( 2x - \dfrac {3}{2} \right)=0]

と書くと, a \left( 2x - \dfrac {3}{2} \right)=0 と表示されます。素晴らしい (^ ^)

 

 中括弧 { }

中括弧 {a} を出力するには,\{a\} と書きます。\ を入れないと,{ } がコマンドの適用範囲を示す記号になるのでこうします。

[tex: A=\{\left(a+b\right) +\left( c+d \right)\} \times 2 \pi]

と書くと,出力は  A=\{\left(a+b\right) +\left( c+d \right)\} \times 2 \pi となります。

 大括弧 [ ] 

ハマったのが大括弧 [ ] の書き方です。通常は普通に [a] と書けば  [a]となるはずなのですが,はてなブログだと右側の ] が

 [tex:  ] 

と干渉してしまうためか,うまく表示されません。

いろいろやってみた結果,[ ] を行内に表示する際には [a\] と書く必要があり,また式を独立した行で書くときには [a\] と書いた上で TeX コードを <div> </div> タグで囲む必要があることがわかりました。

つまり <div> 大括弧 [ ] を含む式のコード </div> と書きます。例えば

[tex: \mathrm{pH}= \mathrm{p}K_{\mathrm{a}}+\log\dfrac{[\mathrm {A^-}\]}{[\mathrm {HA}\]}]

↑ このコードを <div> タグで囲むと

 \mathrm{pH}= \mathrm{p}K_{\mathrm{a}}+\log\dfrac{[\mathrm {A^-}]}{[\mathrm {HA}]}

こうなります。この部分を書く時は HTML編集の画面に入る必要がありますね(余談ですが,[A] や [HA] は化学式なのでローマン体にしてあります。ローマン体については後述)。

さらに大括弧で分数をくくるとき,\left[ \dfrac{b}{a} \right\] と書けば(ここでも右側の ] の前に \ をつけます),分数に合わせて括弧のサイズが調整されます。

[tex: \left[ \dfrac{b}{a} \right\]]

で出力は   \left[ \dfrac{b}{a} \right]  です。

 

上付き文字,下付き文字

上付き文字,例えば指数は x^{12} のように書きます。また下付き文字はアンダーバーを使って a_{21} のように書きます。{ } で囲まれた部分が上付き,下付きになるんですね。例えば

[tex: x^{12}]
[tex: a_{21}]

で,それぞれ  x^{12} および  a_{21} ですね。

 

ローマン体と空白

 ローマン体

さて,ここまで出てきた式で,文字 xa がイタリック(斜体)になっているのに気づかれているでしょうか。数式においては,変数または数値を代入できる文字はイタリックで書くのがルールなのです。TeXは何も指定しなくても,デフォルトで文字をイタリックにしてくれます。

でも文字をローマン体(斜体ではない,普通の文字)で表記したい時もあります。例えば,cm, kg, mLなどの単位を書く時。単位はローマン体で書くのが科学文書のルールです。

こういう時は \mathrm {ほにゃらら} と書くと,ほにゃららの部分がローマン体になります。

 

 スペースの入れ方

また科学文書では,数値と単位の間にスペースを入れるのがルールです。Texではコード中にスペースを入れても全て無視されます(だからコードを書く時,見やすいように適当にスペースを入れてもOKです)。では Tex の出力にスペースを入れるにはどうするかというと, \, と書きます。例えば

[tex: f=35 \, \mathrm {mm}]

と書くと, f=35 \, \mathrm {mm} と表示されます。

 

演算子

 sin, cos, tan など

sin, cos, tan 等の演算子もローマン体で書くのがルールです。これらは \mathrm {sin} などと書いても悪くないですが,\sin とか \tan と書くとローマン体で表示されるように定義されています。例えば

[tex: \tan \theta = \dfrac{b}{a}]

 \tan \theta = \dfrac{b}{a}

[tex: \sin^2 \theta + \cos^2 \theta =1]

 \sin^2 \theta + \cos^2 \theta =1

ここで \theta はギリシア文字の  \theta を表しています。同様に \alpha とか \beta と書くと, \alpha あるいは  \beta と表示されます。円周率の  \pi も \pi で出力できます。また \Theta と大文字で書くと, \Theta とギリシア文字の大文字が出力されます。

 

 対数

対数は「 \log_{底} 真数 」と書きます。例えば

[tex: \log_{10} 100 =2]

と書くと,  \log_{10} 100 =2 と出力されます。底を省略するときは \log x でOKです。

自然対数は「 \log_{e} 真数」でもいいですし,「 \ln 真数」も使えます。

[tex: \log_{e}x]
[tex: \ln x] 

出力はそれぞれ  \log_{e}x および  \ln x です。

 

 総和Σ

総和を表す  \sum は \sum で出力できます。

 \sum で総和を取る範囲を示すには,上付き文字,下付き文字を使って \sum_{a}^{b} と書きます。すると   \sum_{a}^{b} となりますが,ここで \displaystyle をつけて

[tex: \displaystyle \sum_{a}^{b}] 

と書くと   \displaystyle \sum_{a}^{b} となって格好よくなります。

 

 平方根

根号は \sqrt {a} と書きます。出力は  \sqrt {a} です。 \sqrt {\dfrac {1}{2}} は \sqrt {\dfrac {1}{2}} になります。{ } が入れ子になっていますが,落ち着いて書けば大丈夫です

\sqrt を  \sum と組み合わせて標準偏差の式を書いてみると,以下のコードで

[tex: s=\sqrt{\dfrac{\displaystyle \sum ^{N}_{i=1}\left( x_{i}-\overline{x}\right) ^{2}}{N-1}}]

 s=\sqrt{\dfrac{\displaystyle \sum ^{N}_{i=1}\left( x_{i}-\overline{x}\right) ^{2}}{N-1}}  となります。根号の幅や高さが自動的に調整されます。

なお, \sqrt[3\] {a} と書くと立方根  \sqrt[3] {a} になります。ここでもはてなブログの場合は,] の前に \ をつける必要があるようです。

 

 微分

通常の微分は,分数の書き方を使って \dfrac {dy}{dx} と書けば  \dfrac {dy}{dx} となります。もし「d」をローマン体にしたければ \dfrac {\mathrm {d}y}{\mathrm {d}x} でOKです。出力は   \dfrac {\mathrm {d}y}{\mathrm {d}x} ですね。

偏微分のラウンドデルタは \partial と書きます。例えば

[tex: \nabla^2 = \dfrac{\partial^2 f}{\partial x^2} + \dfrac{\partial^2 f}{\partial y^2}] 

と書けば, \nabla^2 = \dfrac{\partial^2 f}{\partial x^2} + \dfrac{\partial^2 f}{\partial y^2}  と出力されます。

 

 積分

積分記号  \int のコードは \int です。また定積分の範囲を示すには上付き,下付き文字を使って \int_{a}^{b} と書けば, \int_{a}^{b} と出力されます。さらに \displaystyle をつけて,\displaystyle \int_{a}^{b} と書くと,積分記号が大きく表示されて格好良くなります。例は ↓ です。

[tex: \displaystyle \int_{1}^{3} \dfrac{1}{x} dx = \ln 3]

  \displaystyle \int_{1}^{3} \dfrac{1}{x} dx = \ln 3

\displaystyle をつけないと    \int_{1}^{3} \dfrac{1}{x} dx = \ln 3 となって,ちょっと格好悪いですね。

 

その他の記号

 ドット

掛け算を表すドット「 · 」は \cdot と書きます。c は center の意味でしょうかね。

[tex: \dfrac {3}{8} \cdot \dfrac {a}{3} = \dfrac {a}{8}]

 \dfrac {3}{8} \cdot \dfrac {a}{3} = \dfrac {a}{8}

[tex: \dfrac{C_{1}}{C_{2}}=\left( \dfrac{f_{1}}{f_{2}}\right) ^{2} \cdot \dfrac{\left( D-f_{2}\right) }{\left( D-f_{1}\right) }]

 \dfrac{C_{1}}{C_{2}}=\left( \dfrac{f_{1}}{f_{2}}\right) ^{2}\cdot \dfrac{\left( D-f_{2}\right) }{\left( D-f_{1}\right) }

 

また \cdots と複数形にすると, \cdots と出力されます。

 

 プラスマイナス

プラスマイナスを表す記号  \pm は,\pm と書きます。「plus minus」の頭文字だからわかりやすいですね。

[tex: x=\dfrac{-b \pm \sqrt {b^{2}-4ac}}{2a}]

 x=\dfrac{-b \pm \sqrt {b^{2}-4ac}}{2a}

 

 絶対値

絶対値は単純に | で囲めばOKです。

[tex: |-3| =3]

  | -3 | =3

分数などの絶対値を表すときは,\left | と \right | で挟むと縦棒の長さが調整されて格好良くなります。

[tex: \left | -\dfrac {1}{2} \right | =0.5]

 \left | -\dfrac {1}{2} \right | =0.5

 

 平均値

 測定値 xの平均値を表す  \overline {x} は \overline {x} と書きます。

これは標準偏差を表す式のところでも使いましたね。

 

 「ほぼ等しい」の印(ニアリーイコール)と定義 "≡",ノットイコール "≠"

”ニアリーイコール” のコードは \simeq です。例えば 

[tex: \dfrac{1}{3}\simeq 0.33]

と書くと, \dfrac{1}{3}\simeq 0.33 と出力されます。

また定義のマーク  \equiv は\equiv と書きます。

[tex: \hbar \equiv \dfrac{h}{2\pi }]

 \hbar \equiv \dfrac{h}{2\pi }

ちなみに \hbar で出力される  \hbar は換算プランク定数(ディラック定数)です。TeXではこんなマニアックなものまで用意されてるんですね。

"not equal" を表す  \neq は \neq で出力できます。

[tex: a \neq b]

 a \neq b

 

改行

長い式を途中で改行したい時があります。その場合,改行する位置に \\ と入れます。例えば

[tex: 6x^{2}+x-35=0 \\ \left(2x+5 \right) \left(3x-7 \right)=0 \\x=-\dfrac{5}{2}, \, \dfrac{7}{3}]

と書くと,\\ の位置で改行されて,

 6x^{2}+x-35=0  \\ \left(2x+5 \right) \left(3x-7 \right)=0 \\x=-\dfrac{5}{2}, \, \dfrac{7}{3}

と出力されます。

 

文字に色をつける

文字に色をつけるときには \color{red}{色をつける範囲} とします。例えば

[tex: \displaystyle \int_{2}^{5} x^3 dx = \color{red} {\dfrac{1}{4} \cdot 5^{4}- \dfrac{1}{4} \cdot 2^{4}} =152.25]

と書くと

 \displaystyle \int_{2}^{5} x^3 dx = \color{red} {\dfrac{1}{4} \cdot 5^{4}- \dfrac{1}{4} \cdot 2^{4}} =152.25

と出力されます。

{red} の他には {blue}, {green}, {yellow}, {orange}, {magenta}, {cyan}, {navy} などなど,かなりの色が定義されています。

 

Texを書くための支援サイト

手書きで数式を書くとTexコードに変換してくれるサイト

以上でかなりいろんな式が書けると思います。{ } が入れ子になるところは頭がこんがらがるかもしれませんが,落ち着いて書いていけば大丈夫…なはずです。

でも式が複雑になってくると,コードを書くのが億劫になることもあるかもしれません。

そう思っていたら,こんなサイトがあることを知りました。サイト名は,ズバリ「math」。

webdemo.myscript.com

このサイトは,手書きで式を書くとそのコードを作成してくれるのです。これは便利!

↓ こんな感じで使います。

「math」画面

式を手書きすると,コードを出力してくれます

ここで出力されるコードを,はてなブログのTex入力形式

[tex:   ]

に入れればOKです。上記のサイトで得たコードを入れれば,

[tex: -\dfrac{\hbar ^{2}}{2m}\nabla ^{2}\psi +v\left( x,y,z\right) =i\hbar \dfrac{\partial \psi }{\partial t}]

 -\dfrac{\hbar ^{2}}{2m}\nabla ^{2}\psi +v\left( x,y,z\right) =i\hbar \dfrac{\partial \psi }{\partial t}

マウスで数式を書くのは意外に手間がかかります。ペンタブが欲しくなりますね (^ ^;)

「math」が出力したコードを修正して使う

「math」は手書きした式をけっこう正確に認識してくれますが,たまに出力してくれる Texコードに間違い(文字の認識違いとか)があったり,少し修正したい時もあります。例えば以下のように式を書いたところ,

math画面

こんなコードが出力されました。

\dfrac{CFF\left( 52.5mm\right) }{CAP5\left( 35mm\right) }=2.25x\dfrac{5000-35}{5000-52.5}=2.2511\ldots

これをそのまま TeX で書かせると,こうなります。

 \dfrac{CFF\left( 52.5mm\right) }{CAP5\left( 35mm\right) }=2.25x\dfrac{5000-35}{5000-52.5}=2.2511\ldots

 

はい。

  • のあとの添字 FF (52.5 mm) や APS (35 mm) が下付き文字になっていない
  • APS が AP5 になっている
  • FF, APS および長さの単位 mm はローマン体にしたい
  • 52.5 や 35 と mm の間にスペースを入れたい
  • FFと (52.5 mm),APSと (35 mm) の間にもスペースを入れたい
  • 右辺 2.25 のあとの  \times x になっている

そこで今まで見てきたルールに従って,これを修正します。↓

[tex: \dfrac{C_{\mathrm {FF} \, \left( 52.5\, \mathrm {mm}\right) }}{C_{\mathrm {APS}\, \left( 35\, \mathrm {mm}\right) }}=2.25 \times \dfrac{5000-35}{5000-52.5}=2.2511\ldots]

すると

 \dfrac{C_{\mathrm {FF} \, \left( 52.5\, \mathrm {mm}\right) }}{C_{\mathrm {APS}\, \left( 35\, \mathrm {mm}\right) }}=2.25 \times \dfrac{5000-35}{5000-52.5}=2.2511\ldots

こんな感じで手間がかかる時もありますが,うまく使えば便利ですね。

 

まとめ

以上,はてなブログにおける TeX の書き方と基本的なコマンド,そして支援サイトの紹介でした。TeXのコマンドはまだたくさんあります。不等式やベクトルなども表現できますが,今回はこの辺で (^ ^)

はてなブログにおけるTeX の書き方にはちょっと独特なものがあるので,時々注意が必要です(実際,今のところマトリクスの入力がうまくいっていません)。でもうまく使っていけば見栄えのする記事を書けるかもしれませんね。

ちなみにTeXは数式以外の表現もコントロールできる組み版システムなので,ブログの記事全体をTeXで書くことも可能ですが,さすがにそれをやってる人はいませんかね(笑)。

 

関連記事

www.sunsunfine.com

www.sunsunfine.com

www.sunsunfine.com