Installing ConTeXt LMTX on MacOS

From Wiki
Revision as of 10:13, 2 July 2020 by Taco (talk | contribs) (→‎Running LMTX from TeXShop: again, toplevel bin/ should not be in PATH)
Jump to navigation Jump to search

Since a few users have encountered difficulties in installing, and updating to, beta releases of ConTeXt LMTX on macOS, below we describe an installation procedure for macOS. For other platforms the procedures are more or less analogous.

Installing LMTX on macOS up to 10.14

As of December 2019, the following instructions work for macOS up to version 10.14 but do not work for macOS 10.15 Catalina, due to the Apple's System Integrity Protection (SIP).

First download Put the unzipped folder context-osx-64/ wherever you wish—for instance, in your home directory. Thus the path to your future LMTX directory will be ~/context-osx-64/ (from now on, this is what we assume).

Open a Terminal window ( is found in /Applications/Utilities/). In the Terminal window type

cd ~/context-osx-64/

Then you should be able to execute the command


It may happen that macOS will not allow you to execute the above shell command, or the mtxrun script which is called by In that case, you should open System Preferences (from the Apple menu) and choose Security & Privacy, then go to the General pane. There you should be able to authorize the shell script, which has been blocked, to be executed. When you issue the command again, macOS will ask you whether you really want to execute it.

After that, if everything goes smoothly, a complete functioning tree of LMTX, complete with dozens of manuals, will be installed in ~/context-osx-64/. Whenever you want to update your installation of LMTX, it is enough to go to that directory in Terminal & run the installation script again:


Installing LMTX on macOS 10.15 Catalina

Recent versions of MacOS prevent mtxrun from running because it is not a signed executable. You have at least two options to bypass such restrictions:

  • execute xattr -d context-osx-64/bin/mtxrun, or
  • (not recommended) go to System Preferences > Security & Privacy > Privacy tab > Developer Tools, and allow Terminal to run software that does not meet the system's security policy.

Running LMTX from the Terminal

If you want to run LMTX from the Terminal interface in any directory, you should add the path of your installation to $PATH by adding this to your .bashrc (10.14 and earlier) or .zshenv (10.15) (or another configuration file, depending on your flavor of shell interface):

export PATH=$PATH:~/context-osx-64/tex/texmf-osx-64/bin

Reminder: if you have installed context-osx-64/ elsewhere, please replace the segment ~/context-osx-64/ in the above code with the path to that directory.

In principle, once your PATH has been modified, typing in a Terminal window

which context


context --version

you should get the path to the ConTeXt binary and its version. If this is the case, then you can typeset a file named myfile.tex from the Terminal by typing:

context myfile.tex

It may happen that for some reason not everything goes smoothly & you cannot typeset any document. In that case, try typing in a Terminal window:

which luametatex

in order to see whether ~/context-osx-64/tex/texmf-osx-64/bin/luametatex is present or not. If not, the download is incomplete.

If luametatex is present, in the Terminal type:

luametatex --version

and see whether it says, among other things:

Functionality : level 20191206

(here 20191206 is the date stamp of luametatex; this will change over time, of course). If not, there might be an issue with the files you have downloaded.

If there is no issue, in ~/context-osx-64/tex/, remove the directory texmf-cache/, then in the Terminal run:

mtxrun --generate

After that, in principle, the directory texmf-cache/ should be present again.

If this is the case, in the Terminal window type:

context --make --all

If everything goes nicely, you should be able to see LMTX functioning.

Running LMTX from TeXShop

Alternatively, you could use a TeX editor such as TeXShop. Once TeXShop is installed, go to ~/Library/TeXShop/Engine/, create a new file named ConTeXt LMTX.engine, open it in your preferred text editor, and add the following lines:

export PATH=$PATH:~/context-osx-64/tex/texmf-osx-64/bin
~/context-osx-64/tex/texmf-osx-64/bin/mtxrun --autogenerate --script context --directives="system.showerror" --autopdf "$1" --purgeall

Reminder: if you have installed context-osx-64/ elsewhere, please replace the segment ~/context-osx-64/ in the above code with the path to that directory.)

Save & close the file.

If you want to use LMTX as your default TeX typesetter in TeXShop, go to TeXShop -> Preferences, then under the tab Typesetting, in the Default Command section, choose the radio button "Command listed below", then type ConTeXt LMTX below that.