web-dev-qa-db-ja.com

knit + pandoc pdfへのrmarkdownの複数行の数式で「\ begin {align}」を使用する際の「数式構造の誤ったネスト」

自動番号付けと\ begin {align}を使用して、R Markdown-LaTeXで複数行の数式を書いています。これが実際の例です:

---
title: "test"
output: html_document
---

(@eq01) $$
\begin{align}
y = x^2 \\
y = x^3 \\
y = \sqrt[2]{x}
\end{align}
$$

これは、出力がhtml_documentの場合に適切に機能します。結果は次のとおりです。

html_doc

しかし、出力ドキュメントをpdfに変更すると、次のようになります。

output: pdf_document

次のエラーが表示されます(RStudioの最新バージョン0.98.1056を使用しています)。

error

エラーメッセージで提案されているようにドキュメントを読み込もうとしましたが、ハンドルを取得できないようです。 Stack OverflowとGoogleを確認しましたが、関連する投稿/質問はいくつかありますが(たとえば hereherehere )、どれもありません彼らは問題を解決します(または私の問題に適用します)。

私もすべてを微調整しようとしました。最も明白な解決策は、\ begin {align}環境を取り除くことです。

(@eq01) $$
y = x^2 \\
y = x^3 \\
y = \sqrt[2]{x}
$$

しかし、2つの理由で機能しません。まず、自動バージョン番号は複数行の数式の中央ではなく、最初の行に表示されるため、htmlバージョンはうまく機能しません(そして、私はそのようにしたくありません)。

html output without the begin align

次に、この場合のpdfバージョンはpdfをコンパイルして生成しますが、それが複数行の式であることを認識しません(新しい行コマンド\を認識しないようです)。

pdf

どんなアイデアでも本当に感謝しています。私はしばらくこれに苦労しており、解決策を見つけることができません。 R Markdownは、分析を(単一のツールで(多くの異なるツールを使用するのではなく)使用するのではなく)作成および通信と本当に統合しているため、ちょっと気に入っています。ただし、1つのソースファイルを記述して、いくつかの異なる出力形式で適切にレンダリングできるようになるまでには、まだ長い道のりがあります。

30
Hernando Casas

位置合わせされたブロックをPDFに送信しようとすると、同じエラーが発生しました。以下を変更してみてください:

$$
\begin{align}
y = x^2 \\
y = x^3 \\
y = \sqrt[2]{x}
\end{align}
$$

次へ:

$$
\begin{aligned}
y = x^2 \\
y = x^3 \\
y = \sqrt[2]{x}
\end{aligned}
$$

\begin{align}は自己完結型の数学環境ですが、\begin{aligned}は既存の数学環境内に配置する必要があります。 Rmdは数学セクションを$$...$$で区切っているので、\begin{align}が最初の数学環境を最初の環境で開始しようとして問題を引き起こしたようです。

44