openlibhums / openlibhums/janeway
Support for mathematics markup in article titles and abstracts
@joemull is already working on this.
Since Sep 3, 2026.
- Dominant language
- Python
- Stars
- 238
- Forks
- 97
- Avg merge
- 9d 1h
- Merged PRs (30d)
- 8
Description
Problem
Articles in mathematics typically use tex syntax in their titles and abstracts to communicate topics more succinctly and precisely than they can in English.
We already parse math markup when it comes through as part of a JATS XML galley, but we do not yet support titles and abstracts. Here is an example from UTMJ, which just joined Janeway:
https://voljournals.utk.edu/utmj/article/pubid/vol2026-iss2-2/
For examples of articles that render with equations in titles and abstracts, look at maths articles in arxiv: https://arxiv.org/html/2608.17267v1
Note: without this functionality, maths and many engineering journals are kept from using Janeway effectively, so it is really a make-or-break feature for some fields.
Investigation
- Research what downstream metadata recipients expect when it comes to maths
- Crossref expects name-spaced MathML in JATS.
- Datacite expects no HTML in abstracts and titles
Accessibility caveats
- The available solutions are not going to provide accessible MathML (i.e. Content MathML or the more recent browser standard MathML Core), only presentational MathML, which is what we already request from JATS vendors and what MathJax uses as a base. For more see https://doi.org/10.48550/arXiv.2605.16562 and https://github.com/roniemartinez/latex2mathml/discussions/289.
Proposed solution A
- Upgrade MathJax to version 4 (we currently use version 2 via a CDN)
- Configure MathJax to pick up tex syntax in titles and abstracts on the public article page
- Add this functionality to back office pages where titles and abstracts can be edited. This will be key so that users can anticipate how things will render, and they need the metadata to be functional during production. In other words, import and configure MathJax to work in tandem with TinyMCE
Proposed solution B - MVP
- Use the Python library latex2mathml to convert math in titles and abstracts to mathml before they are displayed on the article page or output in generated JATS stubs (for Crossref and OAI). Create a Django template filter / serializer to make this behavior explicit
- If needed, adjust the MathJax CDN in the article page to do the same thing with inline MathML in titles and abstracts as it already does with the MathML output by XSLT for rendered JATS
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.