投影機和森林之間的衝突

投影機和森林之間的衝突

forest當我使用該套件在簡報中建立樹時,似乎存在衝突beamer。每當我使用該delay選項(可能僅與 結合使用content,否則沒有使用它)時,會出現以下錯誤:

! \beamer@doifinframe 定義中的參數編號非法。

儘管出現錯誤,Overleaf 上還是產生了一個 pdf,提供了我想要的樹,但 TeXworks 對我來說不是那麼好。

導致錯誤的原因是什麼以及如何解決?

微量元素(來自forest文件

\documentclass{beamer}

\usepackage{forest}

\begin{document}

\begin{frame}

        \begin{forest}  
            [roman, delay={for children={content=\romannumeral##1}}    
            [1][2][3][4]  
        ]\end{forest}

\end{frame}

\end{document}

其呈現:

結果

答案1

在某種程度上,這是重複的這個問題以及許多其他人。正如馬丁沙勒解釋的那樣,

框架環境是一個偽環境,即實際上是\frame{ .. }經過偽裝的。

這意味著人們必須小心對待#.forest也不例外,所以選項是:

  • 使用該fragile選項,或者
  • 將兩倍加倍#,即四倍。

這導致

\documentclass{beamer}

\usepackage{forest}

\begin{document}

\begin{frame}[fragile]

        \begin{forest}  
            [roman, delay={for children={content=\romannumeral#1}}    
            [1][2][3][4]  
        ]\end{forest}

\end{frame}


\begin{frame}

        \begin{forest}  
            [roman, delay={for children={content=\romannumeral####1}}    
            [1][2][3][4]  
        ]\end{forest}

\end{frame}
\end{document}

這會產生兩個相同的幀:

在此輸入影像描述

forest特別是,和之間沒有真正的衝突beamer,只是在框架中定義和使用帶有參數的巨集的常見微妙之處。

相關內容