I have typically used PowerPoint or plain PDFs of slides to give presentations, but with heavy mathematical content, it can be tedious to create these presentations and make them look good. How can I best make use of Mathematica to give presentations?

(I would prefer a slide-by-slide type format to what I've seen a few people do—using a regular notebook with the font size pumped up and collapsing/expanding sections as they go along.)


3 Answers 3


You can create SlideShows using Mathematica and run it to demonstrate presentation.

Main advantage of using such Slideshow over Powerpoint / PDF is that you can play dynamic content.

With CDF format available with Mathematica now , Presentation can be saved in cdf format and can be presented using any browser in which CDF Player is installed

Quick tips for Inpatients !

  1. Create Slide Show File -> New -> Slide Show
  2. Open Slide Show Palette Palettes -> Slide Show
  3. Run Slide Show View Environment -> SlideShow
  4. Run in Full Screen Mode Presentation Size -> Full Screen

Prashant gave excellent references. Some additional tips I've found useful:

  • You can turn off cell labels (the In[_] and Out[_] labels) from the option inspector by unchecking Cell Options->CellLabels->Show Cell Labels
  • I've had to make PDF versions of the slides for various reasons. Mathematica does not do PDF page breaks very well, so instead of saving as a pdf, select all cells in the notebook and do File->Save Selection As... and select PDF. You'll get one long pdf with no page breaks.
  • I like to Import[] graphics programmatically, and Show[] it with ImageSize->Scaled[_] to ensure it takes up the same fraction of space no matter the window or screen size.
  • A first slide with logos can be built up using Row[], Column[], and Spacer[].

For example, you can define an expression for loading images


and then make the graphical part of the cover page with


shows a main picture ("image1") and three logos stacked vertically on the right. I hide the input cell by double-clicking the output cell bracket; it leaves less space than merely closing the input cell directly.

  • I really like having slides that extend below the bottom of the screen, and scrolling down to expose the material bit-by-bit. As a presenter, it works well for me in informal seminars and workshops. And I find going back up to previous content ("Can you go back to slide number 14, please?") is easy that way. I'm not so interested in emulating traditional presentation programs in this respect.

  • Importing a slide verbatim from a powerpoint presentation can be done by exporting the powerpoint slide as a pdf, and importing that into the notebook directly.

  • Occasional use of a TabView[] can be effective, both in "wowing" the audience, and giving you flexibility on what content to show in detail depending on your timing. For example, you could show a high-level flowchart (or sketch a derivation) in the first tab, with details in other tabs, clicking on them only if there were time, or you judged the audience wanted them. E.g.,

        "Algorithm1"->load["algo1.png"]}, Alignment-> {Center,Top},LabelStyle->14,

That way the audience sees there is content available, and has a chance to think about what it might be, or consider whether they will ask you to go back to it later. And it beats clicking through half a dozen slides rapidly when you have run out of time.

Remember to set the ImageSize of the TabView[] to a Scaled[] value to ensure it displays properly whatever the window or screen size.

  • Mathematical typesetting can be tricky. Wrapping an input with TraditionalForm[_] does not always show an equation as I like it. Sometimes wrapping HoldForm[_] around the equation helps. Other times it is easier to start a new input cell, and from the Cell menu, Convert To->TraditionalForm.
  • $\begingroup$ Since mathematical typesetting can be tricky, is it possible to create some text (and item numbered…) cells and then have them be the outputs of some of the tabs in TabView? $\endgroup$ Commented Jul 22, 2014 at 20:37

Another method that I sometimes prefer is to use the presentation software of your choice (e.g. PowerPoint) and hyperlink the notebooks into that. For some things like showing lots of images (especially fullscreen) Mathematica is not very handy (yet).

You can simplify the preparation for this by opening and evaluating all these notebooks up front. For some presentations that use a lot of different slide-containing notebooks I put all those in a subdirectory ("./Mathematica/") and use an organisation notebook containing the following code:

files = FileNames["*.nb", 
   NotebookDirectory[] <> "\\Mathematica\\"][[1 ;; -1]]
nbs = (UsingFrontEnd[nb = NotebookOpen[#];
      SelectionMove[nb, All, Notebook];
      FrontEndTokenExecute[nb, "EvaluateCells"];
       nb, {WindowSize -> {Full, Full}, WindowToolbars -> {}}];
      SetOptions[nb, ScreenStyleEnvironment -> "SlideShow"];
      FrontEndToken[FrontEnd`SelectedNotebook[], "ScrollPageLast"];
      nb]) & /@ files;
Button["Last Slide", (SetSelectedNotebook[#];
       "ScrollPageLast"]}]; #) & /@ nbs]
FileNames["*.ppt*", NotebookDirectory[]][[-1]] // SystemOpen
Button["Close all notebooks", NotebookClose[#] & /@ nbs]

This opens and evaluates all the notebooks in the subdirectory and sets them to FullScreen and SlideShow mode. Finally it opens the (last) ppt in the current directory and provides a button for going to the last slide of each notebook and closing all opened notebooks.

With this setup, you can simply call up the notebooks via Hyperlink and Alt-Tab (on Windows) back to the running presentation.

Of course, I´d rather use Mathematica only, but for some of my presentations this works all right for the time being. If you keep to the same directory structure, the code can be reused pretty well.

  • $\begingroup$ Is this still your favorite method of calling up notebooks via Hyperlink or has Mathematica opened for new possibilities? $\endgroup$
    – MathLind
    Commented May 9, 2015 at 18:34
  • $\begingroup$ @MathLind nothing new as far as I am aware. In fact I have moved to screencasts for time-critical presentations, but that is due to the fact that live interaction takes more time. $\endgroup$
    – Yves Klett
    Commented May 9, 2015 at 18:40
  • 2
    $\begingroup$ One problem with using Mathematica as the basis for a slide show is that it cannot show movies smoothly, or without the ListAnimate controls visible. I am still dreaming of a method that combines the advantages of Mma (Manipulate, grabbing and rotating 3D objects) with the advantages of Keynote/PPT (smooth playback of movies without controls, easy placement of graphics). $\endgroup$
    – abwatson
    Commented Jun 18, 2015 at 0:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.