Humans-of-Julia / BibParser.jl

Parser for bibliographic formats, including BibTeX, in pure Julia
MIT License
13 stars 4 forks source link

BibLaTeX / Biber support #8

Open kellertuer opened 3 years ago

kellertuer commented 3 years ago

I am not sure whether this is a goal, but do you plan to also support the little more modern BibLaTeX/Biber format? It has a few small differences (for example it prefers date fields over year – and there is a type online).

kellertuer commented 3 years ago

similarly, I noticed that the BibLaTeX style of eprints (format eprint=1234.343434 and eprinttype=arXiv) currently yields an error message when trying to parse these fields, since the eprint can not be split at : in this case.

Azzaare commented 3 years ago

@kellertuer Sorry I missed those two messages.

I am updating the bibtex parser this week. I suppose extending it to both BibLaTeX and Biber should be reasonable. I will come to you once th ebibtex part is done.

philipptempel commented 3 years ago

I would also be very interested in support for BibLaTeX as I have transitioned my main bibliographies to BibLaTeX+biber. Isn't BibLaTeX considered the successor of BibTeX and we recommend new users to use BibLaTeX over BibTeX because of its advanced typesetting features and customizability of styles, etc? I keep being surprised that there are actually no good BibLaTeX parsers out there in any programming language (only the one included in JabRef).

singularitti commented 1 year ago

I found that @software and @electronic keys are not supported to be parsed. Probably a BibLaTex issue.

kellertuer commented 1 year ago

That is correct, both are not part of BibTeX (see left column here https://ctan.uib.no/info/biblatex-cheatsheet/biblatex-cheatsheet.pdf) but were introduced in BibLaTeX (see section 2.1 at https://ctan.uib.no/macros/latex/contrib/biblatex/doc/biblatex.pdf)

singularitti commented 1 year ago

Will BibLaTeX be added any time soon?

kellertuer commented 1 year ago

I don‘t know. I am neither a developer of this package nor do I know how this package works, I just opened this issue about 2.5 years ago. Maybe @Azzaare knows? But I saw him also working on several other packages recently, so maybe he is also a bit busy currently?

singularitti commented 1 year ago

Sorry @kellertuer, GitHub labelled you as the "Author", so I thought you were the author of the package. 😓

kellertuer commented 1 year ago

No problem ;) I am author – but just of this Issue.

Azzaare commented 1 year ago

Hi there! Sorry for not implementing the BiLaTeX support yet, I got caught up in real life issues and kind of forgot about it.

I am not familiar with BibLaTeX, so I had to take a look at it. It seems one of the main difference is that several entry types and fields are added. Extending those things is not too hard (although a bit time-consuming).

It seems there are plenty of additional features that might not be straightforward to replicate (based on the PDF on CTAN), but it could be an incremental process based on the users requests.

I am extremely busy until mid-March, but I hope I can at least take care of adding the list of entries (and their required fields) after my deadlines. If someone is motivated, the work to do is to extend the rules in https://github.com/Humans-of-Julia/BibInternal.jl/blob/master/src/bibtex.jl with the BibLaTeX fields requirements per entry type.

kellertuer commented 1 year ago

Some are even renamed, I transferred a few BibTeX to BibLaTeX literature entries myself and journal is journaltitle for example I think.

And don't worry about not getting the time to do something. I know these issues as well :) For me this issue is not urgent. I would love to have better References in my docs – but that would also mean to change white a bit in my docs (and me finding time for that).

And I am also playing around with yet-another-format these days, that is CSL-YAML – which I also have not yet found support in Julia for, but it is also more common, namely just YAML.

Finally, sure, I also think this can be an incremental process for sure.