Atrás do texto, mas sobre o fundo do projetor

Atrás do texto, mas sobre o fundo do projetor

eu gostaria de usarResposta de Henri Menke de outra perguntacom projetor. Infelizmente, a imagem tikz não está visível. Como apontadoaquiisso ocorre porque a imagem tikz está atrás do fundo do beamer. Portanto, ficaria visível ao tornar o fundo transparente \setbeamercolor{background canvas}{bg=}. Mas este slide também deve ter o mesmo plano de fundo do projetor como todos os outros slides.

Como posso posicionar a imagem tikz atrás do texto cunhado, mas em cima do fundo do projetor?

\documentclass{beamer}

\usepackage{minted}
\newminted{latex}{linenos, frame=lines, autogobble, breaklines}

\usepackage{tikz}
\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture,baseline=(#1.base)] \node (#1) {\vphantom{I}};}

\usepackage{eso-pic}

\newcommand{\colorPreamble}{blue!10}
\newcommand{\colorDocument}{green!10}

\begin{document}

\begin{frame}[fragile]
    \twocolumn
    \begin{latexcode*}{escapeinside=||}
        |\tikzmark{n}|\documentclass{article}

        [...]
        |\tikzmark{c}|
        \begin{document}
            [...]
        |\tikzmark{s}|\end{document}
    \end{latexcode*}
    \AddToShipoutPictureBG*{%
        \begin{tikzpicture}[remember picture, overlay]
            \path[overlay, fill=\colorPreamble] (n.north) rectangle ([xshift=\linewidth] c.south);
            \path[overlay, fill=\colorDocument] (c.south) rectangle ([xshift=\linewidth] s.south);
        \end{tikzpicture}
    }
    \twocolumn
\end{frame}

\end{document}

Responder1

Não posso testar com minted, mas acho que você pode simplesmente adicionar a tikzimagem ao mecanismo de fundo do próprio beamer em vez de usar eso-pic.

\documentclass{beamer}

\usepackage{tikz}
\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture,baseline=(#1.base)] \node (#1) {\vphantom{I}};}

\newcommand{\colorPreamble}{blue!10}
\newcommand{\colorDocument}{green!10}

\begin{document}

{
    \addtobeamertemplate{background canvas}{}{%
        \begin{tikzpicture}[remember picture, overlay]
        \path[overlay, fill=\colorPreamble] (n.north) rectangle ([xshift=\linewidth] c.south);
      \path[overlay, fill=\colorDocument] (c.south) rectangle ([xshift=\linewidth] s.south);
    \end{tikzpicture}
    }
    \begin{frame}[fragile]
            \tikzmark{n}
            [...]

            \tikzmark{c}
            [...]

            \tikzmark{s}
    \end{frame}
}

\begin{frame}
content...
\end{frame}
\end{document}

insira a descrição da imagem aqui

informação relacionada