はてなブログ(markdown記法)で数式を書くメモ
はてなブログ(markdown記法)で数式を書くメモ
mathjaxを使って,通常のmd,htmlで数式が問題なく表示されてもはてなブログのほうにコピペしてみると以下の問題が絡み合って表示されないことがある.
- markdownの記号がバッティングする問題
- はてなブログ記法モードで使っている記号がバッティングする問題
- はてなブログキーワードリンクに自動変換されてしまう問題
- はてなブログtex記法でのエスケープ問題
結論としては以下の形式で書いておくと表示可能性が高い.
<pre> [tex: 数式 ] </pre>
はてなブログでの数式の書き方は2通り
mathjaxを導入する方法
以下のスクリプトを記事に挿入する.
<script type="text/x-mathjax-config"> MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); </script> <script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"> </script>
configの部分で,ドル記号$を使えるようにした.($inline$
,$$display$$
)
メリット:
- 他のブログへの移行しても表示される.
デメリット:
tex記法を使う方法
はてなブログ公式の機能を使う. 昔は数式の画像が挿入されていたが,今ではmathjaxに変わったらしい.
[tex: 数式 ]
メリット:
- はてなキーワードリンクなどを無効にでき,表示できる可能性が高い.
デメリット:
- ブログを移行してしまうと,tex記法の部分が表示されなくなってしまう.
はてなブログ内でmathjaxを使う場合のエスケープ問題
通常のhtmlで正常に表示されても,はてなブログで表示させるには以下のエスケープが必要になる.
\_ , \^ , \( , \) , \[ , \] , \| , \\
数式の改行では,バックスラッシュ4つ\\\\
になる.
はてなキーワードリンクに変換されてしまう問題
\sigma
などの記号を使うと,sigmaというキーワードにキーワードリンクが張られてしまい,
数式の表示がされなくなってしまう.
解決方法は,tex記法[tex:]
を使うしかない.
行列やイコールを揃えるアンパサンド&が使えない問題
markdown記法モードでは, tex記法でも中にアンパサンド&を使うことができない問題がある. .
解決方法としては
pre
タグで囲ってやる.
<pre> [tex: 数式 ] </pre>
デメリット:
一番いい書き方は
以上の問題点から一番いい書き方をまとめると tex記法+preタグである.
<pre> [tex: 数式 ] </pre> <div style="display: none;"> $$ original 数式 $$ </div>