Difference between revisions of "Windows Installation"

From Wiki
Jump to navigation Jump to search
(test if spam protection works)
Line 4: Line 4:
 
* some [[Text editor]]
 
* some [[Text editor]]
 
* PDF viewer (Adobe Reader, GSview or any other)
 
* PDF viewer (Adobe Reader, GSview or any other)
 +
Optional:
 +
* [http://gnuwin32.sourceforge.net/packages/unzip.htm unzip]
 +
* ImageMagic
  
 
= General =
 
= General =

Revision as of 09:36, 10 May 2007

In order to be able to run ConTeXt under Windows, you will need the following:

  • a stand-alone ConTeXt distribution or any other TeX distribution (such as MikTeX, TeX Live, ... )
  • Perl, Ruby and GhostScript (Perl and Ruby are script languages, GS is a PostScript and PDF interpreter)
  • some Text editor
  • PDF viewer (Adobe Reader, GSview or any other)

Optional:

General

Updating

You have to bear in mind that ConTeXt is being developed reasonably fast (see Release Notes), so it's recommended to update it regulary. The standalone version of ConTeXt can be updated with

ctxtools --update

But you need to update cont-win.zip every now and then as well.

Under MikTeX you can update the packages with MikTeX's update, but note that the current version is from December 2007. New versions of ConTeXt require pdfTeX 1.40, so you'll have to wait a few months for MikTeX 2.6 before being able to update.

Older versions of Windows

The stand-alone distribution only works for newer versions of Windows that have cmd.exe instead of command.com as command interpreter. Running it on Windows 98 (or earlier) is also possible, but needs some tweaking (hardcoding the paths in .bat script). If you really need that and can't make it work alone, try to ask Taco.

Which ConTeXt distribution to choose?

You can use both MikTeX and the stand-alone distr. simultaneously.

MikTeX is great tool for people typsetting in LaTeX. Updating the packages is easy and packages are downloaded automatically if you need them. Recently support for ConTeXt has been improved, but if you need the latest version of ConTeXt, you have to update it manually (ctxtools --update).

The stand-alone ConTeXt is much better in the way that it is always up-to-date, the environment is set up properly and some special functionality that doesn't work in MikTeX should work here as expected. The only drawback (although I don't really dare to call it a drawback) is that you have to have some other distribution working in parallel if you need LaTeX as well.

There's another (not so popular) TeX distribution, W32TeX which is probably the only one so far which includes XeTeX. See XeTeX Installation to figure out how to install XeTeX on top of standalone distribution. MikTeX is planning to add support for XeTeX in version 2.7.

I never tried XEmTeX and TeX Live. If anyone is willing to share the experince with other users, you're wellcome to do so.

Stand-alone ConTeXt distribution

Installation Instructions


TODO: I made an example how to use the stand-alone distr. isolated from an existing distro. I would like to "join" this somehow with the first section and move opening of cdemo.bat to something like testing the installation. Perhaps pragmatex.bat can be executed with autorun or something if one is not using another TeX distribution. (See: To-Do List)


by Ville Voipio on the mailing list, 2006-01-19 (modified)

Here is a step by step of how it should go (i.e. what I did with success):

  1. Install Perl and Ruby
  2. Download mswincontext.zip, unzip it and move/rename the isoimage folder to your favourite destination. The instructions to follow assume that you renamed isoimage to
    c:\Programs\context
    There should be one folder (usr) and a few files in it.
  3. Open the folder c:\Programs\context and double-click cdemo.bat.
  4. Now you should see the editor SciTE open with a few files. Press F7 to compile one of the files.

If everything goes smoothly, you are done. If not, read these instructions again carefully. If you cannot get it work, mail the list.


TODO: review these steps: join the information - notes about ruby, Acrobat, ... apply to all windows distributions. (See: To-Do List)


A few notes on the procedure above:

  • It is up to you to choose the location where you unzip the file in step #2, no magic there. Just that you know where the files are.
  • The actual location of the ConTeXt tree in step #2 does not matter. I use c:\context, but you might use something else. However, I would not use anything with a space in the name (e.g. c:\Program Files\context), as that may confuse things. [Seems to work with an August 2006 stand-alone distribution.]
  • After you have verified everything works in step #3, you can toss cdemo.bat away and use cstart.bat to start everything. Make a link to it somewhere so that you can start the system by a shortcut or through the Start menu. Do not move the batch script anywhere, it has to be run in the root directory of the distribution (e.g. c:\Programs\context).
  • Make sure you have something Acrobatish (any decent PDF viewer) installed, otherwise you won't see the results in step #4.
  • A final note: to have it finally running you should build the formats first. To do so there is at least a way:
 (assuming C:\Programs\context)
 Start->Run->cmd
 cd C:\Programs\context
 cdemo.bat
 Then close the SciTe window but remain in the cmd.
Then, in one line:
C:\Programs\context\usr\local\context\tex\setuptex.bat C:\Programs\context\usr\local\context\tex
 texexec --make --all
Then, close the cmd, double-click in cdemo.bat
and voila !
  • Another way to do it could be to type: texexec --make --all directly in SciTe console.

How to use the stand-alone distr. if you have MikTeX/TeX Live installed

  1. Create a file pragmatex.bat (the name doesn't really matter) with this content:
    C:\Programs\context\usr\local\context\tex\setuptex.bat C:\Programs\context\usr\local\context\tex
    and make sure that this file is visible by PATH.
  2. You can safely continue using your old TeX distribution (MikTeX, TeX Live, ...). If you want to invoke the stand-alone distribution, just execute
    pragmatex
    from the command-line and all the subsequent calls to texexec will use files from the stand-alone tree (you'll notice the difference in file names when running ConTeXt).

Updating the installation


TODO: explain the best way for updating (See: To-Do List)


MikTeX or ProTeXt

MikTeX is probably the easiest and most recommended solution for newbies or for those who have already been using LaTeX and don't want to install anything else. MikTeX is very user-friendly, updating is very easy, missing fonts or third-party modules are installed automatically when you first use them.

However, some more experienced users may not always be happy with it:

  • using fonts doesn't always work as expected (or at least different than in the stand-alone distribution)
  • ConTeXt format is usually recent, but not always the latest
  • XeTeX doesn't work yet with it yet

ConTeXt is not working under MikTeX 2.4 any more (please upgrade to the latest MikTeX).

MikTeX packages that you need

Try running

texexec --version

In most cases MikTeX should install the required package for ConTeXt automatically (if not installed yet). Don't ask me why Russian und Ukrainian hyphenation patterns have to be downloaded as well.

Additional steps

  • If you get error messages like these:
(C:\Programs\MikTeX\tex\context\base\pdfr-ec.tex) [1.1{original-empty.map}{lm-t
exnansi.map}{original-base.map
Warning:  (file original-base.map): invalid entry for fmvr8x': font file missing

Warning:  (file original-base.map): invalid entry for xycmat11': font file missing
then delete the folder fonts/map/dvipdfm or (that would be a proper solution) set
TEXFONTMAPS = .;$TEXMF/fonts/map/{$progname,pdftex,dvips,}//
(but I have no idea how to do the latter.)

After you install or change something: Refresh file name database & Rebuild Formats

  • MikTeX Options -> General -> Refresh FNDB
  • MikTeX Options -> General -> Update Formats

(Don't forget to run the MikTeX Update Wizard regularly!)

If you have any problems running ConTeXt, check

  • MikTeX Options -> Formats -> cont-en -> Edit

The following should be set:

Compiler:         pdfetex
Input File Name:  cont-en.ini
Output File Name: [empty]
Preloaded Format: [empty]
Description:      [anything]
Exclude when updating: [unchecked]

After Apply-ing and Build-ing, Refresh & Update as described above. This is the MikTeX way for doing texexec --make en. The latter has no influence since MikTeX doesn't set any system variables and consequently ConTeXt doesn't know where to leave the created formats.

Additional settings (for those who use MetaFun)

Some default "security settings" (not really relevant for you unless you run it on a server) may cause you troubles, esp. when using MetaFun. Do the following:

  • In [MikTeX PATH]\tex\context\user\cont-sys.tex uncomment the following lines:
\runMPgraphicstrue
\runMPTEXgraphicstrue
  • In case the file doesn't exist yet, copy the file cont-sys.rme (in the same folder) to cont-sys.tex first. cont-sys.rme may change every now and then, so check for major changes from time to time and update your cont-sys.tex accordingly.
  • Enable write18 (see below)

([MikTeX PATH] and [localtexmf PATH] are chosen during the installation. If you don't know what they are, take a look at MikTeX Options -> Roots)

I don't know why and when exactly this is needed (MPtoPDF may cause problems), but

set TEXSYSTEM=miktex

may help you solving some problems.

write18

write18 allows calling external programs from within TeX. It's not a good idea to have it enabled on a server, but for comfortable work with ConTeXt (for MetaFun or modules for R and gnuplot) you probably need it.

MikTeX 2.4

(This note will go away.)

Create a file [localtexmf PATH]\miktex\config\miktex.ini and add the following line to it:

write18=enable

(Because of some unknown reason, write18=enable in [localtexmf PATH]\miktex\config\miktex.ini may be ignored on some computers. In that case make the change in [MikTeX PATH]\miktex\config\miktex.ini, but you may have to repeat this step every time you update MikTeX packages.)

MikTeX 2.5

Each application now has it's own configuration file. To enable write18 run

initexmf --edit-config-file=miktex\config\pdfetex.ini

and put

EnableWrite18=t

into it. An alternative is to se the environment variable MIKTEX_ENABLEWRITE18=t (currently there's a bug and only MIKTEX_ENABLEWRITE188=t works, but hopefully it'll go away soon).

W32TeX

The only Windows distribution so far that comes with XeTeX. W32TeX contains the latest ConTeXt. Write18 is disabled. It can be enabled by setting the environment variable SHELL_ESCAPE:

set SHELL_ESCAPE=t

TeX Live or XEmTeX

Installation instructions are part of the documentation.


TODO: can someone with any experience write something about it? (See: To-Do List)


XeTeX Installation

(Until Hans decides to apply that to the standalone distribution, this notes might be of interest for those who want to use XeTeX under Windows.)

  • Download ftp://akagi.ms.u-tokyo.ac.jp/pub/TeX/win32/xetex-w32.tar.bz2
  • Unpack it. (The easiest way might be with Total Commander; you need a plugin for it, available on the official website)
  • Copy the content of bin into texmf-mswin/bin (copy just the missing files, or simply overwrite the others)
  • Copy the content of share/texmf to texmf. If you really mind, you can delete the following before copying (but it's not necessary):
    • tex/xetex/xelatex
    • tex/xetex/generic/hyphen
    • tex/xetex/generic/ifxetex
    • web2c/xetex/xe[la]tex.fmt
    • (doc in case you don't need it)
  • web2c/xetex/xetex.pool should go to texmf-mswin/web2c/

Building the formats

At the first time and when you update ConTeXt, you have to run the following command from console:

texexec --xtx --make --all

Using XeTeX

You can then compile your document using

texexec --xtx filename

Setting up fontconfig

  • Open setuptex.bat and add the following three lines (here they're surrounded by the best place where they should be put):
set HOMETEXMF=

set FONTCONFIG_FILE=fonts.conf
set FONTCONFIG_PATH=%TEXMFMAIN%\fonts\conf
set FC_CACHEDIR=%TEXMFMAIN%\fonts\cache

if not "%CTXDEVTXPATH%"=="" SET CTXDEVTXPATH=
  • To use fonts that are not installed on the system you should add something like this to C:\Programs\context\usr\local\context\texmf\fonts\conf\fonts.conf:
<dir>c:/Programs/context/usr/local/context/texmf/fonts/opentype/public/lm</dir>
  • For the first time and every time when you install a new font that you want to use with XeTeX, issue:
fc-cache -f -v
  • To get a list of the available fonts use:
fc-list > list.txt

Required and Useful Tools

Installing Perl and Ruby

You need the two scripting languages in other operating systems as well, but installing them under Windows may be a bit less intuitive for a newbie than under Linux.

You can download ActivePerl here and Ruby here or here (different one; might be better - you only need to extract files from zip).

After installing them (remember the folder where you've put them!) you have to check if both executables are included in the PATH. Open the command line (Start -> Run ... -> type cmd or command) and check if

perl --version

and

ruby --version

work OK.

If windows complains about "Command not found", go to the Control Panel -> System -> Advanced -> click on the "Environment variables" and choose path in "system variables". Type in the path (e.g. D\Program Files\Perl\bin\;) where the ruby and perl *.exe files are installed. Generally, the installation is automatic. you may not need the above method.

(Installing ruby is optional under Windows, but nevertheless recommended. Some scripts need ruby, although it may happen that you will never use those scripts.)

A note about cygwin

(Skip this unless you know what you are doing!)

If you have a working perl and ruby under cygwin and if they are in PATH, this might already work for ConTeXt (although it's a better idea to use native Windows versions). However, if the inclusion of libraries in ruby fails (because of conversion of path names) and if you object to install ruby again, try setting the environmental variable RUBYLIB:

set RUBYLIB=/cygdrive/c/[Path to MikTeX or other distr.]/scripts/context/ruby

[1]

Installing GhostScript

If you already worked with (La)TeX before, you probably already have it installed. Try

gswin32 --version

You have to download GhostScript (filename gs851w32.exe or a similar one) and preferrably GSview as well (gsv47w32.exe or similar). Be sure to include the executables (folder where gswin32.exe is located) into the PATH variable.

Other useful software

Assuming that you already have Adobe Reader (if not, you can get it here; you don't need it to compile your documents, but at least to see the results), there is still some software still worth mentioning.

Choosing a Text editor & compiling

For newbies (like Word (ex)users)


TODO: Explain the difference between GUI/text editor/compiler/PDF document; people often ask me: "ConTeXt - oh, you mean that program with a blue screen and colourful fonts?" (See: To-Do List)


WinEdt has a rich graphical user-interface, but more support for LaTeX than for ConTeXt. (You need to install WinEdt AFTER the installtion of MikTeX, GhostScript and Adobe Reader for Windows.)

ConTeXt support for SciTE was written by Hans Hagen (the ConTeXt developer himself) and also includes recognition and auto-completion of most frequent ConTeXt commands.

According to their web-site: "TeXnicCenter is a feature rich integrated development environment (IDE) for developing LaTeX-documents on Microsoft Windows (Windows 9x/ME, NT/2000/XP) freely available under GPL." It can also be used for processing ConTeXt documents.


TODO: Someone should write how to install SciTE & ConTeXt support for it without installing the stand-alone ConTeXt. (See: To-Do List)


For gurus (like (La)TeX users or programmers)

You probably already have your favourite Text editor (or at least you know what we're talking about) and you may skip this. If not, take a look at the Text editor page to help you choose one.

  • Vim or Emacs may be a good choice if you're willing to invest some time into learning them - it may be worth the effort.

Compiling

After you've done all that, you can finally use your favourite editor to write your first document.

To compile it, open the command line again (Start -> Run ... -> type cmd or command) and run

texexec yourfilename

Some text editors support automatic compiling:

  • F7 (= command Build in Tools menu) or Ctrl+1 (= command Process TeX file in Tools menu) in SciTE
  •  ?? in WinEdt
  • F?? in TeXnicCenter
  • see makefile for Vim