我如何使用 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}