Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

MathLive in Editor Mode

mizarzhmizarzh3k downloads

MathLive input in editor mode

Add to Obsidian
  • Overview
  • Scorecard
  • Updates15

MathLive input in obsidian editor mode.

Features

  • Basic input function
  • Toggle mathlive display (global, block or inline)
  • Macro (sort of), shortcuts and keybindings support
  • Switch between mathlive and builtin mathjax
  • Place inline MathLive before or after the source equation
  • Different display modes

Usage

example.gif

Edit the equation in mathlive block below the latex display block.

It is also possible to assign a hotkey to toggle the display of mathlive block.

Macro settings

When the MathLive macros setting is set, the new command is available in MathLive widgets but not in builtin mathjax block due to some designs of mathjax.

If you want the new command to also show up in builtin mathjax block, you can use the copy button in MathLive macros to copy latex \newcommand command, then paste it in mathjax block in every page or use a plugin to preload those new commands.

Bugfix TODO

  • Input issue in tablet/phone
  • Keep focus and immediate MathJax refresh with the inline MathLive field on the right. The current implementation is experimental and depends on internal editor behavior described below.

The Inline MathLive position setting selects Left or Right. Left is the default for compatibility and uses the normal CodeMirror update path. Right enables the experimental focus-preservation path.

Non-public APIs

The plugin currently uses two groups of members that are absent from their public API declarations:

  • For right-side inline widgets and block widgets whose following cursor shares the decoration position, src/mathlive-input-sync.ts writes CodeMirror's private EditorView.inputState.composing property while MathLive is focused and around its transactions. Public CodeMirror exposes the read-only EditorView.composing getter, but does not expose inputState or a setter. Access is feature-detected; blur restores the focus-lifetime value, and each transaction also restores its previous value in finally.
  • src/setting.ts uses Obsidian settings internals to open and filter the Hotkeys tab: app.setting, openTabById(), activeTab, activeTab.headerComponent.components, and activeTab.updateHotkeyVisibility(). These members are absent from the official Obsidian API. The positional component lookup is especially fragile.

No non-public MathLive method is currently called. window.mathVirtualKeyboard, Mathfield methods/events, Obsidian renderMath()/finishRenderMath(), and Obsidian's typed global DOM/string helpers are public APIs. DOM queries, CSS selectors, shadow-DOM access, and DOM mutation are implementation techniques rather than non-public method calls, so they are not classified as non-public APIs here.

After updating Obsidian or CodeMirror, manually verify continuous inline input, same-line block trailing-text navigation, focus retention, MathLive menu selection/dismissal, immediate source/MathJax updates, and the Set hotkey button. pnpm build cannot detect private-member changes.

HealthExcellent
ReviewCaution
About
Edit LaTeX inline or in blocks with MathLive widgets inside the Obsidian editor and choose different display modes. Toggle MathLive per note or block, switch to built‑in MathJax, and use macros, shortcuts and hotkeys for live editing.
LaTeXMathEditing
Details
Current version
0.4.3
Last updated
3 weeks ago
Created
2 years ago
Updates
15 releases
Downloads
3k
Compatible with
Obsidian 1.12.7+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
mizarzhmizarzh
github.com/MizarZh
GitHubmizarzh
  1. Community
  2. Plugins
  3. LaTeX
  4. MathLive in Editor Mode

Related plugins

Quick Latex

Simplify and speed up LaTeX math typing.

Calctex

Calculate LaTeX formulas.

Extended MathJax

Enable additional MathJax packages and adds a global preamble for MathJax.

Latex Suite

Make typesetting LaTeX math as fast as handwriting through snippets, text expansion, and editor enhancements.

Typst Mate

Render math expressions with Typst instead of MathJax.

Advanced Tables

Improved table navigation, formatting, and manipulation.

Meta Bind

Make your notes interactive with inline input fields, metadata displays, and buttons.

Outliner

Work with your lists like in Workflowy or Roam Research.

Numerals

Turn any code block into an advanced calculator. Evaluate math expressions on each line of a code block, including units, currency, and optional TeX rendering.

Creases

Tools for effectively folding Markdown sections.