# Instalacja systemu

W katalogu `.../macros/context` serwerów CTAN znajdą Państwo następujące pliki:

`cont-doc.zip` | -- | style dla dokumentacji plików ConTeXt
`cont-fnt.zip` | -- | dodatkowe fonty -- to samo jest w `cont-tmf.zip` (za wyjątkiem plików `.pfm` i `.afm`) -- pobrać jedynie pliki `.afm` i `.pfm` jeśli są potrzebne
`cont-lat.zip` | -- | `PPCHTeX` -- zbiory specyficzne dla `LaTeX-a` (skład wzorów chemicznych)
`cont-mod.zip` | -- | moduły dodatkowe -- nie instalować (starocie z poprzednich wersji)
`cont-mps.zip` | -- | zbiory dla `METAPOST-a` -- wygląda na starocie; to samo jest w `cont-tmf.zip`
`cont-ppc.zip` | -- | `PPCHTeX` -- zbiory dla `PPCHTeX-a` (skład wzorów chemicznych)
`cont-tex.zip` | -- | starocie, wygląda, że jest to zbiór dla starszych wersji.
!`cont-tmf.zip` | -- | główne archiwum zawierające system i dokumentację
!`cont-uti.zip` | -- | skrypt perlowy (to samo co w `cont-wrk.zip`)
!`cont-wrk.zip` | -- | skrypty perlowe, pliki konfiguracyjne

Ponieważ pakiet często jest zmieniany, informacje powyższe mogą być nieaktualne w chwili czytania.

Instalacja jest nieco kłopotliwa, polega na ,,ręcznym'' rozpakowaniu plików `.zip` i przekopiowaniu zawartości utworzonych katalogów do odpowiednich katalogów drzewa katalogów zawierających instalację (za wyjątkiem plików `.afm` i `.pfm` -- które nie są niezbędne przy przetwarzaniu `TeX-em` -- można przenieść całe, nowoutworzone, drzewo katalogów w odpowiednie miejsce) `TeX-a`.

Niestety w archiwach panuje bałagan w katalogach spowodowany tym, że serwery mirrorujące pobierają jedynie pliki; nie kasując starych i zbędnych.

Dla jasności poniżej przedstawiam katalogi w drzewie `TDS`, gdzie znajdują się pliki `ConTeXt-a`.

    ...\context
    ...\context\data
    ...\context\perltk
    ...\doc\context
    ...\doc\context\base
    ...\dvips\context
    ...\fonts\tfm\hoekwater\context
    ...\fonts\type1\hoekwater\context
    ...\fonts\afm\hoekwater\context
    ...\fonts\pfm\hoekwater\context
    ...\metapost\context
    ...\tex\context
    ...\tex\context\config\

Po wgraniu plików w odpowiednie miejsce należy uaktualnić bazę danych. (sposób wykonania tej czynności zależy od implementacji; np. w przypadku `MikTeXa` należy uruchomić program `initexmf -u`).

#### Generowanie formatu

Pierwszą czynnością jest zmiana nazwy pliku `texexec.rme` na `texexec.ini` w katalogu `.../context/config` i edycja jego zawartości

    .
    .
    %set  TeXShell  to  tetex
    %set TeXShell  to  fptex
    set TeXShell  to  miktex
    %set TeXShell  to  private
    .
    .

polegająca na wyborze implementacji (należy usunąć znak `%` w odpowiedniej linii, wstawiając go w pozostałych; powyżej widać, że wybrano `MikTeX-a`

Proces generowania jest sterowany za pomocą skryptu perlowego (oczywiście interpretowanego programem Perl) i odbywa się nieco inaczej w różnych implementacjach. Najprościej mają użytkownicy `Unixa` -- generowanie polega na uruchomieniu skryptu `texexec` z odpowiednimi opcjami (możemy założyć, że interpreter `PERL` jest zainstalowany).

W przypadku systemu `Windows` proces może być bardziej skomplikowany ze względu na konieczność samodzielnej instalacji `PERL-a` -- zakładam, że perl jest zainstalwany (można go pobrać z archiwum CPAN, np: perl).

Po rozpakowaniu archiwum, w katalogu `.../context/perltk` powinien znaleźć się plik `runperl.zip` -- należy go rozpakować, a następnie zmienić nazwę pliku `runperl.exe` (zwykle w archiwach perla też jest taki plik i jeżeli program interpretera nazywa się inaczej >>np. `winperl`<< należy pobrać plik z dystrybucji perla) na `texexec.exe`. Sztuczka polega na tym, że program ten ładuje do pamięci program `PERL` wskazując mu do wykonania skrypt o nazwie takiej jak on sam (łatwo się domyśleć, że w tym wypadku skrypt nazywa się `texexec.pl`), przekazując oczywiście podane opcje.

Po wykonaniu powyższych czynności pomocniczych proces generowania formatu przebiega już podobnie we wszystkich implementacjach i w najprostszym wariancie polega na wywołaniu:
`texexec --make en`
w wyniku czego powstanie plik `cont-en.fmt` (jak łatwo się domyśleć `en` określa format dla języka angielskiego; można podać kilka symbolicznych nazw języków -- zostaną dla nich utworzone formaty).

Dla każdego kodu języka może być utworzony odpowiedni zbiór; konwencja nazw jest następująca: `cont-*.tex`, gdzie zamiast `*` należy wstawić odpowiedni symbol języka (czyli dla języka polskiego zbiór będzie nosił nazwę `cont-pl.tex`).

Jeżeli brak zbioru dla naszego języka możemy użyć innego, w którym zadeklarowano użycie naszego lub wzorując się na innych zbiorach utworzyć własny.

Według dokumentacji wywołując program `texexec` można podać inne opcje np:
`texexec --make --language=pl,uk --bodyfont=plr en`
które powinny sterować procesem generowania formatu. Dokładna analiza (dla systemu MS Windows) wykazała, że postać wywołania (opcje i ich wartości) jest przetwarzana na język `ConTeXt-a` i zapisywana do zbioru `cont-fmt.tex` (po zakończeniu generowania nazwa jest zmieniana na `cont-fmt.log` -- jego zawartość może być pomocna w tworzeniu własnego pliku), który jest interpretowany w procesie tworzenia formatu. W wyniku działania programu `texexec` otrzymamy format o nazwie `cont-en.fmt` zawierający między innymi reguły przenoszenia wyrazów w języku polskim i angielskim i możliwość wprowadzania polskich diakrytyków w notacji prefixowej (znak prefixu `/`).

Mając własny plik z definicją języka możemy wygenerować format:
`texexec --make pl`

Utworzony format (zbiór `.fmt`) należy umieścić w odpowiednim katalogu (można go pozostawić w miejscu generacji, ale należy pamiętać o modyfikacji odpowiednich zbiorów konfigurujących instalację `TeX-a`; `PDFTeX` musi wiedzieć, gdzie szukać formatu).

Nieco więcej uwag na temat polonizacji ConTeXt-a i jego użycia można znaleźć w notatce ConTeXt i język polski