我想使用Henri Menke 对另一个问题的回答使用 beamer。不幸的是,tikzpicture 不可见。正如指出的那样这里这是因为 tikzpicture 位于 beamer 的背景后面。因此,当使背景透明时,它将变得可见\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
,但我认为您可以简单地将tikz
图片添加到 beamers 自己的背景机制中,而不必使用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}