在 minted 环境中暂停 beamer

在 minted 环境中暂停 beamer

我如何使用 beamer 中的 \pause 命令暂停显示现在放在 minted 环境中的代码?我在 TSE 上搜索过,找到了两个针对非常相似问题的解决方案,但不完全是我的问题,所以我还是决定再问一次。

在里面第一个解决方案,答案建议使用环境,但这对我的情况没有帮助。

在里面第二种解决方案,答案建议使用[escapeinside=||]在白色默认环境中似乎有用的选项,但是,我的不是默认的,对于默认的白色环境,我可以使用多环境和通常来pause获得相同的效果。

\begin{minted}[escapeinside=||]{lua}
|\pause|print("foo")
|\pause|print("bar")
|\pause|print("baz")
\end{minted}

而且,[escapeinside=||]它不适用于我的自定义mintedbox环境。

这是我的 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}

我确实想定制类似的东西

begin{custompy}
command 1 \pausecommand 
command 2 \pausecommand
\end{custompy} 

其效果与普通\pause命令相同beamer,并且不会影响\pause整个框架或文档。

请帮我。

谢谢。

答案1

您无需担心tcblisting,可以为铸造的代码添加背景颜色:

% !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}

在此处输入图片描述


您不必揭露这些线条,而是可以将它们从之前的覆盖中完全排除:

% !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}

在此处输入图片描述

相关内容