NotebookLM LaTeX Renderer

Render LaTeX math in NotebookLM using KaTeX

当前为 2025-07-28 提交的版本,查看 最新版本

// ==UserScript==
// @name         NotebookLM LaTeX Renderer
// @namespace    http://tampermonkey.net/
// @version      1.1
// @description  Render LaTeX math in NotebookLM using KaTeX
// @author       MAV3N
// @match        https://notebooklm.google.com/*
// @grant        none
// @require      https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.js
// @require      https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/auto-render.min.js
// @resource     KATEX_CSS https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    const style = document.createElement('link');
    style.rel = 'stylesheet';
    style.href = 'https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css';
    document.head.appendChild(style);

    function renderMathInNotebookLM() {
        const cards = document.querySelectorAll('mat-card-content');

        cards.forEach(card => {
            if (card.dataset.katexRendered) return;

            if (card.innerText.includes('$')) {
                try {
                    renderMathInElement(card, {
                        delimiters: [
                            { left: "$", right: "$", display: false },
                            { left: "$$", right: "$$", display: true },
                        ],
                        throwOnError: false,
                    });
                    card.dataset.katexRendered = "true";
                } catch (e) {
                    console.error("KaTeX render error:", e);
                }
            }
        });
    }

    setInterval(renderMathInDeepDescendants, 1000);
})();