Difference between revisions of "ConTeXt Standalone"

From Wiki
Jump to navigation Jump to search
m (some fixes (first part))
(update the info a bit)
Line 1: Line 1:
< [[New ConTeXt Minimals (Implementation)]] >
+
< [[Installation]] | [[New ConTeXt Minimals (Implementation)]] >
  
http://minimals.contextgarden.net
+
''(This page will probably loose the adjective "new" at some point.)''
  
The ''New Minimals'' are an attempt to provide the same functionalities as Pragma's minimal zip distributions. They are currently hosted on the contextgarden.net server (the same one as this wiki).
+
The '''Minimals''' are an attempt to provide the same functionality as the current [http://www.pragma-ade.com/download-1.htm Pragma's minimal ConTeXt  distributions] in the zip files.
  
Everyone is invited to test this distribution, but is kindly asked for patience and understanding until we tidy up the details.
+
They are hosted on http://minimals.contextgarden.net (equivalent to '''rsync://contextgarden.net/minimals/''').
  
Below is a manifest of the goals of the project, and the way we want to achieve them.
+
Everyone is invited to test this distribution, but is kindly asked for patience and understanding until we tidy up the details. You need to have '''rsync''' installed, for windows it's shipped together with the minimals.
 +
 
 +
= Goals =
  
 
We wanted to provide:
 
We wanted to provide:
Line 32: Line 34:
 
* Windows
 
* Windows
 
* Linux
 
* Linux
* Linux, 64 bit
+
* Linux, 64-bit
 
* Mac OS X Intel
 
* Mac OS X Intel
* Mac Os X PPC
+
* Mac OS X ppc
 
* (Solaris)
 
* (Solaris)
 
* other platforms on request (please send a mail to the ntg-context mailing list)
 
* other platforms on request (please send a mail to the ntg-context mailing list)
Line 40: Line 42:
 
= Installation =
 
= Installation =
  
Installation is done by the <code>mtx-update.lua</code> which is already part of ConTeXt. If you already have a working installation, you should be able to use it through the generic <code>mtxrun</code>: [actually this is a little lie for the moment; even the most recent mtx-update.lua needs to be updated itself in order for the process to work].
+
== First Installation ==
 +
 
 +
The needed files are under:
 +
* http://minimals.contextgarden.net/setup/
 +
Well, to be honest, all you need to run it on linux/mac is this script (the rest of files will be downloaded autematically):
 +
* http://minimals.contextgarden.net/setup/linux/first-setup.sh (<code>rsync -av rsync://contextgarden.net/minimals/setup/linux/first-setup.sh .</code>)
 +
Take a look at it, modify it if needed and run it. On Windows you can either take that command-line version from the zip or
 +
* [http://minimals.contextgarden.net/setup/context-installer/ContextMinimalInstall.exe Vyatcheslav's Windows Installer] with a GUI
  
  mtxrun --script update --platform=<your platform> --engine=<a TeX engine> --texroot=<install dir> --update
+
It will download about 200 MB. '''Please note that the location or name of that simple installation script may change!''' ''(It's a really stupid one, one could also call it a prototype.)''
  
Platform can be ''win'', ''linux'', ''linux-64'', ''osx-ppc'', ''osx-intel'' or ''sun'' (default: ''win'');
+
== Updating ==
engine can be ''pdftex'', ''xetex'', ''luatex'', ''all'', or a comma-separated list of any of those (default: ''all''). If you want to specify a list of engines, you would have to protect it on most shells: <code>--engine='xetex, luatex'</code>, for example. TeX root, obviously, is the location of your installation (the directory where texmf trees like texmf, texmf-local, etc. are to be found), default: ''tex'' (relative to the current directory).
 
  
Most of the task of <code>mtx-update</code> is to run <code>rsync</code> to synchronize your local installation with the repository. It is assumed that Unix users (including Mac OS X) would have an rsync client installed by default on their system; for Windows an rsync binary is provided as part of the initial setup (see next paragraph).
+
For now, the main recipe to update is to run <code>first-setup</code> again. A command similar to <code>ctxtools --updatecontext</code> might be provided in the future.
  
If you ''don't'' have an installed ConTeXt distribution, you must download from http://minimals.contextgarden.net/setup/ the appropriate zip archive for your system, and run the shell / batch script in the top-level directory (which should be called <code>context</code>); it is a very simple script that sets the necessary environment to run mtx-update, and it accepts exactly the same switches as mtx-update. By default it will install a ConTeXt distribution suitable for pdfTeX on your system; the top-level directory for that distribution will be <code>context/tex</code> until you tell it otherwise (with the <code>--texroot</code> switch).
 
  
The rest of this section is a manifest of how we would like things to work (most of it is already done!)
+
= TODO =
  
 
This is a description of how the first installation and any subsequent updates should work (or how it would be nice if they worked that way):
 
This is a description of how the first installation and any subsequent updates should work (or how it would be nice if they worked that way):
 
One should be able to download <code>setup.zip</code> (approx. 2MB) which would download all the other things (selected engines, fonts, modules, ...) on demand. It should contain:
 
* some really basic documentation (README, INSTALL)
 
* setup script
 
* texmf-[os]/bin/luatex + texlua symbolic link
 
* ... [finishme]
 
  
 
We need to:
 
We need to:
 
* create files <code>README INSTALL</code>
 
* create files <code>README INSTALL</code>
 +
* create a file <code>minimals.lua</code> (or some other self-explanatory name):
 +
** <b>rsync location</b> (default: <code>rsync://contextgarden.net/minimals</code>, could be anything)
 +
** ??? <b>installation location</b> (default is simply the current location (<code>pwd</code>))
 +
** <b>engines</b> (default: all - pdftex, xetex, luatex, metapost)
 +
** <b>formats</b> (default: english + dutch context for all the installed engines, metapost, metafun; optional: other interfaces, plain pdftex, xetex)
 +
** <b>fonts</b> (need to be reorganized/improved anyway, perhaps a list of fonts should be fetched)
 +
** once in the future: <b>supported font encodings for pdftex</b> (default: texnansi, ec, optional: greek, t5, t2a, t2b, t2c, ...)
 +
** <b>third party modules</b> (list needs to be fetched form the garden, default)
 +
** <b>context version</b> (default: current, other options: beta, highly-experimental (for "Hans-and-Taco-only"), specific-date <font color="red">in the case of a fixed version issue a warning at next update</font>)
 +
** <b>interactive flag</b>: shoud the script ask for changes interactively again or should it simply reaspect & use them (defaut: interactive for the first time, after that automatic)
  
* create a file <code>context-minimals-seetings.lua</code> (or some other self-explanatory name):
+
* improve <code>first-setup(.sh, .bat)</code> (or with some other self-explanatory name), which:
*** <b>rsync location</b> (default: <code>rsync://contextgarden.net/minimals</code>, could be anything)
 
*** ??? <b>installation location</b> (default is simply the current location (<code>pwd</code>))
 
*** <b>engines</b> (default: all - pdftex, xetex, luatex, metapost)
 
*** <b>formats</b> (default: english + dutch context for all the installed engines, metapost, metafun; optional: other interfaces, plain pdftex, xetex)
 
*** <b>fonts</b> (need to be reorganized/improved anyway, perhaps a list of fonts should be fetched)
 
*** once in the future: <b>supported font encodings for pdftex</b> (default: texnansi, ec, optional: greek, t5, t2a, t2b, t2c, ...)
 
*** <b>third party modules</b> (list needs to be fetched form the garden, default)
 
*** <b>context version</b> (default: current, other options: beta, highly-experimental (for "Hans-and-Taco-only"), specific-date <font color="red">in the case of a fixed version issue a warning at next update</font>)
 
*** <b>interactive flag</b>: shoud the script ask for changes interactively again or should it simply reaspect & use them (defaut: interactive for the first time, after that automatic)
 
 
 
* create a file <code>first-setup(.sh, .bat)</code> (or with some other self-explanatory name), which:
 
 
** checks if rsync exists (if not, an error is issued, saying <code>please install rsync first</code>)
 
** checks if rsync exists (if not, an error is issued, saying <code>please install rsync first</code>)
 
** checks for perl and ruby and issues a similar error/warning (in fact, we can still proceed to the next step and download things even if perl & ruby are not installed, but that doesn't make much sense)
 
** checks for perl and ruby and issues a similar error/warning (in fact, we can still proceed to the next step and download things even if perl & ruby are not installed, but that doesn't make much sense)
** detects the platform (straightforward for windows, for unix-like platforms the same kind of detection is used as later in <code>setuptex</code>)
 
 
** does rsync to installation files themselves (in case mtx-update has changed in the mean time)
 
** does rsync to installation files themselves (in case mtx-update has changed in the mean time)
** reads in <code>context-minimals-seetings.lua</code> (which engines, formats, fonts, modules to download ...) if interactive is set to true, ask for default settings again, otherwise respect those settings and continue
+
** reads in <code>minimals.lua</code> (which engines, formats, fonts, modules to download ...) if interactive is set to true, ask for default settings again, otherwise respect those settings and continue
 
** asks for installation location
 
** asks for installation location
 
** creates (or updates) the file with settings (if interactive)
 
** creates (or updates) the file with settings (if interactive)
Line 86: Line 85:
 
** create formats
 
** create formats
 
** suggest what to put into <code>.bash_profile</code> (or equivalent locations) to have context initilized automatically
 
** suggest what to put into <code>.bash_profile</code> (or equivalent locations) to have context initilized automatically
 +
 +
* add unzip for windows
  
 
= Binaries =
 
= Binaries =
Line 143: Line 144:
 
* dvipdfmx
 
* dvipdfmx
 
* dvips
 
* dvips
 
=== Windows-only ===
 
''Additional standard tools, such as unzip etc. TODO.''
 
  
 
= ConTeXt =
 
= ConTeXt =
  
There's a plan to provide three versions:
+
The Minimals provide several versions of ConTeXt:
 
* stable
 
* stable
* beta
+
* beta (suggested for living-on-the-edge ones; will default to stable if not available)
* broken (for Hans, Taco and nerds only)
+
* alpha (rarely used; will use beta if not available)
And a plan to provide possibility to revert back to an older stable version. TODO.
+
* experimental (only for testing - not meant for general use)
 +
* date-based ones (currenty only a few versions available - planning to improve)
 +
You can use
 +
    --context=XXX
 +
to get the desired version.
  
 
= Fonts =
 
= Fonts =
Line 189: Line 191:
 
= Hans's requests =
 
= Hans's requests =
  
* upload rsync binaries from Delta (minimals/rsync/windows)
 
 
* reorganize fonts into fonts/data/e-foundry/texgyre/<everything>
 
* reorganize fonts into fonts/data/e-foundry/texgyre/<everything>
 
* list directory contents
 
* list directory contents
Line 197: Line 198:
  
 
''Ein Teil von jener Kraft, / Die stets das Böse will, und stets das Gute schafft.'' <code>:-)</code>
 
''Ein Teil von jener Kraft, / Die stets das Böse will, und stets das Gute schafft.'' <code>:-)</code>
 +
 +
 +
[[Category:Installation]]

Revision as of 15:44, 6 February 2008

< Installation | New ConTeXt Minimals (Implementation) >

(This page will probably loose the adjective "new" at some point.)

The Minimals are an attempt to provide the same functionality as the current Pragma's minimal ConTeXt distributions in the zip files.

They are hosted on http://minimals.contextgarden.net (equivalent to rsync://contextgarden.net/minimals/).

Everyone is invited to test this distribution, but is kindly asked for patience and understanding until we tidy up the details. You need to have rsync installed, for windows it's shipped together with the minimals.

Goals

We wanted to provide:

  • an easy to (no-need-to-)install ConTeXt distribution
  • a fast and convenient way to update ConTeXt and binaries to the latest version (no need to fetch 100 MB when only minimal modifications have been made in the distribution)
  • a reference ConTeXt distribution
  • an easy way to revert to an older ConTeXt (in case the latest one is broken)

We do not plan to provide:

  • LaTeX packages (perhaps the really-basic-latex as an add-on package, but only if someone else has time to investigate what is needed)
  • extensive support for whatever binaries or packages which are otherwise standard in TeX distributions: use TeX Live or MikTeX for that purpose

The minimals contain:

  • ConTeXt
  • Fonts: most important TeX-aware ones
  • pdfTeX, XeTeX, LuaTeX and Metapost (latest version, if possible)
  • formats (need to be generated by user) for
    • ConTeXt, mptopdf and plain TeX for pdfTeX/XeTeX/LuaTeX
    • metafun and plain for Metapost
  • it would be nice to have tex4ht as a package if someone can figure out what is needed to make it work

Supported platforms

  • Windows
  • Linux
  • Linux, 64-bit
  • Mac OS X Intel
  • Mac OS X ppc
  • (Solaris)
  • other platforms on request (please send a mail to the ntg-context mailing list)

Installation

First Installation

The needed files are under:

Well, to be honest, all you need to run it on linux/mac is this script (the rest of files will be downloaded autematically):

Take a look at it, modify it if needed and run it. On Windows you can either take that command-line version from the zip or

It will download about 200 MB. Please note that the location or name of that simple installation script may change! (It's a really stupid one, one could also call it a prototype.)

Updating

For now, the main recipe to update is to run first-setup again. A command similar to ctxtools --updatecontext might be provided in the future.


TODO

This is a description of how the first installation and any subsequent updates should work (or how it would be nice if they worked that way):

We need to:

  • create files README INSTALL
  • create a file minimals.lua (or some other self-explanatory name):
    • rsync location (default: rsync://contextgarden.net/minimals, could be anything)
    •  ??? installation location (default is simply the current location (pwd))
    • engines (default: all - pdftex, xetex, luatex, metapost)
    • formats (default: english + dutch context for all the installed engines, metapost, metafun; optional: other interfaces, plain pdftex, xetex)
    • fonts (need to be reorganized/improved anyway, perhaps a list of fonts should be fetched)
    • once in the future: supported font encodings for pdftex (default: texnansi, ec, optional: greek, t5, t2a, t2b, t2c, ...)
    • third party modules (list needs to be fetched form the garden, default)
    • context version (default: current, other options: beta, highly-experimental (for "Hans-and-Taco-only"), specific-date in the case of a fixed version issue a warning at next update)
    • interactive flag: shoud the script ask for changes interactively again or should it simply reaspect & use them (defaut: interactive for the first time, after that automatic)
  • improve first-setup(.sh, .bat) (or with some other self-explanatory name), which:
    • checks if rsync exists (if not, an error is issued, saying please install rsync first)
    • checks for perl and ruby and issues a similar error/warning (in fact, we can still proceed to the next step and download things even if perl & ruby are not installed, but that doesn't make much sense)
    • does rsync to installation files themselves (in case mtx-update has changed in the mean time)
    • reads in minimals.lua (which engines, formats, fonts, modules to download ...) if interactive is set to true, ask for default settings again, otherwise respect those settings and continue
    • asks for installation location
    • creates (or updates) the file with settings (if interactive)
    • fetch files with rsync
    • create formats
    • suggest what to put into .bash_profile (or equivalent locations) to have context initilized automatically
  • add unzip for windows

Binaries

Binaries are mostly taken from TeX Live 2007, but new ones are used whenever available.

Origin of the binaries

  • TeX Live 2007 for most binaries and most platforms
  • Akira's W32TeX for windows binaries (including metapost, LuaTeX, pdfTeX and XeTeX) - automatic
  • for pdfTeX, XeTeX, LuaTeX and metapost for other platforms added manually whenever possible (nice if it could be automated, but no idea how)
  • texmf/scripts/context/stubs from ConTeXt

List of included binaries

Core binaries

We will do our best to keep them as up to date as possible. If they're still not up to date for your platform and you know where to find them, please notify us, we will fix that. We might provide XeTeX and LuaTeX in separate packages (on TODO list).

  • pdftex
  • luatex
  • texlua, texluac (only symlinks on "unix" platforms, in Akira's distribution luatex.dll is used + 3 small executables)
  • xetex, xdvipdfmx
  • metapost
    • dvitomp
    • makempx
    • mpost
    • mpto (can this be replaced by ConTeXt's variant in future?)

Other binaries

  • kpathsea
    • kpseaccess
    • kpsestat
    • kpsewhich
  • different tools
    • bibtex
    • dvipos
    • mktexlsr
    • pdftosrc

Stubs & other ConTeXt-related

  • everything from texmf/scripts/context/stubs
  • luatools, mtxrun
  • texmfstart (take the latest version by Hans automatically: doesn't happen yet)

Font-related

Might be removed or moved to a special category of "font-related binaries", and only available as an additional package.

  • only left for testing
    • afm2pl
    • afm2tfm
    • ttf2afm
  • Knuth's
    • pltotf
    • tftopl
    • vftovp
    • vptovf

Might-be-removed-soon

  • dvipdfmx
  • dvips

ConTeXt

The Minimals provide several versions of ConTeXt:

  • stable
  • beta (suggested for living-on-the-edge ones; will default to stable if not available)
  • alpha (rarely used; will use beta if not available)
  • experimental (only for testing - not meant for general use)
  • date-based ones (currenty only a few versions available - planning to improve)

You can use

   --context=XXX

to get the desired version.

Fonts

Fonts are split in three packages:

  • used in both pdfTeX and XeTeX/LuaTeX: mostly math (pfb, map, enc, tfm)
  • used in pdfTeX only: pfb, map, enc, tfm (those that are not present in "common")
  • used in XeTeX/LuaTeX only: otf

Currently we have (the latest version, in sync with CTAN):

  • Latin Modern
  • Antykwa Torunska
  • Iwona & Kurier
  • TeX Gyre
  • ams

Other fonts to be added:

  • TODO

It is possible that we'll provide a really minimal package with LM only, and additional three packages (common, for new TeX, for old TeX) with all the other fonts.

Third-party modules & Other

  • TODO
  • also cont-* from Hans's page

Documentation

TODO

Implementation

See the implementation page.

Hans's requests

  • reorganize fonts into fonts/data/e-foundry/texgyre/<everything>
  • list directory contents
  • list of files to fetch an old ConTeXt version

Who are “we”?

Ein Teil von jener Kraft, / Die stets das Böse will, und stets das Gute schafft. :-)