You can add your own, if you have new observations, or useful comments. You can also tell me if I have made mistaken notes.
1) Edit your the Bibtex format first:
- Modifying the Bibtex.fmt doesn’t make BE to update the output. Therefore, you have to make the format the way you want it to be. Clean it, make it as good as it can be before you synced your library.
If you find errors on the format, for example I find that on the @Misc type, the Keywords field was containing some weird characters such as `}`. I need to fix the format first, deleted the synced Bib file, and re-create the sync.
2) Sort your references before you sync: It is very important to put edited books and proceedings after @incollections and inbooks, if you use crossref. For that, the best strategy is to order your items inside BE library before you sync them.
- I only latter I learned that the sorting order I use in the library window is respected on the export as well. Therefore, you have use the “type” as the sorting criteria; and put it in descending order where Z comes first, and A comes last.
That way, the Books proceedings will come after , inbook and incollection types. That will generate a correct crossref between the books (parents) and their children.
Unfortunately, this method fails for @proceedings and @inproceedings. Therefore, you need to use another tool to sort them correctly, if you have many references of these types.
A second alternative is to use biblatex. If you use biblatex, sorting is automatic. Unfortunately, at least for me, using biblatex, the problems outweighs its benefits.
A third alternative is to open the bib file in Jabref or Bibdesk and save it. These applications are tuned to soft references to fit to the requirements of crossref by default.
The fourth method is using other tools such as bibsort and bibtool. If anyone is interested I can share my workflow using bibtool and hazel to automate the sorting of entries in the bib file. I have fully automated this that every time I synced inside BE (updated the bib file), Hazel will pickup and run bibtool over it so that the references will be sorted correctly.
3) Make the export format as minimal as possible . I especially recommend to avoid exporting the abstract field because abstracts imported from the web are messy. They may contain some weird characters that could disturb the bibtex. Keywords are also unimportant because they are not normally printed in the Bibliography. Anything field that is not going to appear in the bibliography need not to be exported.
Here is my format for the @article:
Code: Select all
`@Article{`u1`,`$
author = {$a}, $
title = {$t}, $
journal = {$j}, $
volume = {$v}, $
number = {$i}, $
pages = {$p–}, $
doi = {$u17}, $
url = {$z}, $
year = {$d}`}`¬
Code: Select all
`@incollection{`u1`,`$
author = {$a}, $
title = {$t}, $
booktitle = {$j}, $
chapter = {$v}, $
editor = {$e}, $
publisher = {$u}, $
address = {$l}, $
pages = {$p–}, $
crossref = {$u3}, $
doi = {$u17}, $
url = {$z}, $
year = {$d}`}`¬
4) Put your synced bib file at the root of your tex installation; and forget about it.
In the mac, putting the bib file inside /Users/username/Library/texmf/bibtex/bib/ is a good practice.
https://pages.uoregon.edu/koch/texshop/ ... stuff.html
Wherever you are compiling your tex files, you don’t need to move the bib file with the project. Tex will automatically find the bib files once you put them in the right path.
5) Edit inside BE: not on the bib file. Even if modifying the bib file turn out cause no problem, it is best to edit inside BE to make the main library as clean as possible.
Any illegal character appearing in your bib file causing errors, don’t be tempted to fix in the bib file itself. Go to BE and remove it and update it. That is the way to keep our house clean.