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

Kings CalcLaTeX

Kingsley FongKingsley Fong29 downloads

Browser-native engineering math and high-fidelity graphing for Obsidian.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates23

A browser-native Obsidian plugin that turns your vault into an engineering math workstation. Type LaTeX with trigger suffixes, and results or interactive graphs appear inline in your notes — no backend server, no external dependencies. It also extends into Excalidraw: canvas text auto-renders into equation images, and the full LaTeX Suite snippet engine (tabstops, auto-fraction, Greek letters, conceal, bracket coloring) works both in Markdown notes and inside Excalidraw's own "Edit LaTeX" modal.

Features

Inline Evaluation

Type LaTeX inside $...$ and add a trigger suffix:

Input Output
$2 + 3 =$ 5
$\sin(\pi/4) \approx$ 0.707106781187
$x^2 + 2x + 1 \equiv$ (x+1)^2
$\int_0^{\pi} \sin(x)\,dx =$ 2
$\sum_{n=1}^{10} n^2 =$ 385
$\prod_{k=1}^{5} k =$ 120

Symbolic CAS

Differentiation, integration, solving, factoring — all in-browser.

$x^3 + 2x @diff$               → 3x² + 2
$3x^2 + 2 @int$                → x³ + 2x
$x^2 - 4 = 0 @solve$           → x = ±2
$x^2 - 5x + 6 @factor$         → (x-2)(x-3)
$x^3 - 8 @factor$              → (x-2)(x²+2x+4)

Factoring handles sum/difference of cubes and additional trig identities in simplification.

Advanced CAS (Giac WASM)

Optional 19MB WASM engine for limits, Taylor series, partial fractions, expand, step-by-step solutions, and enhanced solving/integration.

$\frac{\sin(x)}{x} @limit$     → 1
$e^x @taylor$                  → 1 + x + x²/2 + x³/6 + ...
$\frac{1}{x^2-1} @partfrac$    → partial fraction decomposition
$(x+1)^3 @expand$              → x³ + 3x² + 3x + 1
$x^2 - 5x + 6 @steps$         → step-by-step solution walkthrough

2D Graphing

Explicit, implicit, parametric, polar curves, inequalities, and multi-equation overlays with interactive pan/zoom. Download any graph as PNG via the toolbar.

$y = \sin(x) @plot2d$
$x^2 + y^2 = 25 @plot2d$
$r = 1 + \cos(\theta) @plot2d$
$y > \sin(x) @plot2d$
$y = a\sin(bx) @plot2d$          ← auto-generates sliders for a, b
$(5,5) @plot2d$                  ← renders as filled dot
$y = \begin{cases} x^2 & x > 0 \\ -x & x \leq 0 \end{cases} @plot2d$
$y = \sin(x) \{0 < x < 2\pi\} @plot2d$

Free variables auto-generate sliders with editable min/max bounds.

3D Graphing

WebGL surfaces, implicit surfaces (marching cubes), parametric curves, vectors, and points with click-to-interact rotation. All three axes use 1:1:1 proportional scaling by default (consistent with Desmos/GeoGebra behavior). Analytical planes fill the full bounding box with no diamond artifacts. Explicit surfaces use height-based coloring (blue-to-red gradient by z-value) for Desmos-style visualization.

$z = x^2 + y^2 @plot3d$
$x^2 + y^2 + z^2 = 9 @plot3d$
$(\cos(t), \sin(t), t/3) @plot3d$
$\langle 1, 2, 3 \rangle @plot3d$
$(1,2,3) @plot3d$                ← renders as sphere

Multivariable Calculus

Partial derivatives, gradients with contour overlays, surface normals, tangent planes.

$x^2 y + y^3 @px$              → 2xy
$x^2 + y^2 @gradient$          → ∇f = (2x, 2y) with contour + arrow plot
$z = x^2 + y^2 @normal$        → n = (2x, 2y, -1)
$x^2 + y^2; (1,1) @tangent$    → tangent plane visualization

Linear Algebra

Matrix multiplication, determinants, transpose, inverse, cross product, dot product.

$\begin{pmatrix}1 & 2\\3 & 4\end{pmatrix}\begin{pmatrix}5 & 6\\7 & 8\end{pmatrix} =$
$\det\begin{pmatrix}1 & 2\\3 & 4\end{pmatrix} =$
$\begin{pmatrix}1 & 0 & 0\end{pmatrix}\times\begin{pmatrix}0 & 1 & 0\end{pmatrix} =$

ODE Phase Portraits

Solve first-order ODEs numerically — direction field + solution curves via RK4.

$y' = x - y @phase$            → direction field + solution curves
$y' = y(1-y) @ode$             → direction field only

Laplace Transforms (Giac WASM)

$t^2 @laplace$                 → 2/s³
$\frac{1}{s^2+1} @ilaplace$   → sin(t)

Per-Expression Colors & Line Styles

$y = \sin(x) #red; y = \cos(x) #blue @plot2d$
$y = x^2 --; y = -x .. @plot2d$    ← dashed and dotted

Vector Fields & Contour Plots

$-y; x @vecfield$              → rotation field
$x^2 + y^2 @contour$           → concentric contour lines
$y = x^2; y = 2x @region$      → shaded region between curves

Unit Conversion

$5\text{ft} \to \text{m} @convert$     → 1.524 m
$100\text{kg} \to \text{lb} @convert$   → 220.462 lb

LaTeX Suite Snippet Engine (Markdown Notes)

The full LaTeX Suite snippet-expansion engine is vendored directly into the editor — no separate plugin required. Inside any $...$/$$...$$ block:

mk           → $ | $                (inline math block, cursor in the middle)
dm           → $$ | $$              (display math block, cursor in the middle)
sr           → ^2                   (superscript squared)
sq           → \sqrt{ }             (square root, cursor inside)
fra          → \frac{ }{ }          (fraction, cursor in numerator)
pmat         → \begin{pmatrix} ... \end{pmatrix}

Tab jumps between tabstops after a snippet expands. Also included: Greek-letter and symbol shortcuts, matrix-environment shortcuts, tabout (Tab exits the current bracket/subscript at the end of an expression), concealed LaTeX commands (rendered as their symbol until the cursor is nearby), color-matched/highlighted bracket pairs, and a hover math-preview tooltip. Every knob (custom snippets, trigger characters, regex snippets, conceal timing, bracket coloring, etc.) is configurable under Settings → LaTeX Suite Features.

Excalidraw OD (On-Demand Math Companion)

Turns Excalidraw canvases into a math-aware surface, entirely through this plugin (no changes to Excalidraw itself). Enable/configure under Settings → Excalidraw OD Features.

  • Auto-render on blur: type $x^2 + 1$ or $$...$$ into a canvas text element and click away — it's automatically replaced with a rendered LaTeX equation image (MathJax SVG), the same as pasting/creating a math element directly.
  • Same real snippet engine, on canvas too: the identical LaTeX Suite engine used in Markdown notes (see above) also drives Excalidraw's text-editing overlays and its native "Edit LaTeX" equation-editor modal — snippets, tabstops, auto-fraction, matrix shortcuts, conceal, and bracket coloring all work identically in both places.
  • Enhanced "Edit LaTeX" modal:
    • Live rendered MathJax preview as you type (Excalidraw's own modal doesn't include one).
    • Inline color picker (\color{...}) and a border/box panel (\bbox[...]{...}) for quickly styling an equation without hand-writing the LaTeX.
    • Configurable cursor start position (end of equation by default, so continuing/appending doesn't require a manual click — or start, if you prefer).
    • Configurable modal window position (bottom/top/center/near cursor).
    • The modal is width-capped to the Excalidraw pane it was opened from (won't overflow into a split-screen neighbor), and long equations pan horizontally to keep the cursor in view instead of clipping off-screen.
    • Quick-open shortcut on a selected equation element (default Ctrl + L, configurable modifier/key).
  • Element styling shortcuts: with elements selected, left-hand keyboard shortcuts cycle common style properties without touching the mouse — default Shift + F (line style: solid/dashed/dotted), Shift + D (stroke width), Shift + X (edge roundness), Shift + Q (sloppiness/roughness). A number key (1–4) picks a specific variant directly, and a floating HUD shows the active options. All trigger keys and the modifier are configurable.
  • Text underline toggle: adds an underline button directly into Excalidraw's own text-properties panel when a text element is selected.
  • Drawing snapshot/restore (Command Palette): Excalidraw regenerates equation images from their stored LaTeX source on every load, rescaling each one back to its current on-canvas size -- a step that has proven fragile in practice and can silently reset manually-resized equations back to their natural size after a reload. Two commands protect against this:
    • "Kings CalcLaTeX — Excalidraw: Snapshot current drawing (element positions/sizes)": captures every element's current x/y/width/height/angle and saves it as a timestamped JSON file next to the drawing (e.g. MyDrawing.snapshot.2026-08-01_14-30-00.json).
    • "Kings CalcLaTeX — Excalidraw: Restore current drawing from a snapshot": lists every snapshot found for the current drawing, and after picking one, restores only the elements whose position/size actually drifted from the snapshot -- anything added or removed since is left untouched.
    • Snapshot before any big resizing session (e.g. building a formula sheet), and again whenever you're happy with the layout -- if a reload ever resets sizes, restoring is one command instead of manually re-resizing everything.

All Triggers

Trigger Category Description
= Eval Exact symbolic result
\approx Eval Decimal approximation
\equiv Eval Algebraic simplification
@diff CAS Derivative
@int CAS Integral
@solve CAS Solve equation
@factor CAS Factor polynomial
@expand CAS (Giac) Expand expression
@limit CAS (Giac) Compute limit
@taylor CAS (Giac) Taylor series
@partfrac CAS (Giac) Partial fractions
@steps CAS (Giac) Step-by-step solution
@px / @py / @pz CAS Partial derivatives
@grad CAS Gradient vector
@normal CAS Surface normal
@convert Units Unit conversion
@plot2d Graph 2D plot
@plot3d Graph 3D plot
@contour Graph Contour map
@vecfield Graph Vector field
@gradient Graph Gradient + contour overlay
@tangent Graph Tangent plane
@region Graph Shaded region
@phase Graph ODE phase portrait
@ode Graph ODE direction field
@geom Graph Geometry mode
@laplace CAS (Giac) Laplace transform
@ilaplace CAS (Giac) Inverse Laplace

Installation

From Community Plugins (recommended)

  1. Open Settings > Community Plugins > Browse
  2. Search for "Kings CalcLaTeX"
  3. Click Install, then Enable

Manual Installation

  1. Download main.js, manifest.json, and styles.css from the latest release
  2. Create folder .obsidian/plugins/kings-calclatex/
  3. Place the three files inside
  4. Reload Obsidian and enable the plugin in Settings

Excalidraw OD features require the Excalidraw community plugin to also be installed and enabled — they're inert without it.

Enabling Giac WASM (optional)

For advanced CAS operations (@limit, @taylor, @partfrac, @expand, @steps, enhanced @solve/@int):

  1. Download giacwasm.js (19 MB) from [Giac WASM builds](https://www-fourier.univ-grenoble-alpes.fr/parMDisse/giac/giac_online/giacwasm.js)
  2. Place it in .obsidian/plugins/kings-calclatex/giacwasm.js
  3. Enable "Giac WASM" in plugin settings
  4. Reload Obsidian — look for "Giac WASM initialized" in console

Tech Stack

Layer Technology
CAS / Parsing CortexJS Compute Engine
Advanced CAS Giac WASM (optional)
Numeric math.js
2D Rendering function-plot (D3-based, interval arithmetic)
3D Rendering Three.js (WebGL)
Editor Integration CodeMirror 6 StateField decorations
Snippet Engine Vendored LaTeX Suite CM6 extensions — shared between Markdown notes and Excalidraw's "Edit LaTeX" modal
Equation Rendering MathJax (Obsidian's built-in renderer) — used for Excalidraw's canvas equation images and modal live preview
Canvas Integration Excalidraw / ExcalidrawAutomate (required for all Excalidraw OD features)

Settings

Settings are organized into three sections:

1. Markdown Note Features — evaluation/graphing behavior in .md files:

Setting Default Description
2D Default Range [-10, 10] x/y axis range for 2D graphs
3D Default Range [-5, 5] x/y/z range for 3D graphs
Numeric Precision 12 Decimal places for \approx
Auto Range On Smart viewport from expression
Graph Theme Auto Follows Obsidian light/dark
Show POIs On Roots, extrema on 2D graphs
3D Axis Ticks On Tick marks on 3D axes
3D Zoom Mode origin Zoom target: origin keeps world origin fixed; range-center zooms toward viewport center
2D Curves on 3D curtain How 2D curves are lifted into 3D: curtain extrudes a vertical sheet, plane-curve draws the curve flat on a plane
Auto-Scale Z (3D) Off All three axes use 1:1:1 proportional scaling by default. Enable to auto-fit Z axis to surface range.
Vector Arrow Scale 1.0 Arrow size for @vecfield
Giac WASM On Enable advanced CAS engine

2. Excalidraw OD Features — canvas math companion (see above): modal position/cursor behavior, snippet/preview toggles, the "Edit LaTeX" quick-open shortcut, and the element-styling shortcut keys/modifier/HUD toggle.

3. LaTeX Suite Features — snippet engine behavior (applies to both Markdown notes and Excalidraw): inline/display math triggers, tabstop navigation, auto-fraction, matrix shortcuts, conceal, bracket coloring/highlighting, math-preview tooltip, custom/regex snippets, and related fine-tuning.

There are ~70 individual settings across these sections — open Settings → Kings CalcLaTeX in Obsidian for the full, current list with descriptions; this README covers the highlights.

Development

git clone https://github.com/kingsleyfong/King-s-CalcLatex.git
cd repo-v2
npm install
npm run dev     # Watch mode
npm run build   # Production build

Changelog

See CHANGELOG.md for the full version history.

License

MIT

HealthExcellent
ReviewRisks
About
Turn your vault into an engineering math workstation by typing LaTeX with trigger suffixes to evaluate expressions and display results or interactive 2D graphs inline—no backend required. Run in-browser symbolic CAS (diff, integrate, solve, factor), add optional Giac WASM for limits, Taylor series and step-by-step solutions, and auto-render LaTeX inside Excalidraw as images.
MathLaTeXVisualization
Details
Current version
3.9.0
Last updated
5 days ago
Created
5 months ago
Updates
23 releases
Downloads
29
Compatible with
Obsidian 1.0.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
Kingsley FongKingsley Fongkingsleyfong
GitHubkingsleyfong
  1. Community
  2. Plugins
  3. Math
  4. Kings CalcLaTeX

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.

Excalidraw

Visual PKM powerhouse. Create and edit Excalidraw drawings.

Breadcrumbs

Visualise the hierarchy of your vault using a breadcrumb trail or matrix view.

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

Maps

Adds a map layout to bases so you can display notes as an interactive map view.

Mermaid Tools

Improved Mermaid.js experience: visual toolbar with common elements and more.