Changes

Jump to navigation Jump to search
2,645 bytes added ,  08:38, 4 September 2018
no edit summary
{{Installation navbox}} The '''ConTeXt suite''' is a complete, up-to-date ConTeXt distribution which that 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 installationand so forth. It is aimed towards ConTeXt users, so it The suite does not include LaTeX specific packages and binaries.
Sometimes ConTeXt develops at a fast pace, and sometimes beta releases have serious bugsissues. The ConTeXt suite allows you to test the latest ConTeXt release without having to worry if an upgrade worrying whether upgrading will mess an corrupt a critical project. You can have two (or multiple) parallel Multiple ConTeXt suitessuite installations are possible. This allows, and freeze one for your critical projectsexample, a stable version and use a beta version to run in parallel on the other one for experimentingsame 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. (ConTeXt on TeXlive can be kept somewhat more current using the http://tlcontrib.metatex.org repository.) The ConTeXt suite is self-contained and can happily coexist alongside another installed TeX distribution.
{{TOClimit|limit=1}}
! Linux, 64-bit
| linux-64
| Peter MünsterAlan Braslau
|
|- align="left"
| freebsd
| Alan Braslau
|compiled with libstdc++
|- align="left" style="background-color:#EEEEEE;"
! FreeBSD, 64-bit
| freebsd-amd64
| Alan Braslau
| compiled with libstdc++
|- align="left"
! kFreeBSD
| kfreebsd-i386
| Alan Braslau
| FreeBSD + glibc (Debian)*
|- align="left" style="background-color:#EEEEEE;"
! kFreeBSD, 64-bit
| kfreebsd-amd64
| Alan Braslau
| FreeBSD + glibc (Debian)*|- align="left"! OpenBSD| openbsd| Alan Braslau| coming soon|- align="left" style="background-color:#EEEEEE;"! OpenBSD, 64-bit| openbsd-amd64| Alan Braslau| coming soon
|- align="left"
! Solaris, Intel
| Solaris 10 on [http://www.opencsw.org/about/ OpenCSW]
|}
 
*Note: we have stopped distributing binaries for kfreebsd. However, this system is still supported, and natively-compiled binaries can be installed from the Debian distribution.
We need volunteers for providing binaries for other platforms. If you want to support a platform, please write to [[ConTeXt Mailing Lists]]
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
* curl zip or 7zip : for including remote contentEPUB generation
== Disc space required ==
ConTeXt macro files are small (less than 10MB), but the 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 "bleading edge" and subject to developement, 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 ==
== 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:
<pre> mkdir ~/context cd ~/context 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=current # Install latest stable version # --engine=luatex # Install only MkIV, leave out MkII # # This shrinks the install from 270 MB to 200 MB
Then make <code>first-setup sh .sh</code> executable and run it to download the whole distribution and make formats: chmod +x first-setup.sh--modules=all sh .</first-setup.shpre>
This takes a long time, so go have a coffee.== System-wide installation ==
By default, A system wide installation is recommended for users who are comfortable with the suite installs ConTeXt betacommand line. If you want Only the stable version location of installing ConTeXt, you can useis different for a system wide installation.
sh .* on Linux you can use <code>/opt/first-setup.sh --context=current</code>* on MacOS X you can use <code>/Applications/ConTeXt</code>
By defaultNote that, the suite does at present, while ''notusing'' install modules and other third party content. If MkIV, you want need to have write permissions for the modules (and have <code>$TEXMFCACHE</code> directory. This effectively means that only one user will be able to generate the bandwidth), formats unless you can useset the group permissions appropriately. For example:
sh .* <code>CONTEXT_HOME=/opt/context</code>* <code>TEXMFCACHE=$CONTEXT_HOME/tex/firsttexmf-setup.sh cache</code>* <code>chmod --modules=allR g+w $TEXMFCACHE</code>
Installing mkiv only reduces <pre> # Create the /opt/context directory -- change as appropriate or desired if you # want a different installation directory. cd /opt mkdir context cd context # Fetch the install script wget http://minimals.contextgarden.net/setup/first-setup.sh # Install the size latest beta of ConTeXt # This takes a long time, so go have a coffee # Flags you can add to the installation (including first-setup.sh call: # --modules=all # Install all third-party modules # --context=current # Install latest stable version # --engine=luatex # Install only MkIV, leave out MkII # # This shrinks the modules) install from about 270 MB to 200MB . Use200 MB
sh ./first-setup.sh --modules=all --engine=luatex
== System # change ownership to real rather than effective id chown -wide installation ==R `id -r -u`:`id -r -g` .</pre>
A system wide installation is only recommeded for users who are comfortable with the command line. Only the location of installing ConTeXt is different for a system wide installation.===Cache===
* on Linux you can use <code>/opt/context</code>* on MacOS X you can use <code>/Applications/ConTeXt</code>To customize the cache directory and other options, see the [[Custom_Configuration|Custom Configuration]] page.
Note that, at present, while ''using'' MkIV, you need to have write permissions<ref>Actually, you only need write permission for <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 you are installing the suite in <code>/opt/context</code> or <code>/Applications/ConTeXt</code>, run===Font Directory===
chown `whoami` -R Add the OSFONTDIR into ./opttex/context setuptex. Go to under the line:
or # TODO: we could set OSFONTDIR on Mac for example
chown `whoami` -R /Applications/ConTeXt(if you don't have the line above, go to the end of the file) and add there:
(<code>`whoami`< export OSFONTDIR="/usr/local/share/fonts;$HOME/code> outputs your user name, you can type that directly, of course.)fonts"
In order to install the suite, open a terminal, go to the installation directory and download For more information: [http://minimals.contextgarden.net/setup/first-setup.sh first-setup.sh[Fonts in LuaTeX]]:
$ rsync -av rsync://contextgarden.net/minimals/setup/first-setup.sh .== Apache webserver installation ==
Then run that script Another common usecase 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 download the whole distribution a user and make formatsgroup without a login shell, e.g., <code>www-data: sh .www-data</firstcode> this prevents a web application from invoking a ConTeXt installation done using either the single-user or system-setupwide method listed above.sh
This takes a long timeIn this case the solution is to install ConTeXt within the website tree, so go have a coffeeand ideally 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.
By defaultFor example, in the suite installs ConTeXt beta. If you want case of the stable version of PHP web framework Laravel, ConTeXt, you can usebe installed alongside other assets in the <path-to-document-root>/public/context directory:
sh <pre> cd <path-to-document-root>/public mkdir context cd context 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=current # Install latest stable version # --engine=luatex # Install only MkIV, leave out MkII # # This shrinks the install from 270 MB to 200 MB
By default, the suite does ''not'' install modules and other third party content sh ./first-setup. If you want the sh --modules (and have the bandwidth), you can use=all</pre>
sh .Once installed, you need to ensure that the permissions are correct for Apache to be able to access it (you will either need <code>sudo</first-setup.sh --modules=allcode> privileges or root access):
===Cache===<pre>$ cd <path-to-document-root>/public$ sudo chmod -R www-data:www-data context</pre>
Normaly Now as part of your application's invocation of ConTeXt, you do not want will need to allow access in eset up the shell environment.g. /opt. but you like This is easily done by creating a simple BASH shell script, also to allow it be installed in /var/cache/*. So create the needed cache directory as a superuser viapublic part of the document tree:
mkdir /var/cache/context<pre> mkdir /var/cache/context/texmf-cache chmod 777 /var #!/cacheusr/contextbin/texmf-cacheenv bash
Change # # proccontext.sh # # To be installed in the file ./tex/texmf/web2c/texmfcnf.lua the value of TEXMFCACHE <path-to the directory you want (in this example -document-root>/varpublic/cache/context/texmf-cache).bin
===Font Directory=== . <path-to-document-root>/public/context/tex/setuptex <path-to-document-root>/public/context/tex
Add the OSOFONTDIR into . cd tex/spool context $1 > /textmp/setuptexcontext_run. Go to under the line:log</pre>
# TODO: we could set OSFONTDIR on Mac for exampleHere the dynamically generated ConTeXt source file is expected to be found in the <code><path-to-document-root>/tex/spool</code> directory.
Now within your application, you can invoke this shell script (if you don't have the line above, go to the end of the filein this case using PHP) and add there:
export OSFONTDIR<pre> $cmd ="bin/usr/local/share/fontsproccontext.sh $input_filename"; $HOMElast_line = system($cmd, $ret_val);</.fonts"pre>
For more information: [[Fonts And the output will once again be found in LuaTeX]]<code><path-to-document-root>/tex/spool</code>.
==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.
ConTeXt 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>.
If you === Terminal/Command line === To run context from a terminal, source <code>setuptex</code> like so:
source /installation-dir/tex/setuptex
=== Exclusive usage ===
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 suite and '''never ''' use LaTeX or plain TeX provided by another TeX distribution, you can add the above intialization following line to the startup script of your shell. (For bash, this means the startup script is <code>$HOME/.bashrc</code>; for zsh, this means it is <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 == source /installation-dir/tex/setuptex
If you run ConTeXt from an editor, you need to source {{Then <code|>setuptex}} </code> will always be sourced in a terminal and then open your editor from the same terminal.
Depending on how your === Integrating with an editor === The easiest way to run ConTeXt from an editor initializesis to open a terminal, you may still need to source {{code|setuptex}} in order to run ConTeXt directly from the terminal, and then open your editor'''from the same terminal'''. In theory, it Another option is sufficient to add {{code|/installation-dir/tex/texmf-<platform>/bin}} to your the {{code|$PATH}} in order to use that the suiteeditor searches. You can try to add this to The details vary depending on the paths that your editor searches. See [[Text Editors]] for instructions on integrating ConTeXt with various editors.  For information about configuring [http://smultron.sourceforge.net/ Smultron] and [http://www.uoregon.edu/~koch/texshop/obtaining.html TeXShop] (which are popular TeX editors on Mac) see [[ConTeXt Standalone/Mac Installation]].
For information about configuring [http://smultron.sourceforge.net/ Smultron] and [http://www.uoregon.edu/~koch/texshop/obtaining.html TeXShop] (which are popular TeX editors on Mac) see [[ConTeXt Standalone/Mac Installation]]. For a list of text editors with ConTeXt integration, see the article on [[Text Editors|text editors]].
== Updating ==
cd /opt/context
rsync -ptv rsync://contextgarden.net/minimals/setup/first-setup.sh .
sh ./first-setup.sh --modules=all
</pre>
* For making MKIV format
mtxrun --selfupdate
mtxrun --generate
luatools --generate
context --make
== Updating ==
If you used the command line method, just run <code>first-setup.bat</code> again to update the suite. 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 details.
<references/>
{{Installation navbox}}
{{Getting started navbox}}
[[Category:Installation]]
[[Category:Standalone]]
4

edits

Navigation menu