summaryrefslogtreecommitdiff
path: root/biblio/bibtex/utils/xbibfile/historical.note
blob: 5629b778b8e1d100de128a5a75df45e90b9d3804 (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
XBibFile grew out of an early need in my research.  I needed some
technique to handle my research references.

The School of Information Technology where I was doing my research, at
that time was promoting the use of EndNotes for handling for referencing.
However, EndNotes was a Windows application and not available on Unix, or
specifically, Linux.  Because of my background in Commputer Science, I
had made a decision early in my research to use Linux as my research
environment, using LaTeX (and possibly TeX) as my typesetting tools.
Linux had the attributes of being available at the "right price" on both
Intel and Digital Alpha hardware architectures which I would be using,
was stable in operation, and contained the broad suite of tools
available under the Open Source policy.  BibTeX was to be the format
in which my references were to be recorded and processed.  Although the
EndNotes format could be converted into BibTeX format, running a
Windows environment for EndNotes and a Linux environment for every
thing else appeared a little strange.

The problem was that CTAN appeared not to has a program that could
provide the support I required for my reference making and handling.
What I required was:
 .  a method of inputting the references that presenced both the
      required and optional fields for any of the reference types
      handled by BibTeX;
 .  a mechanism of cross-linking references so that I could keep
      track of the route by which that reference had been arrived,
      e.g. this reference appears in the reference list of another
      reference in my bibliography;
 .  a graphical means of inserting and removing cross-links between
      references;
 .  a means of following those cross-links -- clicking on the
      appropriate link field would bring-up a window appropriate for
      that reference, or if already on the screen, bringing it to the
      top;
 .  enabled the linking into each reference, the address of files which
      were related e.g. the path and name of a text file that
      contained a summary of the paper but was prepared independent of
      XBibFile i.e. in addition to any notes that were recorded in the
      "annote" field of the BibTeX recoord.
All this was to be accomplished using the BibTeX .bib file without
compromising its direct use with the BibTeX program.

I gave myself a week to write the program to accomplish the above
requirements or at least to demonstrate that the concept was
achievable.  The week was from Sunday 26 September 1999 until Sunday 3
October.  During that week I had no tutoring commitments and my two
thesis supervisors were absent so I would have few obstacles to my
progress.  As a first step, this README file was prepared so that I
could keep track of what I was trying to accomplish.  As the week
continued, additions were made to this README.

I looked at a number of programs available from CTAN but none quite
filled my requirements.  XBibTeX by Nicolas J. Kelly and Christian
H. Bischof provided the required BibTeX entry creation mechanism.
However, I experienced problems with the operation of the program:
with no warning the program would core-dump when saving an entry,
loosing all the work invested in that entry.  Whether that behaviour
was due to my use of X11 R6 as opposed to the source codes stated
need for X11 R4, I remain uncertain.  But since XBibTeX only handled a
part of my requirements, I determined that resolving that problem was not
good use of my time.  I tried BibView by Holger Martin, Peter Urban,
and Armin Liebl but could not get it to compile.  Gerd Neugebauer's
BibTool provided manipulation capabilities for a BibTeX database which
offered promise, but first the database had to be created.

The first question was how to implement the project.  My initial
thinking was to embed my requirements somehow inside a Web browser
because browsers have the required address linking capabilities
already built-in.  However, I anticipated difficulties with that
approach in generating the BibTeX database entries and placing them on
disk.  The alternative was to write in C with a X toolkit.  Of the
toolkits available to me, the GIMP Toolkit (GTK+) looked the most
promising and also I wanted to get some experience in programming with
it.  My interest in GTK+ occurred after reading the documentation that
accompanied version 1.0.  However, that documentation contained many
gaps in the information.  With Red Hat Linux 6.0 came version 1.2.1 of
GTK+ and that resolved may of those perceived shortcomings.  The
writing of XBibFile was accompanied by my learning to program with the
GTK+. 

The development environment used was a Toshiba Satellite 4060XCDT
laptop computer with a 14.1" colour display and 64MB of memory.  On
that hardware, Red Hat Linux 6.0 was run which consisted of a 2.2.5
Linux kernel with egcs version 1.1.2, and GTK+ version 1.2.1.

During that first week, the majority of time was taken up in learning
to use the GTK toolkit.  First the latest version (1.2.5) available on
the Internet was downloaded.  It was hoped that the developers of the
package would have improved the state of ddocumentation included in
earlier distributions.  That was not the case.  To supplement the
documentation, the examples included in the distribution allowed a
level of understanding to be obtained.  By the afternoon of Friday,
enough of an understanding of GTK had been obtained to enable work on
XBibFile to commence.

It took 10 days of fairly intensive work to get the first stage of the
program completed.  By that time, a reference could be created and
stored.  Work then ceased.  Upon using BibTeX for another project, I
realised that the NOTE entry was incorrect.  That entry was ment for
introducing annotation with each reference but was not supposed to be
included when a reference list was generated via BibTeX.  Kopka and
Daly[1999] indicate that such a field should be titled ANNOTE.  Also
Kopka and Daly[1999] indicate that the NOTE field was required in an
entry of type UNPUBLISHED; it was optional in all others.  ANNOTE was
adopted in XBibFile as it appeared to be more appropriate.