bibtex-exclude v0.2.1
bibtex-exclude
bibtex-exclude is a tool to help with conducting a literature review by applying exclusion criteria to entries within BibTeX files.
Install:
npm install bibtex-exclude --globalInstructions
Create a directory to work in. Within this, create the directories
databasesandexclusion.Search academic databases and export results as BibTeX into the
databasesdirectory. E.g. you might put the exported results of a search on ACM DL indatabases/acm.bib.Run
bibtex-exclude. Results from each database will be combined (with duplicates merged) and output toresults.bib.Read through
results.bib. Any results which don't conform to your review inclusion criteria should be copied and pasted to bib files in theexclusion/directory. The name for each bib file should correspond to the reason for exclusion - e.g.exclusion/not-empirical.bibmight contain any BibTeX entries which correspond to papers which do not report empirical findings.Run
node index.jsto updateresults.bib. Again, the results from each database will be included. Any entries in the exclusion bib files will be removed. The tool will also output the count of results at each stage, e.g.:Loading databases... acm: 40 ebscohost: 129 jstor: 12 known: 17 pubmed: 15 scopus: 355 webofscience: 151 Total: 719 Removing duplicates... duplicates: (240) Total: 479 Applying exclusions... off-topic: (256) not-quantitative: (137) not-empirical: (38) not-english: (13) TOTAL ELIGIBLE: 35 (479 - 444) Results written to results.bib
If you wish to repeat the literature review in the future, you can re-use the exclusion lists to exclude those records from new database results. This makes it much easier to keep a literature review up-to-date.
Exclusion lists could also be built from database searches for papers which should not form part of your results.
Use option --new to write results to results1.bib if results.bib already exists, where results1.bib will only include results which are not already in results.bib. If results1.bib already exists, then results will be written to results2.bib, which will only include results not in results.bib or results1.bib, etc.