他の場所では問題なく動作していたコードを使用しても、beamer で $ が見つからないというエラーが発生し続ける

他の場所では問題なく動作していたコードを使用しても、beamer で $ が見つからないというエラーが発生し続ける

beamer クラスを使用して次のコードをコンパイルしようとすると、「$ が挿入されていない、または余分な $ が挿入されていない、または忘れられている」などのエラーが発生します。

\documentclass{beamer}
\newcommand*{\theorembreak}{\usebeamertemplate{theorem end}\framebreak\usebeamertemplate{theorem begin}}
\usepackage{mathtools}
\allowdisplaybreaks
\usepackage{tikz-cd}

\usetheme{Warsaw}``
\begin{frame}
\begin{equation}
    \begin{tikzcd}[font=\small]
0 \ar{r} & \frac{E'(K)}{\phi(E(K))} \ar{r}{\delta} \ar{d} 
    & H^{1}(G_K, E[\phi]) \ar{r} \ar{d}{Res_v} & WC(E/K)[\phi] \ar{r} \ar{d} & 0 \\
0 \ar{r} & \frac{E'(K_v)}{\phi(E(K_v))} \ar{r}{\delta_{v}} \ar{d} 
    & H^{1}(G_{v}, E[\phi]) \ar{r} \ar{d} & WC(E/K_{v})[\phi] \ar{r} \ar{d} & 0 \\
0 \ar{r} & \prod\limits_{\mathclap{v \in M_K}} \frac{E'(K_v)}{\phi(E(K_v))} 
            \ar{r}{\prod\limits_{\mathclap{v \in M_K}}\delta_{v}} 
    &
\prod\limits_{\mathclap{v \in M_K}} H^{1}(G_{v}, E[\phi]) \ar{r} &
\prod\limits_{\mathclap{v \in M_K}} WC(E/K_{v})[\phi] \ar{r} & 0
\end{tikzcd}  
    \end{equation}   
\end{frame}
\end{document}

具体的には、次のメッセージが表示されます。

! Undefined control sequence.
<argument> \pgf@matrix@last@nextcell@options 

l.23 \end{frame}

入力してrリターンキーを押すと、LaTeX は多数のエラーを報告し、「エラーが 100 個あります。もう一度やり直してください。」と表示してクラッシュします。

同じコードを別の LaTeX ドキュメントで使用しましたが、問題なく動作しました。しかし、エラーはパッケージが不足していることによるものだと思います。よくわかりません。

誰かこれを理解するのを手伝ってくれませんか?

ありがとう。

答え1

fragileオプションに を追加すると、エラーは解消されますframe。ただし、フレームに収まるように幅を調整する必要があります。 1 つの方法は、 を に設定し、column sep3番目の列を追加して1em2 列目と 3 列目の間隔を まで広げることです。 (このオプションを追加したのは、この方が好みで、スペースを節約するために数式番号を削除したためです。プレゼンテーションでは、数式番号は一般的にあまり役に立ちませんが、ここにあるすべてのことと同様に、これらは単なる提案です。)2em[2em]t

\documentclass{beamer}
\newcommand*{\theorembreak}{\usebeamertemplate{theorem end}\framebreak\usebeamertemplate{theorem begin}}
\usepackage{mathtools}
\allowdisplaybreaks
\usepackage{tikz-cd}

\usetheme{Warsaw}
\begin{document}
\begin{frame}[fragile,t]
\frametitle{A commutative diagram}
\[
    \begin{tikzcd}[font=\small,column sep=1em]
0 \ar{r} &\frac{E'(K)}{\phi(E(K))} \ar{r}{\delta} \ar{d} 
    &[2em]  H^{1}(G_K, E[\phi]) \ar{r} \ar{d}{Res_v} & WC(E/K)[\phi] \ar{r} \ar{d} & 0 \\
0 \ar{r} & \frac{E'(K_v)}{\phi(E(K_v))} \ar{r}{\delta_{v}} \ar{d} 
    & H^{1}(G_{v}, E[\phi]) \ar{r} \ar{d} & WC(E/K_{v})[\phi] \ar{r} \ar{d} & 0 \\
0 \ar{r} & \prod\limits_{\mathclap{v \in M_K}} \frac{E'(K_v)}{\phi(E(K_v))} 
            \ar{r}{\prod\limits_{\mathclap{v \in M_K}}\delta_{v}} 
    &
\prod\limits_{\mathclap{v \in M_K}} H^{1}(G_{v}, E[\phi]) \ar{r} &
\prod\limits_{\mathclap{v \in M_K}} WC(E/K_{v})[\phi] \ar{r} & 0
\end{tikzcd}  
\]
\end{frame}
\end{document}

ここに画像の説明を入力してください

を追加する代わりにfragile、 を追加することもできますampersand replacement

\documentclass{beamer}
\newcommand*{\theorembreak}{\usebeamertemplate{theorem end}\framebreak\usebeamertemplate{theorem begin}}
\usepackage{mathtools}
\allowdisplaybreaks
\usepackage{tikz-cd}

\usetheme{Warsaw}
\begin{document}
\begin{frame}[t]
\frametitle{A commutative diagram}
\[
    \begin{tikzcd}[font=\small,column sep=1em,ampersand replacement=\&]
0 \ar{r} \&\frac{E'(K)}{\phi(E(K))} \ar{r}{\delta} \ar{d} 
    \&[2em]  H^{1}(G_K, E[\phi]) \ar{r} \ar{d}{Res_v} \& WC(E/K)[\phi] \ar{r} \ar{d} \& 0 \\
0 \ar{r} \& \frac{E'(K_v)}{\phi(E(K_v))} \ar{r}{\delta_{v}} \ar{d} 
    \& H^{1}(G_{v}, E[\phi]) \ar{r} \ar{d} \& WC(E/K_{v})[\phi] \ar{r} \ar{d} \& 0 \\
0 \ar{r} \& \prod\limits_{\mathclap{v \in M_K}} \frac{E'(K_v)}{\phi(E(K_v))} 
            \ar{r}{\prod\limits_{\mathclap{v \in M_K}}\delta_{v}} 
    \&
\prod\limits_{\mathclap{v \in M_K}} H^{1}(G_{v}, E[\phi]) \ar{r} \&
\prod\limits_{\mathclap{v \in M_K}} WC(E/K_{v})[\phi] \ar{r} \& 0
\end{tikzcd}  
\]
\end{frame}
\end{document}

fragileとオプションの両方がampersand replacement、多くの投稿で提案されています。この質問

関連情報