Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch from natbib to biblatex in livecoms document class #83

Open
ltalirz opened this issue Jul 1, 2021 · 12 comments
Open

Switch from natbib to biblatex in livecoms document class #83

ltalirz opened this issue Jul 1, 2021 · 12 comments

Comments

@ltalirz
Copy link

ltalirz commented Jul 1, 2021

The livecoms documentclass currently uses the natbib package for bibliography management which is ancient and no longer really developed.
In particular, natbib only supports the bibtex format, which has very limited support for citing things like web sites or software (which I guess is a common use case here) - they all end up as the @misc entry type.

Switching to biblatex would provide support for the biber backend (while still supporting bibtex as well). biber supports a much wider range of entry types, as well as UTF-8 inside the .bib file.

See e.g. this great summary on the topic.
Note that overleaf also recommends using biblatex.

@davidlmobley
Copy link
Contributor

Thanks for this (and your other issues, which I or one of us will hopefully revisit soon -- all great points). On this one, would you be willing to submit a PR to change? I think we're amenable to switch. I haven't worked with biblatex much myself yet, but your point about web site and other citations sounds like a great reason to switch.

@ltalirz
Copy link
Author

ltalirz commented Aug 12, 2021

I'm not a biblatex expert myself but I opened a PR that demonstrates the basic steps this would involve
#85

I haven't yet spent much time trying to adapt the biblatex style to the livecoms one since this involves quite a bit of work.
Does it need to be fully reproduced?

There are a number of existing styles one could choose from (more on the biblatex contrib).

The PR uses the standard numeric-comp style with one modification (displaying DOIs as valid hyperlinks).
It also contains a commented-out stab a displaying author names like in the current livecoms format (although that still needs more work).

Helpful material for further style adaptation:

@ltalirz
Copy link
Author

ltalirz commented Sep 15, 2021

@davidlmobley
Since I'm already using biblatex for the atomistic.software article, it would would be great to get some feedback on how closely the citation style needs to be reproduced, see comparison in

#85 (comment)

@davidlmobley
Copy link
Contributor

Sorry for the delay; this has been in my tasks but I'm oversubscribed. I don't think the style needs to be exactly reproduced. cc @dwsideriusNIST and @mrshirts in case they have input. Let me see also if anyone else wants to provide feedback.

@dwsideriusNIST
Copy link
Contributor

sorry, missed this issue. I can't get to this for at least two weeks. One concern I have is how biblatex will deal with the requirement of electronic links (DOI, pMID, etc.) and using just one. For some history, take a look at closed issues #53 and #62

@ltalirz
Copy link
Author

ltalirz commented Sep 21, 2021

Hey Dan, just added the ASAP version for the atomistic.software article at https://github.com/ltalirz/livecoms-atomistic-software/blob/master/releases/LiveCoMS_Article_ASAP_V1.pdf

Perhaps have a look whether you notice anything that needs to be improved in the bibliography layout.

In this particular case there doesn't seem to be an issue with identifier precedence (but there isn't really much diversity besides DOIs and URLs).

@dwsideriusNIST
Copy link
Contributor

@ltalirz I'll fork your paper and inspect the difference between natbib and biblatex!

@dwsideriusNIST
Copy link
Contributor

@ltalirz would you create a branch of your paper with the atomistic.software.bl.bib file included so that I run a comparison with natbib?

@ltalirz
Copy link
Author

ltalirz commented Sep 23, 2021

@ltalirz would you create a branch of your paper with the atomistic.software.bl.bib file included so that I run a comparison with natbib?

Done! https://github.com/ltalirz/livecoms-atomistic-software/tree/natbib-comparison

@ltalirz
Copy link
Author

ltalirz commented Oct 14, 2021

Following the editorial decision, I'll be reverting the bibliography of the atomistic.software article back to bibtex/natbib.

In order to serve as (part of the) motivation for the transition to biber/biblatex, below I'll document the issues encountered in this process when using the bibtex export of the zotero reference manager (and comparing it to the biber export):

  • handling of preprints: missing publisher

Using @article for bibtex
image

Using @article for biber
image

  • handling of wikipedia articles: no URL and no visited date. To some degree this could be considered a question of taste; displaying the the URL is clearly more friendly to readers who want to view the article though.

Using @article for bibtex
image
Using @inreference (=item from a reference work) for biber
image

  • handling of web sites: link text is missing link color & is non-breaking

Using @misc for bibtex
image

Using @online for biber
image

  • handling of software on github: no link to the repository

Using @misc for bibtex
image

Using @software for biber
image

@dwsideriusNIST Any suggestions on how to work around these issues in bibtex for the time being?

@dwsideriusNIST
Copy link
Contributor

@ltalirz I'll attempt substitutions to solve these differences and then make a PR into your natbib-comparison branch

@ltalirz
Copy link
Author

ltalirz commented Oct 14, 2021

Thanks a lot for the quick reply @dwsideriusNIST !

In the meanwhile I've fixed the issue with the URLs by modifying the settings of the zotero bibtex exporter (I believe the livecoms template expects them in the url field, not in the howpublished field).

P.S. One thing I came across (just for reference): zotero added type = {GitHub Guide} to one of the entries, which caused the livecoms template to crash with You can't pop an empty literal stack for ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants