在 beamer 中制作一个盒子 - 在框架内暂停以仅使用显示新内容

在 beamer 中制作一个盒子 - 在框架内暂停以仅使用显示新内容

我正在尝试使用 beamer 的 only<1>、only<2> 等功能来处理帧。但是,当将其添加到程序中时,它无法编译。我将不胜感激任何帮助。

另外,标题“预测结果”和“实际结果”怎么能居中而不是左对齐呢?

哪里有投影仪颜色选项列表(而不是代码中的蓝色)?

我怎样才能制作一个箭头指向单元格?

接下来是:在 beamer 中制作一个方框形式的表格,其中突出显示 2 个单元格

\documentclass[professionalfont, fleqn]{beamer}
\usepackage{tikz}
\usetikzlibrary{arrows,shapes,positioning,fit,shapes.misc}

\begin{document}

 \begin{frame}[fragile]

 \centering
 \begin{tikzpicture}[
  box/.style = {draw,rectangle,minimum size=1.0cm,text width=1cm,align=center}
 ]
 \matrix (conmat) [row sep=0cm,column sep=0cm] {
 \node (tpos) [box,label=left:\( \mathbf{p'} \),label=above:\( \mathbf{p} \),] {};
 & \node (fneg) [box,label=above:\textbf{n},] {$\checkmark$}; \\
 \node (fpos) [box,label=left:\( \mathbf{n'} \),] {$\checkmark$};
  & \node (tneg) [box] {$\checkmark$}; \\
 };

\node [left=.05cm of conmat,text width=1.5cm,align=center] {\textbf{actual \\ value}};
\node [above=.05cm of conmat] {\textbf{prediction outcome}};
\end{tikzpicture}

\end{frame}
\end{document}

我尝试将其仅放在开始{tikzpicture}和结束{tikzpicture}周围。

答案1

(我回答这\only部分是因为我认为这是主要问题。)

从表面上看似乎并非如此,但这与您的原始问题有着相同的潜在问题:在 tikzpicture 中使用矩阵时,不能过早看到 & 符号。按照\begin{frame} ... \end{frame}原始问题的构造,整个框架会在处理之前被读入,这意味着 & 符号读取得太早了。该fragile选项是针对此问题的一种解决方法。但是,该fragile选项仅适用于\begin{frame} ... \end{frame}构造。当您将 tikzpicture 括在里面时,\only整个图片会在处理之前再次被读入(因为它是命令的参数\only),因此 & 符号读取得太早了。有解决这个问题的方法,例如\onslide<1>在 tikzpicture 之前使用,但这些方法可能无法与更复杂的叠加规范很好地交互。

还有一种替代方法可以解决这个 & 符号问题,这就是我在这种情况下推荐的方法。那就是在路径构造ampersand replacement的参数中使用键matrix。最常见的用法是:\matrix[..., ampersand replacement=\&,...] { ... \& ... \\ };但可以使用任何命令。此命令用于替换矩阵构造中的 & 符号。因此:

\documentclass[professionalfont, fleqn]{beamer}
%\url{http://tex.stackexchange.com/q/64774/86}
\usepackage{tikz}
\usetikzlibrary{arrows,shapes,positioning,fit,shapes.misc}

\begin{document}

 \begin{frame}

 \centering
\only<1>{%
 \begin{tikzpicture}[
  box/.style = {draw,rectangle,minimum size=1.0cm,text
width=1cm,align=center}
 ]
 \matrix (conmat) [row sep=0cm,column sep=0cm,ampersand
replacement=\&] {
 \node (tpos) [box,label=left:\( \mathbf{p'} \),label=above:\(
\mathbf{p} \),] {};
  \& \node (fneg) [box,label=above:\textbf{n},] {$\checkmark$}; \\
 \node (fpos) [box,label=left:\( \mathbf{n'} \),] {$\checkmark$};
  \& \node (tneg) [box] {$\checkmark$}; \\
 };

\node [left=.05cm of conmat,text width=1.5cm,align=center]
{\textbf{actual \\ value}};
\node [above=.05cm of conmat] {\textbf{prediction outcome}};
\end{tikzpicture}%
}

\pause
Second frame

\end{frame}
\end{document}

我认为,这对您来说将是最强大的解决方案。

相关内容