我想在幻灯片上的一些代码周围绘制椭圆,作为覆盖层,这个答案。但是,它似乎不起作用。事实上,XeLaTeX 甚至没有渲染第二张幻灯片。
我的代码是这样的:
\begin{frame}[fragile=singleslide]{Frame title}
\begin{minted}[autogobble,fontfamily=myfont,escapeinside=||}{c}
int main(int argc, char** argv) {
return |\tikzmark{start}|0|\tikzmark{end}|;
}
\end{minted}
\begin{tikzpicture}[remember picture,overlay]
\node<2>[draw,line width=2,cyan,circle,fit={(pic cs:start) (pic cs:end)}] {};
\end{tikzpicture}
\end{frame}
我正在使用 latexmk,仅供参考。我测试了上述答案中链接的代码,得到了正确的输出,所以我猜它执行了正确的传递次数。但是,当我删除 minted 环境时,它仍然不起作用:
\begin{frame}[fragile=singleslide]{Frame title}
Hello \tikzmark{start}World\tikzmark{end}
\begin{tikzpicture}[remember picture,overlay]
\node<2>[draw,line width=2,cyan,circle,fit={(pic cs:start) (pic cs:end)}] {};
\end{tikzpicture}
\end{frame}
答案1
好的,我找到了问题。如果我删除fragile=singleslide
框架选项,那么它在第二个示例中就可以正常工作。但是,minted 环境至少需要该fragile
选项。幸运的是,此组合有效:
\begin{frame}[fragile]{Frame title}
\begin{minted}[autogobble,fontfamily=myfont,escapeinside=||}{c}
int main(int argc, char** argv) {
return |\tikzmark{start}|0|\tikzmark{end}|;
}
\end{minted}
\begin{tikzpicture}[remember picture,overlay]
\node<2>[draw,line width=2,cyan,circle,fit={(pic cs:start) (pic cs:end)}] {};
\end{tikzpicture}
\end{frame}