I'm prepping talks for a few conferences. I think I've got my workflow down for syntax highlighting slides in Keynote on my Mac.

​1. "pip install pygments", not in a virtualenv but in your default Python.

​2. Make a Bash script like:

/usr/local/bin/pygmentize -f rtf -O "style=friendly,fontface=Courier Bold" "$1" | pbcopy

Make sure it's chmod'ed executable and on your path. Now you can do pyg myscript.py and then paste the syntax-highlighted code into Keynote. The result is pretty nice; at some point I may make a Pygments style optimized for presentations:

​3. In Keynote, turn off all auto-correction:

​4. Bonus round: PyCharm integration. In PyCharm's preferences, choose "External Tools," hit the "+", and fill out the dialog like so:

You can leave "Open Console" checked while you're getting things working.

Finally, in the "Keymap" section of PyCharm's vast settings dialog, search for "pyg" in the filter box, right-click on it, and assign a hotkey of your choice to the tool. I chose Command-Y because it was bound to some weird function I don't use.

Now whenever you're editing a file in PyCharm, you can save it and hit Command-Y, then switch to Keynote and paste.

Readers, if anyone can tell me how to adjust the default font size in Pygments for RTF output specifically, that'd be great.