
     EncTeX -- rozšíření TeXu o možnost překódování -- popis instalace
     =================================================================
     1. 9. 1997                                             Petr Olšák
     3. 1. 2003

Nejprve popíšu postup při instalaci encTeXu na web2c verze 7.3, kde již
původně byl originální program TeX kompilován, nebo byl aspoň spuštěn
configure (podle pokynů pro instalaci web2c TeXu) a jsou připraveny
knihovny TeXu (*.tfm, *.tex apod.) v /usr/local/share/texmf.

V balíku jsou dodáván patch pro verzi web2c 7.3.7 

1. přejdeme do adresáře, kde je tex.ch a tex.web:

   $ cd source/TeX/texk/web2c

2. Rozbalíme enctex.tar.gz:

   $ zcat /zdroj/enctex.tar.gz | tar xvf -

3. Aplikujeme změnu souboru tex.ch:

   $ patch -p0 <./enctex/enctex.patch-to-7.3.7

   nebo

   $ patch -p0 <./enctex/enctex.patch-to-7.5

   v závislosti na verzi web2c, kterou máme. 
   Soubor enctex.patch-to-7.5 je možné použít i na web2c 7.4.5,
   což byla aktuální stabilní verze teTeXu. 

   Pokud máte verzi web2c 7.5, pak můžete navíc 
   po aplikaci tohoto patche použít ještě patch
   enc-option.patch-to-7.5, který přidává přepínač -enc do
   příkazového řádku (bez něho není encTeX inicializován) a
   řeší spolupráci s TCX tabulkami. Tato dvojice patchů byla zaslána
   Olafu Weberovi k zařazení do standardní distribuce web2c.

   Doporučuji přejít z verze encTeXu Feb. 2003 na verzi Jun. 2004,
   která opravuje některé chyby:

   $ patch -p0 <./enctex/enctex.patch-jun2004

   Pokud tento krok ohlásí chybu pro Hunk #1, je potřeba v souboru
   tex.ch nahradit řetězec "Feb. 2003" textem "Jun. 2004" manuálně.
   Ostatní části záplaty (hunks) by měly projít bez problémů.

4. Překompilujeme TeX:

   $ make tex

Tento povel v sobě zahrnuje jednak
tangle tex.web tex.ch
což vytvoří Pascalský kód TeXu tex.p. Dále se provede
./web2c/convert tex.p
takže vznikají jednotlivé moduly tex?.c v jazyce C. Potom se tyto moduly
kompilují kompilátorem jazyka C a nakonec linkují do spustitelného programu
tex. Výsledkem je tedy nový program tex a dále nový inicializační soubor
tex.pool.

5. Instalujeme binární program tex a soubor tex.pool do systému
(cesty se ve Vašem systému mohou mírně lišit):

   $ strip tex
   $ su   
   # cp tex /usr/local/bin
   # cp tex.pool /usr/local/share/texmf/web2c

6. Instalujeme vstupní tabulky *.tex z balíku encTeX. Doporučuji je zařadit
do adresáře enctex:

   # mkdir /usr/local/share/texmf/tex/generic/enctex
   # cp enctex/*.tex /usr/local/share/texmf/tex/generic/enctex
   # texhash

7. Inicializujeme znovu formáty. Pro verzi encTeXu z oficiální
web2c-7.5.3 je nutné použít při generování formátů (nikoli při použití
formátu) přepínač -enc. Význam tohoto přepínače je vysvětlen 
v dokumentaci encdoc.tex|dvi|pdf.
Příklady proto uvádím s tímto přepínačem.

   # cd /usr/local/share/texmf/web2c
   # tex -ini -enc plain
   *\dump
   # tex -ini -enc csplain.ini
   # tex -ini -enc -jobname cslatex cslatex.ini

Pokud chcete hned využít nových vlastností TeXu, zkuste instalovat
některý z formátů plain-x-y, například:

   # tex -ini -enc plain-1250-cs

Viz soubory enctex/plain-*-*.tex a enctex/kam-latex.tex.

8. Pozměněný tex.ch čte tangle i při kompilaci programů pdftex a
etex. Tyto programy budou tedy po kompilaci také obsahovat encTeX.
Při požití enctex.patch-to-7.3 se kromě tex.ch pozměnil v drobné 
maličkosti i soubor pdftexdir/tex.pch, což je nutné pro zdárnou
kompilaci. Stačí tedy vytvořit pdftex obvyklým způsobem:

   $ make pdftex
   $ strip pdftex
   $ su
   # cp pdftex /usr/local/bin
   # cp pdftex.pool /usr/local/share/texmf/web2c
   # cd /usr/local/share/texmf/web2c
   # pdftex -ini -enc -jobname pdfplain plain
   *\dump
   # pdftex -ini -enc -jobname pdfcsplain csplain.ini
   # pdftex -ini -enc -jobname pdfcslatex cslatex.ini

9. Program Omega není encTeXem pozměněn, protože při své kompilaci
nenačítá tex.ch. Taky by to nemělo žádnou logiku, protože omega má
svůj vlastní konfigurovatelný input procesor.   

--------------

Protože encTeX pozměňuje pouze velmi málo věcí ve změnovém souboru
tex.ch, je možné jej při troše ruční práce instalovat i na jiných
implementacích TeXu, kde jsou k dispozici zdrojové texty TeXu tex.web
a tex.ch.  Stačí se podívat do souboru enctex.ch, kde je patrné, jaké
změny se mají provést. Veškerý kód encTeXu se opírá o standardní
části programu tex.web s výjimkou ukládání vektorů xord a xchr do
formátu.  Zde jsem s výhodou použil již hotové pomocné funkce
dump_things a undump_things napsané pro web2c přímo v jazyce C. Pokud
by to někdo potřeboval v jiné implementaci, musel by zřejmě použít
analogii k dump_four_ASCII z tex.web.


