Zeichnen von Overlay-Grafiken über geprägten Code

Zeichnen von Overlay-Grafiken über geprägten Code

Ich möchte Ellipsen um einen Code zeichnen, den ich auf einer Folie habe, als Overlays, perdiese Antwort. Es scheint jedoch nicht zu funktionieren. Tatsächlich rendert XeLaTeX nicht einmal die zweite Folie.

Mein Code sieht ungefähr so ​​aus:

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

Ich verwende übrigens latexmk. Ich habe den in der oben genannten Antwort verlinkten Code getestet und erhalte die korrekte Ausgabe, also gehe ich davon aus, dass die korrekte Anzahl an Durchläufen durchgeführt wird. Wenn ich jedoch die Minted-Umgebung entferne, funktioniert es immer noch nicht:

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

Antwort1

OK, ich habe das Problem gefunden. Wenn ich die fragile=singleslideFrame-Option entferne, funktioniert es im zweiten Beispiel. Die Minted-Umgebung benötigt jedoch mindestens die fragileOption. Diese Kombination funktioniert glücklicherweise:

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

verwandte Informationen