NotebookLM LaTeX Renderer

Render LaTeX math in NotebookLM using KaTeX

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

// ==UserScript==
// @name         NotebookLM LaTeX Renderer
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Render LaTeX math in NotebookLM using KaTeX
// @author       nwortytrap
// @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 targets = document.querySelectorAll('mat-card-content');

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

    setInterval(renderMathInNotebookLM, 1000);
})();