Add "Non-standard Types" of biblatex entry types
JabRef 6.0-alpha.459--2025-04-16--b3530c1 Windows 10 10.0 amd64 Java 23.0.1 JavaFX 24+29
Related to https://github.com/plk/biblatex/issues/1454
Biblatex supports "Non-standard Types" entry types.
- See page 14 of https://de.mirrors.cicku.me/ctan/macros/latex/contrib/biblatex/doc/biblatex.pdf).
- Also accessible via https://ctan.org/pkg/biblatex
Is your suggestion for improvement related to a problem? Please describe. My problem is that I am sometimes confused what entry type I should pick in the entry-editor for example for video or image. Reading through the biblatex documentation, I found that "Non-standard Types" are mapped to the "misc" entry type, but to me "misc" is only a fall-back, if nothing else fits, so I am searching and searching for the correct type and cannot find and will finally settle on misc, but that time searching could be diminished by having the "Non-standard Types" available. I think having to cite a video or image or audio is not really something extraordinary in the year 2025.
In short: Non-standard Types are a time-saver.
Describe the solution you'd like Add Non-Standard Types to
- The entry editor
- Add entry dialog
Additional Context
Biblatex-Chicago supports the following entry types by default:
- See page 7 of https://ctan.mc1.root.project-creative.net/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.pdf
- Also accessible via https://ctan.org/pkg/biblatex-chicago
Completed? Maybe you can add some explanations, in case some user has the same problem as yours 😃
I remember JabRef has some support for custom entry types -- maybe this can help too
Closed, not completed, because to tag this as good first issue it might require pointers to code.
Four directions:
A Custom Entry Types
- Guide the end users to https://docs.jabref.org/setup/customentrytypes
- Offer pre-configured entry types
.bibfiles. We can "easily" create one for Chicago - Offer a repository for custom entry types collections and have JabRef make the access to it seamlessly.
B style detection based on .tex
JabRef could parse the .tex files belonging to the .bib file to find out the bibliography style and adapt the UI accordingly.
C hard code the famous types
We can hard code more and more types. However, not all types are supported by all styles. This is a WTF to users (especially to me).
D hard code different styles
We could have a "citation mode" in the bib file. Then, the offered types are changed to the mode. Depending on the mode, JabRef offers different types. All types are hardcoded.
Since there are maybe 30 popular styles, this could be doable. Over the years, we could support all 1000+ styles.
Add a built-in “BibLaTeX Extra Types” section in the Add Entry dialog (and type selector).
This section would include commonly used non-standard BibLaTeX types, such as: image, video, audio, dataset, software, legal, legislation, jurisdiction, codefragment, etc.
They can be placed in a collapsible group (e.g., “BibLaTeX Extra Types”) with short tooltips so users know what each type represents.
Why this helps: Users often don’t know that these types exist in BibLaTeX and end up searching endlessly before settling on misc. Showing them directly in the UI removes that confusion.
✔ Why I believe this direction works better than the others Compared to custom entry types (Option A):
These types are already part of BibLaTeX, so users shouldn’t have to manually configure them.
Compared to style detection (Option B):
Detecting styles from .tex files is powerful, but it also adds a lot of complexity and doesn’t solve the core issue immediately.
Compared to full style profiles (Option D):
Supporting many citation styles long-term would require ongoing maintenance. This issue can be solved without that level of overhead.
Key Benefits
Immediate improvement for anyone citing images, videos, datasets, audio, etc.
Very small and safe code change—mostly UI.
Fully compatible with BibLaTeX’s fallback behavior (types gracefully degrade to misc).
Makes JabRef feel more modern and intuitive, especially for multimedia-heavy work.
Next Steps
If this approach sounds good to you, I’m happy to start working on the implementation. I’m also completely open to suggestions or adjustments—if you think something should be done differently, I’d be glad to discuss it @koppor @ThiloteE
Screenshot of page 14:
These are 15 types.
We should just hard-code them for now: Option C.
General
Offer them in BibLaTeX mode only.
Logic Part
Introduce .withType to org.jabref.model.entry.BibEntryType, which returns a new BibEntryType with the type changed. Then, the 15 new types can be implemetended with one liners.
UI Part
Add new group "Non-standard Types" and offer all 15 there.
@shubhamk0205 Your comment reads like LLM generated, please try to dive into the context for yourself.
@koppor thank u for advice . form now on i will try my best to write it myself and dont use any LLM for writing and formatting my solution
/assign-me
⚠️ Assignment Limit Reached
Hi @shubhamk0205, you've reached the maximum number of 1 concurrent assignments.
[!NOTE] Please complete or unassign from your current issues before taking on new ones.
Current options
- Complete one of your assigned issues and close it
- Use
/unassign-meon an issue you're no longer working on - Ask a maintainer for an exception if this is a special case
/assign @shubhamk0205
👋 Hey @shubhamk0205, thank you for your interest in this issue! 🎉
We're excited to have you on board. Start by exploring our Contributing guidelines, and set up your local development workspace by following the steps in our workspace setup guidelines to get started smoothly.
For questions on JabRef functionality, you can consult the JabRef Guru. For questions related to the codebase, please start using DeepWiki.
In case you encounter failing tests during development, please check our developer FAQs!
Still facing issues or having more questions? Feel free to ask here on GitHub or on JabRef's Gitter chat. Please don't hesitate to open a (draft) pull request early on to show the direction you are heading towards if unsure.
Happy coding! 🚀
We think that this issue was fixed. Please head to https://builds.jabref.org/main to download a development build and try it out.
For any feedback, add a comment to the pull request at https://github.com/JabRef/jabref/pull/14534.