Allowframbreaks를 사용한 비머 북마크

Allowframbreaks를 사용한 비머 북마크

이를 사용하는 다음 MWE를 고려하십시오.답변각 프레임에 대한 북마크를 생성하려면:

\documentclass{beamer}

\usepackage{etoolbox}
\usepackage{lmodern}
\usepackage{lipsum}

\usepackage{bookmark}
\makeatletter
\apptocmd{\beamer@@frametitle}{%
  \only<1>{\bookmark[page=\the\c@page,level=3]{#1}}}%
\makeatother

\begin{document}
\begin{frame}
  \frametitle{Foo}
\end{frame}
\begin{frame}[allowframebreaks]
  \frametitle{Baz}
  \lipsum
\end{frame}
\end{document}

옵션이 제공 되면 allowframebreaks언급된 옵션으로 생성된 각 새 프레임에 대해 북마크가 생성된다는 의미입니다. 나는 이러한 "연속" 프레임의 북마크가 적절한 프레임 제목(예: "Baz"가 아닌 "Baz II")을 가지거나 옵션에 의해 생성된 프레임이 아닌 첫 번째 프레임에 대한 북마크를 생성하기를 원합니다 allowframebreak.

여기에 이미지 설명을 입력하세요

답변1

북마크에 계산 횟수 삽입

이 접근 방식의 기본 아이디어는 가 \insertcontinuationcount0보다 큰지 확인하는 것입니다. 이 경우 연속 횟수가 북마크에 추가됩니다.

\documentclass{beamer}

\usepackage{etoolbox}
\usepackage{lmodern}
\usepackage{lipsum}

\usepackage{bookmark}
\makeatletter
\apptocmd{\beamer@@frametitle}{%
    \only<1>{\bookmark[page=\the\c@page,level=3]{#1 \expandafter\ifnum\insertcontinuationcount>0\relax\insertcontinuationcount\fi}}}%
\makeatother

\begin{document}
    \begin{frame}
        \frametitle{Foo}
    \end{frame}
    \begin{frame}[allowframebreaks]
        \frametitle{Baz}
        \lipsum
    \end{frame}
\end{document}

여기에 이미지 설명을 입력하세요


첫 번째 프레임에만 북마크

이 접근 방식은 위의 접근 방식과 매우 유사합니다. 그러나 이제 북마크는 가 \insertcontinuationcount2보다 작은 경우에만 추가됩니다. 이는 "일반" 프레임의 경우 0이고 연속의 첫 번째 프레임의 경우 1이기 때문입니다.

\documentclass{beamer}

\usepackage{etoolbox}
\usepackage{lmodern}
\usepackage{lipsum}

\usepackage{bookmark}
\makeatletter
\apptocmd{\beamer@@frametitle}{%
    \only<1>{\expandafter\ifnum\insertcontinuationcount<2\relax\bookmark[page=\the\c@page,level=3]{#1}\fi}}%
\makeatother

\begin{document}
    \begin{frame}
        \frametitle{Foo}
    \end{frame}
    \begin{frame}[allowframebreaks]
        \frametitle{Baz}
        \lipsum
    \end{frame}
\end{document}

여기에 이미지 설명을 입력하세요

관련 정보