Changes

Jump to navigation Jump to search
4,857 bytes added ,  05:15, 11 April 2023
Tell users to install LMTX instead
< {{note|You almost certainly want to [[Installation]] | [[ConTeXt Standalone/FAQ|Standalone/FAQ]] | '''[[ConTeXt Standalone/Tree|Standalone/Tree]]''' | [[ConTeXt Standalone/Structure|Standalone/Structure]] | [[ConTeXt Standalone/Implementation|Standalone/Implementation]] | [[ConTeXt Standalone/TODO|Standalone/TODO]] | [[ConTeXt Standalone/Contents|Standalone/Contents]] | [[install the newer ConTeXt Standalone/TeX Live|Standalone/TeX LiveLMTX]] >. This guide is for installing the older, rarely-updated MkIV distribution.}}
The '''ConTeXt Standalone''' is a complete, up-to-date ConTeXt distribution which can be upgraded efficiently. It can be used to install either the stable or the beta version of ConTeXt. It can also be used in parallel with existing TeX installations such as MikTeX, TeXLive, or older minimal installation. It is aimed towards ConTeXt users, so it does not include LaTeX specific packages and binaries.
{{Note | The '''ConTeXt develops at suite''' is a fast pacecomplete, and sometimes beta releases have serious bugs. ConTeXt standalone allows you up-to test the latest -date ConTeXt release without having to worry if an upgrade will mess an critical projectdistribution that can be upgraded efficiently. You It can have two (or multiple) also be used in parallel ConTeXt Standaloneswith existing TeX installations such as MikTeX, TeXLive, and freeze one for your critical projects, so forth. The suite does not include LaTeX packages and use the other one for experimentingbinaries.}}
Sometimes ConTeXt beta releases have issues. The ConTeXt suite allows you to test the latest ConTeXt release without worrying whether upgrading will corrupt a critical project. Multiple ConTeXt suite installations are possible. This allows, for example, a stable version and a beta version to run in parallel on the same computer.
 
ConTeXt is also included in TeXlive. The ConTeXt suite is updated continuously, whereas ConTeXt in TeXlive is updated less often. In particular, <code>luatex</code> and <code>metapost</code> are under active development and their binaries are updated frequently. ConTeXt follows these developments, indeed often drives development. As the binaries included in the TeXlive distribution are only updated yearly, ConTeXt on TeXlive will necessarily be less current than the ConTeXt suite. The ConTeXt suite is self-contained and can happily coexist alongside another installed TeX distribution.
{{TOClimit|limit=1}}
! Platform
! Short name
! Binaries by
! Notes
|- align="left" style="background-color:#EEEEEE;"
! Windows
| mswin
| Akira Kakuto (from [http://w32tex.org W32TeX)]|- align="left"! Windows/CygWin| cygwin| same binaries as mswin|- align="left" style="background-color:#EEEEEE;"! Windows, 32 bit| win32| Alias for mswin
|- align="left"
! Windows, 64 bit| win64| |- align="left" style="background-color:#EEEEEE;"! Linux, 32-bit
| linux
| Hans Hagen| compiled with glibc 2.3.6Debian 8|- align="left" style="background-color:#EEEEEE;"
! Linux, 64-bit
| linux-64
| Peter MünsterDebian 8|- align="left" style="background-color:#EEEEEE;"! Linux, ARM (low end.)| might be renamed to linux-amd64arm| Raspbian 8|- align="left"! Linux, musl| linuxmusl-64| Alpine|- align="left" style="background-color:#EEEEEE;"! Mac OS X, Intel (64-bit)| osx-64| Mac OS X 10.6
|- align="left"
! LinuxFreeBSD, PowerPC| linux32-ppcbit| Piotr Kopszakfreebsd
|
|- align="left" style="background-color:#EEEEEE;"
! Mac OS XFreeBSD, Intel (3264-bit)| osxfreebsd-intel| Mojca Miklavecamd64
|
|- align="left"
! Mac OS XOpenBSD 6.4, Intel (6432-bit)| osx-64| Mojca Miklavecopenbsd6.4
|
|- align="left" style="background-color:#EEEEEE;"
! Mac OS XOpenBSD 6.4, PowerPC64-bit| osxopenbsd6.4-ppc| Mojca Miklavecamd64
|
|- align="left""
! Mac OS X, Universal Binaries
| osx-universal
| Mojca Miklavec
| not used
|- align="left" style="background-color:#EEEEEE;"
! FreeBSD
| freebsd
| Yue Wang, Diego Depaoli
| might be renamed to freebsd-intel
|- align="left"
! FreeBSDOpenBSD 6.5, 6432-bit| freebsd-amd64| Michael Kraußopenbsd6.5|
|- align="left" style="background-color:#EEEEEE;"
! kFreeBSDOpenBSD 6.5, 64-bit| kfreebsdopenbsd6.5-i386| Alan Braslauamd64| FreeBSD + glibc (Debian)
|- align="left"
! kFreeBSD, 64-bit
| kfreebsd-amd64
| Alan Braslau
| FreeBSD + glibc (Debian)
|- align="left" style="background-color:#EEEEEE;"
! Solaris, Intel
| solaris-intel
| Marco Patzer|Solaris 10 on [http://www.opencsw.org/about/ OpenCSW]|- align="left" style="background-color:#EEEEEE;"
! Solaris, Sparc
| solaris-sparc
| Vladimir Volovich| compiled Solaris 10 on solaris 8, not maintaned[http://www.opencsw.org/about/ OpenCSW]
|}
We need volunteers for providing * If you run into problems installing, check the available architectures in the minimal’s [http://minimals.contextgarden.net/setup/ setup folder]!* OpenBSD 6.4 binaries for other platforms. are compiled but are missing in the setup folder ATM (2019-07) If you want to support a new platform, please write to the [[ConTeXt Mailing Lists]]
== Dependencies ==
* [http://www.ruby-lang.org Ruby] 1.8 or newer (used for MKII)* Rsync (The windows binary of rsync is distributed within the standalonesuite)  The following programs are not required for running ConTeXt, but their installation adds additional functionality. * curl : for including remote content* ghostscript : for converting PostScript images to PDF* graphicsmagick (convert): for converting GIF and TIFF images* inkscape : for converting SVG and compressed SVG* mupdf (mudraw) : for converting PDF to PNG (used for ePub covers)* pstoedit : for converting PostScript to MetaPost outlines* zint : for providing barcodes* zip or 7zip : for EPUB generation
== Disc space required ==
ConTeXt macro files are small (less than 10MB), but the standalone suite comes with various free fonts which considerably increase the size of the distribution (to around 200MB). == Multiple instances of the installation ==Please note from the start that we recommend installing a complete ConTeXt installation for each project in a production environment. The installation tree is portable (see Moving the Installation Around, below) and can be located under the project's own directory. The advantage is to allow each project to use an instance of ConTeXt that is adapted to its coding and that only gets updated purposely. Since the ConTeXt Standalone is "bleeding edge" and subject to development, certain details in commands, syntax or rendering may evolve slightly. Having a vintage ConTeXt tree for each production project insures that one can come back years later and produce identical results. So as not to get carried away under this approach, one can eventually group projects by vintage, period or season, according to cycles of productivity. == Standalone ==
== Installation tree ==* [[ConTeXt Standalone/FAQ|Standalone/FAQ]] * [[ConTeXt Standalone/Structure|Standalone/Structure]] * [[ConTeXt Standalone/Implementation|Standalone/Implementation]]* [[ConTeXt Standalone/TODO|Standalone/TODO]] * [[ConTeXt Standalone/Contents|Standalone/Contents]] * [[ConTeXt Standalone/TeX Live|Standalone/TeX Live]]* Browse the [http://minimals.contextgarden.net installation tree]
= Unix-like platforms (Linux/MacOS X/FreeBSD/Solaris) =
=== (MacOS X) Using the Command line: Terminal.app ===
 
If you do not what a command tool is, do not worry. It is simply a program in which commands are entered as text and then executed. The needed Terminal.app can be found in the Utilities-folder of the Applications-Folder.
 
Once you have started Terminal, all you have to do is enter a command and press the RETURN-key and the command will be executed.
== Single user installation ==
Select a folder where you want to install ConTeXt. We recommend that you can use your <code>$HOME/context</code> directory. Create this folder. Then download [http://minimals.contextgarden.net/setup/first-setup.sh first-setup.sh] and place it in <code>$HOME/context</code> directory. Open a terminal, then:...
cd contextexecute (Linux/FreeBSD/Solaris):
Then make <code>first-setup.sh</code> executable and run it {{note|You almost certainly want to download [[Installation|install the whole distribution and make formats: chmod +x first-setupnewer ConTeXt LMTX]].sh sh ./firstThis guide is for installing the older, rarely-setupupdated MkIV distribution.sh}}
This takes a long time, so go have a coffee<pre> mkdir ~/context cd ~/context wget http://minimals.contextgarden.net/setup/first-setup.sh</pre>
By default, or (MacOS):<pre> mkdir ~/context cd ~/context rsync -av rsync://contextgarden.net/minimals/setup/first-setup.sh .</pre>Since the Mac does not have `wget` pre-installed. Now run the standalone installs ConTeXt beta`first-setup. If you want sh` script:<pre> # Install the stable version latest beta of ConTeXt # This takes a long time, so go have a coffee # Flags you can useadd to the first-setup.sh call: # --modules=all # Install all third-party modules # --context=latest # Install latest stable version # --engine=luatex # Install only MkIV, leave out MkII # # This shrinks the install from 270 MB to 200 MB
sh ./first-setup.sh --contextmodules=currentall</pre>
== System-wide installation ==
A system wide installation is '''only recommeded ''' recommended for experienced users who . You will need administrator rights on the Mac as only administrators are comfortable with the command line. Only allowed to install programs in the location of installing ConTeXt is different for a system wide installationApplications folder, or root (sudo) privileges on other unix-like systems.
* on Linux you can use <code>/opt/context</code>
* on MacOS X you can use <code>/Applications/ConTeXt</code>
Note that, at present, while ''using'' MkIV, you need to have write permissions<ref>Actually, you only need write permission for the <code>$TEXMFCACHE</code>.</ref> in the installation directory.<ref>This effectively means that only one user will be able to generate the formats</ref> So, if unless you are installing set the standalone in group permissions appropriately. For example: * <code>CONTEXT_HOME=/opt/context</code> or * <code>TEXMFCACHE=$CONTEXT_HOME/Applicationstex/ConTeXttexmf-cache</code>* <code>chmod -R g+w $TEXMFCACHE</code> {{note|You almost certainly want to [[Installation|install the newer ConTeXt LMTX]]. This guide is for installing the older, runrarely-updated MkIV distribution.}}
<pre> chown `whoami` # Create the /opt/context directory -R - change as appropriate or desired if you # want a different installation directory. cd /opt mkdir context cd context # Fetch the install script (use rsync on the mac, see above) wget http://minimals.contextgarden.net/setup/first-setup.sh # Install the latest beta of ConTeXt # This takes a long time, so go have a coffee # Flags you can add to the first-setup.sh call: # --modules=all # Install all third-party modules # --context =latest # Install latest stable version # --engine=luatex # Install only MkIV, leave out MkII # # This shrinks the install from 270 MB to 200 MB
or sh ./first-setup.sh --modules=all
# change ownership to real rather than effective id chown -R `whoamiid -r -u` :`id -R /Applicationsr -g` .</ConTeXtpre>
(<code>`whoami`<===Cache=== To customize the cache directory and other options, see the [[Custom_Configuration|Custom Configuration]] page. ===Font Directory=== Add the OSFONTDIR into ./tex/code> outputs your user name, you can type that directly, of coursesetuptex.)Go to under the line:
In order to install the standalone, open a terminal, go to the installation directory and download [http://minimals.contextgarden.net/setup/first-setup.sh first-setup.sh] # TODO:we could set OSFONTDIR on Mac for example
$ rsync -av rsync(if you don't have the line above, go to the end of the file) and add there://contextgarden.net/minimals/setup/first-setup.sh .
Then run that script export OSFONTDIR="/usr/local/share/fonts;$HOME/.fonts" For more information: [[Fonts in LuaTeX]] == Apache webserver installation == Another common use case is invoking ConTeXt from within a web application. Because web directories are often self-contained, and in the case of Apache under Ubuntu, ownership of the directory and its contents are assigned to a user and group without a login shell, e.g., <code>www-data:www-data</code> this prevents a web application from invoking a ConTeXt installation done using either the single-user or system-wide method listed above. In this case the solution is to download install ConTeXt within the whole distribution website tree, and make formatsideally in the public sub-tree. The public sub-tree is commonly the home directory for the application and relative pathnames are resolved as if immediately below it. For example, in the case of the PHP web framework Laravel, ConTeXt can be installed alongside other assets in the <path-to-document-root>/public/context directory: <pre> cd <path-to-document-root>/public mkdir context cd context wget http://minimals.contextgarden.net/setup/first-setup.sh
sh ./# Install the latest beta of ConTeXt # This takes a long time, so go have a coffee # Flags you can add to the first-setup.shcall: # --modules=all # Install all third-party modules # --context=latest # Install latest stable version # --engine=luatex # Install only MkIV, leave out MkII # # This shrinks the install from 270 MB to 200 MB
This takes a long time, so go have a coffee sh ./first-setup.sh --modules=all</pre>
By defaultOnce installed, the standalone installs ConTeXt beta. If you want need to ensure that the stable version of ConTeXt, permissions are correct for Apache to be able to access it (you can usewill either need <code>sudo</code> privileges or root access):
sh .<pre>$ cd <path-to-document-root>/firstpublic$ sudo chmod -setup.sh R www-data:www-data context=current</pre>
===Cache===Now as part of your application's invocation of ConTeXt, you will need to set up the shell environment. This is easily done by creating a simple BASH shell script, also to be installed in the public part of the document tree:
Normaly you do not want to allow access in e.g. <pre> #!/opt. but you like to allow it in usr/varbin/cache/*. So create the needed cache directory as a superuser viaenv bash
mkdir /var/cache/context # # proccontext.sh # mkdir /var/cache/context/texmf # To be installed in <path-to-document-cache chmod 777 root>/varpublic/cache/context/texmf-cachebin
Change in the file .<path-to-document-root>/texpublic/texmfcontext/web2ctex/texmfcnf.lua the value of TEXMFCACHE setuptex <path-to the directory you want (in this example -document-root>/var/cachepublic/context/texmf-cache).tex
===Font-Dir=== cd tex/spool context $1 > /tmp/context_run.log</pre>
Add Here the OSOFONTDIR into .dynamically generated ConTeXt source file is expected to be found in the <code><path-to-document-root>/tex/setuptexspool</code> directory. Go to under the line:
# TODONow within your application, you can invoke this shell script (in this case using PHP): we could set OSFONTDIR on Mac for example
and add there:<pre> $cmd = "bin/proccontext.sh $input_filename"; $last_line = system($cmd, $ret_val);</pre>
export OSFONTDIR="/usr/localAnd the output will once again be found in <code><path-to-document-root>/sharetex/fonts;$HOMEspool</code>.fonts" For more information: [[Fonts in LuaTeX]]
==Arch Linux==
There’s a [httphttps://aur.archlinux.org/packages.php?ID=30398 /context-minimals-git PKGBUILD] in
the AUR, provided by Aditya [https://github.com/adityam/context-pkgbuild].
Install it using your favorite AUR frontend, e.g.
== Usage ==
ConTeXt Standalone suite works in a non-interfering manner because it does not put anything in your <code>$PATH</code> and does not set any system variables. This in turn means that in order to use it, you need to do some initialization. An intialization script called <code>setuptex</code> is provided in <code>installation-dir/tex/</code>.  === Terminal/Command line ===
If you To run context from a terminal, source <code>setuptex</code> before running ConTeXt. This depends on the shell that you are using.:
* '''bash''' users can use
source /installation-dir/tex/setuptex
* '''zsh''' users can use . /installation-dir/tex/setuptex=== Exclusive usage ===
* If you always use ConTeXt suite and '''(t)cshnever''' users use LaTeX or plain TeX provided by another TeX distribution, you can use source add the following line to the startup script of your shell (For bash, the startup script is <code>$HOME/installation-dir.bashrc</texcode>; for zsh it is <code>HOME/setuptex.cshzshrc</code>).
If you do not know which shell you are using, open a terminal and type echo $SHELL source /installation-dir/tex/setuptex
== Exclusive usage ==Then <code>setuptex</code> will always be sourced in your terminal.
The above method means that you always have to type <code>source /installation-dir/tex/setuptex</code> in a terminal before you can use typeset. If you always use ConTeXt standalone and never use LaTeX or plain TeX provided by another TeX distribution, you can add the above intialization line to the startup script of your shell. For bash, this means <code>$HOME/.bashrc</code>; for zsh, this means <code>$HOME/.zshrc</code>; for (t)csh, this means <code>$HOME/.cshrc</code> or <code>$HOME/.tcshrc</code>. Then, <code>setuptex</code> will always be sourced in your terminal. === Integrating with an editor ===
== Integrating with an editor == If you The easiest way to run ConTeXt from an editoris to open a terminal, you need to source <{{code>|setuptex</code> }} in a the terminal , and then open your editor '''from the same terminal. I.e. if you run your editor from the shell'''. Depending on how your editor intializes, you may still need to source it in order to run ConTeXt directly from your editor, In theory, it Another option is sufficient to add <{{code>|/installation-dir/tex/texmf-<platform>/bin</}} to the {{code> to your |$PATH in order to use }} that the standaloneeditor searches. You can try to add this to The details vary depending on the paths that your editor searchesFor information about configuring See [[http://smultron.sourceforge.net/ SmultronText Editors] and [http://www.uoregon.edu/~koch/texshop/obtaining.html TeXShop] (which are popular TeX editors for instructions on Mac) see [[integrating ConTeXt Standalone/Mac Installation]]. If you don't mind investing a bit of money (abt eur 50), [http://macromates.com/ TextMate] with (the not yet officially released) [[ConTeXt Bundle for TextMate]] is an easy-to-install optionvarious editors.
== Updating ==
For updating the ConTeXt standalonesuite,
first update <code>first-setup.sh</code>, then run it. You could
also create an alias or a little script “ctx-update”
cd /opt/context
rsync -ptv rsync://contextgarden.net/minimals/setup/first-setup.sh .
sh ./first-setup.sh --modules=all</pre> To update retain currently-installed modules:<pre>sh ./first-setup.sh --keep
</pre>
== Uninstalling ==
ConTeXt standalone suite does not touch anything outside its installation folder. So to uninstall it, you can simply remove the installation folder.
== Remaking formats ==
* For making MKIV format
mtxrun --selfupdate
mtxrun --generate
luatools --generate
context --make
= Installation and use on Windows =
If you want to use ConTeXt standalone suite alongside MikTeX/TeXLive (needed if you also run LaTeX), follow the command-line installation method. Otherwise, you can follow either the command line or GUI installation method.
== Installation ==
=== Command line method ===
Download [http://minimals.contextgarden.net/setup/context-setup-mswin.zip context-setup-mswin.zip] or [http://minimals.contextgarden.net/setup/context-setup-win64.zip context-setup-win64.zip], and unzip to a directory where you want to install ConTeXt. It is recommended that you choose a directory that does not have a space in its full path. Then open <code>cmd.exe</code>, go to the installation directory and run {{note|You almost certainly want to [[Installation|install the newer ConTeXt LMTX]]. This guide is for installing the older, rarely-updated MkIV distribution.}}
first-setup.bat
This takes a long time, so go have a coffee.
By default, the standalone suite installs ConTeXt beta. If you want the stable version of ConTeXt, you can use
first-setup.bat --context=currentlatest
=== GUI Installer ===By default, the suite does ''not'' install modules and other third party content. If you want the modules (and have the bandwidth), you can use
There is also a [http://minimals first-setup.contextgarden.net/setup/contextbat --installer/ContextMinimalInstall.exe GUI installer] made by Vyatcheslav Yatskovsky. Download and run the installer and it will ask you where to install the minimals, which distribution to use (stable or beta) and whether or not you want to make formats. modules=all
{{note| The GUI installer asks if you want to set environmental variables globally. Click this only if you do '''not''' use MikTeX or TeXLive and do '''not''' plan to use LaTeX}}
You should also If the above installation instructions don't seem to answer your questions, see the page [[httpWindows_Installation:_ConTeXt_Suite_with_SciTe| Windows Installation://meeting.contextgarden.net/2008/talks/2008-08-21-vyatcheslav-win-installer/windows_installer.pdf slidesConTeXt Suite with SciTe] giving details about the GUI installer] for more detailed information.
== Proxy settings ==
== Usage ==
If you used the GUI installer and said yes to setting the evironmental variables globally, then you can run ConTeXt from anywhere. Otherwise, before Before running ConTeXt, you need to run <code>setuptex.bat</code> which is provided in <code>installation-dir\tex\</code>. This can be done by typing
installation-dir\tex\setuptex.bat
on cmd.exe before you run ConTeXt. To avoid always having to type this, you can create a shortcut to cmd.exe and edit the command line to read (assuming you installed the standalone suite in <code>C:\Programs</code>; otherwise replace <code>C:\Programs\</code> with your installation directory)
C:\WINDOWS\System32\cmd.exe /k C:\Programs\context\tex\setuptex.bat
This starts up a new command shell with the environment pre-loaded. Within the new shell you can just type <code>context</code> to run ConTeXt. E.g.  C:\> context --version to check that you are running the version you think you're running.
=== Use ConTeXt with Cygwin ===
After installing the ConTeXt standalonesuite, you can run it under Cygwin. With Cygwin, you may use gmake and other Unix tools for your automated workflow.
# Run <code>setuptex.bat</code> in DOS command prompt
== Updating ==
If you used the command line method, just run <code>first-setup.bat</code> again to update the standalone. If you have third party modules installed, you should use first-setup.bat --keepto upgrade. See [[ConTeXt_Standalone#Installing_third_party_modules| Installing third party modules]] for detailssuite.
If you used the GUI installer, just run the installer again.
== Uninstallation ==
If you used the command-line installer, you can just delete the installation directory to uninstall the standalone. If you used the GUI installer, you can use standard windows tools for uninstallationsuite.
* Directory-name length may also have an effect, due to Windows's 8.3 filename conventions. An indicator is if running "texexec --lua" on a file produces missing-file warnings containing Windows-created 8-character directory names, such as "C:\CONTEX~1\tex", where your ConTeXt directory is really "C:\context_minimals\tex". Be conservative and choose a short name like "C:\ctm\tex". Also, this may even work when an 8-character-or-less directory name like "C:\ctexmin\tex" doesn't.
* If you're behind firewall and rsync times out, you need to open port 873 for outgoing TCP connections.
* If you update luaTeX occasionally you may get something like
 
<code>engine mismatch (luv: This is LuaTeX, Version beta-<version>-<date1> (TeX Live 2013/dev)(rev <number1>) <> bin: This is LuaTeX, Version beta-<version>-<date1> (TeX Live 2012/W32TeX)(rev <number2>)), forcing remake</code>
 
In which case your format will be remade every time you compile a file. In /texmf-mswin make sure that luatex.exe and texlua.exe have the same date; then also delete luatex.dll. This usually solves the problem.
= Installing third party modules =
The ConTeXt Standalone suite only comes with Taco's [[Bibliography|t-bib]] module. If you want to install [http://modules.contextgarden.net/ a new module], say Wolfgang's [[Letter|t-letter]] module, you can use
first-setup.sh --modules="t-letter"
= Moving the installation tree around (linux) =
According to this post, http://archive.contextgarden.net/message/20101129.144331.d721372f.en.html it's safe to move the installation tree across directory or machines (say you don't have broadband access). You just have to clean and regenerate the cache (./tex/texmf-cache/luatex-cache) with
= Notes =
<references/>
 
{{Installation navbox}}
[[Category:Installation]]
[[Category:Standalone]]

Navigation menu