Wie kann ich den Befehl \pause in Beamer verwenden, um die Anzeige meines Codes anzuhalten, der jetzt in einer Minted-Umgebung abgelegt ist? Ich habe auf TSE gesucht und zwei Lösungen für recht ähnliche Probleme gefunden, die aber nicht genau auf meins zutrafen, also habe ich mich dennoch entschlossen, noch einmal zu fragen.
Imerste Lösung, in der Antwort wurde vorgeschlagen, zwei Umgebungen zu verwenden, was in meinem Fall nicht hilft.
Imzweite Lösung, in der Antwort wurde vorgeschlagen, die Option zu verwenden [escapeinside=||]
, die mit der weiß geprägten Standardumgebung nützlich erschien. Meine ist jedoch nicht die Standardumgebung, und für die weiße Standardumgebung kann ich die Mehrfachumgebung und die normale Umgebung verwenden, pause
um dieselben Effekte zu erzielen.
\begin{minted}[escapeinside=||]{lua}
|\pause|print("foo")
|\pause|print("bar")
|\pause|print("baz")
\end{minted}
[escapeinside=||]
Und funktioniert auch nicht mit meiner benutzerdefinierten mintedbox
Umgebung.
Hier ist mein MWE:
\documentclass{beamer}
\usepackage{minted}
\usepackage{tcolorbox}
%\usepackage{parskip}
\usepackage{tabularx}
\tcbuselibrary{minted,breakable,xparse,skins}
%\renewcommand{\FancyVerbFormatLine}[1]{>\/>\/> #1}
\usepackage{xcolor}
%\definecolor{bg}{gray}{0.98}
%\definecolor{bl}{rgb}{0.1,0.5,1}
\DeclareTCBListing{mintedbox}{O{}m!O{}}{breakable=true, listing engine=minted, listing only, minted language=#2,
minted style=default, minted options={gobble=0, breaklines=true, breakafter=,, fontsize=\small, numbersep=8pt,
#1},
boxsep=0pt, left skip=0pt, right skip=0pt, left=0pt, right=0pt, top=0pt, bottom=0pt, arc=0pt, leftrule=0pt,
rightrule=0pt, bottomrule=0pt, toprule=0pt, enhanced}
\begin{document}
\begin{frame}[fragile]
\frametitle{Foo}
\begin{minted}[escapeinside=||]{lua}
|\pause|print("foo")
|\pause|print("bar")
|\pause|print("baz")
\end{minted}
Here is mintedbox environment
\begin{mintedbox}[escapeinside=||]{lua}
|\pause|print("foo")
|\pause|print("bar")
|\pause|print("baz")
\end{mintedbox}
\end{frame}
\end{document}
Ich möchte etwas anpassen wie
begin{custompy}
command 1 \pausecommand
command 2 \pausecommand
\end{custompy}
Dies hat die gleiche Wirkung wie der normale \pause
Befehl beamer
und wirkt sich nicht \pause
auf den gesamten Rahmen oder das gesamte Dokument aus.
Bitte hilf mir.
Danke.
Antwort1
Anstatt sich darüber Gedanken zu machen tcblisting
, könnten Sie dem geprägten Code eine Hintergrundfarbe hinzufügen:
% !TeX program = txs:///arara
% arara: pdflatex: {synctex: on, interaction: nonstopmode, shell: yes}
\documentclass{beamer}
\usepackage{minted}
\newminted{lua}{escapeinside=||,bgcolor=gray!15}
\begin{document}
\begin{frame}[fragile]
\frametitle{Foo}
\begin{luacode}
|\pause|print("foo")
|\pause|print("bar")
|\pause|print("baz")
\end{luacode}
\end{frame}
\end{document}
Anstatt die Linien freizulegen, könnte man sie auch komplett aus den vorherigen Überlagerungen ausschließen:
% !TeX program = txs:///arara
% arara: pdflatex: {synctex: on, interaction: nonstopmode, shell: yes}
\documentclass{beamer}
\usepackage{minted}
\newcounter{foo}
\begin{document}
\begin{frame}[fragile,t]
\frametitle{Foo}
This is some text \pause test \pause
\setcounter{foo}{\insertoverlaynumber}
\addtocounter{foo}{1}
\addtocounter{foo}{-\thebeamerpauses}
\begin{minted}[lastline=\thefoo,bgcolor=gray!15]{lua}
print("foo")
print("bar")
print("baz")
\end{minted}
\pause[5]
\end{frame}
\end{document}