etoolbox 的 ifbool 中脆弱的 beamer-frame 错误

etoolbox 的 ifbool 中脆弱的 beamer-frame 错误

根据etoolbox布尔值,我正在(取消)选择 Beamer 幻灯片。当我尝试使用框架执行此操作时,fragile我遇到了错误。请参阅 MWE。

您能解释一下原因吗?您有解决方法吗?如果可能的话,我更愿意使用 的etoolbox布尔值。

最小工作示例(MWE)

\documentclass{beamer}
\usepackage{etoolbox}
\newbool{addcontent}
\booltrue{addcontent}

\begin{document}
  \ifbool{addcontent}{
    \begin{frame}[fragile]
      Fails...
    \end{frame}
  }{}
\end{document}

导致以下错误:

扫描使用 \next 时文件结束。

答案1

脆弱的框架就像逐字逐句的,不能成为另一个命令的参数。使用原始形式,而不是使用参数\ifaddcontent .....\fi 的形式{}

\documentclass{beamer}
\usepackage{etoolbox}
\newbool{addcontent}
\booltrue{addcontent}

\begin{document}
  \ifaddcontent
    \begin{frame}[fragile]
      Fails...
    \end{frame}
 \fi
\end{document}

相关内容