如何在Google Colab中全局加载自定义LaTeX定义?
在Google Colab中全局加载LaTeX自定义定义的方案
核心方案:通过注入JS配置MathJax全局宏
Colab基于MathJax渲染LaTeX,直接在项目顶部的代码单元格中注入自定义JS脚本,就能修改MathJax的全局配置,实现自定义LaTeX宏跨所有单元格生效,且无需重复配置(会话存续期间只需运行一次)。
具体操作步骤
- 在Colab项目最顶部新增一个代码单元格,粘贴以下代码:
%%javascript MathJax.Hub.Config({ TeX: { Macros: { // 按格式添加自定义宏:宏名: ["替换内容", 参数数量(可选,默认0)] \myvec: ["\\mathbf{#1}", 1], // 示例:\myvec{x} 渲染为粗体向量x \R: ["\\mathbb{R}"], // 示例:\R 渲染为实数集符号 \norm: ["\\left\\lVert #1 \\right\\rVert", 1] // 示例:\norm{v} 渲染为向量范数 } } });
- 运行该代码单元格,后续所有Markdown单元格中的LaTeX代码均可直接使用这些自定义宏。
关键说明
- 该配置仅针对当前Colab会话生效,若会话过期重启,重新运行顶部的代码单元格即可恢复宏定义。
- 自定义宏的格式需严格遵循MathJax规则:带参数的宏需指定参数数量,无参数宏仅填写替换内容即可。
- 无需依赖外部文件或nbextensions,完全在Colab内部完成配置,规避了文件加载失败、手动配置扩展的繁琐问题。
验证方式
在任意Markdown单元格中写入测试代码:
向量 $\myvec{v}$ 的范数为 $\norm{\myvec{v}}$,属于实数集 $\R$。
运行单元格后,即可看到自定义宏渲染后的正确效果。
内容的提问来源于stack exchange,提问作者Peter Kluntz
相关产品推荐
相关产品推荐

