(C) Jonathan Le Roux and Zvika Ben-Haim (Windows), Tsung-Ju Chiang and Jonathan Le Roux (Mac)
Website: https://www.jonathanleroux.org/software/iguanatex/
IguanaTex is a PowerPoint add-in which allows you to insert LaTeX equations into your PowerPoint presentation on Windows and Mac. It is distributed completely for free, along with its source code.
This repository hosts the source code in a form that can be easily tracked, shared, and discussed (the VBA code is exported using the ExportVBA macro).
- OS: Windows 2000 or later (32- or 64-bit).
- PowerPoint:
- IguanaTex has been tested with PowerPoint 2010, 2013, 2016, 2019 (both 32 and 64 bit), Office 365, and PowerPoint 2003. It is likely to also work in PowerPoint 2000 and 2007.
- SVG support is available for Office 365 and recent retail versions of PowerPoint. Support is confirmed for PowerPoint 2021 at least for versions 2108 and above, and likely (although unconfirmed) for PowerPoint 2019 and maybe even PowerPoint 2016 for the same versions. Note that volume licensed versions, which are at version 1808 as of August 2023, do not support SVG conversion to Shape, which is required by IguanaTex.
- LaTeX: TeXLive or MiKTeX
- GhostScript (if the latest version raises issues, try gs9.26)
- ImageMagick
- (Optional) TeX2img, used for vector graphics output via EMF (Download).
- Intel or Apple Silicon Mac
- On Apple Silicon based Macs, PowerPoint needs to be run with the setting "Open using Rosetta."
- PowerPoint for Mac:
- Powerpoint 2019 or Office 365
- PowerPoint 2016 (Version 16.16.7 190210 or later) (to be confirmed; some features, e.g., SVG, may not work)
- MacTeX: Make sure you install
libgs
for SVG support, by selecting "Customize" at the "Installation Type" step of the MacTex installer. (I haven't found a way to install libgs via TexLive after the initial install, if you know one please let me know)
- Download the .ppam add-in file from this repository's Releases page, or from the IguanaTex Download page, and save it in a Trusted Location (see this Microsoft article), such as
%appdata%\Microsoft\Addins
(i.e.,C:\Users\user_name\Appdata\Roaming\Microsoft\Addins
). - Load the add-in: in "File" > "Options" > "Add-Ins" > "Manage:" (lower part of the window), choose "PowerPoint Add-Ins" in the selection box. Then press "Go...", then click "Add New", select the
.ppam
file in the folder where you downloaded it, then "Close" (if you downloaded the .pptm source and saved it as.ppam
, it will be in the default Add-In folder). - Create and set a temporary file folder: IguanaTex needs access to a folder with read/write permissions to store temporary files.
- The default is "C:\Temp". If you have write permissions under "C:", create the folder "C:\Temp". You're all set.
- If you cannot create this folder, choose or create a folder with write permission at any other location. In the IguanaTex tab, choose "Main Settings" and put the path to the folder of your choice. You can also use a relative path under the presentation's folder (e.g., "." for the presentation folder itself).
- Install and set path to GhostScript and ImageMagick (required for Picture outputs, except if using "Latex (DVI)" engine):
- Needed to convert intermediate PDF files into PNG before insertion into PowerPoint as a Picture object. In the Picture generation process, all LaTeX engines except "Latex (DVI)" output PDF files. Even when generating a Shape, it is often better to first generate a Picture then convert to Shape: Picture generation is faster and more robust, so it can be convenient to work on a display in Picture mode then do a final conversion to Shape, preserving the size.
- Set the full path to
gswin32c.exe
orgswin64c.exe
(note the "c
"!) and to ImageMagick's magick.exe in the "Main Settings" window. - Best way to make sure the path is correct is to use the "..." button next to each path and navigate to the correct file.
- Some default paths include
%USERPROFILE%
. It is recommended to click on "..." to make sure the path gets properly converted to the actual user profile path.
- (Optional) Install and set path to TeX2img:
- Only needed for vector graphics support via EMF (compared to SVG, pros of EMF are: available on all PowerPoint versions, fully modifiable shapes; cons: some displays randomly suffer from distortions)
- Download from this link (more details on TeX2img on their Github repo)
- After unpacking TeX2img somewhere on your machine, run TeX2img.exe once to let it automatically set the various paths to latex/ghostscript, then set the full path to
TeX2imgc.exe
(note the "c
"!) in the "Main Settings" window.
- (Optional) Install LaTeXiT-metadata:
- Needed to convert displays generated with LaTeXiT on Mac into IguanaTex displays
- Download
LaTeXiT-metadata-Win.zip
from the Releases page, unzip, and set the path toLaTeXiT-metadata.exe
in the "Main Settings" window. - LaTeXiT-metadata was kindly prepared by Pierre Chatelier, LaTeXiT's author, at my request. Many thanks to him!
- Source code is now public.
Other settings:
- If you have a non-standard LaTeX installation, you can specify in Main Settings the folder in which the executables are included.
- If you would like to have the option of using an external editor, e.g., when debugging LaTeX source code, you can specify the path to that editor in Main Settings. If you would like to use that editor by default over the IguanaTex edit window, check the "use as default" checkbox.
If you use Homebrew, installation is as simple as:
brew tap tsung-ju/iguanatexmac
brew install --cask --no-quarantine iguanatexmac latexit-metadata
Then follow 5. Verify that paths are set correctly in the Manual installation instructions below.
For more details (e.g., how to upgrade or uninstall), please see Tsung-Ju's Homebrew instructions.
-
Download the "prebuilt files for Mac" zip from this repository's Releases page
There are 3 files to install:IguanaTex.scpt
: AppleScript file for handling file and folder accesslibIguanaTexHelper.dylib
: library for creating native text views; source code included in the git repo, under "IguanaTexHelper/"IguanaTex_v1_XX_Y.ppam
: main add-in file
-
Install
IguanaTex.scpt
mkdir -p ~/Library/Application\ Scripts/com.microsoft.Powerpoint
cp ./IguanaTex.scpt ~/Library/Application\ Scripts/com.microsoft.Powerpoint/IguanaTex.scpt
- Install
libIguanaTexHelper.dylib
sudo mkdir -p '/Library/Application Support/Microsoft/Office365/User Content.localized/Add-Ins.localized'
sudo cp ./libIguanaTexHelper.dylib '/Library/Application Support/Microsoft/Office365/User Content.localized/Add-Ins.localized/libIguanaTexHelper.dylib'
-
Load the add-in: Start PowerPoint (restart if it was running when installing the dylib). From the menu bar, select Tools > PowerPoint Add-ins... > '+' , and choose
IguanaTex_v1_XX_Y.ppam
- The first time you click on one of the add-in buttons, you may be notified that
libIguanaTexHelper.dylib
was blocked. Go to the Mac's Settings, then Security and Privacy, and click "Allow Anyway".
- The first time you click on one of the add-in buttons, you may be notified that
-
Verify that paths are set correctly:
- Click on "Main Settings" in the IguanaTex ribbon tab, and verify that the paths to GhostScript, LaTeX binaries, and libgs.9.dylib (used in SVG conversions) are set correctly by clicking on each "..." button next to them: if the path is correct, this should take you to its location; otherwise, you'll need to navigate to the relevant path. The defaults should match the MacTex installation locations, but your installation may differ.
- If you cannot find them or if IguanaTex complains that a command did not return, open a terminal and use
locate gs
,locate pdflatex
, andlocate libgs
.
-
(Optional) Install LaTeXiT-metadata:
- Needed to convert displays generated with LaTeXiT on Mac into IguanaTex displays
- Download
LaTeXiT-metadata-macos
from the Releases page, add executable permission, and either set the path to its location in the "Main Settings" window or copy it to the secure add-in folder:
chmod 755 ./LaTeXiT-metadata-macos
sudo cp ./LaTeXiT-metadata-macos '/Library/Application Support/Microsoft/Office365/User Content.localized/Add-Ins.localized/'
- The first time LaTeXiT-metadata-macos is called by IguanaTex, Mac OS may block it. Go to the Mac's Settings, then Security and Privacy, and click "Allow Anyway".
- The executable was compiled on Mac OS 10.13 but should work on all versions. Please let me know if you have any issue.
- LaTeXiT-metadata was kindly prepared by Pierre Chatelier, LaTeXiT's author, at my request. Many thanks to him!
- Source code is now public.
IguanaTex's usage should mostly be self-explanatory, but there are a few tips and tricks that may not be.
- Accelerator keys (i.e., keyboard shortcuts): many of IguanaTex's commands ("Generate", "Cancel", etc) can be accessed by using a combination of modifier keys and a single letter. Look for the underlined letter in the corresponding button's text/label.
- Windows: Alt + letter. For example, instead of clicking on the "Generate" button, you can use
Alt + g
. (This is the standard Office behavior on Windows) - Mac: Ctrl + Cmd + letter. For example, instead of clicking on the "Generate" button, you can use
Ctrl + Cmd + g
. (Accelerator keys are not available in the standard Office for Mac, this was specially coded by Tsung-Ju for IguanaTex)
- "Picture" displays created on Mac (which are inserted PDFs) have a small extra margin around them so that they do not appear cropped on Windows. In earlier versions, there was no margin but the display would appear cropped. This seems to be a bug with the way PowerPoint handles some PDFs on Mac, internally storing them as EMF files. The PDFs created by LaTeXiT do not have that issue, however, so there may be a way to circumvent this bug in a future version of IguanaTex.
- IguanaTex macros cannot be added to the Quick Access Toolbar on Mac: this is a known bug on which Microsoft is allegedly working.
- There may be some scaling issues when changing the format of a file (Picture <-> Shape, or even within the various SVG and EMF Shape formats). The best way to handle this is to use the "Convert to Shape"/"Convert to Picture" functions, which regenerate the display in the desired format while keeping the size fixed. One can then further modify the content if needed, and the scaling will be correct.
- For Shape (i.e., vector graphics) displays, the default "SVG via DVI w/ dvisvgm" is recommended because of issues sometimes observed with other modes:
- Some displays obtained via "EMF w/ TeX2img" or "EMF w/ pdfiumdraw" appear distorted. This is a PowerPoint bug that sometimes occurs when ungrouping an EMF file into a Shape object.
- Some displays obtained with "SVG via PDF w/ dvisvgm" have symbols or parts of symbol missing. This is because certain lines are represented in PDF by open paths with a certain line width, instead of closed paths, and are thus handled differently by PowerPoint when converting to a Shape object. See this discussion for more details.
This work is licensed under a Creative Commons Attribution 3.0 Unported License.