Skip to content

YouFoundJK/TeXcore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Downloads Version

TeXcore for Obsidian

A minimalistic, high-performance LaTeX assistant for automatic equation numbering, referencing, and TikZ rendering with basic GUI editing in Obsidian.md to transforms your vault into a rich ecosystem for scientific drafting and study.

Prisma Calendar Preview

📚 Full Documentation & Guides


Key Features

  • Equation Numbering & referencing: Auto-numbers equations with custom IDs and provides search-based fuzzy autocomplete suggestion dropdowns via \eqref.
  • On-Demand TikZ Diagrams: Compiles TikZ code blocks asynchronously in a Web Worker, lazy-downloading and caching assets to remain lightweight and bloat-free.
  • Advanced PDF Export: Highly configurable single-note or batch folder PDF exports featuring customizable headers, footers, page sizes, and style overrides.

Behind the Scenes: The WebAssembly Engine

To render TikZ diagrams without forcing you to install a full local LaTeX distribution, TeXcore runs the compiler directly inside Obsidian using WebAssembly:

  1. TeX in Wasm: The core Pascal source code of TeX is compiled into a WebAssembly binary (tex.wasm) via the web2js compiler.
  2. Background Compilation: Because TeX compilation is CPU-bound, the plugin spawns a background Web Worker to run the Wasm engine. This keeps Obsidian's UI completely smooth and responsive.
  3. On-Demand CDN Fetching: When you first run a TikZ diagram, the plugin downloads the pre-compiled format engine (core.dump.gz) and the font stylesheet (tikzjax.css), caching them locally on your disk.
  4. Lazy Caching: If your diagram includes specific packages (e.g. \usepackage{circuitikz}), the loader resolves the files, downloads them from a CDN, and saves them locally. Subsequent renders of the same packages work fully offline.

License

This plugin is licensed under the MIT License.


Credits & Sourcing

The TikZJax engine and assets are derived from and built upon the incredible work of the following open-source projects:

  1. kisonecat/tikzjax by Jim Fowler — The original browser-based TeX-in-Wasm compiler.
  2. drgrice1/tikzjax by Glenn Rice — Added Web Worker support, along with additional TeX library and package compilations.
  3. artisticat1/obsidian-tikzjax by artisticat1 — Inspiration for Obsidian integration wrapper that packaged these components.

Note: The underlying TeX engine binaries, format dumps, and LaTeX style packages are distributed under their respective open-source licenses (GPL-3.0+ / LPPL v1.3c).

About

For all your TeX needs.

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors