I work on both Windows and OS X. On the Mac, I love BibDesk and how it displays keywords and linked files. On Windows, I use JabRef, which is nice but is not BibDesk.
The main problem I have is how files are saved. I keep my .bib
files under git, and when I open the file in one application, edit some entry and save the file, all entries are modified, so the git diffs are not an indication of what actually was changed. For example, here is how one entry is saved by BibDesk:
@article{bib:farzaneh,
Author = {Seyed Amir Farzaneh and Mehran Sohrabi},
Date-Added = {2015-02-09 19:04:24 +0000},
Date-Modified = {2015-02-09 19:06:24 +0000},
Journal = {Chemical Engineering Research and Design},
Keywords = {CO2 foam, heavy oil recovery, foam flood, foam stability, alkaline, surfactant screening},
Pages = {375-389},
Title = {Experimental investigation of CO2-foam stability improvement by alkaline in the presence of crude oil},
Volume = {94},
Year = {2015},
Bdsk-File-1 = {YnBsaXN0MDDUAQIDBAUGJCVYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKgHCBMUFRYaIVUkbnVsbNMJCgsMDxJXTlMua2V5c1pOUy5vYmplY3RzViRjbGFzc6INDoACgAOiEBGABIAFgAdccmVsYXRpdmVQYXRoWWFsaWFzRGF0YV8QUy4uL0Ryb3Bib3gvcGFwZXJzL0ZhcnphbmVoXzIwMTVfRXhwZXJpbWVudGFsIGludmVzdGlnYXRpb24gb2YgQ08yLWZvYW0gc18wMDAwMDAucGRm0hcLGBlXTlMuZGF0YU8RAkgAAAAAAkgAAgAADk1haW4gUGFydGl0aW9uAAAAAAAAAAAAAAAAANC1mYhIKwAAAAt4uR9GYXJ6YW5laF8yMDE1X0V4cGVyaSMyMDk2REEucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIJba0P5/EgAAAAAAAAAAAAEAAwAACSAAAAAAAAAAAAAAAAAAAAAGcGFwZXJzABAACAAA0LW1qAAAABEACAAA0P6bMgAAAAEAEAALeLkAC3bdAAUzQAAAwAoAAgBVTWFpbiBQYXJ0aXRpb246VXNlcnM6AGZhYmlvZm9ydGthbXA6AERyb3Bib3g6AHBhcGVyczoARmFyemFuZWhfMjAxNV9FeHBlcmkjMjA5NkRBLnBkZgAADgCEAEEARgBhAHIAegBhAG4AZQBoAF8AMgAwADEANQBfAEUAeABwAGUAcgBpAG0AZQBuAHQAYQBsACAAaQBuAHYAZQBzAHQAaQBnAGEAdABpAG8AbgAgAG8AZgAgAEMATwAyAC0AZgBvAGEAbQAgAHMAXwAwADAAMAAwADAAMAAuAHAAZABmAA8AHgAOAE0AYQBpAG4AIABQAGEAcgB0AGkAdABpAG8AbgASAGRVc2Vycy9mYWJpb2ZvcnRrYW1wL0Ryb3Bib3gvcGFwZXJzL0ZhcnphbmVoXzIwMTVfRXhwZXJpbWVudGFsIGludmVzdGlnYXRpb24gb2YgQ08yLWZvYW0gc18wMDAwMDAucGRmABMAAS8AABUAAgAU//8AAIAG0hscHR5aJGNsYXNzbmFtZVgkY2xhc3Nlc11OU011dGFibGVEYXRhox0fIFZOU0RhdGFYTlNPYmplY3TSGxwiI1xOU0RpY3Rpb25hcnmiIiBfEA9OU0tleWVkQXJjaGl2ZXLRJidUcm9vdIABAAgAEQAaACMALQAyADcAQABGAE0AVQBgAGcAagBsAG4AcQBzAHUAdwCEAI4A5ADpAPEDPQM/A0QDTwNYA2YDagNxA3oDfwOMA48DoQOkA6kAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAADqw==}}
And here is how JabRef saves it (I did not edit it, just opened and saved the file). Notice that the content was not changed, but the capitalization, spacing and entry order were:
@Article{bib:farzaneh,
title = {Experimental investigation of CO2-foam stability improvement by alkaline in the presence of crude oil},
author = {Seyed Amir Farzaneh and Mehran Sohrabi},
journal = {Chemical Engineering Research and Design},
year = {2015},
pages = {375-389},
volume = {94},
bdsk-file-1 = {YnBsaXN0MDDUAQIDBAUGJCVYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoKgHCBMUFRYaIVUkbnVsbNMJCgsMDxJXTlMua2V5c1pOUy5vYmplY3RzViRjbGFzc6INDoACgAOiEBGABIAFgAdccmVsYXRpdmVQYXRoWWFsaWFzRGF0YV8QUy4uL0Ryb3Bib3gvcGFwZXJzL0ZhcnphbmVoXzIwMTVfRXhwZXJpbWVudGFsIGludmVzdGlnYXRpb24gb2YgQ08yLWZvYW0gc18wMDAwMDAucGRm0hcLGBlXTlMuZGF0YU8RAkgAAAAAAkgAAgAADk1haW4gUGFydGl0aW9uAAAAAAAAAAAAAAAAANC1mYhIKwAAAAt4uR9GYXJ6YW5laF8yMDE1X0V4cGVyaSMyMDk2REEucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIJba0P5/EgAAAAAAAAAAAAEAAwAACSAAAAAAAAAAAAAAAAAAAAAGcGFwZXJzABAACAAA0LW1qAAAABEACAAA0P6bMgAAAAEAEAALeLkAC3bdAAUzQAAAwAoAAgBVTWFpbiBQYXJ0aXRpb246VXNlcnM6AGZhYmlvZm9ydGthbXA6AERyb3Bib3g6AHBhcGVyczoARmFyemFuZWhfMjAxNV9FeHBlcmkjMjA5NkRBLnBkZgAADgCEAEEARgBhAHIAegBhAG4AZQBoAF8AMgAwADEANQBfAEUAeABwAGUAcgBpAG0AZQBuAHQAYQBsACAAaQBuAHYAZQBzAHQAaQBnAGEAdABpAG8AbgAgAG8AZgAgAEMATwAyAC0AZgBvAGEAbQAgAHMAXwAwADAAMAAwADAAMAAuAHAAZABmAA8AHgAOAE0AYQBpAG4AIABQAGEAcgB0AGkAdABpAG8AbgASAGRVc2Vycy9mYWJpb2ZvcnRrYW1wL0Ryb3Bib3gvcGFwZXJzL0ZhcnphbmVoXzIwMTVfRXhwZXJpbWVudGFsIGludmVzdGlnYXRpb24gb2YgQ08yLWZvYW0gc18wMDAwMDAucGRmABMAAS8AABUAAgAU//8AAIAG0hscHR5aJGNsYXNzbmFtZVgkY2xhc3Nlc11OU011dGFibGVEYXRhox0fIFZOU0RhdGFYTlNPYmplY3TSGxwiI1xOU0RpY3Rpb25hcnmiIiBfEA9OU0tleWVkQXJjaGl2ZXLRJidUcm9vdIABAAgAEQAaACMALQAyADcAQABGAE0AVQBgAGcAagBsAG4AcQBzAHUAdwCEAI4A5ADpAPEDPQM/A0QDTwNYA2YDagNxA3oDfwOMA48DoQOkA6kAAAAAAAACAQAAAAAAAAAoAAAAAAAAAAAAAAAAAAADqw==},
date-added = {2015-02-09 19:04:24 +0000},
date-modified = {2015-02-09 19:06:24 +0000},
keywords = {CO2 foam, heavy oil recovery, foam flood, foam stability, alkaline, surfactant screening}
}
Is there any way to change (in either program) how an entry is saved, so they can be consistent?
Best Answer
A solution to your problem would be to add a script to your git workflow, that reformats your .bib-file. One such tool is
biber
in toolmode.Calling:
results in a nicely formated file called
example_bibertool.bib
:You can now rename and commit it.
Also:
biber
can do much more than this (sorting, converting, recoding), just have a look at section 3.12 in the manual.