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
|
1. All file names are eight letters or less with an .extension of
three or less letters. Most variables are six or less letters; in any
case, the first six letters determine the variables. Also there are both
caps and lower-case letters used, in file names, but if they are all made
one case, there is no conflict.
2. The program outfname in tibargs.c creates an output file name of the form
file-t.tex
or
file.ref-t.tex
for tib and tiblist. If this is illegal change the code in the routine
`outfname' in tibargs.c appropriately (maybe look for the last `.' in
the name and add extension).
*** WARNING ***
If your system has a limit on the length of file names and/or extensions
and silently truncates ones that are too long, there is a danger that tib
or tiblist could overwrite existing input files. The subroutine `outfname'
should be rewritten to prevent this possibility. One way, although
somewhat inconvenient for the user, is to give the output a different
extension. A second way, also possibly inconvenient, is to test for the
existence of a file with the proposed name before opening the file.
If your system will not open an open file, it would be possible to delay
closing the input file (fclose(fd)) until the end of the run, although
this is not necessarily 100% safe, since for example tiblist could take
`test.ref' as input and overwrite `test.tex' as output. The author assumes
no responsibility for overwritten files.
3. The directory separator character is '/' for unix. If this is not
your separator character, make appropriate changes in tib.h and
at the top of tibargs.c in <sys/types.h> and <sys/stat.h>.
Also redefine \DIRSEP at the beginning of tibdoc.tex. Similarly,
the option character on the program calls is '-' for unix. If this
is not your option character, make appropriate changes in tib.h
and redefine \OPTCH in tibdoc.tex.
4. The routine qsort is used several places. If qsort is unavailable,
an equivalent routine should be used.
5. Tibdex uses a unix routine sort. If sort is unavailable, see the
discussion at the beginning of tibdex.c.
6. The files <sys/types.h> and <sys/stat.h> are used in the routine
chkindex in tibargs.c in an error check. If they are unavailable,
rewrite chkindex to do nothing but return.
7. If make is unavailable, compile and link the programs as indicated:
tibdex requires tibdex, streams, makekey;
tiblook requires tiblook, locate, seek, streams, makekey;
tiblist requires tiblist, tibargs, streams, makekey;
tib requires tib, tibargs, locate, seek, streams, makekey.
8. If everything else seems OK and Tib gives lots of "no references found"
or "multiple references found", it may be counting end-of-line or new-line
characters differently. Make your counting unix compatible or some other
fix.
9. The file tib.man is for a unix manual file and can be discarded.
10. Remark. Word-definition pairs are read into memory one at a time, and
are sorted as they are read. For large sorted files of such pairs (such
as amsabb.ttz, amsfll.ttz), this is a rather inefficient way to do things
(it will be reworked in a future version), and may be unacceptable for
your system. It may be preferable to either a) rewrite the appropriate
code (case 'D' in tibargs.c), or b) not use large files of such pairs. Most
of the time at the beginning of a run of tib is used processing these pairs.
|