mathjax / mathjax/MathJax

Support for explicit direction commands inside MathJax to allow nice embedding of RTL words/phases using \text{}.

Open
#3,590 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Code Example Feature Request
Dominant language
JavaScript
Stars
10.9k
Forks
1.2k
PR merge metrics
No merged PRs in 30d

Description

Embedding \text{} with Hebrew words (or words in other RTL languages) into math expressions is not convenient.

At present in both v3 and v4 it is necessary to flip the order of the Hebrew letters to get them to render properly. That obviously breaks how such text is handed by the accessibility features, and is inconvenient for the author.

@orelby wrote an Obsidian plugin Obsidian rtl-math-text plugin https://github.com/orelby/obsidian-rtl-math-text-plugin which addresses for Obsidian. Essentially, it adds CSS classes to set the needed direction, and special LaTeX commands \L and \R to control swaps in text direction (and allows configuration of the macro names).

It would be really nice if something like that could be in the "core" of MathJax in the future.

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.

Research direction

Start by reviewing how MathJax v3 and v4 handle \text{} content, then compare the linked Obsidian rtl-math-text plugin’s direction commands and CSS approach. Done means supporting explicit direction commands for RTL words in math while keeping the original text available to accessibility features.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
accessibility, internationalization
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.