## System `ConTeXt`

`ConTeXt`, autorstwa Hansa Hagena, jest stosunkowo nowym systemem składu i opisu dokumentów opartym o program `TeX` (a ściślej `PDFTeX`). Służy on do tworzenia dokumentów, które mają być prezentowane zarówno w wersji papierowej, jak i elektronicznej (przede wszystkim `.pdf-ów` prezentowanych za pomocą AcrobatReadera).

Prace nad systemem trwają i należy się liczyć z koniecznością częstego ściągania nowych wersji plików. Zapewne, również z tego powodu instalacja jest dosyć uciążliwa, a dokumentacja (w szczególności instalacyjna i techniczna) niedostateczna. Na szczęście powstaje już wyczerpująca dokumentacja w języku angielskim (do pobrania ze stron firmy PRAGMA)

`ConTeXt` jest ciekawym językiem opisu dokumentu (składem zajmuje się `TeX`) o ideologii odmiennej niż `LaTeX`, a zbliżonej do koncepcji `HTML` + `CSS`.

W `LaTeX-u` zdefiniowano szereg typowych obiektów, których skład (wizualizacja) jest zakodowany za pomocą języka `TeX-a`. Konwersja opisu struktury dokumentu jest prosta, ale praktycznie niemożliwa jest automatyczna konwersja opisu własności (sposobu składu) używanych w nim obiektów na inny język. Wadą jest również trudność modyfikacji własności składu przez ,,normalnego'' użytkownika. Za wyjątkiem banalnych przypadków (np. zmiana wartości rejestru) potrzebna jest wiedza programistyczna i doświadczenie w programowaniu w języku `TeX-a`. Zaletą jest natomiast ,,otwartość'' i łatwość wzbogacania systemu o nowe obiekty.

W Języku `ConTeXt-a` mamy łatwość tworzenia obiektów i sterowania ich własnościami (sposobem składu) poprzez wybór odpowiednich opcji i określeniu ich wartości (ale tylko z góry określonej listy). Biorąc pod uwagę, że lista typowych problemów spotykanych w publikacjach jest skończona, zdefiniowano listę typowych obiektów oraz stworzono mechanizmy do tworzenia nowych obiektów (ale nie o dowolnych cechach). Należy podkreślić, że cały system jest wyjątkowo dobrze przemyślany i spójny koncepcyjnie, ale zamknięty i hermetyczny.

Do wad możemy zaliczyć niedostateczną kontrolę błędów (np. użycie nieznanego atrybutu lub nadanie atrybutowi niedopuszczalnej wartości nie pozostawia śladu nawet w zbiorze komunikatów) lub generowanie błędu na poziomie języka `TeX-a`, a nie języka `ConTeXt-a` oraz niedostateczną (jeszcze) dokumentację.

### Początki

- Instalacja systemu
- Definiowanie tytułów

Włodzimierz Macewicz