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

mergdowntotex

DJONTSO V. dvrchipro@gmail.comDJONTSO V. [email protected]443 downloads

Merge & doc. export everything — embeds, Zotero/Pandoc citations, Mermaid, equations, cross-refs — into a unique .tex file. Compile to PDF, DOCX, or InDesign. WASM engine, zero build step.

Add to Obsidian
mergdowntotex screenshot
  • Overview
  • Scorecard
  • Updates38

mergdown2tex Logo

Merge everything. Convert anywhere. Moteur WASM embarqué dans Obsidian. Aucune étape de compilation, aucun binaire à installer.


What it does

MergDown2TeX transforme une note Obsidian en un document prêt à publier (LaTeX, PDF, DOCX, InDesign). Tout est fusionné automatiquement :

Entrée Sortie
[[Wikilinks]] \hyperref[...]{} références croisées
![[Notes embarquées]] Expansion récursive contenue
![[image.png]] \includegraphics{}
@citation \citep{} + flèches bidirectionnelles (↑↓)
$math$ / $$math$$ Équations LaTeX
Blocs Mermaid Rendu automatique en PNG (client-side)
> [!note] admonitions environnements tcolorbox
Note de bas de page, tableaux, listes Support LaTeX complet
Ancres de blocs (^table--block-…) Objets Word/LaTeX numérotés et référencés

Formats de sortie :

  • PDF — Pandoc WASM + Typst (par défaut, fonctionne sur mobile) ou pdflatex + Podman (PC, LaTeX natif)
  • DOCX — Pandoc WASM embarqué
  • .typ — intermédiaire Typst
  • .expanded.md — Markdown étendu autonome (embeds/liens résolus)
  • InDesign compatible

How it works

┌─────────────────────────────────────────────────────────┐
│  Obsidian Note                                          │
│  ├── [[Note A]]          ──→  \hyperref + expansion    │
│  ├── ![[Note B]]         ──→  recursive expansion      │
│  ├── ![[image.png]]      ──→  \includegraphics{}       │
│  ├── @citation           ──→  \citep{} + arrows ↑↓     │
│  ├── $math$              ──→  LaTeX equation            │
│  └── ```mermaid```       ──→  PNG (bundle embarqué)     │
└─────────────────────────────────────────────────────────┘
                        │
                        ▼
┌─────────────────────────────────────────────────────────┐
│  WASM Engine (embarqué dans main.js, Base64)            │
│  ├── Markdown → LaTeX conversion (moteur Rust/WASM)     │
│  ├── Embed expansion + wikilinks + ancres de blocs      │
│  ├── Citation extraction + navigation (↑↓)              │
│  └── Mermaid → PNG (mermaid.min.js embarqué)            │
└─────────────────────────────────────────────────────────┘
                        │
                        ▼
┌─────────────────────────────────────────────────────────┐
│  Compilation (auto, sans installation)                  │
│  ├── pandoc.wasm   : .tex → .docx                       │
│  ├── typst.wasm    : .typ → .pdf                        │
│  └── (option) pdflatex + Podman : .tex → .pdf (PC)      │
└─────────────────────────────────────────────────────────┘

Dependencies

Étape Ce qu'il faut Statut
Markdown → LaTeX Aucun (moteur WASM embarqué dans main.js) Aucune
LaTeX → PDF (défaut) pandoc.wasm + typst.wasm (auto-téléchargés) Aucune
LaTeX → PDF (natif, option PC) TeX Live + Podman/Docker Optionnelle
LaTeX → DOCX pandoc.wasm (auto-téléchargé) Aucune
Rendu Mermaid Bundle embarqué dans main.js Aucune

pandoc.wasm (59 MB), typst.wasm (28 MB) et leurs polices sont auto-téléchargés dans wasm/ au premier export (bouton manuel dans les réglages sinon).

PDF natif LaTeX (optionnel, PC) — construit le conteneur :

podman build -t vlatex-env -f Dockerfile.vlatex .
# ou : docker build -t vlatex-env -f Dockerfile.vlatex .

Install

Téléchargements

Tous les zips sont servis par la release bundle (assets de release GitHub → bande passante illimitée) ainsi que par ce site.

Archive Contenu Release (illimitée) Site (miroir)
mergdowntotex_bundle.zip (~43 MB) Tout-en-un : plugin complet + vault exemple Télécharger Site
mergdowntotex.zip (~36 MB) Plugin complet (main.js, manifest.json, wasm/, resources/) Télécharger Site
full_manual_repport_exp.zip (~6 MB) Vault exemple seul (déjà inclus dans le bundle) Télécharger Site
pandoc_wasm.zip (~15 MB) Moteur DOCX : pandoc.wasm compressé (~59 MB décompressé) — pour un vault sans wasm/ Télécharger Site
typst_wasm.zip (~10 MB) Moteur PDF : typst.wasm seul, compressé (~28 MB décompressé) — les polices sont dans un zip à part Télécharger Site
typst_fonts.zip (~8 MB) Les 17 polices Typst, compressées, dans un zip séparé (~13 MB décompressés) — nécessaires au rendu PDF Télécharger Site
  • Bundle → dézippé, vous obtenez mergdowntotex/ (à copier dans .obsidian/plugins/) et example_vault/ (vault prêt à ouvrir).
  • Plugin seul → dézippez et placez le dossier mergdowntotex/ dans .obsidian/plugins/.
  • Les moteurs pandoc.wasm (59 MB) et typst.wasm (28 MB) sont déjà inclus dans les archives ; sinon ils s'auto-téléchargent au premier export.
  • Mobile : les moteurs sont téléchargés compressés, un zip par composant, jamais mélangés — pandoc_wasm.zip (15 Mo) pour le DOCX ; typst_wasm.zip (10 Mo) et typst_fonts.zip (8 Mo) pour le PDF — au lieu des fichiers bruts (59 Mo + ~28 Mo + ~11 Mo). On ne télécharge que ce qui manque ; dans les réglages, 3 cases à cocher + un seul bouton « Télécharger la sélection » (le dossier d'exemple est en tête de l'onglet pour le récupérer en premier).

Manuel

  1. Télécharge main.js et manifest.json depuis Releases (ou utilisez le bundle ci-dessus)
  2. Copie-les dans .obsidian/plugins/mergdowntotex/
  3. Active dans Settings → Community Plugins

main.js (~3.7 MB) embarque le moteur de conversion WASM en Base64. Le rendu Mermaid (mermaid.min.js) est auto-téléchargé au premier export, et les moteurs pandoc.wasm/typst.wasm aussi.

Structure du plugin (release et vault exemple)

mergdowntotex/                        ← dossier du plugin (id = mergdowntotex)
├── main.js          ~3.7 MB          ← plugin + moteur WASM embarqué (Base64)
├── manifest.json      1.2 KB         ← métadonnées
├── wasm/                             ← auto-téléchargé (pandoc.wasm, typst.wasm, fonts)
└── resources/                        ← ressources (CSL/BIB auto-hébergés, mermaid.min.js)

Vault exemple : le zip full_manual_repport_exp.zip (ou le dossier example_vault/ du dépôt) contient un vault prêt à l'emploi avec le plugin déjà installé (.obsidian/plugins/mergdowntotex/). Cette installation est strictement identique à celle de la release (mêmes main.js, manifest.json, wasm/, resources/).


Commands

Commande Action
Convertir la note active en LaTeX (.tex) Génère le .tex
Convertir et compiler en PDF Génère le PDF (pipeline auto)
Convertir et compiler en DOCX (Word) Génère le Word (Pandoc WASM)
Générer le Markdown étendu (.expanded.md) Génère le Markdown autonome
Reconvertir le .tex (jumeau) en Markdown .tex → Markdown
Compile le .tex jumeau en PDF .tex → PDF
Compile le .tex jumeau en DOCX .tex → DOCX
Convertit le .tex jumeau en .typ .tex → Typst
Compile le .typ jumeau en PDF .typ → PDF
Aperçu PDF côte-à-côte (md → pdf) Aperçu interactif
ZIP des ressources liées (_exp.zip) Archive les ressources

Raccourci rapide : bouton PDF dans le ruban.


Why MergDown2TeX?

Pandoc Plugin Pandoc CLI Pandoc GUI MergDown2TeX
Installation requise Pandoc + TeX Live Pandoc + TeX Live Pandoc + TeX Live (GUI) Aucune (WASM embarqué)
Résolution Wikilinks ❌ ❌ ❌ ✅
Expansion des embeds ❌ ❌ ❌ ✅
Flèches de citation (↑↓) ❌ ❌ ❌ ✅
Mermaid → PNG ❌ ❌ ❌ ✅
Ancres de blocs / objets Word ❌ ❌ ❌ ✅
Preamble personnalisé Partiel Manuel Manuel ✅
Sortie InDesign ❌ ❌ ❌ ✅
Mobile (iOS/Android) ⚠️ ⚠️ ⚠️ ✅
PAPER libre / zero-install ⚠️ ⚠️ ⚠️ ✅

Pandoc GUI (plugin Obsidian pandoc-gui) fournit une interface de conversion mais requiert toujours Pandoc + un environnement LaTeX externe et ne résout pas les wikilinks/embeds Obsidian natifs.


vlatex & le moteur WASM

Le moteur de conversion (et son outillage) est développé dans le projet vlatex. Pour en savoir plus sur vlatex / vlatex wasm et son intégration avec Obsidian :

https://dvrch.github.io/vlatex/obsidian/


Architecture

Release (2 fichiers) :

mergdowntotex/
├── main.js          ~3.7 MB   ← plugin + moteur WASM embarqué (Base64)
└── manifest.json     1.2 KB   ← metadata

main.js embarque :

  • le moteur de conversion WASM (Markdown → LaTeX), encodé en Base64 (WASM_BASE64).

Le bundle Mermaid (mermaid.min.js) est téléchargé au runtime (CDN/site, ou resources/mermaid.min.js en mode hors-ligne) pour le rendu client-side, y compris sur mobile — il n'est pas embarqué dans main.js.

Les moteurs pandoc.wasm/typst.wasm (trop volumineux pour être embarqués) sont auto-téléchargés dans wasm/ au premier export.

Développement (dans le repo) :

mergdowntotex/
├── main.js          ~3.7 MB   ← même fichier que la release
├── manifest.json     1.2 KB
├── wasm/
│   ├── pandoc.wasm   ~59 MB
│   ├── typst.wasm    ~28 MB
│       └── fonts/
└── resources/
    ├── csl/                     ← styles de citation auto-hébergés
    └── mermaid.min.js           ← bundle Mermaid (offline)

Mermaid : le bundle mermaid.min.js est téléchargé au runtime (CDN/site, avec resources/mermaid.min.js prévu pour le hors-ligne) — il n'est pas encodé en Base64 dans main.js. scripts/ └── bundle-release.js ← encode WASM → Base64 → injecte dans main.js


**Build release automatisé** par GitHub Actions :

```mermaid
graph LR
    A[git tag 1.0.x] --> B[GitHub Actions]
    B --> C[bundle-release.js]
    C --> D[main.js + WASM]
    D --> E[Release]

Zero build step. Moteur WASM embarqué dans main.js à la release.


Troubleshooting

« WASM module not loaded »

  • Vérifie que main.js fait bien ~3.7 MB (un fichier plus petit = build dev sans moteur embarqué)
  • Re-télécharge la release si le fichier semble corrompu
  • Redémarre Obsidian

pandoc.wasm / typst.wasm introuvable

  • Lance un export, ou clique sur le bouton de téléchargement dans les réglages
  • Vérifie la connexion internet (59 MB + 28 MB)

« podman: command not found » (PDF natif)

  • Installe Podman/Docker, ou active PDF PC via Wasm+Typst dans les réglages (aucune installation)

License

MIT


Support

  • GitHub Issues
  • Documentation
HealthExcellent
ReviewSatisfactory
About
Convert Obsidian notes into publication-ready LaTeX, PDF, DOCX or .tex with automatic expansion of wikilinks, embeds, images, citations zotero inegration and pandoc, math, table and Mermaid diagrams. Run a Rust/WASM engine inside Obsidian for Markdown→LaTeX conversion and compile to PDF (TeX Live + Podman) or DOCX (Pandoc++, citep & biblio).
ExportLaTeXPDF
Details
Current version
3.0.4
Last updated
Last week
Created
3 months ago
Updates
38 releases
Downloads
443
Compatible with
Obsidian 1.0.1+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
DJONTSO V. dvrchipro@gmail.comDJONTSO V. [email protected]dvrch
GitHubdvrch
  1. Community
  2. Plugins
  3. Export
  4. mergdowntotex

Related plugins

Slides Extended

Create markdown-based reveal.js presentations. Fork of Advanced Slides.

Pandoc Plugin

Commands to export to Pandoc-supported formats like DOCX, ePub and PDF.

Advanced PDF Export

Export notes as pixel-perfect PDFs with live preview, style presets, manual page breaks, tables, and full layout control.

qmd as md

Edit, preview, and render Quarto (.qmd) files with executable code cells via Quarto to PDF, DOCX, HTML, or reveal.js.

Marp Slides

Create Marp presentations.

PDF Highlights

Extract highlights, underlines and annotations from your PDFs.

Karpathy LLM Wiki

Karpathy's LLM Wiki implementation plugin for Obsidian - turns notes and PDFs into a linked, LLM-powered knowledge base with entity pages, concept pages, graph-powered Q&A, and local-first privacy.

Latex Suite

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

Text Extractor

A (companion) plugin to facilitate the extraction of text from images (OCR) and PDFs.

Annotator

Read and annotate PDFs and EPUB files.