Math Formula powered by MathJax is now available in Bear’s TestFlight beta! If you work with scientific or mathematical notation, we’d love for you to give it a try and share your feedback.
Please make sure to back up your notes before testing, just to be safe.
What to test
In this beta, you can write inline and block formulas using LaTeX syntax with $ and $$, edit them with a live preview as you type, and enjoy a clean reading experience with hidden formatting when you’re not editing.
How to insert Math Formula
In addition to typing $ or $$ , you can insert math formulas from the menu:
On iOS, open the BIU keyboard, long press the code icon to select inline/block math formula
On Mac, go to menu bar → Format → Code → Math/Math block
Reference
For a complete reference of supported syntax, commands, and advanced examples, please refer to MathJax documentation.
Happy testing!
We’re excited to finally bring math formula support to Bear, and we can’t wait to see how you use it. This is just the beginning, and your feedback is key. Please leave comments and let us know what works well and what doesn’t. Happy testing!
Oh my god, this is game changing. I’m a pretty big user of LaTeX in my Obsidian notes so I have some pretty complex equations I could use to test this. How does one get added to the TestFlight?!
Love the addition. I can’t test for a couple of reasons, but I wonder how $ will be handled in notes where that character already exists as a part of normal text or in new notes? For example (quote made up, amounts not actual),
In 2021 Kenya produced $1B (USD) in palm oil, and imported $15B (USD).
or in the case of a stored password (again not actual – but similar )…
I’m unlikely to use MathJax. But I’m happy to finally be able to write a superscript 2 above an “m” when I need to specify square meters. Nevertheless, here’s a comment from me as an outsider in regard to this feature. The implementation exudes the charm of obsidian. The way Ulysses has implemented it, it is bearish in the best possible way. Here is a video I posted here in the forum almost two years ago. As you can see, a math block does not pop up within the text, but the formula is written in a pop-up and the formula appears exactly where it will remain. It looks much calmer. Furthermore you will see a nifty feature to drag a block into inline text and an inline formula into block formula.
In the first example, MathJax won’t be triggered because there’s a space before the second $. But in the password case, it will be interpreted as MathJax syntax.
To avoid this, you can escape the dollar signs like this: \$hg_77$4gx. That way, Markdown (and MathJax) will leave it alone.
That said, we’re also considering disabling MathJax by default, since it can be confusing for users who aren’t expecting it to kick in.
I honestly can’t disagree more While we understand Ulysses choosing a popover interface for MathJax, we’ve deliberately chosen an inline approach for various reasons:
Better UX: Being able to edit directly in the main editor means users aren’t isolated in a popover. It allows for natural use of selection, copy-paste, undo, and other expected text-editing behaviors.
Editor features: Syntax highlighting, autocompletion, and inline error detection (like mismatched braces or missing symbols) are significantly more useful when math code is embedded in the flow of the note. A popover disconnects these tools from the surrounding context.
iOS: On mobile devices, a popover paired with the software keyboard limits available screen space, often hiding either the input field or the live preview.
Markdown: Markdown is all about minimal, readable syntax written inline. Introducing a separate editor for part of the content goes against that spirit and breaks the seamless editing experience users expect.
Accessibility and long-term maintainability: Popovers introduce more complexity for screen readers and accessibility tools. Inline editing is more predictable and robust across platforms.
That said, the drag’n drop from inline to block is nice, we might steal that idea
A suggestion like mine comes from the fact that someone who doesn’t need the feature evaluates it from a completely different perspective. You’re very right
But something seems to be wrong with the implementation. I don’t have time right now. I’ll try to describe it in more detail tomorrow and show a few screenshots.
I love the idea of having mathjax inline but I’m afraid turning it on globally (either on or off) would mean I either have to choose between using the functionality or keeping all of my current notes in a “known and comfortable state”. I have thousands of notes and I wouldn’t want mathjax on for those. I love the idea of having it available in-line, but I don’t want to make any changes in my old notes. A) that would make them new again. B) I don’t know which ones would need changing and I’d have to go through a bunch. C) it doesn’t seem right to implement a feature that would require users to go back and edit old notes to make them look and behave like they have looked for years.
Would there be a way to have mathjax active on a per-note basis or some other limited basis? Maybe by the use of a specific tag? Maybe in a code block for ‘mathjax’? I’d love to be able to use it (mostly in-line), but turning it on globally could potentially create a mess.
Given that we are seeing this foray into Math Formulae does that start some of the ground work for being able to implement Mermaid too?
I don’t know if the $$ is the standard for MathJax – personally don’t use it – but from a consistency perspective would it be better to have $$$ which aligns to code blocks?