当我尝试使用 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
。但仍然需要调整一些宽度以使其适合框架。一种可能的方法是将设置为,column sep
但通过添加第三列1em
将第二列和第三列之间的距离增加到。(我还添加了选项,因为我更喜欢这个,并删除了方程编号以节省一些空间,因为在演示文稿中,它们通常不太有用,但就像这里的一切一样,这些只是建议。)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
都已在许多帖子中提出,例如这个问题。