Changes

Jump to navigation Jump to search
2,778 bytes added ,  00:20, 19 October 2016
added openbsd (coming soon)
{{Installation navbox}}
 
The '''ConTeXt suite''' is a complete, up-to-date ConTeXt distribution that can be upgraded efficiently. It can also be used in parallel with existing TeX installations such as MikTeX, TeXLive, and so forth. The suite does not include LaTeX packages and binaries.
| 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 recommended 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===
<pre>chown `whoami` -R Add the OSOFONTDIR into ./opttex/context</pre>setuptex. Go to under the line:
or # TODO: we could set OSFONTDIR on Mac for example
<pre>chown `whoami` -R /Applications/ConTeXt</pre>(if you don't have the line above, go to the end of the file) and add there:
(<code>whoami< export OSFONTDIR="/code> outputs your user nameusr/local/share/fonts; you can type that directly, of course. The backticks substitute the output of the <code>whoami</code> command as an argument to <code>chown<$HOME/code>.)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 === If you always use ConTeXt suite and '''never''' use LaTeX or plain TeX provided by another TeX distribution, you can add the following line to the startup script of your shell (For bash, the startup script is <code>$HOME/.bashrc</code>; for zsh it is <code>HOME/.zshrc</code>).  source /installation-dir/tex/setuptex
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 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 ===
If you The easiest way to run ConTeXt from an editoris to open a terminal, you need to source {{code|setuptex}} in a the terminal , and then open your editor '''from the same terminal'''. Another option is to add {{code|/installation-dir/tex/texmf-<platform>/bin}} to the {{code|$PATH}} that the editor searches. The details vary depending on the editor. See [[Text Editors]] for instructions on integrating ConTeXt with various editors.
Depending on how your editor initializes, you may still need to source {{code|setuptex}} in order to run ConTeXt directly from your editorFor information about configuring [http://smultron.sourceforge. In theory, it is sufficient to add {{code|net/ Smultron] and [http://installation-dirwww.uoregon.edu/tex~koch/texmf-<platform>texshop/bin}} to your {{code|$PATH}} in order to use the suiteobtaining. You can try to add this to the paths that your editor searcheshtml 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]]
148

edits

Navigation menu