Latex Distribution Updates: A Comprehensive Guide
LaTeX distributions provide a comprehensive set of tools for authoring professional documents in the LaTeX typesetting system. However, they require occasional updates to install improved packages, security patches, and new features. This article provides LaTeX users with best practices on keeping their LaTeX distribution and packages current.
Overview of LaTeX Distributions and Update Methods
The three major LaTeX distributions available today are:
- MiKTeX - Popular LaTeX distribution for Windows operating systems
- TeX Live - Cross-platform distribution for Linux, macOS, and Windows
- MacTeX - LaTeX distribution tailored specifically for macOS
Each distribution features a suite of tools for retrieving, installing, and updating LaTeX packages from an online repository. The main methods for updating distributions are:
- Graphical user interfaces - Easy-to-use desktop applications to manage updates
- Command line tools - Scriptable interfaces providing granular control
- Manual package updates - Downloading and installing individual package updates
The following sections detail how to leverage these update tools for the major LaTeX distributions.
Updating MiKTeX on Windows
MiKTeX offers a straightforward graphical interface for managing LaTeX updates on Windows. Here are useful techniques for keeping MiKTeX current.
Using the MiKTeX Console to Check for Updates
The MiKTeX Console provides options to review and install MiKTeX updates. To check for new versions of packages:
- Launch the MiKTeX Console from the Windows Start Menu
- Go to the "Packages" tab
- Click "Check for updates" to view available updates
- Click updates to mark them for installation
- Click "Apply Changes" to download and install updates
Setting Automatic Updates
Instead of manually checking, MiKTeX can handle updates automatically:
- In the MiKTeX Console, go to "Settings" tab
- Check option for "Always install missing packages on-the-fly"
- Check option for "Automatically update formatted packages"
- Set frequency for update checks
With the above settings, MiKTeX will automatically stay current with new LaTeX package versions.
Manually Updating Packages
When aware of specific package updates, they can also be directly installed:
- Go to the MiKTeX Package Manager site
- Search for the package name
- Download the latest .zip or .tar.gz update file
- Run the packaged installer to update
The above allows targeted updating of individual MiKTeX packages.
Updating TeX Live on Linux and macOS
For UNIX-based systems, TeX Live features advanced command line tools for distribution administration and updates.
Using tlmgr to Update the Entire Distribution
The TeX Live tlmgr utility can be used to update the entire distribution:
- Open a terminal window
- Type "tlmgr update --self" to self-update tlmgr
- Type "tlmgr update --all" to update all TeX packages
The above will retrieve and install the latest versions of all TeX Live packages.
Updating Individual Packages with tlmgr
For updating just a single TeX package:
- At the terminal, type "tlmgr update [package name]"
- For example "tlmgr update graphics" updates only the graphics bundle
Using tlmgr in this manner enables precise control over TeX Live updates on Linux and Unix-like systems.
Updating MacTeX on macOS
MacTeX contains TeX Live packages along with extra macOS-specific utilities.
Using the MacTeX-sync Utility
To conveniently update MacTeX and TeX on macOS:
- Open a terminal window
- Type "sudo MacTeX-sync -update"
- Enter admin password when prompted
MacTeX-sync will install all pending distribution and package updates.
Manually Checking for Updates
Alternatively, new MacTeX releases can be manually reviewed and installed:
- Go to the MacTeX website
- Navigate to the Downloads page
- Check if a newer release is available
- If so, click to download and install the package
Following this approach permits evaluation of MacTeX major and minor updates prior to installation.
Handling Updates Gracefully
While LaTeX updates provide beneficial improvements and features, they can occasionally introduce breaking changes.
When Updates Break Your Documents
If an update causes compilation issues:
- Rollback the problematic package
- Freeze the last working package version
- Report issues to the package author
This avoids update-related impediments to document production.
Freezing Package Versions
When stability is paramount, specific package versions can be frozen - blocking updates to only those packages:
- MiKTeX: Package Manager interface permits version locking
- TeX Live: Create a file called texmf.cnf to pin package revisions
- MacTeX: Adjust MacTeX-sync configuration file to hold packages
Freezing packages in this manner grants update flexibility when required.
Using Docker Containers for Reproducibility
Docker containers provision identical LaTeX environments, improving reproducibility:
- Choose a target MiKTeX/TeX Live/MacTeX version
- Construct a Dockerfile to install distribution
- Build a Docker image from this specification
- Run containers from resultant image to typeset documents
Containers constructed this way encapsulate LaTeX build functionality consistently.
Staying Current with LaTeX News
Along with software updates, TeX news channels provide valuable LaTeX release and advisory notifications:
LaTeX Blogs and Newsletters to Follow
- LaTeX Project Blog: Reports on LaTeX releases and updates
- LaTeX Community News: Monthly newsletter covering LaTeX news
- TUG News: Bimonthly updates from the TeX Users Group
Joining LaTeX Online Communities
Connect with LaTeX users and developers discussing news:
- TeX - LaTeX Stack Exchange site: Active Q&A community
- /r/latex Subreddit: LaTeX-focused discussion forum
- LaTeX-Community.org Forum: Long-running discussion board
Monitoring the above sites and participating in discussions is an excellent means to track LaTeX ecosystem changes.