Ich möchte verwendenHenri Menkes Antwort auf eine andere Fragemit Beamer. Leider ist das Tikzbild nicht sichtbar. Wie bereits erwähntHierdas liegt daran, dass sich das Tikz-Bild hinter dem Hintergrund des Beamers befindet. Es würde also sichtbar werden, wenn der Hintergrund transparent gemacht wird \setbeamercolor{background canvas}{bg=}
. Aber diese Folie soll den gleichen Beamer-Hintergrund haben wie alle anderen Folien.
Wie kann ich das Tikzbild hinter dem geprägten Text, aber über dem Beamer-Hintergrund positionieren?
\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}
Antwort1
Ich kann es nicht mit testen minted
, aber ich denke, Sie können das tikz
Bild einfach zum eigenen Hintergrundmechanismus des Beamers hinzufügen, anstatt es zu verwenden 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}