具有脆弱选项的 Beamer 中的 Tikz 矩阵节点 AND \onslide 产生错误

具有脆弱选项的 Beamer 中的 Tikz 矩阵节点 AND \onslide 产生错误

在中绘制tikz picture包含的 时,需要打开 beamer 选项。这样可以正常工作。但是,在tikz 图片内或周围应用 时,它会产生错误:“Package pgf Error: Single ampersand used with mistakes catcode.”。一种解决方法是在 中激活,然后将所有内容转换为。但我想保留,因为我经常将表格内容转移到这些节点中。matrix of nodesbeamerfragile\onslide<x-y>{}ampersand replacement=\&tikzset&\&&

所以我的问题是,如何激活选项fragilebeamer将其保留为节点分隔符并在包含节点矩阵的 tikz 图片中&使用?或者是唯一的方法来使用?\onslide<x-y>{}ampersand replacement=\&

梅威瑟:

\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{frame}[fragile]

%\onslide<1-1>{ %<-- when being activated produces error: "Package pgf Error: Single ampersand used with wrong catcode."

\begin{tikzpicture}
    \tikzset{table/.style={matrix of nodes}}
    
    \node[matrix,table] {Node 1 & Node 2 \\};   
    
\end{tikzpicture}
%}
\end{frame}
\end{document}

答案1

使用脆弱内容作为宏的参数通常会带来问题。您可以通过使用环境而不是宏来避免这种情况:

\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{frame}[fragile]

\begin{onlyenv}<1-1>
\begin{tikzpicture}
    \tikzset{table/.style={matrix of nodes}}
    
    \node[matrix,table] {Node 1 & Node 2 \\};   
    
\end{tikzpicture}
\end{onlyenv}
\end{frame}
\end{document}

相关内容