{"id":23923,"library":"jupyterlab-mathjax3","title":"JupyterLab MathJax 3","description":"A JupyterLab extension that renders LaTeX math using MathJax version 3. Provides improved performance and modern rendering compared to the default MathJax 2 renderer. Current version 4.3.0 (requires Python >=3.6) with a history of breaking changes across major releases (v2->v3, v3->v4).","status":"active","version":"4.3.0","language":"python","source_language":"en","source_url":"https://github.com/jupyterlab/jupyter-renderers","tags":["jupyterlab","mathjax","latex","rendering","extension"],"install":[{"cmd":"pip install jupyterlab-mathjax3","lang":"bash","label":"pip install"}],"dependencies":[{"reason":"the extension is a JupyterLab plugin","package":"jupyterlab","optional":true}],"imports":[{"note":"No common wrong import; but note the package name uses underscores, not hyphens.","wrong":null,"symbol":"MathJax3Extension","correct":"from jupyterlab_mathjax3 import MathJax3Extension"}],"quickstart":{"code":"# Create a JupyterLab settings file to enable MathJax 3\nimport json\nimport os\n\nsettings = {\n    \"renderer\": \"MathJax 3\",\n    \"latex\": {\n        \"inlineMath\": [[\"$\", \"$\"], [\"\\\\(\", \"\\\\)\"]],\n        \"displayMath\": [[\"$$\", \"$$\"], [\"\\\\[\", \"\\\\]\"]]\n    }\n}\n\nos.makedirs(os.path.expanduser(\"~/.jupyter/lab/user-settings/@jupyterlab/mathjax3-extension/\"), exist_ok=True)\nwith open(os.path.expanduser(\"~/.jupyter/lab/user-settings/@jupyterlab/mathjax3-extension/plugin.jupyterlab-settings\"), 'w') as f:\n    json.dump(settings, f)\nprint(\"MathJax 3 configured as renderer\")","lang":"python","description":"Enable MathJax 3 as the default renderer via JupyterLab settings. The extension activates automatically when installed."},"warnings":[{"fix":"Update user settings to use 'renderer': 'MathJax 3' (string) instead of the previous object format.","message":"In v4, the settings schema changed. The 'renderer' setting is now a string instead of an object. Old settings may cause errors if not updated.","severity":"breaking","affected_versions":"4.0.0 - 4.3.0"},{"fix":"Use Python 3.8 or later. Python 3.6 support was dropped in v4.","message":"Python 3.6 and 3.7 are no longer supported. Upgrade to Python 3.8+ if you encounter import errors.","severity":"deprecated","affected_versions":">=4.0.0"},{"fix":"Configure MathJax 3 via JupyterLab settings (see quickstart). Do not rely on Python imports for activation.","message":"Common mistake: Users try to import 'jupyterlab_mathjax3' in notebooks to programmatically configure it. The extension works via JupyterLab settings, not Python imports. Importing the module does not enable the renderer.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run 'pip install jupyterlab-mathjax3' in the same environment as JupyterLab.","cause":"Package not installed or installed in wrong environment.","error":"ModuleNotFoundError: No module named 'jupyterlab_mathjax3'"},{"fix":"Upgrade both jupyterlab and jupyterlab-mathjax3: 'pip install -U jupyterlab jupyterlab-mathjax3'","cause":"Outdated version of the extension or JupyterLab version mismatch.","error":"Extension failed to load: @jupyterlab/mathjax3-extension: Could not find required module 'mathjax3'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}