テキストの後ろだがビーマーの背景の上にある

テキストの後ろだがビーマーの背景の上にある

使用したいアンリ・メンケの別の質問に対する回答ビーマーで。残念ながら、tikzpictureは表示されません。指摘されているようにこここれは、tikzpicture が Beamer の背景の背後にあるためです。したがって、背景を透明にすると、tikzpicture が見えるようになります\setbeamercolor{background canvas}{bg=}。ただし、このスライドは、他のすべてのスライドと同様に、同じ Beamer の背景を持つはずです。

tikzpicture を、ミントされたテキストの後ろ、ビーマーの背景の上に配置するにはどうすればよいですか?

\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}

答え1

ではテストできませんが、を使用する代わりに、ビーマー独自の背景メカニズムに画像mintedを追加するだけでよいと思います。tikzeso-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}

ここに画像の説明を入力してください

関連情報