mactexlion logo OX5

** Multiple TeX Distributions **


TWG  |  MacTeX  |  Donate  |  FAQ  |  Fonts  |  Help  |  References  |  Support  |  Acknowledgments  |  TUG





Support for Multiple TeX Distributions

In 2006, MacTeX installed Thomas Esser's teTeX distribution using a redistribution packaged by Gerben Wierda. In May of 2006, Esser announced the end of support for teTeX, and recommended that users switch to TeX Live. This caused a flurry of activity throughout the TeX world. The Mac OS X support for multiple distributions is one outcome of this activity.

MacTeX installs a data structure by Gerben Wierda and Jerome Laurens to support multiple TeX distributions on a machine. Users who installed last year's MacTeX-2016 will discover that their old TeX distribution has not been altered by MacTeX. Instead, a simple method is provided to switch between active distributions. If there is an error in MacTeX-2017, you can temporarily retreat to MacTeX-2016 until the error is fixed.

Selecting the Active Distribution

In earlier years, MacTeX installed a Preference Pane to select the active distribution. We no longer do that because Apple kept changing the design requirements for Preference Panes. MacTeX-2017 does not remove Preference Panes, so you may still have one. (If you want to remove it, go to /Library/PreferencePanes and drag TexDist.prefPane to the trash.)

Instead, administer TeX Distributions using TeX Live Utility in /Applications/TeX. Choose the "Change Default TeX Live Version" menu item in the Configure Menu. A list of available TeX distributions on your machine will appear. The active distribution will be indicated with a blue dot. Select the radio button associated with an item in the list to choose a new active distribution.

Configuring Applications to Use the Distribution Support

MacTeX installs a symbolic link, /Library/TeX/texbin, pointing indirectly to the binary directory of the active distribution. To configure a GUI application, use its Preference settings to select /Library/TeX/texbin as the location where it searches for TeX binaries. All of the GUI applications installed by MacTeX will do this automatically.

Before El Capitan, this link was /usr/texbin. But Apple no longer permits users to write to the /usr directory, even if they have root support. The links /usr/texbin and /Library/TeX/texbin were otherwise completely equivalent. Older applications may still be configured to use /usr/texbin.

The link /Library/TeX/texbin should never be directly changed by users. It points into the data structure but not directly at the active binary, and it doesn't change when the active distribution changes.

Miscellaneous Details

Changing distributions automatically changes PATH and MANPATH variables, so interaction with TeX via the command line will use the appropriate distribution. It also automatically reconfigures GUI applications so they use the new active distribution.

Incidentally, the data structure does not modify the actual TeX distribution in any way. It is ingeniously constructed so that, for instance, changing a single symbolic link changes the active TeX distribution.

TeX distributions are installed in locations which are usually not displayed in the Finder. But it is possible to inspect the currently active distribution by going to /Library/TeX/Root with Finder. This is a symbolic link to the full currently active distribution. Similarly, /Library/TeX/Documentation is a symbolic link to all documentation folders for the currently active distribution.

The data structure contains features which future GUI programs may use. For example, a TeX interface program could offer to typeset some files with one distribution and others with another, or to display a list of documentation for the currently active distribution.

The Fink and MacPorts TeX distributions present a special case. Unfortunately both Fink and MacPorts modify PATH to add their binary locations to the start of the variable. This makes it impossible for us to switch the value of PATH when the users chooses a new active distribution. This problem is easily solved. After Fink or MacPorts modifies your PATH in its startup script, typically .profile, modify PATH a final time by adding /Library/TeX/texbin to its start.