summaryrefslogtreecommitdiff
path: root/biblio/tib/NONUNIX
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /biblio/tib/NONUNIX
Initial commit
Diffstat (limited to 'biblio/tib/NONUNIX')
-rw-r--r--biblio/tib/NONUNIX66
1 files changed, 66 insertions, 0 deletions
diff --git a/biblio/tib/NONUNIX b/biblio/tib/NONUNIX
new file mode 100644
index 0000000000..bb29da5d91
--- /dev/null
+++ b/biblio/tib/NONUNIX
@@ -0,0 +1,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.