저는 Beamer를 사용하여 프레젠테이션을 만들고 있는데, 참조 내용이 두 개 이상의 프레임에 걸쳐 있습니다. 참조를 자동으로 여러 프레임으로 분할하기 위해 매개 allowframebreaks
변수를 사용했습니다.
또한 프레임 번호 매기기에 참조 프레임을 포함하고 싶지 않습니다. 따라서 저는 두 가지 다른 접근 방식으로 해당 프레임을 무시하려고 했습니다.
addtocounter
총 프레임 수를 감소시키는 데 사용
\begin{frame}[plain, allowframebreaks]
\frametitle{References}
\bibliographystyle{abbrv}
{\tiny \bibliography{bibliography}}
\addtocounter{framenumber}{-1} % <---- HERE
\end{frame}
사용하여 noframenumbering
(v. 3.08부터 사용 가능) 단순히 프레임을 무시하려면
\begin{frame}[plain, allowframebreaks, noframenumbering] % <---- HERE
\frametitle{References}
\bibliographystyle{abbrv}
{\tiny \bibliography{bibliography}}
\end{frame}
내가 직면한 문제는 사용된 접근 방식에 관계없이 첫 번째 참조 프레임만 무시된다는 것입니다. 추가 프레임( 를 사용하여 자동으로 분할됨 allowframebreaks
)은 항상 총 프레임 수에 포함됩니다( 로 확인 \inserttotalframenumber
).
내가 뭘 잘못하고 있는지 지적하는 데 도움을 주시면 대단히 감사하겠습니다. :)
답변1
나는 찾았다이 스레드이는 참고문헌 프레임 대신 부록 프레임에 관한 것이지만 내 문제와 매우 유사합니다.
답변 중에는이 하나매개변수가 noframenumbering
에 의해 추가된 추가 프레임에 의해 상속되지 않았 음을 나타내며 allowframebreaks
프리앰블에 다음 코드를 추가하도록 제안합니다.
\usepackage{etoolbox}
\makeatletter
\preto{\appendix}{%
\patchcmd{\beamer@continueautobreak}{\refstepcounter{framenumber}}{}{}{}}
\makeatother
내 필요에 맞게 비슷한 작업을 수행하려고 했지만(예: \appendix
로 변경 \bibliography
) 성공하지 못했습니다. 다음과 같은 오류가 표시되었으며 이는 아마도 \bibliography
명령이 명령과 유사한 구조를 가지고 있지 않음 을 나타냅니다 \appendix
.
\bibliography의 인수에는 추가 } ...reak}{\refstepcounter{framenumber}}{}{}{}}가 있습니다.
그러나 나는 시도했다이 다른 답변프레임을 백업 프레임으로 처리하도록 제안합니다. 먼저, 프리앰블에 다음 매크로를 추가할 것을 제안합니다.
\newcommand{\backupbegin}{
\newcounter{framenumberappendix}
\setcounter{framenumberappendix}{\value{framenumber}}
}
\newcommand{\backupend}{
\addtocounter{framenumberappendix}{-\value{framenumber}}
\addtocounter{framenumber}{\value{framenumberappendix}}
}
그런 다음 해당 매크로를 사용하여 프레임 번호 매기기에 영향을 주지 않으려는 프레임 정의를 포함할 것을 제안합니다.
그래서 저는 참조 프레임을 다음과 같이 정의했습니다.
\backupbegin
\begin{frame}[plain, allowframebreaks]
\frametitle{References}
\bibliographystyle{abbrv}
{\tiny \bibliography{bibliography}}
\end{frame}
\backupend
그리고 그것은 모두 매력처럼 작동했습니다! 추가 프레임은 더 이상 프레임 번호 매기기에서 고려되지 않습니다. :)
추신: 참고문헌에 관한 첫 번째 답변에 대한 솔루션을 사용하는 방법을 아는 사람이 있다면 매우 유용할 것입니다. 제가 보기에는 그 접근 방식이 더 정확하다고 "느끼는" 것 같습니다.
답변2
해결책은 이것을 프리앰블에 넣고 을
\setbeamertemplate{frametitle continuation}{}
사용하고 allowframebreaks
는 사용하지 않는 것입니다 noframenumbering
.