프레임 번호 매기기

프레임 번호 매기기

이 비머 문서의 번호 매기기를 변경하고 싶습니다.

\documentclass[landscape,9pt]{beamer}                           % COMANDI INIZIALI
\usepackage[italian]{babel}                             % sillabazione italiana
\usepackage[utf8]{inputenc}                             % Per le lettere accentate IN UNIX E IN WINDOWS
\usepackage{ragged2e}                                   % giustifica
\usepackage{amsmath}                                    % Per allineare le equazioni
\usepackage{amssymb}                                    % Per le lettere dell'indicatrice (mathbb)
\usepackage{graphicx} 
\usepackage[export]{adjustbox}
\usepackage[misc,geometry]{ifsym}

\renewcommand{\fontsubfuzz}{1.1pt}                          % Elimina i warning inutili

\justifying                                         % giustifica

\usetheme{CambridgeUS}
\date{29 Aprile 2015}
\author{Gabriele Mazza}
\title{Regressione con regolarizzazioni differenziali per dati spazio-temporali, con applicazione all'analisi della produzione di rifiuti urbani nella provincia di Venezia}

\makeatletter
\setbeamertemplate{footline}
{
  \leavevmode%
  \hbox{%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
    \usebeamerfont{author in head/foot}\insertshortauthor\expandafter\beamer@ifempty\expandafter{\beamer@shortinstitute}{}{~~(\insertshortinstitute)}
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.25ex,dp=1ex,right]{date in head/foot}%
    \usebeamerfont{date in head/foot}\insertshortdate{}\hspace*{2em}
    \insertframenumber{} / \inserttotalframenumber\hspace*{2ex} 
  \end{beamercolorbox}}%
  \vskip0pt%
}
\makeatother
\setbeamercolor{date in head/foot}{use=frametitle, bg=frametitle.bg}
\setbeamercolor{subsection in head/foot}{use=framtitle, bg=frametitle.bg}

\begin{document}

\begin{frame}
Title
\end{frame}

\begin{frame}
Frame 1
\end{frame}

\begin{frame}
Frame 2
\end{frame}

\begin{frame}
Last Frame
\end{frame}

\end{document}

내가 원하는 것은:

  1. 첫 번째 프레임과 마지막 프레임에는 번호 매기기 없음
  2. 두 번째 프레임의 1/2
  3. 세 번째 프레임의 2/2

프레임 번호를 어떻게 변경할 수 있나요?

답변1

옛날 옛적에 나는 청중이 강연 중에 추측할 수 있는 무작위가 아닌 일련의 프레임 번호를 갖고 싶었습니다. 여기서도 동일한 트릭이 작동합니다.

완료한 대로 footline템플릿을 변경해야 합니다. 프레임 번호는 명령에 의해 제어됩니다.

\insertframenumber{} / \inserttotalframenumber

이것을 다음과 같은 것으로 대체하면 충분합니다.

\ifcase\value{framenumber} \or \or 1/2 \or 2/2 \or \fi

여기에 값을 단계별로 설명하면서 \ifcase값에 따라 다른 작업을 수행하는 스위치 statememt처럼 작동하는 TeX 기본 요소가 있습니다 . 따라서 위에서는 및 값을 건너뜁니다 . 여기에 귀하의 질문 에 따라 직접 배선했지만 아마도 여기의 변형을 사용하고 싶을 것입니다 .framenumber0,1,2,3,...\or \orframenumber011/22/2\inserttotalframenumber

완전성을 위해 전체 예는 다음과 같습니다.

\documentclass[landscape,9pt]{beamer}                           % COMANDI INIZIALI
\usepackage[italian]{babel}                             % sillabazione italiana
\usepackage[utf8]{inputenc}                             % Per le lettere accentate IN UNIX E IN WINDOWS
\usepackage{ragged2e}                                   % giustifica
\usepackage{amsmath}                                    % Per allineare le equazioni
\usepackage{amssymb}                                    % Per le lettere dell'indicatrice (mathbb)
\usepackage{graphicx}
\usepackage[export]{adjustbox}
\usepackage[misc,geometry]{ifsym}

\renewcommand{\fontsubfuzz}{1.1pt}                          % Elimina i warning inutili

\justifying                                         % giustifica

\usetheme{CambridgeUS}
\date{29 Aprile 2015}
\author{Gabriele Mazza}
\title{Regressione con regolarizzazioni differenziali per dati spazio-temporali, con applicazione all'analisi della produzione di rifiuti urbani nella provincia di Venezia}

\makeatletter
\setbeamertemplate{footline}
{
  \leavevmode%
  \hbox{%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
    \usebeamerfont{author in head/foot}\insertshortauthor\expandafter\beamer@ifempty\expandafter{\beamer@shortinstitute}{}{~~(\insertshortinstitute)}
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.25ex,dp=1ex,right]{date in head/foot}%
    \usebeamerfont{date in head/foot}\insertshortdate{}\hspace*{2em}
    \ifcase\value{framenumber} \or \or 1/2 \or 2/2 \or \fi\hspace*{2ex}
  \end{beamercolorbox}}%
  \vskip0pt%
}
\makeatother
\setbeamercolor{date in head/foot}{use=frametitle, bg=frametitle.bg}
\setbeamercolor{subsection in head/foot}{use=framtitle, bg=frametitle.bg}

\begin{document}

\begin{frame}
Title
\end{frame}

\begin{frame}
Frame 1
\end{frame}

\begin{frame}
Frame 2
\end{frame}

\begin{frame}
Last Frame
\end{frame}

\end{document}

편집하다 실제로 첫 번째와 마지막 프레임의 번호를 지정하지 않고 나머지 슬라이드의 번호를 1부터 위쪽으로 지정하려면 주석에서 요청한 대로 세그먼트를 footline다음으로 바꿉니다.

\makeatletter
\usepackage{etoolbox}
\addtocounter{framenumber}{-1}
\newcounter{realtotalframenumber}
\setbeamertemplate{footline}
{
% strangely \inserttotalframenumber only appears to be defined here
\defcounter{realtotalframenumber}{\inserttotalframenumber-1}
  \leavevmode%
  \hbox{%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
    \usebeamerfont{author in head/foot}\insertshortauthor\expandafter\beamer@ifempty\expandafter{\beamer@shortinstitute}{}{~~(\insertshortinstitute)}
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.25ex,dp=1ex,right]{date in head/foot}%
    \usebeamerfont{date in head/foot}\insertshortdate{}\hspace*{2em}
    \ifnum\c@framenumber=0\relax
    \else
    \ifnumcomp{\value{framenumber}}>{\value{realtotalframenumber}}{\relax}
              {\arabic{framenumber}/\arabic{realtotalframenumber}}
    \fi
    \hspace*{2ex}
  \end{beamercolorbox}}%
  \vskip0pt%
}
\makeatother

답변2

카운터를 사용하는 보다 자동화된 솔루션은 다음과 같습니다.

\documentclass[landscape,9pt]{beamer}                           % COMANDI INIZIALI
\usepackage[italian]{babel}                             % sillabazione italiana
\usepackage[utf8]{inputenc}                             % Per le lettere accentate IN UNIX E IN WINDOWS
\usepackage{ragged2e}                                   % giustifica
\usepackage{amsmath}                                    % Per allineare le equazioni
\usepackage{amssymb}                                    % Per le lettere dell'indicatrice (mathbb)
\usepackage{graphicx} 
\usepackage[export]{adjustbox}
\usepackage[misc,geometry]{ifsym}

\renewcommand{\fontsubfuzz}{1.1pt}                          % Elimina i warning inutili

\justifying                                         % giustifica

\usetheme{CambridgeUS}
\date{29 Aprile 2015}
\author{Gabriele Mazza}
\title{Regressione con regolarizzazioni differenziali per dati spazio-temporali, con applicazione all'analisi della produzione di rifiuti urbani nella provincia di Venezia}

\newcounter{aux}%
\newcounter{lastframe}%

\AtBeginDocument{%
  \setcounter{aux}{\number\value{lastframe}}
}%

\makeatletter
\setbeamertemplate{footline}
{
  \leavevmode%
  \hbox{%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
    \usebeamerfont{author in head/foot}\insertshortauthor\expandafter\beamer@ifempty\expandafter{\beamer@shortinstitute}{}{~~(\insertshortinstitute)}
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.25ex,dp=1ex,right]{date in head/foot}%
    \usebeamerfont{date in head/foot}\insertshortdate{}\hspace*{2em}
    \ifnum\insertframenumber>0{%
    \ifnum\insertframenumber=\number\value{lastframe}{}%
    \phantom{\insertframenumber{} / \pgfmathparse{\inserttotalframenumber-1}\pgfmathprintnumber[precision=0]{\pgfmathresult}\hspace*{2ex}}%
    \else%
            {\insertframenumber{} / \pgfmathparse{\inserttotalframenumber-1}\pgfmathprintnumber[precision=0]{\pgfmathresult}\hspace*{2ex}}%
        \fi%
        }%
    \else%
    \phantom{\insertframenumber{} / \pgfmathparse{\inserttotalframenumber-1}\pgfmathprintnumber[precision=0]{\pgfmathresult}\hspace*{2ex}}%
    \fi%
  \end{beamercolorbox}}%
  \vskip0pt%
}

\newrobustcmd{\Lastframeinfile}{%
   \immediate\write\@auxout{\string
     \setcounter{lastframe}{\number\value{aux}}%
   }%
}%

\AtEndDocument{%
\setcounter{aux}{\number\value{framenumber}}
    \Lastframeinfile%
}%

\makeatother

\setbeamercolor{date in head/foot}{use=frametitle, bg=frametitle.bg}
\setbeamercolor{subsection in head/foot}{use=framtitle, bg=frametitle.bg}

\addtocounter{framenumber}{-1}


\begin{document}



\begin{frame}
Title
\end{frame}

\begin{frame}
Frame 1
\end{frame}

\begin{frame}
Frame 2
\end{frame}

\begin{frame}
Last Frame
\end{frame}

\end{document}

관련 정보