Wolfram Presenter Tools

Andy Hunt
Senior Content and Systems Developer
Wolfram Research

Abstract

Responsive technical presentations are made easy in Wolfram Notebooks.

Get started fast with the built-in theme selector and the formatting toolbar.

Personalize your slideshow even further by updating cell styles, setting slide break defaults, choosing presentation controls, or inserting notes that are hidden from your audience.

What we’ll be covering

What is Presenter Tools?

Demo of features

Future plans

A few implementation details

Lunch?

What is Presenter Tools?

Authoring tools to help you create and present your notebooks

Some of the features

Responsive content scaling

New themes, stylesheets, and palettes

Author notes

Automatic slide breaking (per cell style)

Configurable keyboard controls

Different editing / presenting modes

Window elements and windows size menus

Optional navigation bar

Outline view

and much more...

Demo of Features

Notes

Chooser Dialog

“File ⊳ New ⊳ Presentation Notebook...”

Variety of structured themes available

Customizable styles and color schemes

Default font and colors choices can be overridden

Integrated Toolbar

Integrated toolbar providing quick access to commonly used features.

Insert new slides, change styles, and modify cell formatting

Easy positioning of your slide elements

Style Editing

Interactively modify existing and add new cell styles

Companion formatting palette

Apply local formatting changes to global stylesheet

Slide breaks

Automatic slide breaks (set per cell style)

Choose which cell styles provide automatic slide breaks

Toolbar menu: "Slide Break Defaults"

Keyboard controls

Configurable keyboard controls for slide navigation

Outline Palette

Thumbnail overview of your presentation

Navigate to slides by clicking thumbnails

Side Notes

Combine notes, code, and other content

SideNote / SideCode cells will not show during presentation

Ability to paste / Evaluate code from palette

Plot[Evaluate[Table[BesselJ[n,x],{n,4}]],{x,0,10},Filling->Axis]

Graphic scaling and locking

Choose whether a graphic scales with screen size

Plot[Sin[x],{x,-10,20}]

My dog Scout

gr = Import["my-dog-scout.png"]

A few implementation details

Responsive FontSizes and CellMargins are Dynamics:

FontSize -> 
     Dynamic[0.05 FrontEnd`AbsoluteCurrentValue[{WindowSize, 1}]]

CellFrameMargins ->
    Dynamic[{
        {
            0.08 FrontEnd`AbsoluteCurrentValue[{WindowSize, 1}], 0
             0.08 FrontEnd`AbsoluteCurrentValue[{WindowSize, 1}]
         }, {
            0.0186111 FrontEnd`AbsoluteCurrentValue[{WindowSize, 1}], 
            0.15 FrontEnd`AbsoluteCurrentValue[{WindowSize, 2}]}
     }]

StyleHints are used to create different themes:

StyleHints -> {
   ParentList, 
   "CodeFont" -> "Source Code Pro", 
   "FontSet" -> {
      "Display1" -> "Baskerville", 
      "Display2" -> "Baskerville", 
      "Display3" -> "Baskerville", 
      "Text1" -> "Baskerville", 
      "Text2" -> "Baskerville", 
      "Text3" -> "Baskerville", 
      "Dingbat" -> "Baskerville", 
      "Default" -> "Baskerville"
      }, 
   "ColorSet" -> {
      "Display1" -> RGBColor[0.588235, 0.0470588, 0.164706], 
      "Display2" -> RGBColor[0.741176, 0.141176, 0.231373], 
      "Display3" -> RGBColor[1, 0.729412, 0.768627], 
      "Text1" -> GrayLevel[0.317647], 
      "Text2" -> GrayLevel[1], 
      "Text3" -> GrayLevel[0], 
      "Text1Reverse" -> GrayLevel[0.75], 
      "Text2Reverse" -> GrayLevel[0.75], 
      "Text3Reverse" -> GrayLevel[0.75], 
      "Dingbat" -> RGBColor[0.588235, 0.0470588, 0.164706], 
      "Default" -> GrayLevel[0.317647], 
      "Background" -> RGBColor[0.588235, 0.0470588, 0.164706]
   }, 
   "SlideBreakStyles" -> {}, 
   "SlideBreakMargins" -> {{0, 0}, {0, 80}}
}

Features on the horizon

Option to have graphics fill entire screen (largest either height or width)

Saving out your modified stylesheet

Auto-scrolling presentation / slides

Add more formatting options, such as Cell Frames, Dingbats, etc.

and much more...

More information

wolfram.com/presenter-tools

Feedback welcome!

Special thanks to...

Literally everyone involved.

It takes a village.