Difference between revisions of "Installation"

From Wiki
Jump to navigation Jump to search
(Add a simpler way to install LMTX in MacOS, which does not require disabling SIP)
 
(133 intermediate revisions by 8 users not shown)
Line 1: Line 1:
__NOTOC__
+
= Download =
Since April 2019, there is a new implementation of ConTeXt, named '''ConTeXt LMTX'''. It is tuned for LuaMetaTeX, the lean and mean successor of LuaTeX TeX engine (see [https://tug.org/TUGboat/tb40-1/tb124hagen-lmtx.pdf article]).
 
 
 
= #1. Download =
 
 
   
 
   
 
<ul id="DownloadRework">
 
<ul id="DownloadRework">
Line 8: Line 5:
 
<li>
 
<li>
 
===  Windows ===
 
===  Windows ===
* [http://lmtx.pragma-ade.nl/install-lmtx/context-mswin.zip 32bits]
+
* X86 [https://lmtx.pragma-ade.com/install-lmtx/context-mswin.zip 32bits]
* [http://lmtx.pragma-ade.nl/install-lmtx/context-win64.zip 64bits]
+
* X86 [https://lmtx.pragma-ade.com/install-lmtx/context-win64.zip 64bits]
 +
* ARM [https://lmtx.pragma-ade.com/install-lmtx/context-windows-arm64.zip 64bits]
 
</li>
 
</li>
  
 
<li>
 
<li>
=== MacOS ===
+
 
* [http://lmtx.pragma-ade.nl/install-lmtx/context-osx-64.zip 64bits]
+
=== macOS ===
 +
* X86 [https://lmtx.pragma-ade.com/install-lmtx/context-osx-64.zip 64bits]
 +
* ARM [https://lmtx.pragma-ade.com/install-lmtx/context-osx-arm64.zip 64bits]
 
</li>
 
</li>
  
 
<li>
 
<li>
 +
 
=== GNU/Linux ===
 
=== GNU/Linux ===
* X86 [http://lmtx.pragma-ade.nl/install-lmtx/context-linux.zip 32bits]
+
* X86 [https://lmtx.pragma-ade.com/install-lmtx/context-linux.zip 32bits]
* X86 [http://lmtx.pragma-ade.nl/install-lmtx/context-linux-64.zip 64bits]
+
* X86 [https://lmtx.pragma-ade.com/install-lmtx/context-linux-64.zip 64bits]
* ARM [http://lmtx.pragma-ade.nl/install-lmtx/context-linux-armhf.zip 32bits]
+
* ARM [https://lmtx.pragma-ade.com/install-lmtx/context-linux-aarch64.zip 64bits]
* ARM [http://lmtx.pragma-ade.nl/install-lmtx/context-linux-aarch64.zip 64bits]
+
* Musl [https://lmtx.pragma-ade.nl/install-lmtx/context-linuxmusl-64.zip 64bits]
 
</li>
 
</li>
  
  
 
<li>
 
<li>
 +
 
=== FreeBSD ===
 
=== FreeBSD ===
* [http://lmtx.pragma-ade.nl/install-lmtx/context-freebsd.zip 32bits] *
+
* 14.0 [https://lmtx.pragma-ade.com/install-lmtx/context-freebsd-amd64.zip 64bits]
* [http://lmtx.pragma-ade.nl/install-lmtx/context-freebsd-amd64.zip 64bits]
 
 
</li>
 
</li>
  
 
<li>
 
<li>
=== OpenBSD6.5 ===
+
 
* [http://lmtx.pragma-ade.nl/install-lmtx/context-openbsd6.5.zip 32bits] *
+
=== OpenBSD ===
* [http://lmtx.pragma-ade.nl/install-lmtx/context-openbsd6.5-amd64.zip 64bits]
+
* 7.4 [https://lmtx.pragma-ade.nl/install-lmtx/context-openbsd-amd64.zip 64bits]
 
</li>
 
</li>
 
<li>
 
=== OpenBSD6.6 ===
 
* [http://lmtx.pragma-ade.nl/install-lmtx/context-openbsd6.6.zip 32bits] *
 
* [http://lmtx.pragma-ade.nl/install-lmtx/context-openbsd6.6-amd64.zip 64bits]
 
 
</ul>
 
</ul>
 
</li>
 
</li>
Line 50: Line 46:
 
</ul>
 
</ul>
  
<nowiki>*</nowiki>untested configuration.
 
  
 
You can [[Read Me| read the licence]] (Creative Commons GNU GPL for program code, and Creative Commons Attribution ShareAlike for documentation).
 
You can [[Read Me| read the licence]] (Creative Commons GNU GPL for program code, and Creative Commons Attribution ShareAlike for documentation).
  
= #2. Installation =
+
= Installation =
 +
 
 +
The general steps to install ConTeXt LMTX are as follows:
 +
 
 +
# Create a directory for ConTeXt.
 +
# Download the platform-specific archive file into the ConTeXt directory.
 +
# Unpack the archive.
 +
# Execute the install program, which downloads the distribution.
 +
# Update the PATH environment variable.
 +
# Generate cache
 +
# Optionally, delete the archive file.
 +
 
 +
See the next sections for instructions specific to various platforms.
 +
 
 +
== GNU/Linux ==
 +
 
 +
The steps in this section show how to download and install ConTeXt for a 64-bit Linux system. Change the archive file download link as needed for your target platform. Open a new terminal then run the following commands:
 +
 
 +
# <code>mkdir $HOME/context</code> and <code>cd $HOME/context</code>
 +
# <code>wget https://lmtx.pragma-ade.com/install-lmtx/context-linux-64.zip</code>
 +
# <code>unzip context-linux-64.zip</code>
 +
# <code>sh install.sh</code>
 +
# Update the PATH environment variable by using the path instructions displayed when the install program finishes. The instructions will vary depending on the type of shell being used:
 +
#* <kbd>'''Bash:    '''</kbd> <code>echo 'export PATH=...instructions...:$PATH'  >> ~/.bashrc</code>
 +
#* <kbd>'''Zsh:    '''</kbd> <code>echo 'export PATH=...instructions...:$PATH'  >> ~/.zshenv</code>
 +
#* <kbd>'''Sh/Ksh:  '''</kbd> <code>echo 'export PATH=...instructions...:$PATH'  >> ~/.profile</code>
 +
#* <kbd>'''Tcsh/csh:'''</kbd> <code>echo 'set path = ($path ...instructions...)' >> ~/.cshrc</code>
 +
#* For example, if ConTeXt was downloaded into `$HOME/context` on a system running bash, then the following line would update the PATH environment variable: <code>echo 'export PATH=$HOME/context/tex/texmf-linux-64/bin:$PATH' >> ~/.bashrc</code>
 +
# Then generate the cache with <code>mtxrun --generate</code>.
 +
# <code>rm context-linux-64.zip</code>
 +
 
 +
== macOS ==
 +
 
 +
The instructions for MacOS are the same as for Unix, but note that:
 +
 
 +
* MacOS versions from Catalina (10.15) and newer use '''Zsh''' by default.
 +
* MacOS versions before Catalina use '''Bash''' by default.
 +
* You might need to de-quarantine the binaries (and sometimes every created PDF):
 +
** <code>sudo xattr -r -d com.apple.quarantine bin/mtxrun</code>
 +
** <code>sudo xattr -r -d com.apple.quarantine tex/texmf-osx-64/bin/*</code>
 +
 
 +
== Windows ==
 +
 
 +
Complete the following steps to set up ConTeXt on Windows:
 +
 
 +
# Create a directory for ConTeXt, such as <code>C:\context</code>.
 +
# Download the architecture-specific version into the ConTeXt directory.
 +
# Extract the archive.
 +
# Run: <code>install.bat</code>
 +
# Run: <code>setpath.bat</code>
 +
# Then generate the cache with the command <code>mtxrun --generate</code> in a command prompt.
 +
# Delete the file archive file context-*win*.zip.
 +
 
 +
= Check the installation =
 +
 
 +
Make sure that ConTeXt is installed on your system. To check that, go to the command prompt and type
 +
 
 +
  context --version
 +
 
 +
You should get an output as follows:
 +
 
 +
  mtx-context    | ConTeXt Process Management 1.06
 +
  mtx-context    |
 +
  mtx-context    | main context file: /home/myuser/context/tex/texmf-context/tex/context/base/mkiv/context.mkiv
 +
  mtx-context    | current version: 2024.04.01 08:59
 +
  mtx-context    | main context file: /home/myuser/context/tex/texmf-context/tex/context/base/mkxl/context.mkxl
 +
  mtx-context    | current version: 2024.04.01 08:59
  
 +
= Upgrade =
  
# Create a directory for, e.g. data/context
+
Re-run the install program to upgrade, which will update the distribution incrementally:
# Go there and download the relevant zip for your plateform (see above)
 
# Unpack the zip, some files will appear
 
# Execute the install program, which will take care of downloading the distribution:
 
#* WINDOWS: <code>install.bat</code>
 
#* UNIX: <code>install.sh</code> (set the executable permissions)
 
#* MacOS: see '''Further installation instructions''' below before running <code>install.sh</code>
 
# Add ConTeXt to your system PATH :
 
#* WINDOWS: run <code>setpath.bat</code>
 
#* UNIX: use the PATH instructions provided at the end of <code>install.sh</code> with:
 
#** Bash shell <code>echo 'export PATH=...thepathinstructions...:$PATH'  >> ~/.bashrc</code>
 
#** Sh/Ksh shell <code>echo 'export PATH=...thepathinstructions...:$PATH'  >> ~/.profile</code>
 
#** Tcsh/csh shell <code>echo 'set path = ($path ...thepathinstructions...)' >> ~/.cshrc</code>
 
  
= #3. First Run ! =
+
* Windows: <code>install.bat</code>
 +
* GNU/Linux or macOS: <code>sh install.sh</code>
  
* Download the tex input file [[Media:Hello-world.tex|Hello-World.tex]] from our [[Detailed_Example|Detailed example]]
+
= First document =
* Run <code>context Hello-world.tex</code> in your shell
 
* Check the pdf output <code>Hello-world.pdf</code>.
 
  
You can also follow our two steps tutorial:
+
== Creation of a first ConTeXt file ==
* [[First Document| Your 1st document]]
+
* and a more [[Detailed Example|Detailed example]]
+
Open a [[Text Editors|text editor]], type the following content, and save the file as <code>doc01.tex</code>:
  
 +
<texcode>
 +
\setuppapersize[A6]
 +
\starttext
 +
\startsection[title={Testing ConTeXt}]
 +
This is my first ConTeXt document.
 +
\stopsection
 +
\stoptext
 +
</texcode>
  
= #4. Easy update =
+
== Compilation of the ConTeXt file to PDF file ==
  
For an update, just replay the install program: it also take care of updating the distribution incrementally:
+
Go to the command-line and type:
* WINDOWS: <code>install.bat</code>
 
* UNIX: <code>install.sh</code> (set the executable permissions)
 
  
= Official installation page =
+
<pre>context doc01</pre>
  
The official page '''[http://www.pragma-ade.com/install.htm Installing CONTEXT LMTX ]''' is hosted by Pragma-Ade, which also provides
+
ConTeXt will then process your document, display some logging information on the console, and generate a <tt>doc01.pdf</tt> output file.
* a 2 pages '''[http://lmtx.pragma-ade.nl/install-lmtx/installation.pdf installation guide]''',
 
* a 1 page [http://distribution.contextgarden.net/current/context/experimental/doc/context/documents/general/leaflets/leaflet-context.pdf leaflet for ConTeXt LMTX]
 
* a 1 page [http://distribution.contextgarden.net/current/context/experimental/doc/context/documents/general/leaflets/leaflet-luametatex.pdf leaflet for LuaMetaTeX].
 
  
 +
<pre><nowiki>
 +
resolvers      | formats | executing runner 'run luametatex format': /home/myuser/context/tex/texmf-linux-64/bin/luametatex --jobname="./doc01.tex" --socket --shell-escape --fmt=/home/myuser/context/tex/texmf-cache/luametatex-cache/context/5fe67e0bfe781ce0dde776fb1556f32e/formats/luametatex/cont-en.fmt --lua=/home/myuser/context/tex/texmf-cache/luametatex-cache/context/5fe67e0bfe781ce0dde776fb1556f32e/formats/luametatex/cont-en.lui  --c:currentrun=1 --c:fulljobname="./doc01.tex" --c:input="./doc01.tex" --c:kindofrun=1 --c:maxnofruns=9 --c:texmfbinpath="/home/myuser/context/tex/texmf-linux-64/bin"
 +
system          >
 +
system          > ConTeXt  ver: 2024.04.01 08:59 LMTX  fmt: 2024.4.13  int: english/english
 +
system          >
  
= Further installation instructions =
+
  
Recent versions of MacOS prevent <code>mtxrun</code> from running because it is not a signed executable. You have at least two options to bypass such restrictions:
+
mkiv lua stats  > used engine: luametatex version: 2.11.02, functionality level: 20240311, format id: 700, compiler: gcc
 +
mkiv lua stats  > tex properties: 807100 hash slots used of 2097152, 51019 control sequences, approximate memory usage: 42 MB
 +
mkiv lua stats  > lua properties: engine: lua 5.5, used memory: 57 MB, ctx: 54 MB, max: 54 MB, symbol mask: utf (τεχ)
 +
mkiv lua stats  > runtime: 0.617 seconds, 1 processed pages, 1 shipped pages, 1.620 pages/second
 +
system          | total runtime: 1.989 seconds of 2.052 seconds
 +
</nowiki></pre>
  
* execute <code>xattr -d com.apple.quarantine context-osx-64/bin/mtxrun</code>, or
+
== Viewing the generated PDF file ==
* (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.
 
  
The following page describes another, more involved, procedure that achieves the same result:
+
Open the generated <tt>doc01.pdf</tt> PDF file using a [http://en.wikipedia.org/wiki/List_of_PDF_software#Viewers PDF viewer]. It should look as follows:
  
* [[Installing ConTeXt LMTX on MacOS]]
+
<context force="yes">
 +
\setuppapersize[A6]
 +
\starttext
 +
\startsection[title={Testing ConTeXt}]
 +
This is my first ConTeXt document.
 +
\stopsection
 +
\stoptext
 +
</context>
 +
 
 +
Note that the section has been numbered, the section number and the section title appear in a slightly larger fonts.
  
 +
Your installation is now up and running: you can start working on the [[Tutorials]].
  
----
+
= Additional instructions =
  
{{Installation navbox}}
+
* [[Installing ConTeXt LMTX on MacOS]]
 +
* [[Modules#ConTeXt_LMTX|Installing Modules for ConTeXt LMTX]]
 +
* The official page '''[http://www.pragma-ade.nl/install.htm Installing ConTeXt LMTX ]''' is hosted by Pragma ADE.
 +
* Pragma ADE also provides the '''[http://www.pragma-ade.nl/download-1.htm ConTeXt MkIV distribution]''' (version MkIV is the predecessor of LMTX) for which there are also [[ConTeXt_Standalone|detailed installation instructions]].
 +
* Compilation with ConTeXt MkIV (old LuaTeX-based version): The new distribution has all the files to run the previous version of ConTeXt.
 +
** <code>context --luatex doc01</code>
  
  
[[Category:Standalone]]
+
[[Category:Basics]]
 +
[[Category:Installation]]

Latest revision as of 19:23, 14 April 2024

Download


You can read the licence (Creative Commons GNU GPL for program code, and Creative Commons Attribution ShareAlike for documentation).

Installation

The general steps to install ConTeXt LMTX are as follows:

  1. Create a directory for ConTeXt.
  2. Download the platform-specific archive file into the ConTeXt directory.
  3. Unpack the archive.
  4. Execute the install program, which downloads the distribution.
  5. Update the PATH environment variable.
  6. Generate cache
  7. Optionally, delete the archive file.

See the next sections for instructions specific to various platforms.

GNU/Linux

The steps in this section show how to download and install ConTeXt for a 64-bit Linux system. Change the archive file download link as needed for your target platform. Open a new terminal then run the following commands:

  1. mkdir $HOME/context and cd $HOME/context
  2. wget https://lmtx.pragma-ade.com/install-lmtx/context-linux-64.zip
  3. unzip context-linux-64.zip
  4. sh install.sh
  5. Update the PATH environment variable by using the path instructions displayed when the install program finishes. The instructions will vary depending on the type of shell being used:
    • Bash: echo 'export PATH=...instructions...:$PATH' >> ~/.bashrc
    • Zsh: echo 'export PATH=...instructions...:$PATH' >> ~/.zshenv
    • Sh/Ksh: echo 'export PATH=...instructions...:$PATH' >> ~/.profile
    • Tcsh/csh: echo 'set path = ($path ...instructions...)' >> ~/.cshrc
    • For example, if ConTeXt was downloaded into $HOME/context on a system running bash, then the following line would update the PATH environment variable: echo 'export PATH=$HOME/context/tex/texmf-linux-64/bin:$PATH' >> ~/.bashrc
  6. Then generate the cache with mtxrun --generate.
  7. rm context-linux-64.zip

macOS

The instructions for MacOS are the same as for Unix, but note that:

  • MacOS versions from Catalina (10.15) and newer use Zsh by default.
  • MacOS versions before Catalina use Bash by default.
  • You might need to de-quarantine the binaries (and sometimes every created PDF):
    • sudo xattr -r -d com.apple.quarantine bin/mtxrun
    • sudo xattr -r -d com.apple.quarantine tex/texmf-osx-64/bin/*

Windows

Complete the following steps to set up ConTeXt on Windows:

  1. Create a directory for ConTeXt, such as C:\context.
  2. Download the architecture-specific version into the ConTeXt directory.
  3. Extract the archive.
  4. Run: install.bat
  5. Run: setpath.bat
  6. Then generate the cache with the command mtxrun --generate in a command prompt.
  7. Delete the file archive file context-*win*.zip.

Check the installation

Make sure that ConTeXt is installed on your system. To check that, go to the command prompt and type

  context --version

You should get an output as follows:

  mtx-context     | ConTeXt Process Management 1.06
  mtx-context     |
  mtx-context     | main context file: /home/myuser/context/tex/texmf-context/tex/context/base/mkiv/context.mkiv
  mtx-context     | current version: 2024.04.01 08:59
  mtx-context     | main context file: /home/myuser/context/tex/texmf-context/tex/context/base/mkxl/context.mkxl
  mtx-context     | current version: 2024.04.01 08:59

Upgrade

Re-run the install program to upgrade, which will update the distribution incrementally:

  • Windows: install.bat
  • GNU/Linux or macOS: sh install.sh

First document

Creation of a first ConTeXt file

Open a text editor, type the following content, and save the file as doc01.tex:

\setuppapersize[A6]
\starttext
\startsection[title={Testing ConTeXt}]
This is my first ConTeXt document.
\stopsection
\stoptext

Compilation of the ConTeXt file to PDF file

Go to the command-line and type:

context doc01

ConTeXt will then process your document, display some logging information on the console, and generate a doc01.pdf output file.

resolvers       | formats | executing runner 'run luametatex format': /home/myuser/context/tex/texmf-linux-64/bin/luametatex --jobname="./doc01.tex" --socket --shell-escape --fmt=/home/myuser/context/tex/texmf-cache/luametatex-cache/context/5fe67e0bfe781ce0dde776fb1556f32e/formats/luametatex/cont-en.fmt --lua=/home/myuser/context/tex/texmf-cache/luametatex-cache/context/5fe67e0bfe781ce0dde776fb1556f32e/formats/luametatex/cont-en.lui  --c:currentrun=1 --c:fulljobname="./doc01.tex" --c:input="./doc01.tex" --c:kindofrun=1 --c:maxnofruns=9 --c:texmfbinpath="/home/myuser/context/tex/texmf-linux-64/bin"
system          > 
system          > ConTeXt  ver: 2024.04.01 08:59 LMTX  fmt: 2024.4.13  int: english/english
system          > 

…

mkiv lua stats  > used engine: luametatex version: 2.11.02, functionality level: 20240311, format id: 700, compiler: gcc
mkiv lua stats  > tex properties: 807100 hash slots used of 2097152, 51019 control sequences, approximate memory usage: 42 MB
mkiv lua stats  > lua properties: engine: lua 5.5, used memory: 57 MB, ctx: 54 MB, max: 54 MB, symbol mask: utf (τεχ)
mkiv lua stats  > runtime: 0.617 seconds, 1 processed pages, 1 shipped pages, 1.620 pages/second
system          | total runtime: 1.989 seconds of 2.052 seconds

Viewing the generated PDF file

Open the generated doc01.pdf PDF file using a PDF viewer. It should look as follows:

Note that the section has been numbered, the section number and the section title appear in a slightly larger fonts.

Your installation is now up and running: you can start working on the Tutorials.

Additional instructions