Beamer、tikz-cd:uncover 不起作用

Beamer、tikz-cd:uncover 不起作用

我有类似的问题这个,只是我用的是tikz-cd而不是tikz

这是一个简单的例子:

\begin{frame}
\begin{tikzcd}[ampersand replacement=\&]
1{\uncover<2->{\arrow{r}}}\&2
\end{tikzcd}
\end{frame}

这将有两张幻灯片,均带有箭头。删除将{...}导致错误:

Giving up on this path. Did you forget a semicolon? 

使用\onlyInstead of\uncover确实有效,但是会在更大的图表中移动事物,而这是我不想要的。

有没有一种解决方法,不需要将我所有的tikz-cd图表都转换成tikzpictures?

答案1

使用visible on样式:

\documentclass{beamer}
\usepackage{tikz-cd}

\tikzset{
    invisible/.style={opacity=0},
    visible on/.style={alt={#1{}{invisible}}},
    alt/.code args={<#1>#2#3}{%
      \alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}%
  }
}

\begin{document}

\begin{frame}
\begin{tikzcd}[ampersand replacement=\&]
1 \arrow[visible on=<2->,r]\arrow[visible on=<3>,d] \& 2\arrow[visible on=<2->,d] \\
3 \arrow[visible on=<3>,r] \& 4 
\end{tikzcd}
\end{frame}

\end{document}

在此处输入图片描述

相关内容