web-dev-qa-db-ja.com

Pandoc Markdownでラテックス方程式環境を使用する方法?

Pandocマークダウンでは、 '$$'を使用して表示数学環境を開始できます。ただし、これらの方程式には、latexでは番号が付けられていないため、代わりに次のように方程式環境を使用したいと考えています。

\begin{equation}
x+1 = 2 \\
y+2 = 3 
\end{equation}

マークダウンをラテックスに変換しても問題ありません。しかし、Pandocがこれらの行をHTMLでraw_latexが無視するものとして処理するため、MathjaxでHTMLに変換すると機能しません。

Raw_latex拡張を禁止しようとしました

pandoc -f markdown-raw_latex ...

今回は、2つの方程式が同じ行に表示されます。これは、バックスラッシュがPandocによってエスケープされているため、「\」が改行を正しく生成しないためです。

次のコードはHTMLに変換すると正常に機能しますが、latexではコンパイルエラーが発生することに注意してください。

$$    
\begin{equation}
    x+1 = 2 \\
    y+2 = 3 
\end{equation}
$$

この問題を処理する方法はありますか?

18
Stan

pandoc-eqnos フィルターを試してください。ラベルは、属性を使用して方程式に添付できます。

 $$ y = mx +b $$ {#eq:description}

...そして次のように参照されます:

@eq:description

Tex/pdf出力の場合、LaTeXのネイティブequation環境と\labelおよび\refマクロが使用されます。他のすべての場合、数値はハードコーディングされています。

フィルターをインストールして適用する方法については、pandoc-eqnosページに説明があります。

14
tjd

適切な方程式の番号付けに対する適切なネイティブサポートはありませんが、回避策があります。

> pandoc -s -o math.html --mathjax 
(@) $$y=5$$

A paragraph here explaining 

(@) $$y=6$$

出力

<body>
<ol style="list-style-type: example">
<li><span class="math">\[y=5\]</span></li>
</ol>
<p>A paragraph here explaining</p>
<ol start="2" style="list-style-type: example">
<li><span class="math">\[y=6\]</span></li>
</ol>
</body>

Numbering example

当然ながら、出力はcssを使用してスタイルを設定できます。一方、このメソッドのtex出力も数値を左側に配置します。どの妥協案を選ぶかはあなた次第です。

2