Sequência de controle indefinida ao inserir tikzpicture no beamer

Sequência de controle indefinida ao inserir tikzpicture no beamer

Sou novo no beamer e no tikz. Depois de ver muitos exemplos, consegui criar a imagem tikz que desejo em um artigo normal de látex. Eu queria reutilizar a mesma imagem no beamer, mas quando faço isso recebo um erro de sequência de controle indefinida.

Descobri que a causa é o &que uso para desenhar uma matriz, se eu escapar dela com um \látex para de reclamar, porém isso não dá a imagem desejada. Abaixo está a imagem tikz que eu espero. Segue um MWE com o problema, ele não tenta recriar a imagem na sua totalidade. Não acho que todo o código da imagem seja necessário agora, pois isso pode sobrecarregar o MWE. No entanto, ficarei feliz em fornecê-lo, se necessário. Obrigado.

insira a descrição da imagem aqui

\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{trees, matrix}
\usetikzlibrary{arrows.meta}

\tikzset{
    every matrix/.style={
        inner sep=-\pgflinewidth,
        matrix of math nodes,
        column sep=-\pgflinewidth,
        nodes={
            draw=black,
            font=\color{black},
            minimum size=.75cm,
            anchor=center
        }
    }
}

\begin{document}

\begin{frame}

\begin{tikzpicture}
    \tikzstyle{root} = [circle,draw=black, thick]
    \node[root] (r0) at (0,2){root};
    \matrix (l0) at (0,0) {a & ... & z\\};
\end{tikzpicture}

\end{frame}

\end{document}

Responder1

Você precisa adicionar à frameopção fragile:

\documentclass{beamer}
%\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{matrix}

\tikzset{
    every matrix/.style={
        inner sep=-\pgflinewidth,
        matrix of math nodes,
        column sep=-\pgflinewidth,
        nodes={draw,
               minimum size=.75cm,
               anchor=center}
    }
}

\begin{document}

\begin{frame}[fragile]  % <----

\begin{tikzpicture}
    \tikzstyle{root} = [circle,draw=black, thick]
    \node[root] (r0) at (0,2){root};
    \matrix (l0) at (0,0) {a & ... & z\\};
\end{tikzpicture}

\end{frame}

\end{document}

(seu MWE não reproduz a imagem mostrada em questão)

insira a descrição da imagem aqui

informação relacionada