在投影仪框架上仅显示prooftree的部分内容

在投影仪框架上仅显示prooftree的部分内容

我尝试在 beamer 文件中使用 prooftrees。是否有一个选项可以淡入 prooftree 的每一层,而无需使用多个框架?在下面的代码框中,我使用了 \visible<>{},但它只显示整个证明树。Best Nils

\documentclass{beamer}
\usepackage{bussproofs}

\begin{document}
\begin{frame}
\begin{prooftree}
\visible<3-> {
\AxiomC{an axiom}
\LeftLabel{some label}}
\visible<2-> {
\UnaryInfC{some text}
\LeftLabel{another label}}
\UnaryInfC{more text }
\end{prooftree}
\end{frame}

\end{document}

答案1

\noLine 命令可用于隐藏线条,以下是一个工作示例:

\documentclass{beamer}
\usepackage{bussproofs}

\begin{document}

\begin{frame}
\begin{prooftree}
\AxiomC{\uncover<3->{an axiom}}
\only<-2>{\noLine}
\LeftLabel{\uncover<3->{some label}}
\UnaryInfC{\uncover<2->{some text}}
\only<1>{\noLine}
\LeftLabel{\uncover<2->{another label}}
\UnaryInfC{more text }
\end{prooftree}
\end{frame}

\end{document}

答案2

如果您不介意这些行从一开始就可见,您可以将覆盖指令移动到prooftree宏的参数内:

\documentclass{beamer}
\usepackage{bussproofs}

\setbeamercovered{transparent}

\begin{document}
\begin{frame}
\begin{prooftree}
\AxiomC{\uncover<3->{an axiom}}
\LeftLabel{\uncover<3->{some label}}
\UnaryInfC{\uncover<2->{some text}}
\LeftLabel{\uncover<2->{another label}}
\UnaryInfC{more text }
\end{prooftree}
\end{frame}

\end{document}

在此处输入图片描述

答案3

基于这个巧妙的答案,我使用 beamer\renewcommand<>来自动化并使代码更漂亮。

\ignorespaces是为了防止在隐藏线条的覆盖层上出现虚假的水平空间;的定义也\noLine以 结尾。\ignorespaces

重新定义\buildNoScore,用于制作“无线条”,是为了模仿\buildSingleScore和 的定义,以避免各个覆盖层之间的垂直空间变化。

\documentclass{beamer}
\usepackage{bussproofs}

\renewcommand<>\LeftLabel[1]{\beameroriginal{\LeftLabel}{\uncover#2{#1}}}
\renewcommand<>\UnaryInfC[1]{\alt#2{\ignorespaces}{\noLine}\beameroriginal{\UnaryInfC}{\uncover#2{#1}}}
\renewcommand<>\BinaryInfC[1]{\alt#2{\ignorespaces}{\noLine}\beameroriginal{\BinaryInfC}{\uncover#2{#1}}}
\renewcommand<>\AxiomC[1]{\alt#2{\ignorespaces}{\noLine}\beameroriginal{\AxiomC}{\uncover#2{#1}}}

\def\buildNoScore{%
    \displace=\curScoreEnd%
    \advance \displace by -\curScoreStart%
    \global\setbox \myBoxD =%
        \hbox to \displace{\vbox{\vskip.4pt}}%
}

\begin{document}

\begin{frame}
\begin{prooftree}
\AxiomC<6->{}
\LeftLabel<6->{Ax}\UnaryInfC<5->{$\phi\land\psi\vdash\phi\land\psi$}
\LeftLabel<5->{E$\land_2$}\UnaryInfC<4->{$\phi\land\psi\vdash\psi$}
\AxiomC<7->{}
\LeftLabel<7->{Ax}\UnaryInfC<7->{$\phi\land\psi\vdash\phi\land\psi$}
\LeftLabel<7->{E$\land_1$}\UnaryInfC<4->{$\phi\land\psi\vdash\phi$}
\LeftLabel<3->{(I$\land$)}\BinaryInfC<2->{$\phi\land\psi\vdash\psi\land\phi$}
\end{prooftree}
\end{frame}

\end{document}

相关内容