はてなブログでLaTeX数式を書くのはつらいところがありました。
hatena_md_converter.py · GitHub
つらいところ
[tex: x^2+y^2=z]
だとだめで、スペースを入れて [tex: x ^ 2+y ^ 2=z]
にしないと と正しく表示されない。下付き_
でも同様のことが起きたりする。
今後改良をいろいろやっていく必要があると思うが、今回書いたやつはだいたいいい感じにしてくれるはず。
つかいかた
$ python hatena_md_converter.py # クリップボードに保存されているテキストを変換し、変換結果はクリップボードに保存される $ python hatena_md_converter.py -p /path/to/markdown # ファイルを指定して変換し、変換結果はクリップボードに保存される $ python hatena_md_converter.py -bk # Bra-Ketの定義が頭に付く
例えば
これが
# Fermi function $f_{FD}$ $$ f(\varepsilon, \mu, T) = \frac{1}{\exp[(\varepsilon-\mu)/k_B T] + 1} $$ where $k_B$ is Boltzmann's constant, $T$ is the absolute temperature, $ε$ is the energy of the single-particle state, and $\mu$ is the total chemical potential. # 2 qubit $$ \ket{ab} = \ket{a} \otimes \ket{b} = c_{00} \ket{00} + c_{01} \ket{01} + c_{10} \ket{10} + c_{11} \ket{11} \to \left(\begin{array}{c} c_{00} \\ c_{01} \\ c_{10} \\ c_{11} \end{array}\right) $$ # etc. - $x^a_\alpha$ - $y^{ab}_{\alpha \beta}$ - $\sqrt[3]{27}=3$
こうなって
[tex: \def\bra#1{\mathinner{\left\langle{#1}\right|}} \def\ket#1{\mathinner{\left|{#1}\right\rangle}} \def\braket#1#2{\mathinner{\left\langle{#1}\middle|#2\right\rangle}} ] # Fermi function [tex: f _ {FD} ] <div align="center"> [tex:\begin{aligned} f(\varepsilon, \mu, T) = \frac{1}{\exp\[(\varepsilon-\mu)/k_B T\] + 1} \end{aligned}] </div> where [tex: k _ B ] is Boltzmann's constant, [tex: T ] is the absolute temperature, [tex: ε ] is the energy of the single-particle state, and [tex: \mu ] is the total chemical potential. # 2 qubit <div align="center"> [tex:\begin{aligned} \ket{ab} = \ket{a} \otimes \ket{b} = c_{00} \ket{00} + c_{01} \ket{01} + c_{10} \ket{10} + c_{11} \ket{11} \to \left(\begin{array}{c} c_{00} \\ c_{01} \\ c_{10} \\ c_{11} \end{array}\right) \end{aligned}] </div> # etc. - [tex: x ^ a _ \alpha ] - [tex: y ^ {ab} _ {\alpha \beta} ] - [tex: \sqrt\\[3\\]{27}=3 ]
こうじゃ
Fermi function
where is Boltzmann's constant, is the absolute temperature, is the energy of the single-particle state, and is the total chemical potential.
2 qubit
etc.
元のMarkdownはVSCodeで書けばPreviewも見える
Markdown+MathというExtensionを入れれば、数式を含んだMarkdownもPreviewしてくれる。
Markdown+Math - Visual Studio Marketplace
ただし、Bra-Ketを表示させるためには、設定のjsonにこれを書く必要がある。
{ "mdmath.macros": { "\\bra": "{\\mathinner{\\left\\langle{#1}\\right|}}", "\\ket": "{\\mathinner{\\left|{#1}\\right\\rangle}}", "\\braket": "{\\mathinner{\\left\\langle{#1}\\middle|#2\\right\\rangle}}" } }