Нумерация кадров

Нумерация кадров

Я хотел бы изменить нумерацию этого документа-прожектора:

\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примитив TeX, который функционирует как switch statememt, выполняя различные действия в зависимости от значения framenumberпри прохождении через значения, 0,1,2,3,...-- поэтому \or \orвышеприведенный код пропускает framenumberзначения 0и 1. Здесь я жестко подключил 1/2и 2/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}

Связанный контент