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

Add support of BibLaTeX extended name format #4558

Open
1 task
douglasrizzo opened this issue Dec 28, 2018 · 13 comments
Open
1 task

Add support of BibLaTeX extended name format #4558

douglasrizzo opened this issue Dec 28, 2018 · 13 comments

Comments

@douglasrizzo
Copy link

douglasrizzo commented Dec 28, 2018

JabRef version 4.3.1

Steps to reproduce the behavior:

  1. Have an entry in the database in which the first author name is written using the BibTeX extended name format, for example:
@InProceedings{Hasselt2016,
  author     = {family=Hasselt, given=Hado P., prefix=van useprefix=false and Guez, Arthur and Hessel, Matteo and Mnih, Volodymyr and Silver, David},
  title      = {Learning Values across Many Orders of Magnitude},
  booktitle  = {Advances in Neural Information Processing Systems},
  date       = {2016},
  pages      = {4287--4295},
  url        = {http://papers.nips.cc/paper/6076-learning-values-across-many-orders-of-magnitude},
  urldate    = {2017-06-07}
}
  1. In the main table, click the header of the column author/editor to sort entries by author/editor name.

Expected behavior: the example entry should be listed under the letter H (for Hasselt) or maybe V (for the van prefix).

Actual behavior: The example entry is listed first in my database, probably using the "f" letter of the "family" word for sorting.

Additional info: The BibTeX extended name format is somewhat described in section 3.8 of the Biber manual.

@Siedlerchr
Copy link
Member

Hi, JabRef and BibTeX don't support semantic annotations of authors, e.g. given or prefix.
JabRef applies a similiar author parsing algorithm as bibtex. So you can just write Hado P van Hasselt and JabRef will figure the name parts automatically.

And also please always test the latest dvelopment version (There's a reason why we put that in the issue description)

http://mirrors.ibiblio.org/CTAN/macros/latex/contrib/biblatex/doc/biblatex.pdf

@tobiasdiez tobiasdiez changed the title Wrong sorting by author/editor when BibTeX extended name format is used Add support of BibLaTeX extended name format Dec 28, 2018
@tobiasdiez
Copy link
Member

@NorwayMaple this might be a good issue for you. In the end it concerns mainly https://github.com/JabRef/jabref/blob/master/src/main/java/org/jabref/model/entry/AuthorListParser.java and does not involve any frontend programming.

@abepolk
Copy link
Contributor

abepolk commented Dec 30, 2018

@tobiasdiez I was thinking of working on the issue I mentioned on Gitter relating to multiple instances of JabRef. See the issue there for details.

@douglasrizzo
Copy link
Author

douglasrizzo commented Dec 30, 2018

@Siedlerchr the problem is not necessarily how JabRef actually parses author names, but that there are some annotations in the "name-level" that are actually useful and can't be directly translated by simply parsing an author's name. In my example, the useprefix annotation alters the behavior of some citation styles. If useprefix=true, the citation style prints "van Hasselt" in citations and references. If its value is false, it prints only "Hasselt".

When working with LaTeX, biblatex allows many of these annotations to be set for an entire document, like so:

\usepackage[useprefix=true]{biblatex}

I've also seen some entries in my bib file keeping "entry-level" configurations in an options field:

@InProceedings{Ree2013,
  author        = {van der Ree, Michiel and Wiering, Marco},
  title         = {Reinforcement learning in the game of Othello: Learning against a fixed opponent and learning from self-play},
  booktitle     = {2013 IEEE Symposium on Adaptive Dynamic Programming and Reinforcement Learning (ADPRL)},
  year          = {2013},
  date          = {2013-04},
  eventtitle    = {2013 IEEE Symposium on Adaptive Dynamic Programming and Reinforcement Learning (ADPRL)},
  note          = {00026},
  publisher     = {IEEE},
  location      = {Singapore, Singapore},
  month         = apr,
  isbn          = {978-1-4673-5925-2},
  pages         = {108--115},
  doi           = {10.1109/adprl.2013.6614996},
  url           = {http://ieeexplore.ieee.org/document/6614996/},
  options       = {useprefix=true}
}

But suppose I have two authors in the same entry, one which would need useprefix=true and the other with useprefix=false in order to have their names printed correctly. JabRef could use the annotations to initially parse a name and strip the annotations afterwards, but these configuration annotations would need to somehow be kept.

Keep in mind that useprefix is not the only annotation that behaves like this. There are others that dictate how each author's initials should be created (by either adding or ignoring dashes, prefixes and suffixes) and so on.

github-actions bot pushed a commit to CaptainDaVinci/jabref that referenced this issue Feb 15, 2020
9e81857 Update marine-ornithology.csl (JabRef#4566)
938537e Update government-and-opposition.csl (JabRef#4564)
50d0635 Update annales-de-demographie-historique.csl (JabRef#4560)
42b54d9 Create marine-ornithology.csl (JabRef#4559)
eff41bb Create dermatology-online.csl (JabRef#4558)
3911696 Update journal-of-forensic-sciences.csl (JabRef#4554)
059ea33 Small capitals and categories (JabRef#4556)
97b8c84 Create CSL Styles: estudios_hispanicos.csl (JabRef#4557)
57e0f9d Update sciences-po-ecole-doctorale-note-french.csl (JabRef#4552)
f481ea3 Create ipb-ppki-3.csl (JabRef#4550)
899d302 Update journal-of-neolithic-archaeology.csl (JabRef#4553)
e106215 Create annales-de-demographie-historique.csl (JabRef#4512)
4dd974e Create lauterbornia.csl (JabRef#4525)
e5277ae Update sciences-po-ecole-doctorale-note-french.csl (JabRef#4551)
f9cfe40 Add new IOP dependents (JabRef#4549)
daff985 Create brazilian-journal-of-veterinary-research-and-animal-science.csl (JabRef#4544)
10c6fa8 Update ens-de-lyon-centre-d-ingenierie-documentaire.csl (JabRef#4545)

git-subtree-dir: src/main/resources/csl-styles
git-subtree-split: 9e81857
github-actions bot pushed a commit that referenced this issue Feb 15, 2020
9e81857 Update marine-ornithology.csl (#4566)
938537e Update government-and-opposition.csl (#4564)
50d0635 Update annales-de-demographie-historique.csl (#4560)
42b54d9 Create marine-ornithology.csl (#4559)
eff41bb Create dermatology-online.csl (#4558)
3911696 Update journal-of-forensic-sciences.csl (#4554)
059ea33 Small capitals and categories (#4556)
97b8c84 Create CSL Styles: estudios_hispanicos.csl (#4557)
57e0f9d Update sciences-po-ecole-doctorale-note-french.csl (#4552)
f481ea3 Create ipb-ppki-3.csl (#4550)
899d302 Update journal-of-neolithic-archaeology.csl (#4553)
e106215 Create annales-de-demographie-historique.csl (#4512)
4dd974e Create lauterbornia.csl (#4525)
e5277ae Update sciences-po-ecole-doctorale-note-french.csl (#4551)
f9cfe40 Add new IOP dependents (#4549)
daff985 Create brazilian-journal-of-veterinary-research-and-animal-science.csl (#4544)
10c6fa8 Update ens-de-lyon-centre-d-ingenierie-documentaire.csl (#4545)

git-subtree-dir: src/main/resources/csl-styles
git-subtree-split: 9e81857
github-actions bot pushed a commit to abepolk/jabref that referenced this issue Feb 15, 2020
9e81857 Update marine-ornithology.csl (JabRef#4566)
938537e Update government-and-opposition.csl (JabRef#4564)
50d0635 Update annales-de-demographie-historique.csl (JabRef#4560)
42b54d9 Create marine-ornithology.csl (JabRef#4559)
eff41bb Create dermatology-online.csl (JabRef#4558)
3911696 Update journal-of-forensic-sciences.csl (JabRef#4554)
059ea33 Small capitals and categories (JabRef#4556)
97b8c84 Create CSL Styles: estudios_hispanicos.csl (JabRef#4557)
57e0f9d Update sciences-po-ecole-doctorale-note-french.csl (JabRef#4552)
f481ea3 Create ipb-ppki-3.csl (JabRef#4550)
899d302 Update journal-of-neolithic-archaeology.csl (JabRef#4553)
e106215 Create annales-de-demographie-historique.csl (JabRef#4512)
4dd974e Create lauterbornia.csl (JabRef#4525)
e5277ae Update sciences-po-ecole-doctorale-note-french.csl (JabRef#4551)
f9cfe40 Add new IOP dependents (JabRef#4549)
daff985 Create brazilian-journal-of-veterinary-research-and-animal-science.csl (JabRef#4544)
10c6fa8 Update ens-de-lyon-centre-d-ingenierie-documentaire.csl (JabRef#4545)
c531528 create mcgill9-en.csl, Canadian McGill legal style (JabRef#4532)
e2416fa Update clinical-and-experimental-optometry.csl (JabRef#4538)

git-subtree-dir: src/main/resources/csl-styles
git-subtree-split: 9e81857
github-actions bot pushed a commit to NikodemKch/jabref-1 that referenced this issue Feb 15, 2020
9e81857 Update marine-ornithology.csl (JabRef#4566)
938537e Update government-and-opposition.csl (JabRef#4564)
50d0635 Update annales-de-demographie-historique.csl (JabRef#4560)
42b54d9 Create marine-ornithology.csl (JabRef#4559)
eff41bb Create dermatology-online.csl (JabRef#4558)
3911696 Update journal-of-forensic-sciences.csl (JabRef#4554)

git-subtree-dir: src/main/resources/csl-styles
git-subtree-split: 9e81857
github-actions bot pushed a commit to calixtus/jabref that referenced this issue Feb 17, 2020
aa52aaa Encrypt Travis CI notification email addresses (JabRef#4570)
d8f2843 Update ayer.csl (JabRef#4569)
448e67e Create ayer.csl (JabRef#4565)
bf1ddae Update springer-basic-author-date.csl (JabRef#4562)
db525ac Update american-journal-of-physical-anthropology.csl (JabRef#4567)
9e81857 Update marine-ornithology.csl (JabRef#4566)
938537e Update government-and-opposition.csl (JabRef#4564)
50d0635 Update annales-de-demographie-historique.csl (JabRef#4560)
42b54d9 Create marine-ornithology.csl (JabRef#4559)
eff41bb Create dermatology-online.csl (JabRef#4558)
3911696 Update journal-of-forensic-sciences.csl (JabRef#4554)
059ea33 Small capitals and categories (JabRef#4556)
97b8c84 Create CSL Styles: estudios_hispanicos.csl (JabRef#4557)
57e0f9d Update sciences-po-ecole-doctorale-note-french.csl (JabRef#4552)
f481ea3 Create ipb-ppki-3.csl (JabRef#4550)
899d302 Update journal-of-neolithic-archaeology.csl (JabRef#4553)
e106215 Create annales-de-demographie-historique.csl (JabRef#4512)
4dd974e Create lauterbornia.csl (JabRef#4525)
e5277ae Update sciences-po-ecole-doctorale-note-french.csl (JabRef#4551)
f9cfe40 Add new IOP dependents (JabRef#4549)
daff985 Create brazilian-journal-of-veterinary-research-and-animal-science.csl (JabRef#4544)
10c6fa8 Update ens-de-lyon-centre-d-ingenierie-documentaire.csl (JabRef#4545)

git-subtree-dir: src/main/resources/csl-styles
git-subtree-split: aa52aaa
github-actions bot pushed a commit to systemoperator/jabref that referenced this issue Feb 26, 2020
f03dece Bump nokogiri from 1.10.7 to 1.10.8 (JabRef#4580)
31bacc1 JCL: Fix formatting & space before locator
adfc9b0 Add The Journal of Comparative Law (JabRef#4576)
599d39c Create uni-freiburg-geschichte.csl (JabRef#4561)
3ad8d40 Add Begell House styles (JabRef#4575)
223527b Create begell-apa.csl (JabRef#4574)
d73b9a9 Update journal-of-neolithic-archaeology.csl (JabRef#4572)
5b2810c Create anatomical-sciences-education.csl (JabRef#4573)
9454897 Update ASA style
b3c6efd Reorder/reindent (JabRef#4571)
aa52aaa Encrypt Travis CI notification email addresses (JabRef#4570)
d8f2843 Update ayer.csl (JabRef#4569)
448e67e Create ayer.csl (JabRef#4565)
bf1ddae Update springer-basic-author-date.csl (JabRef#4562)
db525ac Update american-journal-of-physical-anthropology.csl (JabRef#4567)
9e81857 Update marine-ornithology.csl (JabRef#4566)
938537e Update government-and-opposition.csl (JabRef#4564)
50d0635 Update annales-de-demographie-historique.csl (JabRef#4560)
42b54d9 Create marine-ornithology.csl (JabRef#4559)
eff41bb Create dermatology-online.csl (JabRef#4558)
3911696 Update journal-of-forensic-sciences.csl (JabRef#4554)
059ea33 Small capitals and categories (JabRef#4556)
97b8c84 Create CSL Styles: estudios_hispanicos.csl (JabRef#4557)
57e0f9d Update sciences-po-ecole-doctorale-note-french.csl (JabRef#4552)
f481ea3 Create ipb-ppki-3.csl (JabRef#4550)
899d302 Update journal-of-neolithic-archaeology.csl (JabRef#4553)
e106215 Create annales-de-demographie-historique.csl (JabRef#4512)
4dd974e Create lauterbornia.csl (JabRef#4525)
e5277ae Update sciences-po-ecole-doctorale-note-french.csl (JabRef#4551)
f9cfe40 Add new IOP dependents (JabRef#4549)
daff985 Create brazilian-journal-of-veterinary-research-and-animal-science.csl (JabRef#4544)
10c6fa8 Update ens-de-lyon-centre-d-ingenierie-documentaire.csl (JabRef#4545)

git-subtree-dir: src/main/resources/csl-styles
git-subtree-split: f03dece
@tobiasdiez tobiasdiez added this to Normal priority in Features & Enhancements via automation Jan 1, 2021
@tobiasdiez tobiasdiez added this to Medium in Candidates for university projects via automation Jan 1, 2021
@JabRef JabRef deleted a comment from github-actions bot Jul 2, 2021
@calixtus
Copy link
Member

Whoever does this should be very concise and must provide tests to show that this enhancement is not breaking something else.

@marcelolaia
Copy link

marcelolaia commented Jan 21, 2024

I believe I can contribute to this topic and would like to bring up a related issue.

In the BibTeX entry (Ignacio2019), the current citation format displays "da Silva Ignacio, 2019," while the ideal format should be "Ignacio, 2019."

In the reference lists, the prefixes "da" and "de" in names like "da Silva" and "de Almeida" are treated as family names. However, these prefixes should be considered as prefix names, not separate surnames.

I noticed a similar issue in a different context in this forum topic, where the author had a case with the prefix "van." I thought it could be relevant to point out that this issue also applies to Latin names in Brazil.

I hope that this information can help address this issue effectively. Thank you.

@Article{Ignacio2019,
  author    = {Luís Henrique da Silva Ignacio and Pedro Eduardo de Almeida Santos and Carlos Antonio Ribeiro Duarte},
  journal   = {Renewable and Sustainable Energy Reviews},
  title     = {An experimental assessment of \emph{Eucalyptus} urosemente energy potential for biomass production in Brazil, energia or energética},
  year      = {2019},
  issn      = {1364-0321},
  pages     = {361--369},
  url       = {https://doi.org/10.1016/j.rser.2018.12.053},
  urldate   = {2024-01-15},
  volume    = {103},
  doi       = {10.1016/j.rser.2018.12.053},
  groups    = {Óleo Essencial},
  month     = apr,
  publisher = {Elsevier BV},
}

JabRef prevew:

Article (Ignacio2019) 

da Silva Ignacio, Luís Henrique / de Almeida Santos, Pedro Eduardo / Duarte, Carlos Antonio Ribeiro 
An experimental assessment of Eucalyptus urosemente energy potential for biomass production in Brazil, energia or energética 
2019-04 

Renewable and Sustainable Energy Reviews , Vol. 103 
Elsevier BV 
p. 361-369

Citation in LibreOffice reference list:

da Silva Ignacio, L.H., Santos, P.E.d.A., Duarte, C.A.R.. 2019. An experimental assessment of Eucalyptus urosemente energy potential for biomass production in Brazil, energia or energética. Renewable and Sustainable Energy Reviews. 103, 361-369. https://doi.org/10.1016/j.rser.2018.12.053.

@ThiloteE
Copy link
Member

Sure, I will assign you.

@ThiloteE ThiloteE added the FirstTimeCodeContribution Triggers GitHub Greeter Workflow label Jan 21, 2024
Copy link
Contributor

As a general advice for newcomers: check out Contributing for a start. Also, guidelines for setting up a local workspace is worth having a look at.

Feel free to ask here at GitHub, if you have any issue related questions. If you have questions about how to setup your workspace use JabRef's Gitter chat. Try to open a (draft) pull-request early on, so that people can see you are working on the issue and so that they can see the direction the pull request is heading towards. This way, you will likely receive valuable feedback.

@marcelolaia
Copy link

I want to clarify a potential misunderstanding and express that I am not a developer, and, unfortunately, I am unable to directly contribute to the project.

My previous message may have given the impression that I am a developer looking to contribute code. However, I am a user who noticed a citation formatting issue in the BibTeX entry (Ignacio2019), which I described in my earlier message.

I understand that addressing this issue requires technical expertise, which I do not possess. My intention was solely to bring this matter to the attention of the developers who can make the necessary adjustments to improve citation formatting.

I apologize for any confusion, and I appreciate the work that the developers do to enhance the project. If there's any way I can assist in providing further information or testing, please let me know. Thank you for your understanding.

@ThiloteE
Copy link
Member

Oh, my bad. Then I will unassign you. Sorry for the noise.

@ThiloteE ThiloteE removed the FirstTimeCodeContribution Triggers GitHub Greeter Workflow label Jan 21, 2024
@koppor
Copy link
Member

koppor commented Jan 22, 2024

Implementing this strongly contributes to #6856.

A new JavaFX component to handle "person names" has to be a) designed and b) implemented.

Ideas:

Type - Value lists:

  • Type: e.g., family name
  • Value: concrete entry

In other words: a key-value input for the content of the fields

The data model of JabRef already supports these name fields (check org.jabref.model.entry.Author). Thus, it is "just" about implementing the UI.

@koppor koppor added the ui label Jan 22, 2024
@koppor
Copy link
Member

koppor commented Mar 25, 2024

Issue #8760 also describes this. Can be used as testing input.

@koppor
Copy link
Member

koppor commented Mar 25, 2024

Historical note - the BibTeX name format is described in following article:

@Article{Hufflen:TB27-2-243,
  author =       "Jean-Michel Hufflen",
  title =        "Names in {{\sl BibTeX}} and ml{{\sl BibTeX}}",
  journal =      [j-TUGboat](http://ftp.math.utah.edu/pub/tex/bib/tugboat.html#j-TUGboat),
  volume =       "27",
  number =       "2",
  pages =        "243--253",
  year =         "2006",
  ISSN =         "0896-3207",
  ISSN-L =       "0896-3207",
  bibdate =      "Mon May 25 14:17:16 MDT 2015",
  bibsource =    "https://www.math.utah.edu/pub/tex/bib/index-table-t.html#tugboat;
                 https://www.math.utah.edu/pub/tex/bib/tugboat.bib;
                 https://www.tug.org/tug2006/",
  URL =          "https://tug.org/TUGboat/tb27-2/tb87hufflen.pdf",
  acknowledgement = ack-bnb # " and " # ack-nhfb,
  confnote =     "TUG 2006 Proceedings (Marrakesh, Morocco), and regular
                 articles.",
  fjournal =     "TUGboat",
  issue =        "87",
  journal-URL =  "https://tug.org/TUGboat/",
  remark =       "Advanced{\Dash}parsing names in bibliographies in a
                 robust and extensible way.",
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Free to take
Status: Normal priority
Development

No branches or pull requests

9 participants