Basic Bookcase

Eric J. Fimbel - Software - home page 

basic bookcase at Source Forge        basic bookcase at Softpedia       more software at basic lab book

Copyright (C) 2009, 2011 Eric Fimbel. Contact : See license terms at bottom 

Tecnalia - Fatronik supports this open source software since January 2010


Windows XP and further, 25 Mb disk space.

No additional requirement. 

Note. Basic Experimenter is written in Python but it contains a local installation, i.e., it is standalone.

Installation and uninstallation

Installation: unzip the download in any directory. 

Uninstallation: delete the installation directory. 

What is Basic Bookcase?

Basic Bookcase is a wizard-like application that manages your repository of scientific articles (or at large any document, digital or physical, hardcover books, video tapes, etc.)

First, load the repository with articles (or any digital document). Drag-and-drop the document and the citation information (in BibTeX format) in an Input Tray. 

To reference physical documents, load files with an extension that describes the document, e.g., .hardcover, .photo, .cd_audio....

Then, search the repository by author, year, title, etc. Get a copy of the relevant articles. Then get list of references for Your Documents in different formats (BibTeX, APA, IEEE...)

Legal considerations. You can place your electronic copies in a repository without violating copyrights. If you place scanned versions of paper articles in the repository, and/or if you share your repository in a network, you should verify that there is no copyright violation.

Basic Bookcase is designed to speed-up the process of scientific publication, from finding scientific material to writing a manuscript. To do so:

1) A  repository for immediate availability: this is not always the case with web resources (unsuccessful searches, servers or connections down). With a repository you don't need to repeat web searches and you can work offline.

2) Good quality citation information:  correction and standardization of BibTeX files. The poor quality of citation information is a serious problem (whatever its origin: web, automatic extraction from document, manual transcription). Correcting citation errors takes time.

3) Efficient loading of information:  drag-and-drop mechanism, faster than interactive screens. Plain text files for citation information and fault-tolerant parser, safer than automatic extraction from document.

The result? with practice, you may load around 40 documents / hour.

In a beta test (2200 documents) the worst case was 15 documents/hour (scanning of paper version + manual transcription of citation information); the best case was 70 documents/hour  (electronic copy and citation information available).

Scope and features

Basic Bookcase is for multi-owners, multi-users medium-sized repositories.


Each copy of document has an owner (or is declared public domain). The default owner is the OS's login name.

Note. In V1 2010-04-15, this is mostly for traceability, there is no access restriction.

Mono or multi users. The repository can be on a private volume or shared in a local network. 

For shared repository, the management of user profiles is automatic. 

In case of concurrent access, 1st user is librarian  (can update the bookcase), the others are plain users.

Small to medium repositories (several thousands of documents).  

Not an absolute limitation, but processing is slower as the number of documents increases.

Example: catalog update = 2:05 minutes for 2200 documents (notebook Toshiba NB200, external USB Drive LaCie)

Any type of digital documents, from articles to videos and datasets.  

The valid documents are identified by their extension; this list is configurable.

Documents can also be directories (unzipped or zipped).

References physical documents. Each physical document is represented by a file with an explicit extension, e.g.,, myalbum.cd_audio. The list of extensions is reconfigurable.

Any (reasonable) size of documents. 

There is no absolute limit. However, for large files, moving a document in and out the bookcase may be slow.

Standard BibTeX syntax + fault tolerance. Accepts incomplete syntax and abbreviations (e.g., vol 12 -> volume={12}) 

Normalization of fields. 

Heuristics to correct common errors (e.g., confusion of fields) 

Publications (journal, proceedings)  and publishers are normalized from predefined lists

Predefined Lists of publications (journals) and Publishers More than

 9000 journals and 100 scientific publishers.

Automatic backup of former versions of documents 

In case of loading several times the same document.

Works also for collisions (2 documents have same category, 1st author, title and year)

Drag-and-drop loading mechanism, faster than interactive screens.

Multi-field search

: owner, category, author, year, keywords in title, journals.

Multiple-format lists of references.

 BibTeX format,  tab-separated (for spreadsheets) and r

eady-to-paste formats: IEEE-like, APA-like. Any number of user-configurable formats

Reconfigurable (see Section Under the Hood below)


Not for large repositories (> 10.000)

No strict access control (based on documents' owner)

No sophisticated web publication: just a plain HTML file to browse the repository and its catalog. 

No automatic search of information: find your information elsewhere and copy-paste it (no automatic web search, no automatic parsing of documents ..)

No edition facilities: just copy-paste list of references in your manuscript (no reformatting of references and citations, no cross-verification, no external synchronization..)

If Basic Bookcase is not sufficient for your needs, you can use a combination of tools.

There are  Reference Management Software (e.g. JabRef, Zotero), Institutional Repository Managers (e.g. ePrints), Research Collection Managers (e.g. Mendeley), File Indexers (e.g., Google Desktop), Document Database Managers...  

There are also online resources e.g., Google Scholar to find articles and citations, public citations databases, e.g., Medline, publishers's sites, e.g., Science Direct, IEEE Xplore, open access sites, e.g., Public Library of Science... 

Use BibTeX files to exchange information between other tools and Basic Bookcase.

More information: see Annex in documentation.

Still interested? keep on reading.

How it works

Basic Bookcase has 4 screens.

Input (loads the bookcase from the input tray, corrects BibTeX files), 
Catalog (updates and consult the content of the bookcase),  
Search (and copies from the bookcase to your documents) 
Output (manages your documents, creates lists of references)

Figure 1. How Basic Bookcase works

Getting started

1 -
To start Basic Bookcase go to the installation directory and execute startBasicBookcase.exe.  In the task bar, you see:

Icon of Basic Bookcase in the task bar. Version 2010 04 15

2 -
To cancel Basic Bookcase use the close button (X upper right corner) or right-click the task bar icon and use the close option. In this case, the data is not backuped. No matter: you can resume the execution on this data.

Closing Basic Bookcase. Version 2010 04 15

3 - Input Tray

First, define the user (upper right). This will assign an owner to the documents. The bookcase can contain documents from several owners.

Input Tray. Version 2010 04 15

Drag-and-drop your documents in the Input Tray with their BibTeX information, e.g., article1.pdf + article1.bib

If you don't have a BibTeX file, rename the document 
category_author_keywords_year.extension, you will complete the information later.

You can load different types of documents: pdf, doc, rtf, txt, od* (Open Office), etc. You can also load zipped files and/or entire directories (e.g., datasets).

Use button Classify to start. The content of the Input Tray is verified and moved to the bookcase.

In case of error, the process stops. 
Correct the faulty BibTeX file and resume classification.

Error in the Input Tray. Version 2010 04 15

When you are done, use button Next to view the Catalog.

4 - Catalog

Use button Update to prepare the catalog. This may take a few minutes

Updating Catalog Version 2010 04 15

Use button Open Bookcase to browse the bookcase

Documents are grouped by BibTeX Category / Year /. They are named by category, author, year and initials of title.

Use button Open Catalog to view the catalog 

The catalog comes in two formats: BibTeX (.bib) and tab-separated (.tsv; for spreadsheets). 

There are also lists of authors, publications (journals, conference proceedings..) and  publishers (all are .tsv).

To open TSV files, use a spreadsheet.

If the format is not detected automatically in your spreadsheet, a dialog box appears. Define file as delimited, separator=tab.

Recommended: Associate the TSV extension with your favorite spreadsheet. For instance, with XP: file explorer - tools - folder options - file types. Define new type TSV, then use button change to open with your-favorite-spreadsheet.

Tip. you can also view .tsv files with text editors like WordPad(r), Word(r) or Open Office(r).

When you are done, use button Next to view the Search screen.

5 Search

Define the fields of the search

Search screen. Version 2010 04 15

Use button Search to start (or Clear to reset the fields)

The results are in a tab-separated file. Use button Results to open.

Use button Add to My Docs to get a copy of the documents.
Use button To Correct to move faulty documents back to the Input Tray.

6 My Documents

Contains access all the copies you collected by means of Searches

My Documents. Version 2010 04 15

Use button Open Folder to view your documents. 

Each user has her/his folder.

 Each document comes with its BibTeX information.

Use button Open References to view the Lists of References (of all your documents)

Each file contains the list of references in a different format. 

The most important are BibTeX (catalog.bib) and tab-separated (catalog.tsv)

Note. You can search for specific types of documents (physical documents, file extensions) in the tab-separated index, 

There are also ready-to-paste formats (default = IEEE-like and APA-like) 

Note. If you use LaTeX, you don't need this: just use the BibTeX file and define reference style in the editor.

Under the hood

Configuration files. 

Basic Bookcase can be largely reconfigured. 

The configuration files are plain python files that contain definition of constants (e.g. parameter=12).

In case of error, the system switches back to its default configuration. See 


for details.

You can configure the following.

Paths. Directories are reconfigurable.

Aspect. Appearance of the screens, fonts, colors, etc.

BibTeX categories

Reconfigure the BibTeX categories: add categories, (re) define mandatory and optional fields for each category.

File format and character sets. You can do low-level configuration (escape sequences, accent conversion..), etc.  

Formatted lists of references. You can (re) define formats for the lists of references of your documents (current formats are APA-like and IEEE-like). The process is explained in the 

Fault-tolerance and correction heuristics. They are hard-coded but can be partially parameterized, e.g., abbreviations for BibTeX categories (vol. -> volume), words to omit (the, of), etc. See 

documentation for details. 

Predefined publications and publishers. Basic Bookcase uses lists of journals and publishers to normalize the BibTeX files. You can customize these lists. See 

 for details. 

The current lists contain more than 9000 journals and 100 publishers. They have been built from the following sites

Here are the original files (or screens) + formatted files + python programs for conversion

Former versions & version history

Current version - 2011 03 01

new features

can reference physical documents

extended list of digital documents (now includes audio, video, pictures, etc.)

compound documents: 1 reference = multiple files with same name and different extensions.

DOI (Digital Object Identifier) included in standard BibTeX fields. see

accepts non-standard BibTex fields (allows importing BibTeX from other sources without loss of information)

accepts fields with multiple lines values enclosed in { }

bugs & modifications

problem when loading multiple files with same name (the BibTeX file was deleted after 1st file): now solved.
did not create intermediate subdirectories when initializing working directories.

did not take user as default owner.

stricter control of double quotes (forces parity), otherwise problems with some spreadsheets (e.g., Open Office)

case-insensitive for BibTeX categories

Previous versions


This program is free software; you can redistribute it and/or modify  it under the terms of the GNU General Public License as published by  the Free Software Foundation version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  

See the GNU General Public License for more details.

Open source software and icons included in this distribution
    Python   license 
    Ctypes    MIT license
    Pygame   LGPL license
    PGU  LGPL license

    Psyco    MIT license
    MouseRunner  license

Additional recommendation. Remember that you are entirely responsible for misuse. If you  consider sharing your bookcase, be aware of possible copyrights violations.