EncTeX -- the extension of TeX based on tex.ch --- INSTALLATION =============================================================== 1. Sep. 1997 Petr Ol\v s\'ak 3. Jan. 2003 For more information about encTeX -- read the README file. You can install the encTeX extension with no problems on web2c ver 7.3. We describe the installation, if the original TeX was complied already or if (at least) the ./configure script was run on web2c source tree and the TeX libraries are installed in /usr/local/share/texmf. 1. Go to a directory with the tex.ch and tex.web files: $ cd source/TeX/texk/web2c 2. Unpack enctex.tar.gz: $ zcat /somewhere/enctex.tar.gz | tar xvf - The ./enctex directory is created with files of the package. 3. Apply the patch to tex.ch file: $ patch -p0 < ./enctex/enctex.patch-to-7.3.7 or $ patch -p0 < ./enctex/enctex.patch-to-7.5 If you are using the web2c 7.4.5 or web2c 7.5.x then apply the enctex.patch-to-7.5. If you are using web2c 7.5.x then you can apply the second patch enc-option.patch-to-7.5. This second patch implements the -enc commandline option (the encTeX is not initialized without this option) and solves the cooperation with TCX tables. The enctex.patch-to-7.5 and enc-option.patch-to-7.5 patches were sent to Olaf Weber in order to include the encTeX to the standard web2c TeX distribution. The next patch from encTeX Feb. 2003 to Jun. 2004 is recommended: $ patch -p0 < ./enctex/enctex.patch-jun2004 If an error occurs in Hunk #1 then you have to replace text "Feb. 2003" to new text "Jun. 2004" in file tex.ch manually. 4. Re-compile TeX: $ make tex The result is the new tex binary and tex.pool file. 5. Install the tex binary and tex.pool into the system (your paths may be different from this example): $ strip tex $ su # cp tex /usr/local/bin # cp tex.pool /usr/local/share/texmf/web2c 6. Install the input tables of encTeX # mkdir /usr/local/share/texmf/tex/generic/enctex # cp enctex/*.tex /usr/local/share/texmf/tex/enctex # texhash 7. Re-install the formats. The official version web2c-7.5.3 requires the -enc option when format is generated (not required when format is used). See the encdoc-e.tex|dvi|pdf for more information about this option. # cd /usr/local/share/texmf/web2c # tex -ini -enc plain *\dump # tex -ini -enc csplain.ini # mv csplain.ini.fmt csplain.fmt # tex -ini -enc cslatex.ini # mv cslatex.ini.fmt cslatex.fmt If you want to try the new feature of the encTeX, you can inicialize some of format plain-*-*.tex (see the enctex directory). For example: # tex -i plain-1250-cs 8. The patched tex.ch is read by compilation process for tex, etex and pdftex. You can recompile all these programs and the encTeX extension will infect them succesfully. The enctex.patch-to-7.3 includes a little patch to pdftexdir/tex.pch file in order to succesfull compilation of pdftex. So, it is sufficient to do: $ 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. The omega program is never infected by encTeX because it does not read the tex.ch file during compilation. Omega has its own input preprocessor. -------------- The encTeX is installable on others than web2c implementation of TeX too. All changes are made in tex.ch file. You can see to enctex.ch file (with all changes of encTeX sumarized) and do the changes into your tex.ch manually. There is only one problem here: I used the functions dump_things/undump_things for dumping/undumping the xord, xchr and xprn vectors to/from fmt file. These functions are the part of web2c libraries only. If these functions are not available on your implementation, you must rewrite the dumping using macros similar to dump_four_ASCII from tex.web.