Professional Documents
Culture Documents
00 Readme
00 Readme
0. Abstract
----------This abstract is in a format suitable for inclusion in BBS description files
(file_id.diz):
(v3.71) "big" BibTeX with full 8-bit support
An enhanced, portable C version of BibTeX.
Enhanced by conversion to "big" (32-bit)
capacity, addition of run-time selectable
capacity and 8-bit support extensions.
National character set and sorting order
are controlled by an external configuration
file. Various examples are included.
Freeware / GNU Public Licence.
Niel Kempson <kempson@snowyowl.co.uk>
Alejandro Aguilar-Sierra <asierra@servidor.unam.mx>
1. Introduction
---------------8-bit BibTeX is an enhanced, portable C version of BibTeX 0.99. It has been
enhanced in these areas:
-
Oren Patashnik, the creator of BibTeX, is working on a new BibTeX 1.0 that
will be a modern implementation supporting large capacities and non-English
languages (see TUGboat, pages 269--274, volume 15, number 3, September 1994).
He is content for this version to be released, but hopes that people will
eventually migrate to BibTeX 1.0 when it is released. Its release date is
uncertain at the moment.
1.1 Big and Customisable Capacity
--------------------------------The original 16-bit code has been rewritten to use 32-bit data types
wherever possible. The result is a very large potential capacity. To
increase flexibility and to avoid BibTeX allocating all available memory,
the capacity of some key arrays can be set on the command line.
For convenience, several standard capacities have been predefined:
default, big and huge. The key capacities are set as follows:
Parameter
Standard
--big
--huge --wolfgang
-----------------------------------------------------------Hash_Prime
4,253
8,501
16,319
30,011
Hash_Size
5,000
10,000
19,000
35,000
Max_Cites
750
2,000
5,000
7,500
Max_Ent_Ints
3,000
4,000
5,000
7,500
Max_Ent_Strs
3,000
6,000
10,000
10,000
Max_Fields
17,250
30,000
85,000
125,000
Max_Strings
4,000
10,000
19,000
30,000
Pool_Size
65,530
130,000
500,000
750,000
Wiz_Fn_Space
3,000
6,000
10,000
10,000
bt###os2.zip
bt###src.zip
bt###csf.zip
where ### is the latest version, currently 371 (for v3.71). Their contents
and purpose are summarised below.
2.1 bt371dos.zip
----------------
The binary + documentation kit for MS-DOS users. It contains all you
need to run 8-bit BibTeX under MS-DOS, but no source code. The
executable program uses a 32-bit virtual memory extender called EMX to
run in 32-bit mode. emTeX is probably the most comprehensive and capable
implementation of TeX for DOS & OS/2 and it too uses EMX.
The kit contains these files:
00readme.txt
COPYING
HISTORY
csfile.txt
msdos/bibtex.exe
this file
GNU copyright notice
summary of changes made so far
documentation for codepage and sort order
("CS") files
the 8-bit BibTeX program
EMX uses the VCPI mechanism to run in 32-bit mode and will therefore not
run in a DOS session under MS Windows. It will run under native DOS and
in a DOS session under OS/2. The EMX extender (v0.9b) is bound into
bibtex.exe, but you can always obtain the latest version of EMX by
anaonymous FTP from:
ftp.uni-stuttgart.de:/pub/systems/os2/emx-0.9b
ftp.leo.org:/pub/comp/os/os2/gnu/emx+gcc
If you want to run this version of BibTeX in a DOS session under MS
Windows, you have two choices:
- get and install the RSX extender. RSX is a DPMI-compliant DOS
extender which is more or less compatible with emx. It is compatible
with EMX, DPMI servers and DOS sessions under MS Windows. The
official site for the latest version of RSX is
ftp.uni-bielefeld.de:/pub/systems/msdos/misc
but you can also get it by anonymous FTP from the same CTAN sites as
BibTeX:
ftp.tex.ac.uk:/tex-archive/systems/msdos/dpmigcc
ftp.uni-stuttgart.de:/tex-archive/systems/msdos
The files to look for are dpmigcc5.zip and rsxwin3a.zip
If you use the emTeX implementation of TeX and friends, it may be
more convenient to get the "emxrsx" package - it's a minimal version
of RSX to allow emTeX to run in DOS sessions under MS Windows. It is
available by anonymous FTP from CTAN sites in the emTeX directory:
ftp.tex.ac.uk:/tex-archive/systems/msdos/emtex
ftp.uni-stuttgart.de:/tex-archive/systems/msdos/emtex
On the other hand, if you're using emTeX under MS Windows, you've
probably solved the problem already :-)
- get the djgpp GNU C compiler and DOS extender package and build
BibTeX from the source code. The master site for djgpp is
ftp.delorie.com.
2.2 bt371os2.zip
----------------
The binary + documentation kit for OS/2 2.x and 3.x users. It contains
all you need to run 8-bit BibTeX under OS/2, but no source code. The
executable program was developed using the EMX development system and has
its run-time library linked in - there is no need to install EMX just to
run BibTeX. If you already have EMX installed want a smaller executable,
you'll need to rebuild from sources.
The kit contains these files:
00readme.txt
COPYING
HISTORY
csfile.txt
os2/bibtex.exe
this file
GNU copyright notice
summary of changes made so far
documentation for codepage and sort order
("CS") files
the 8-bit BibTeX program
2.3 bt371src.zip
---------------The complete source code kit to build 8-bit BibTeX on all supported
systems. The source code is known to build easily under MS-DOS and OS/2
if you have the GNU C Compiler installed. The source code is quite
portable and contains almost no system-specific items - it should very
easily port to Unix or VMS. If you decide to port 8-bit BibTeX to
another platform, please let me know so that I can include your efforts
in the master distribution.
The source kit contains these files:
00readme.txt
COPYING
HISTORY
csfile.txt
this file
GNU copyright notice
summary of changes made so far
documentation for codepage and sort order
("CS") files
bibtex.h
datatype.h
gblprocs.h
gblvars.h
sysdep.h
bibtex.c
bibtex-1.c
bibtex-2.c
bibtex-3.c
bibtex-4.c
main
part
part
part
part
utils.c
utils.h
getopt.c
getopt1.c
getopt.h
dos-emx.mak
dos-dj.mak
os2.mak
unix.mak
makefile
makefile
makefile
makefile
for
for
for
for
2.4 bt371csf.zip
---------------The character set and sorting order is now defined by an external
configuration text file - the codepage and sort order ("CS") file. A
number of example files have been included with the master distribution,
but I hope that others will be written by 8-bit BibTeX users in due
course. To avoid the need to reissue to the master ZIP files every time
a new CS file is created, CS files will also be available as a separate
kit.
At the time of writing, the kit contains these CS files:
File Name
Character Set
Sorting Order
------------------------------------------------------------88591lat.csf
ISO 8859-1
Latin
88591sca.csf
ISO 8859-1
Scandinavean
ascii.csf
US ASCII
English
cp437lat.csf
IBM codepage 437
Latin
cp850lat.csf
IBM codepage 850
Latin
cp850sca.csf
IBM codepage 850
Scandinavean
cp866rus.csf
IBM codepage 866
Russian
-8 --8bit
Force 8-bit mode. A CS file is not read. All 8-bit
characters (code > 127) are treated as letters and sorting is
strictly by code page value.
BibTeX will not allow you to specify --8bit with either the
--csfile or --traditional option.
-c --csfile FILE
Read FILE as the BibTeX codepage and sort definition (CS)
file. The CS file is used to define the 8-bit character set
used by BibTeX and the order in which those characters should
be sorted.
BibTeX will not allow you to specify --csfile with either
the --8bit or --traditional option.
-d --debug TYPE
Report debugging information to the BibTeX log file and the
standard error device. The value TYPE controls the type of
debugging information reported. TYPE can be one or more of:
all
csf
io
mem
misc
search
8,501 (4,253)
10,000 (5,000)
2,000
(750)
4,000 (3,000)
6,000 (3,000)
30,000 (17,250)
10,000 (4,000)
130,000 (65,530)
6,000 (3,000)
-H --huge
Set BibTeX's capacity to "huge". The size of particular
parameters will be set as follows (the default sizes are
shown in brackets):
Hash_Prime
Hash_Size
Max_Cites
Max_Ent_Ints
Max_Ent_Strs
Max_Fields
Max_Strings
Pool_Size
Wiz_Fn_Space
16,319 (4,253)
19,000 (5,000)
5,000
(750)
5,000 (3,000)
10,000 (3,000)
85,000 (17,250)
19,000 (4,000)
500,000 (65,530)
10,000 (3,000)
-W --wolfgang
Set BibTeX's capacity to "really huge" - required for
Wolfgang's PhD thesis. The size of particular parameters
will be set as follows (the default sizes are shown in
brackets):
Hash_Prime
Hash_Size
Max_Cites
Max_Ent_Ints
Max_Ent_Strs
Max_Fields
Max_Strings
Pool_Size
Wiz_Fn_Space
30,011 (4,253)
35,000 (5,000)
7,500
(750)
7,500 (3,000)
10,000 (3,000)
125,000 (17,250)
30,000 (4,000)
750,000 (65,530)
10,000 (3,000)
-M --min_crossrefs ##
Set min_crossrefs to ##. If an item is cross-referenced at
least ## times, it will be placed in the list of citations,
even if it is not explicitly \cited as a reference. The
default value is 2.
--mcites ##
Allow a maximum of ## distinct \cites in the .aux files.
This number must be less than the maximum number of strings
(settable with --mstrings).
--mentints ##
The name of the environment variables used may be changed (in the
Makefile) when BibTeX is built. See the appropriate Makefile for your
environment and remember that you can use the "--debug=search" command
line option to reveal the environment variables used by your version of
8-bit BibTeX (see previous section).
All environment variables used as a search list (BIBINPUT, BSTINPUT &
CSFINPUT) can be set to a number of separate directories, separated
by a delimiter (semicolons for MS-DOS & OS/2, colons for Unix and
commas for VMS).
Examples for MS-DOS and OS/2 are:
SET
SET
SET
SET
BIBINPUT=e:\data\tex\bibtex;c:\emtex\bibtex\bib
BSTINPUT=e:\data\tex\bibtex;c:\emtex\bibtex\bst
CSFINPUT=e:\data\tex\bibtex
BIBTEX_CSFILE=c:\data\tex\bibtex\cp850lat.csf
BIBINPUT /u/kempson/bibtex:/usr/local/lib/tex/bib-files
BSTINPUT /u/kempson/bibtex:/usr/local/lib/tex/bst-files
CSFINPUT /u/kempson/bibtex:/usr/local/lib/tex/csf-files
BIBTEX_CSFILE /usr/local/lib/tex/csf-files/88591lat.csf
BIBINPUT "sys$login:,disk$tex:[bibtex.bib-files]"
BSTINPUT "sys$login:,disk$tex:[bibtex.bst-files]"
CSFINPUT "sys$login:,disk$tex:[bibtex.csf-files]"
BIBTEX_CSFILE disk$tex:[bibtex.csf-files]88951lat.csf
makefile
makefile
makefile
makefile
for
for
for
for
Whichever Makefile you use, you need to check that the "local definitions"
are appropriate for your system. There are three small sections to
customise:
BibTeX File Searching
- specifies the names of environment variables and paths to be used when
searching for input files
Utility Programs
- specifies the names of programs to be used for simple functions
Compiler/Linker
- specifies compiler/linker command lines
If your system is already supported it should not be necessary to modify any
part of the Makefile except these three sections.
Brief notes for specific environments follow.
5.1 DOS
------8-bit BibTeX has been built and tested using the EMX and DJGPP
development environments. Both are based on GNU C with their own
custom 32-bit extenders.
5.2 OS/2
-------The EMX development environment is supported.
5.3 Unix
-------Most variants of Unix supporting GNU C should be capable of building
and running 8-bit BibTeX.
5.4 VMS
------The authors have not built or tested this version of 8-bit BibTeX on
VMS, but see no reason why it shouldn't compile and run successfully
if GNU C is installed on the system. (The only system-dependent code
in 8-bit BibTeX concerns file opening and provision has been made for
VMS file modes.)
If you have GNU C installed, we recommend starting with a copy of the
unix.mak Makefile and customising it for VMS. If you successfully
get 8-bit BibTeX running under VMS, *please* let the authors know how
you did it.
8. Acknowledgement
------------------The original BibTeX was written by Oren Patashnik using Donald Knuth's WEB
system. This format produces a PASCAL program for execution and a TeX