openlibhums / openlibhums/janeway

Support for mathematics markup in article titles and abstracts

Open
#5,495 1 comment 0 reactions 1 assignee View on GitHub

@joemull is already working on this.

Since Sep 3, 2026.

new feature
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/

Image

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

Accessibility caveats

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.