summaryrefslogtreecommitdiff
path: root/systems/enctex/INSTALL.eng
blob: 5bf9db32dacbc817441bbd42a8ced65530adcd33 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121

     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.