JavaBib III Documentation

Contents

Startup

The method by which JavaBib is started depends on the installation you choose.  If you are running the program from a '.jar' file, type 'java -jar JavaBib.jar'  The '.jar' file contains a manifest file which indicates which class contains the 'main' method.  Alternatively, you can unpack the '.jar' file into a directory.  The class files will then be present as separate files.  This method of loading the files may be slightly faster as each file does not need to be unpacked.  However, since the Java interpreter only loads each class once, the performance benefit will be quite small.  If you have installed JavaBib in this way, execute it by typing 'java JavaBib'.  For both types of execution, one can add a file name to indicate which file JavaBib is to open.

Once JavaBib has been launched, the main window with a blank edit panel appears.  In front of this the startup dialog is displayed.  The startup dialog shows a list of files that have previously been opened.  To open one of the listed files, you can either double click on it or select it, choose 'open listed file', and press continue.  The selected file is then opened.  If the file you want to edit is not listed, or you want to start a new file, select 'open new or unlisted file' and press continue.  A file dialog will be displayed, where you can select a file to open or type in a new file name.  Note that the file name must have a '.bib' extension.  If the selected file does not have a '.bib' or '.bdx' extension, then the selected file name will have '.bib' appended to it.

JavaBib tries to open the named file.  The first step in opening the file is to look for an index file.  Index files have the extension '.bdx'.  The index file contains the name of the associated BibTeX file as well as the length of the file and the date when it was lasted edited.  If the index file is found, it is opened.  If the matching BibTeX file exists and if the length and last modified date are correct, the index is loaded into memory.  The index file contains the location of each entry in the '.bib' file, as well as pointers to the previous and next entry.  If the index file is not present, then the BibTeX file itself is checked for.  If it is found, then an index is generated for the file.  If the BibTeX file is also missing, then a new BibTeX file is opened and made ready for writing.

File Menu

Open

Opening a file repeats the operation that occurs when JavaBib is first launched.  Upon selecting open, a startup dialog is displayed.  This dialog lists the names of recently opened files.  The user may select one of these or open a new file.  Note that only one file can be accessed at one time.  JavaBib does not load the BibTeX file into memory.  Rather, the file is accessed one record at a time, as needed.  Simultaneous access on the same file can lead to problems whenever new records are added.  Thus, it is not advisable to have one file open more than once.

Close

The close operation closes the displayed window.  If the file does not have any records, it is deleted from the disk and the index is not written.  If the file has records, then after the file is closed the index file is also written.  If the window being closed is the last window, then the application is closed.  On closing, the properties file is also written to the disk, storing the dimensions of the window and the list of files that have been worked on.

Compact

The compact operation removes extra space from the database.  When records are deleted or modified, they are overwritten with a line of comment characters.  New records are always added to the end of the file.  Records which contain cross references are added to the end of the file, after which the referred to record is moved to the new end of the file.  This ensures that BibTeX conventions are satisfied.  However, it also means that files will end up full of spaces.  The compact operation removes this extraneous space from between the records.

Import

Records from other BibTeX files can be imported into an open file.  To this point, text files are the only source of import.  When this option is selected, a file dialog is displayed so that the user can select which file to open from.  Note that if you try to import records from a file which is not a BibTeX data file, you may crash JavaBib.  Be careful importing data.

Export

The export operation writes selected entries to a new file.  When export is selected, a file dialog is opened.  Enter the name of the file to export to.  The selected entries will then be written to this file.

Exit

Selecting exit closes all windows and shuts down JavaBib.  On exit, the index files for each open database is written.

Edit Menu

New

Selecting New clears the entry panel and presents a blank record for to record a new entry.  Before displaying the new entry however, any currently displayed information is checked for changes.  If changes have been made, then the user is prompted for confirmation on writing or trashing any changed.  If the record is to be written, it is checked for consistency with the requirements for this record type.  The checks include the presence of all required fields as well as a unique key.  If this entry is a cross reference, the presence of a cross reference key is checked, and a check is made to ensure that the cross reference does not itself contain a cross reference.  Once all checks are passed, the record is written.

Clear

Clears the information in the active record.  All data fields are cleared.  The record type, citation key and crossreference field are not changed by this operation.

Reset

Restore the initial values for this field, before any changes were made.

Cancel

Cancel the current edit operation.  If an existing record is being acted upon, then this operation is the same as reset.  If a new record is being created, cancel causes the edits to be lost and displays the most recently selected record.

Options

Not yet implemented.  In future, this selection will enable various program options to be modified.

Records Menu

Cut

The records cut menu option deletes the selected records from this file and puts the contents of the deleted records into the clipboard.  All the selected records are transferred to the clipboard as well as any required cross referenced records which are not included in the selection.  This ensures that any pasted records will take with them the cross references that are needed.  When the records are deleted, they are removed permanently from the file.  They are overwritten with '%' characters, permanently removing the record information from the file.

Copy

Copy the information in the selected records into the clipboard.  Any additional cross reference information is also copied into the clipboard.  The records that are placed in the clipboard are passed as plain text.  The records can thereby be pasted into any other application that shares the system clipboard.  On the Windows operating system, this works.  On Linux, the X windows system clipboard does not seem to be the same clipboard that Java accesses.

Paste

Paste takes the contents of the system clipboard and reads it as BibTeX records.  If any records are found, they are added to the file.  On addition, duplicate keys are checked for.  If a duplicate key is found, then the user is asked to enter a new key.  Selecting cancel in response to this operation results in the record not being added.  If the key is changed, then any records with a cross reference pointing at this record will also have their key changed.

Delete

Delete removes the selected entries from the file.  The selected records are replaced by TeX comment characters, '%'.  Selecting delete removes the records permanently from the file.

Select All

Select the keys for all the records.  When all the records are selected, cut, copy, paste, and delete operations can be performed on all the records in the file.  Selecting this menu option will switch the selection mode to multiple if that has not already been done.

Deselect All

Deselct all the records in the file.  This method is useful to ensure that records in a large file are not subject to undesired operations.