スライド上のコードの周りに楕円をオーバーレイとして描画したいのですが、この答えしかし、うまく動作しないようです。実際、XeLaTeX は 2 番目のスライドをレンダリングしていません。
私のコードは次のようになります:
\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を使用しています。前述の回答にリンクされているコードをテストしたところ、正しい出力が得られました。つまり、正しい回数のパスを実行しているのだと思います。ただし、ミントされた環境を削除すると、まだ動作しません。
\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
フレーム オプションを削除すると、2 番目の例では動作します。ただし、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}