Re:Viewで\fracを使う数式をインラインで埋め込みたい時の手順(しかもMarkDownからmd2reviewで変換する場合)

More than 1 year has passed since last update.

Re:Viewとは

https://github.com/kmuto/review
シンプル記法で書籍PDFやEPUB変換できるドキュメントツール
(検索時には「rebview kmuto」などでググラビリティを高めると色々出てくる)

何がしたかったのか

Markdownで数式を含む原稿を書き、md2reviewでreファイルに変換して、Re:ViewでPDFにする。

$\frac{1}{\sqrt2} \left|0\right\rangle+\frac{1}{\sqrt2} \left|1\right\rangle$とか、

\left[
\begin{array}{cc}
\displaystyle 1 & \displaystyle 0 \\
 & \\
\displaystyle 0 & \displaystyle -1 \\
\end{array}
\right]

とかを描画したい。
Markdownで少しでも楽がしたい

何ができなかったのか

\frac命令を含む数式を@<m>でインラインに埋め込めない。
ブロックで書いてもレイアウトが崩れる。

対策したこと

数式を、@<raw>{|latex| \textstyle \frac{1\\}{2\\} \left|0\right\rangle }とインラインraw構文で書く。

ブロックは
//raw[|latex| \textstyle \frac{1}{2} \left|0\right\rangle]
とブロック構文で書く。

ブロック構文については、
//texequation{
\frac{1}{\sqrt2} \left|0\right\rangle + \frac{1}{\sqrt2} \left|1\right\rangle
//}

と書くことも可能。後述のエスケープ文字対応の必要がないため、
\being(equation)とか使いやすいのでブロック構造が中心ならこちらを使えば良いような気がする。

注意点

閉じかっこ}がエスケープ文字で書かれている必要がある。 } -> \}と置き換えて書く。(raw構文の場合)
(Markdown記法の都合でバックスラッシュの数が環境によって異なる数で表示されているかもしれない、実タイプはバックスラッシュ1つを閉じかっこ記号の前に付与する)

md2reviewを通してmdファイルをreファイルに変換すると、上記のエスケープ文字が消える。最初からreで書くか、変換後に打ち直すか、そこは各々の環境で対応が必要。(Markdownで楽に書くのが目的だったのでつらい)

TeXコードの冒頭に\textstyleを付ける事。スタイル指定しない場合、fracは確実に崩れる。

エスケープ周りの構文は
https://github.com/kmuto/review/blob/master/doc/format.rdoc
参照。

また、
$review-pdfmaker config.yml
後に大量に?が出て処理が停止するので、Enter押しっぱなしにしないといけない。(--ignore-errors付けても出る)
(文量が増えると押しっぱなしコストが高すぎるので誰かエラーで停止しないやり方教えてください)

進捗

やばい

謝辞

@mhidaka

その他

Qiita 数式」でググると5番目にこの記事が出てくるので、Webで数式書く人ってあまりいないのかなと思った。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.