||1 month ago|
|doc||4 months ago|
|.gitignore||4 months ago|
|LICENSE||4 months ago|
|README.md||1 month ago|
|cj_base.py||4 months ago|
|migrate_jabref_2_citavi.py||4 months ago|
Migrate JabRef to Citavi
Steps to migrate
Prepare JabRef's bib-file
- Get the bib file. You can use example.bib for a first warming up test.
- Convert all none-StaticGroups (e.g. keyword groups) to StaticGroups via Edit Group -> Collect by: Explicit collection -> And click OK when asked Assign the original group's entries to this group? You can check if all groups are StaticGroup when open the bib file in all text editor and look at the end of the file.
Import the bib file in Citavi via Citavi's own import feature.
- Create an empty Citavi project.
- Extras -> Options -> Citations -> activate LaTeX-Support
- Title -> Import -> Import from text file
- Add new text-filter and use it -> "BibTeX (unknown fields to Notes)"
- In the next dialog window take care of encoding (maybe "UTF-8"?) and the correct order for first- and lastname. If you have both forms ("John Doe" and "Doe, John") in your bib-file I recommand to use "Doe, John" while Citavi import. Citavi is able to recognize and transform not all but most of the "John Doe" forms, too.
- Uncheck overwrite bibtex keys. The keys in Citavi need to be the same as in the bib-file.
- Close Citavi and the Citavi project.
Prepare your Python3 environment
- Install Python3 if needed.
- Install this additational python packages via package manager of your choice.
Run the script
Run the script
migrate_jabref_2_citavi.py (wihtout the
.py) and give the name's of the
JabRef and Citavi file as a parameter to it.
py -3 -m migrate_jabref_2_citavi example.bib myliterature.ctv6
Possible problems can happen with JabRefs file directory. The script is build that way that it recoginize this problems and inform you about it. But please open a bug report if your use case is not handled.
Prepare yourself to run the script multiple times because you will ran into parsing problems. JabRef allow to create bad and damaged bib-files. But the pybtex package that is used by the script for parsing that bib-file is much more accurate and will throw Exceptions when something is wrong. For example missing or duplicated bibtex-keys, wrong characters (e.g. HTML-stuff), to many commas in journal titles, etc.
Please feel free to contact me via the Codebergs issue system or direct. Find more contact details in the py-source file.