Tips and tricks for presentations that are both reveal js AND powerpoint

I've had a lot of success in making presentations using Quarto's RevealJS capabilities, but less so when 'cross-rendering' to powerpoint.

My scenario is: I love having the power to present off my laptop using the browser. I can host my slides on a site, and point anyone to them and they 'just work'. However, sometimes people 'demand' PowerPoint slides. My holy grail would be a Quarto presentation doc that has all the goodness of RevealJS and when I hit quarto render myslides.qmd --to pptx the result is identical.

Some things that are getting in the way of this are:

  • headings are messed up: Sometimes they create a new slide, sometimes they don't?
  • slide backgrounds: in Reveal JS they are image references at the slide title, in PowerPoint they are based on the power point template file you feed in, maybe?
  • fonts: I think that if you are using custom fonts (say from css/ google fonts) that they will not display correctly in power point unless that same font is installed on the machine running the slides?
  • images: images seem to be missing in many cases? I can't quite work out why, it might be because some of the images have an animation, but also maybe something to do with png vs svg?
  • auto-animation: lol, no chance

So my ask is:

Has anyone had good experiences writing one quarto presentation that can adequately meet both render targets? What are your tips? Is there some plugin that I've missed? How basic do I need to make the presentation and how many goodies do I need to give up?

(P.S. It's hard for me to be exactly sure about this, as I'm running the output power point in Libre Office most of the time. I don't have simple access to Microsoft Office tools right now. In the past though I've not had much trouble flipping Libre -> Microsoft, so IMHO this is Quarto issue.)

Well, I've got slightly further. Seems POwerPoint dislikes background images that are .svg, but sometimes likes .png?

So secondary headers have to go as well, everything needs to be # My Slide Title only.

Slides are created using headers. It should work the same both in revealjs and powerpoint. This is in common doc for presentation: Quarto – Presentations

Just be aware of specific feature from some framework like revealjs because it has more slides features with tile slide, content slide and vertical slides. So you may need to change some paramaters for some formats like slide-leveal, or rely only on --- to divide slides.

slide backgrounds: in Reveal JS they are image references at the slide title, in PowerPoint they are based on the power point template file you feed in, maybe?

Slide background are indeed something that is possible in revealjs but not in Powerpoint. So you would need to adapt your code to handle that. Pandoc (which quarto is based on) does not support setting background for slide with a markdown syntax. I don't even know how that works for PPTX.

Same. Revealjs is HTML / JS / CSS and powerpoint is not. So you need to indeed adapt font settings to be relevant with the output format. You need to use same font but set it up differently.

Animation won't work in pptx, but you can set a static version. I don't know about svg in PPTX. Once again, you need to adapt the content you are generating to the supported feature by your output. You have some options to configure that help with generation (for figures by knitr for example) or using different extension with same name (default-image-extension options)

You guess it right.

I think you need to identify features that both work well in both, maybe use some specific tweak using filters (Quarto – Creating Filters).

Is PPTX output only option ? You could consider also PDF output for REVEALJS slides as you would get most of the feature (background, fonts, etc...)

Overall, Quarto won't do all the work for you, but should offer all the necessary option and tool to make this easier. You should find the correct configuration and what exactly to configure differently.

Hope you'll manage to do it !

1 Like

Tha ks for the tips. I had missed filters. If I could deliver slides in anything other I would, but it's 'been decided' XD

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.