forest
프레젠테이션 에서 트리를 작성하기 위해 패키지를 사용할 때 충돌이 발생하는 것 같습니다 beamer
. 옵션 을 사용할 때마다 delay
(아마도 와 함께만 사용하고 content
다른 방법으로는 사용하지 않은 경우) 다음 오류가 나타납니다.
! \beamer@doifinframe 정의에 잘못된 매개변수 번호가 있습니다.
오류에도 불구하고 Overleaf에서 PDF가 생성되어 내가 원하는 트리를 제공하지만 TeXworks는 나에게 그다지 친절하지 않습니다.
오류의 원인과 해결 방법은 무엇입니까?
MWE(로부터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
어떤 의미에서 이것은 다음과 중복됩니다.이 질문그리고 많은 다른 사람들. 마틴 샤러(Martin Scharrer)는 다음과 같이 설명합니다.
프레임 환경은 의사 환경, 즉 실제로
\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
, 단지 프레임에서 인수가 있는 매크로를 정의하고 사용하는 일반적인 미묘함뿐입니다.