135

I really like the way Keynote and MS Office (and also OpenOffice & similar) support a presentation mode that displays the current slide, the next (and maybe previous) slide, the elapsed and current time, and also any notes attached to the slides on one screen and the presentation itself on the beamer/second screen.

It enables me to give good, professional presentations without having to know everything by heart (I suck at that).

I found a project which does something similar, but I am looking for alternatives, especially OS-independent would be great. Not having to create 3 different PDFs is a boon.

Any hints?

7
  • 2
    Beamer can place nodes at the second screen if your PDF viewer and OS, I think, supports that. Displaying the time might be possible using a javascript powered text field. See Having a LaTeX PDF display the date the document was printed, not compiled to get you started. Commented Jun 28, 2011 at 10:00
  • 4
    There is no Windows alternative mentioned in the answers. Is there none?
    – BandGap
    Commented Oct 11, 2013 at 12:25
  • 1
    @BandGap maybe freakazoid.teamblind.de/2011/03/30/… is what you're looking for?
    – John
    Commented Feb 6, 2014 at 21:13
  • I think the best solution is a printout with notes and a watch.
    – Z.H.
    Commented Jun 1, 2015 at 1:55
  • 1
    Thanks Z.H. - but that's not what I asked for. I have a specific style of presentation in mind, and messing around with a sheet of paper does not fit that. Commented Jun 1, 2015 at 7:15

16 Answers 16

88

I think pympress comes somewhat close to what you want. As it is written in python, I'd assume that you can run it on any platform -- I know it works under Linux.

If you want to display notes, use the following to display them on the right:

\documentclass{beamer}
\usepackage{pgfpages}
\setbeamertemplate{note page}[plain]
\setbeameroption{show notes on second screen=right}

\begin{document}
\begin{frame}{test}
hello
\note{say "hello" now}
\end{frame}
\end{document}

and then pympress will render only the left or the right half of the pdf in the different windows.

5
  • 3
    This is a maintained fork of the original: github.com/Cimbali/pympress Commented Aug 29, 2016 at 20:49
  • 1
    I couldn't get this to work on MacOS. Couldn't successfully install the dependencies.
    – Luke Davis
    Commented Feb 21, 2018 at 8:41
  • Nevermind; managed to get it to work by downloading dependencies with brew install pygobject3 --with-python3 gtk+3 (from this link), installing pympress with /usr/local/bin/pip3 install pympress, and setting the library path export LD_LIBRARY_PATH=/usr/local/lib. Trying to install everything with Anaconda did not work for me. IMO this is the best tool in this thread; thanks for the recommendation.
    – Luke Davis
    Commented Mar 1, 2018 at 16:54
  • @LukeDavis May be install xcode tools using 'xcode-select --install' Commented Jan 30, 2020 at 5:03
  • 2
    pympress works well. The only issue is that I wish to not show "pympress content" on the top of the shared screen
    – RandomBear
    Commented Aug 12, 2021 at 15:20
52

On the mac, you can go with osx-presentation. (full disclaimer: i am the author).

Workflow:

  1. Prepare your beamer tex file.

  2. Within a frame, add presentation notes using the package pdfcomment. For example, \marginnote{\pdfcomment[icon=note]{Your notes goes here.}}.

  3. Compile the beamer tex file with pdfcomment package global option draft (\usepackage[draft]{pdfcomment}) to include the notes (pdf comments). If you want to have a version without notes, compile with pdfcomment global option final. Check the documentation of pdfcomment for more details, https://ctan.org/pkg/pdfcomment/.

  4. Open the beamer pdf file with osx-presentation. Two windows will show up. One is for presentation view, and the other is for audience.

  5. Drag the audience window to the screen that you want to show the slides. Maximize the audience window to full screen. Here, you need to have separate windows for your computer and the external screen. This can be set in the preference of your operating system.

  6. Give the talk using the presentation view.

Screenshot:

enter image description here

Selected features:

  • Synchronize your mouse cursor in the presentation view and audience view.

  • You can draw with your mouse and erase with keyboard shortcut e.

Comparing to other solutions:

  • Advantages:

    • Nicer presentation view comparing to splitshow and Skim.
    • Easy to setup on MacOS comparing to pympress. .dmg Installer available. Less dependencies.
    • No conversion from PDF to other format.
  • Disadvantages:

    • Cannot use beamer built-in \note{} to keep note. Need to use pdfcomment.
    • Notes are not well wrapped. You either need to use \textCF to change line or tweak the Python script for auto-wrapping the notes. For an attempt to tweak the Python script, check https://bitbucket.org/rndblnch/osx-presentation/pull-requests/8 .
    • Hard to generate PDF with nicely formatted notes.
    • Only works for MacOS.

from the website:

Présentation.app main feature is its presenter view on the main display that shows the current and next slides, and its main view on the secondary display (if present) that shows the current slide. It also has some more or less original features:

  • a clock that displays the current time or a (countdown) timer;
  • the content of PDF notes are displayed below the current slide;
  • navigation links inside the PDF do work;
  • external links can be followed, and the main view then toggles to a full screen web view or a video view if the links leads to a video on the local file system;
  • the app is in fact a python script that can be used from the command line.

Demo tex file:

\documentclass[12pt, t]{beamer}

% draft will print out comment
% final will hide all comment
\usepackage[draft]{pdfcomment}
\newcommand{\pdfnote}[1]{\marginnote{\pdfcomment[icon=note]{#1}}}

\usetheme{default}
\title{Demo of osx-presentation}
\date{\today}

\begin{document}

\maketitle

\begin{frame}{Demo of notes}
This is the content of slide. 
\pdfnote{My presentation notes. }
\end{frame}

\begin{frame}{Another slide to show the next slide feature}
\end{frame}

\end{document}
9
  • 2
    Can you please improve your answer by showing how it works?
    – ienissei
    Commented Nov 30, 2014 at 12:48
  • Looks like exactly what I was looking for. Will give it a try at my next lectures...
    – hoeni
    Commented Aug 28, 2016 at 12:53
  • 1
    @hoeni How did this work out for you?
    – Joost
    Commented May 2, 2017 at 14:30
  • 2
    Présentation.app is by far the best tool I've seen for this. I'm using it in all my lectures now.
    – hoeni
    Commented May 3, 2017 at 8:50
  • Amazing. I've been looking for something like this for so long. Thank you so much @rndblnch, works great. Just to let you know, I presented my thesis with présentation. Totally recommended.
    – Jorge V
    Commented Sep 30, 2017 at 22:42
23

Another Mac-specific (well, not really OS-independent) solution is implemented by the Skim PDF viewer, which provides an option to display a second PDF file inside another Window page-synchronously with the first one. This comes quite handy to show beamer notes on a second screen (regardless of its dimensions and layout).

One prerequisite for this to work is, however, that your notes.pdf actually has the same number of pages than slides.pdf. With beamer this can be somewhat tricky to achieve, as beamer ships out a notes page only for slides that actually do have notes and only once for frames that use allowframebreaks. I had asked about a solution to this problem in this question, the answer given by Ulrich Schwarz solves it nicely.

1
  • +1 for Skim. And here is my solution to solve the problem of having the same number of pages for slides and notes: generate the main pdf without notes (for presentation) and another pdf with notes for local reference :)
    – pddthinh
    Commented Jun 14, 2021 at 14:21
21

As mentioned elsewhere, I believe that the pdfpc solution is much better than pympress, mainly because it can display notes, but also video and much more. It seems to be better maintained as well.

However, it is a fork of the project mentioned in the original question (pdf-presenter-console, now mostly dead) which means it is pretty Linux-specific (it depends on GTK) for now, although it could probably be ported to Mac and Windows eventually. To be fair, pympress is also linux-specific.

1
  • 2
    pympress too can display notes (both beamer page and pdf annotations), videos, and much more. :)
    – Cimbali
    Commented Dec 5, 2019 at 12:45
14

If you like the presenter display in Keynote, you can use the free tool PDF to Keynote to convert your PDF slides to Keynote format, and then use Keynote to give the presentation.

0
12

For Linux I found dspdfviewer to be useful.

This is a simple viewer for latex-beamer presentations that are built with the show notes on second screen option of latex-beamer.

It will take your PDF file, split it in a left and right half and render the two halves individually to the screens.

3
  • Welcome to TeX.SX! You may have a look on our starter guide. Commented May 25, 2013 at 18:20
  • 1
    Since impressive stopped working correctly for me, this is the best solution available, even better than impressive. Commented Nov 22, 2013 at 14:57
  • 1
    It is in the package repository, for example on Debian or Ubuntu, dspdfviewer can be installed with sudo apt-get install dspdfviewer . Commented Feb 8, 2017 at 16:15
10

Impressive gives you at least the elapsed time, and a progress bar which indicates how much time you have left. These are also visible to the audience.

0
8

You might want to try out SlidePilot for macOS.

The application aims to combine two worlds, presenting LaTex Beamer PDFs (and its notes) but with the presenter experience of Keynote.

Some Key Features:

  • Dual Screen presentation
  • Presenter Display showing the current, next and notes slide (created with Beamer \note)
  • Stopwatch or Timer and a Clock to keep track of reading time
  • Go-To-Browser for slides
  • Broadcast Cursor to presentation screen
  • Cover presentation screen
  • Pre-Rendering and Caching

With a lot of features still to come.

enter image description here

Example for a .tex file with notes, that you can use with SlidePilot.

\documentclass{beamer}
\usepackage{pgfpages}
\setbeameroption{show notes on second screen}

\begin{document}

\frame{
    \frametitle{Demo Slide} 
    Content of the demo slide.
}
\note{
    \begin{itemize}
        \item These are some
        \item items in a list
        \item full of notes
    \end{itemize}
}

\end{document}

(Disclaimer: I am the developer)

1
  • 2
    This is by far the best and easiest to use. Thanks :)
    – root
    Commented Apr 4, 2021 at 3:13
6

Benjamin Keller also presented a nice approach here. It has a presenter view showing

  • main slide
  • notes
  • preview of next slide
  • structure tree of slides
  • several counters and timers.

Links to the files can be found in the video description. Seems like it was developed on and for Linux. I do not know if other OS are supported as well.

1
  • It looks really great! Imho, PDF + Javascript are cross-OS. Modifying the required settings might however be a bit more tedious on Windows.
    – ebosi
    Commented May 12, 2017 at 14:13
5

On a Mac you can use Splitshow.

A tool for the dual-head presentation of PDF slides on Mac OS X, most likely using a laptop and a projector. The project arose out of the need to correctly project slides created with LaTeX's beamer class.

This project has been imported from the original, discotinued Google Code project (http://splitshow.googlecode.com). The aim is to create an up-to-date version of the SplitShow program with the same features and to extend it later on.

0
3

I made such an OS-independent web tool for this purpose, called Beamer Viewer.

Slides with notes can first be generated in standard Beamer using \note{} and \setbeameroption{show notes on second screen=right}. This produces a single PDF containing both the speaker's notes and the slides.

This file can then be loaded in the web app, which opens the notes and slides in two synchronised windows, free to be moved on different screens.

The tool can be tried here with demo slides. Its source code is available in this git repository.

Privacy note: the slides are fully rendered locally and are never sent to the server.

2

On GNU/Linux, at least, Slider might be a good option. (I've no idea if it would work on e.g. a Mac.)

2

I use Windows with many animations in my PDFs, and only Adobe Acrobat (Reader) seems to be able to play them. I've been using AutoHotKey to remap my keyboard buttons to control my two Adobe windows simultaneously. It's a bit of a hack job, and there's no timer, but it works. I use the standard beamer notes pages, but you could be more fancy to show upcoming previews.

Here's my AHK script. It assumes that the focus is on the notes pdf window. [Up]/[Down] controls the notes (window mode on screen one), and [Left]/[Right] controls the presentation (full screen on screen two). [Space] advances both simultaneously by one page. It blocks [Space] in other programs whilst the script's running, but it prevents infinite loops. The script is easily changed to access all open PDFs at once (use 'Adobe' instead of 'Presentation_*.pdf'), but I find it to be more stable if each file is named explicitly.

Up::
IfWinActive, Presentation_Notes.pdf ;
{
    Send {PgUp}
}
Else
{
    IfWinActive, Presentation_Presentation ;
    {
        CoordMode, Mouse, Screen
        WinGet, active_id, ID, A        
        WinGet, id, list, Presentation_Notes.pdf,, Program Manager
        Loop, %id%
        {
            this_id := id%A_Index%
            WinActivate, ahk_id %this_id%
            Send {PgUp}
        }
        WinActivate, ahk_id %active_id%
    }
    Else
    {
        Send {Up}
    }
}
return

Down::
IfWinActive, Presentation_Notes.pdf ;
{
    Send {PgDn}
}
Else
{
    IfWinActive, Presentation_Presentation.pdf ;
    {
        CoordMode, Mouse, Screen
        WinGet, active_id, ID, A        
        WinGet, id, list, Presentation_Notes.pdf,, Program Manager
        Loop, %id%
        {
            this_id := id%A_Index%
            WinActivate, ahk_id %this_id%
            Send {PgDn}
        }
        WinActivate, ahk_id %active_id%
    }
    Else
    {
        Send {Down}
    }
}
return

Right::
SetTitleMatchMode, 2
IfWinActive, Presentation_Notes.pdf ;
{
    CoordMode, Mouse, Screen
    WinGet, active_id, ID, A        
    WinGet, id, list, Presentation_Presentation.pdf,, Program Manager
    Loop, %id%
    {
        this_id := id%A_Index%
        WinActivate, ahk_id %this_id%
        Send {PgDn}
    }
    WinActivate, ahk_id %active_id%
}
Else
{
    Send {Right}
}
return

Left::
SetTitleMatchMode, 2
IfWinActive, Presentation_Notes.pdf ;
{
    CoordMode, Mouse, Screen
    WinGet, active_id, ID, A
    WinGet, id, list, Presentation_Presentation.pdf,, Program Manager
    Loop, %id%
    {
        this_id := id%A_Index%
        WinActivate, ahk_id %this_id%
        Send {PgUp}
    }
    WinActivate, ahk_id %active_id%
}
Else
{
    Send {Left}
}
return

Space::
SetTitleMatchMode, 2
IfWinActive, Presentation_Notes.pdf ;
{
    CoordMode, Mouse, Screen
    WinGet, active_id, ID, A      
    WinGet, id, list, Presentation_Presentation.pdf,, Program Manager
    Loop, %id%
    {
        this_id := id%A_Index%
        WinActivate, ahk_id %this_id%
        Send {PgDn}
    }
    WinActivate, ahk_id %active_id%
    Send {PgDn}
}
return
2

On GNU/Linux (KDE), also qpdfpresenterconsole available on SourceForge and GitHub (last update till this edit: 2012-03-24).

  • Disadvantages on that:

    • no preview of next slide
    • no possibility to open a Browser and than switch back to the presentation
  • Advantages:

    • can handle notes of beamer
    • has a critical time (last 2minutes has a red count down for example)
1

For OSX, look at osx-adobe-beamer. It wraps Adobe Reader so it shows the notes and slides on different pages.

It has the following features

  • video/animation
  • notes for current slide
  • on notes, shows current slide
  • timer (i.e., "15 minutes remaining")
  • next slide

In your latex document include

\usepackage[slides]{osx-adobe-beamer}
% or 
\usepackage[notes]{osx-adobe-beamer}

and copy the resulting PDF so you can display both at once. Open them both in Adobe Reader and run the command

python /path/to/present.py

And you're all set! If this application fails on you during a presentation, you can still survive because it only maps your keymaps to both Adobe Reader windows.

(disclaimer: I am the developer -- a quick weekend hack!)

0

We have released an app for the mac that is well suited to present slides created using LaTeX, e.g., with the beamer class. It offers

  • a view for the speaker like in powerpoint with speaker-notes etc. (see screenshot below);
  • if attached, the ability to write, control the slides, use a virtual pointer, ... on the iPad;
  • a presenter screen which shows the slides on a projector (or while streaming your talk).

Here are some example screenshots:

The main window

Using the iPad

What we think makes our app special for presenting computer science, math, physics and similar topics typical in the user domain of LaTeX is the combination of slides with sort of a virtual blackboard of infinite size: For any slide, you have the possibility to scroll down arbitrarily far (without page breaks) and use handwriting to extend your presentation. Furthermore, we offer two kinds of (virtual) ink, one visible to the audience, one - like magic ink - visible to the speaker only.

iPad with scroll and magic ink

That way you can, e.g., prepare a handwritten example, proof, ... which you want to develop during your talk but your sketch (or whatever you prepare) remains invisible to the audience. However, it is right at your fingertips, for you write visible to the audience during your talk at the very same place within our app (preferably your iPad) that shows your preparations (for the sake of separation slightly dimmed when presenting).

Speaker-notes, handwriting, ... can be exported to pdf. If you change your slides, you can easily reorganise annotations and notes, e.g., move or copy them to a new place by drag-and-drop.

More details are shown on our website, if you got interested, you find our app here.

We hope this community finds it useful. If you think, some important features are missing, please drop a feature request.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .