Recently I discovered an awesome PowerPoint plugin called IguanaTex. From the site: “IguanaTex is a PowerPoint plug-in which allows you to insert LaTeX equations into your PowerPoint presentation. It is distributed completely for free.” It is however a bit more than that, it allows you to write a full LaTeX document within a PowerPoint slide. What does this mean? simply put, anything that you could do in LaTeX, you can now do in PowerPoint, my favorite is generating really nice looking tables, equations and lists.
My biggest problem with this program is that the main window is not resizeable, these days with high resolution monitors and screens, having more screen space to do work is very helpful.
Before I talk about the changes I made, I am going to assume that you were able to successfully get the program installed and the plugin loaded into PowerPoint. You must have a LaTeX install to to actually use this plugin, but it is not needed for installation.
To install the plugin, simply unload the old plugin (refer to the installation process on how to load plugin) and add this version. Now you will have a version that you can resize!
If you would like details on the changes I made, keep reading.
Seeing as macros for office programs are ‘viable attack vectors’, according to a friend, it makes sense why you should be careful running any plugin without being able to look at the code. Thankfully the source for IguanaTex is provided by the installer and I am providing the modified version here, feel free to look it over and make any other changes as you see fit.
The modified ppt file can be found here. In order to actually modify/view the code you need to enable developer mode. From the developer tab you click the ‘Visual Basic’ button to view the VBA code.
The first modification was to the ‘Macros’ file under the ‘Modules’ folder. I found a nice piece of code written by Leith Ross that allows a form to be resized.
The form is now resizeable!, however, unlike more modern frameworks like Qt, there is no concept of layouts, everything must be positioned manually. So while the window resizes, nothing inside of it does. The fix for this is to manually resize everything by modifying the ‘LatexForm’ file under the ‘Forms’ directory. Add/modify the following:
The code should be pretty easy to understand, if you don’t like how something is positioned, you can change it quite easily.