System ConTeXt (UWAGA: artykuł wymaga aktualizacji)

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


Włodzimierz Macewicz

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.