フレーム番号

フレーム番号

この Beamer ドキュメントの番号を変更したいと思います。

\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. 2番目のフレームの1/2
  3. 3フレーム目2/2

フレーム番号を変更するにはどうすればよいですか?

答え1

昔、私は講演中に聴衆に推測してもらうために、それほどランダムではないフレーム番号のシーケンスを用意したいと考えていました。ここでも同じトリックが使えます。

すでに行ったように、footlineテンプレートを変更する必要があります。フレーム番号はコマンドによって制御されます。

\insertframenumber{} / \inserttotalframenumber

そして、これらを次のように置き換えるだけで十分です

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

ここで、 は、 switch ステートメントのように機能する TeX プリミティブで、値をステップ実行するとき\ifcaseに の値に応じてさまざまな処理を実行します。したがって、上記はとの値をスキップします。ここでは、ご質問に従ってと をハードワイヤードしていますが、ここでは のバリエーションを使用する必要があるでしょう。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}

関連情報