Skip to content

Bibtex implementation lacks crossref support for inheritance #2021

@Omikhleia

Description

@Omikhleia

SILE 0.14.17 or 0.15-develop

(Modern) bibtex/bitlatex/biber etc. define a special crossref field, indicating that the entry inherits any fields it is missing from the entry it cross-references.

The current implementation ignores it, resulting in incomplete references.

Example

@book{DragonDeBrume5,
  title     = {On some stars, flowers & places in Middle-earth},
  booktitle = {On some stars, flowers & places in Middle-earth},
  year      = 2023,
  publisher = "Le Dragon de Brume",
}

@inbook{LefevreMercury2023,
  author    = "Lefèvre, Alain",
  title     = "On the lost tale of Mercury",
  crossref  = "DragonDeBrume5",
  pages     = "7--12",
}

The second reference, when output, should use the missing fields from the first, and thus yield:
Lefèvre, “On the lost tale of Mercury.” In On some stars, flowers & places in Middle-earth, 7–12. Le Dragon de Brume, 2023.

In other terms, it should be equivalent to:

@inbook{LefevreMercury2023,
  author    = "Lefèvre, Alain",
  title     = "On the lost tale of Mercury",
  booktitle = {On some stars, flowers & places in Middle-earth},
  year      = 2023,
  publisher = "Le Dragon de Brume",
  pages     = "7--12",
}

Rationale

This inheritance mechanism is useful for collections, avoiding to repeat identical fields.

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions