Рисование наложенной графики поверх отчеканенного кода

Рисование наложенной графики поверх отчеканенного кода

Я хочу нарисовать эллипсы вокруг некоторого кода на слайде в качестве наложений, напримерэтот ответ. Однако, похоже, это не работает. Действительно, 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, FWIW. Я протестировал код, указанный в вышеупомянутом ответе, и получил правильный вывод, так что, полагаю, он выполняет правильное количество проходов. Однако, когда я удаляю среду 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}

Связанный контент