\documentclass{beamer}

\usepackage{calc}
\usepackage{hyperref}
\usepackage[utf8]{inputenc}
\usepackage[os=win]{menukeys}
\usepackage{xspace}

\useoutertheme{shadow}
\usecolortheme{beaver}

\newcommand{\singleitem}[1]{\begin{itemize}\item #1\end{itemize}}
\newcommand{\pdfpc}{\texttt{pdfpc}\xspace}
\newcommand{\opt}[1]{\texttt{#1}\xspace}

\setbeamertemplate{navigation symbols}{}

\defbeamertemplate{footline}{my foot}{%
\vskip1pt%
\makebox[0pt][l]{\insertshortauthor}%
\hspace*{\fill}\insertshorttitle\hspace*{\fill}%
\llap{\insertframenumber\phantom{/}}
}
\setbeamertemplate{footline}[my foot]

\hypersetup{colorlinks=true, linkcolor=blue, urlcolor=blue}

\mode<presentation>

\title{\pdfpc demo}
\subtitle{(for v4.5.0)}
\author[D. Vilar \& E. Stambulchik]{Written by
                  \href{https://github.com/davvil}{David Vilar} \\
                  Updated by
                  \href{https://github.com/fnevgeny}{Evgeny Stambulchik}}
\date{\today}
\institute{}

\begin{document}

\begin{frame}
  \titlepage
  \hypertarget{titlePage}{}
\end{frame}

\begin{frame}
  \frametitle{Starting up}
  Hi! Welcome to the demo of \pdfpc, a PDF presentation tool.
  \begin{block}{Setting up}
    I assume you have opened this presentation with \pdfpc itself. You may have
    one of these cases:
    \begin{itemize}
      \item The main presentation and the presenter view are on the correct
        screens
          \singleitem{you are ready to go!}
      \item The main presentation and the presenter view have the monitors
        swapped
          \singleitem{restart \pdfpc with the \opt{-s} option}
      \item You are viewing this on a single monitor
        \begin{itemize}
          \item you are currently on the presenter view. You can get a
            good feeling of what \pdfpc is good for, but you will have to take
            my word for some of the features
          \item alternatively, restart \pdfpc in the windowed mode with the
            \opt{-w~both} option
        \end{itemize}
    \end{itemize}
  \end{block}
\end{frame}

\begin{frame}
  \frametitle{The presenter view}
  The presenter view is the one on your monitor, visible only to the presenter
  \begin{itemize}
    \item It shows the current and next slides
    \item It shows how long the presentation is running
      \singleitem{With the \opt{-d <min>} option it shows a countdown timer}
    \item It shows the current slide number and the total number of slides
    \item It shows overlay information (see next slide)
    \item It shows some additional status information (we will see it later)
  \end{itemize}
  Of course, the presentation view only shows the current slide
\end{frame}

\begin{frame}
  \frametitle{Basic movement}
  \begin{itemize}
    \item You probably have guessed by now, but for moving forward you can use
      one of \keys{\arrowkeyright}, \keys{\arrowkeydown}, \keys{Page
      \arrowkeydown}, \keys{\return} (Enter/Return), \keys{\SPACE}, and the left
      mouse button
    \item Likewise you can use \keys{\arrowkeyleft}, \keys{\arrowkeyup},
      \keys{Page \arrowkeyup}, \keys{\backspace} (Backspace) or the right mouse
      button for going back
    \item Pressing \keys{\shift} (Shift) together with \keys{\arrowkeyright} or
      \keys{\arrowkeyleft} causes the movement to jump in 10-slide steps forward
      or backward, respectively
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Overlays}
  \begin{itemize}
    \item Some people like overlays in their presentations
    \pause
    \item i.e.\ slides that build up step-wise
    \pause
    \item \pdfpc supports such slides:
    \pause
    \item Note the two miniatures below the current slide
    \pause
    \item Note also that the slide counter shows the correct slide number
    \pause
    \item The 10-jump keys mentioned in the previous slide also support
      overlays
    \pause
    \item If you are fed up with this overlay, you can jump to the next slide
      with \keys{\shift+Page \arrowkeydown}
    \pause
    \item Really you should skip to the next slide now
    \pause
    \item Nothing interesting is coming here
    \pause
    \item I just wanted to make a point that too long overlays may be boring
    \pause
    \item Come on, nothing to see here!
    \pause
    \item I am not kidding!
    \pause
    \item Ok, you won
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{More on overlays}
  \begin{block}{Movement}
    \begin{itemize}
      \item Normal movement while \emph{inside} an overlay jumps through each
        step in the overlay
      \item \keys{\shift+Page \arrowkeyup} and \keys{\shift+Page \arrowkeydown}
        jump to the previous and next slide respectively, ignoring overlay steps
      \item \keys{\shift+\arrowkeyup} and \keys{\shift+\arrowkeydown} jump to
        the beginning and end of the current overlay
    \end{itemize}
  \end{block}
  \begin{block}{Definition of overlays}
    \begin{itemize}
      \item \pdfpc tries to find the overlay information automatically by
        looking at the page numbers
      \item If the automatic detection does not work, you can define overlays
        with \keys{\ctrl+O} on every slide composing an overlay
    \end{itemize}
  \end{block}
\end{frame}

\begin{frame}
  \frametitle{Jumping to specific slides}
  \begin{itemize}
    \item Pressing \keys{G} you can enter a slide number to jump to
    \item Slide viewing history can be navigated (backward/forward) by pressing
      \keys{\shift+\backspace} or \keys{\shift+\SPACE}, respectively
    \item Pressing \keys{\tab} (Tab) or the middle mouse button you get an
      overview of the whole presentation, which can be used to jump around
    \item Press \keys{M} to bookmark a present slide; press \keys{\shift+M} to
      return to it afterwards
    \item Hyperlinks also work, press \hyperlink{titlePage}{here to jump to the
      first slide}
    \item \keys{Home} and \keys{End} also work as expected
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Notes}
  \begin{itemize}
    \item Pressing \keys{\ctrl+N} you can annotate slides (text only)
      \singleitem{Try it now!}
    \item Pressing \keys{\esc} exits the note editing mode
    \item The notes are stored automatically
    \item The notes apply to all the slides in an overlay
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Controlling the presentation view}
    \begin{itemize}
      \item Pressing \keys{F} you can freeze the presentation view, i.e.\
        slide movement does not reflect on the presentation view
        \singleitem{This is useful if you want to search for some slide without
          confusing the audience with quick slide flipping}
      \item Pressing \keys{B} you can fade to black the presentation view
        \singleitem{This is useful e.g.\ if you are using slides and a
          blackboard at the same time}
      \item Pressing \keys{H} will entirely hide the presentation view
        \singleitem{This can be useful for showing a different application
          during the presentation}
      \item Pressing again any of the \keys{F}, \keys{B} or
        \keys{H} keys undoes the respective presentation view change.
        Alternatively, hit \keys{\esc} to return to the regular state
      \item The presenter view shows some icons reflecting the current status
    \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Controlling the clock}
  \begin{itemize}
    \item With \keys{S} you can start the clock at the beginning of the
      presentation
      \singleitem{Note that the clock also starts automatically when moving
        slides}
    \item With \keys{P} you can pause the clock
      \singleitem{Useful for rehearsal talks}
    \item With \keys{\ctrl+T} you can reset the timer
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Pointer and spotlight}
  \begin{itemize}
    \item \pdfpc has a built-in ``laser'' pointer
      \begin{itemize}
        \item To switch the pointer mode on, press \keys{2}
        \item The pointer size can be adjusted with the \keys{{+}} and \keys{-}
          keys
        \item A rectangular area can be highlighted by using the drag mouse
          motion
        \item Press \keys{Z} to zoom in the highlighted area; \keys{esc} to exit
      \end{itemize}
    \item The spotlight mode is similar to the pointer mode, but instead of
      highlighting the spot by a different color, it shades the background
      \begin{itemize}
        \item To switch this mode on, press \keys{5}
        \item The spot size can be adjusted with the \keys{{+}} and \keys{-}
          keys, too
      \end{itemize}
    \item Press \keys{1} to return to the normal presentation mode
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Drawings}
  \begin{itemize}
    \item Press \keys{3} to enter the drawing mode with the pen tool selected
      \singleitem{Again, use \keys{{+}} and \keys{-} to alter the size of the
        drawing tool}
    \item Press \keys{4} to use the eraser tool, if needed
      \singleitem{Or you can clear the entire current-page drawing with
        \keys{C}}
    \item Press \keys{1} to return to the normal presentation mode
    \item The drawings will stay on the slides you made them
      \singleitem{Press \keys{D} to toggle them on/off globally}
    \item The drawings will \alert{not} be saved when you exit \pdfpc
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Run-time GUI adjustment}
  \begin{itemize}
    \item If you started \pdfpc with the presenter view in the windowed mode,
      it can be toggled to the fullscreen mode (and back) with \keys{W}
    \item You may wish to maximally enlarge the main, current slide
      view sometimes (e.g., to increase accuracy while drawing)
      \singleitem{Press \keys{shift+A} to toggle this feature}
    \item A general customization is enabled by pressing \keys{shift+C}
      \singleitem{In this mode, mouse-draggable handles will appear}
      \singleitem{Exit the customization with \keys{esc}}
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Cheatsheet \& toolbox}
  Overwhelmed with the key bindings to memorize? Fear not!

  \singleitem{At any moment you can press \keys{?} to peep into the cheatsheet;
    \keys{esc} to tuck it away}

  Some frequently used actions are packed in the toolbox:

  \begin{itemize}
    \item Press \keys{T} to invoke the toolbox
      \singleitem{On tablet devices, it is enabled by default}
    \item Use its handle to drag around the screen
    \item The first button minimizes/restores the toolbox
    \item The next four buttons switch between the normal, pointer, pen, and
      eraser modes
      \singleitem{In the drawing modes, more controls will appear -- the size
        and color selectors}
    \item Then come the toggles to freeze, fade to black or hide the
      presentation view, and pause/restart the timer
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Finishing}
  \begin{itemize}
    \item Some people like having support slides after their ``last'' slide
      \singleitem{Advanced topics, bibliography, expected questions, etc.}
    \item Pressing \keys{\ctrl+E} you can define this to be the end slide
      in the presentation
      \singleitem{The slide count in the presenter view gets updated, to give
        you a better overview of how many slides are left}
      \singleitem{It also updates the slide you jump to when pressing
        \keys{End}}
    \item To exit press \keys{\ctrl+Q}
  \end{itemize}
  \vfill
  \begin{center}
    THE END
  \end{center}
  \vfill
  {\footnotesize There are a couple of slides more with some additional
    information, but we do not want to show them to the audience if they do not
    ask for them}
\end{frame}

\begin{frame}
  \frametitle{Slide transitions}

  \pdfpc supports almost all standard PDF page transitions, either between full
  pages or inside overlays.

  \singleitem{Obviously, transitions are enabled only in the presentation
    window}

  \only<1>{
    \setbeamercolor{block body}{bg=red!40!blue!30}
    \begin{block}{This slide will dissolve}
      \vskip 4cm \hfill
    \end{block}
  }
  \only<2>{
    \setbeamercolor{block body}{bg=blue!40!green!30}
    \begin{block}{This slide will be covered from above}
      \vskip 4cm \hfill
    \end{block}
  }
  \only<3>{
    \setbeamercolor{block body}{bg=green!40!red!30}
    \begin{block}{This slide will be pushed to the left}
      \vskip 4cm \hfill
    \end{block}
  }

  \transdissolve<2>
  \transcover[direction=90]<3>
\end{frame}

\begin{frame}
  \transpush<1>[direction=180]
  \frametitle{Slide duration}

  \pdfpc will also advance slides automatically if slide duration is specified.
  \singleitem{Go ahead to see it in action!}
  \vskip 1cm

  \transduration<2-12>{0.2}
  {\Huge\hfill
  \onslide<2->H\onslide<3->e\onslide<4->l\onslide<5->l\onslide<6->o\onslide<7->,
  \onslide<8->w\onslide<9->o\onslide<10->r\onslide<11->l\onslide<12->d\onslide<13->!
  \hfill}
\end{frame}

\begin{frame}
  \frametitle{\opt{.pdfpc} files}
  \begin{itemize}
    \item The additional information needed for the presentation (duration,
      notes, end slide, etc.) is stored in an auxiliary file with extension
      \opt{.pdfpc}
    \item Most of the time this file is automatically handled
    \item If you ever need to do changes by hand (e.g., if you modify the PDF
      after defining the meta-information), it is a text-based format (JSON)
      easy to edit
  \end{itemize}
\end{frame}

\begin{frame}[fragile]
  \frametitle{Acknowledgements}
  \begin{itemize}
    \item \pdfpc is a fork of pdf-presenter-console
      ({\footnotesize
        \verb+http://westhoffswelt.de/projects/pdf_presenter_console.html+})
    \item Many thanks to Jakob Westhoff, the original author!
  \end{itemize}
\end{frame}

\end{document}
