
本地部署MathJax.js显示LaTeX公式的难题及解决方案
在网页开发中,MathJax.js是渲染LaTeX公式的利器。使用CDN引用MathJax.js通常能顺利显示公式,但本地部署时却可能遇到404错误,导致公式无法显示。
问题源于:MathJax.js本身依赖其他文件(例如扩展文件),而仅下载MathJax.js文件并不能保证这些依赖文件也被包含。 例如,MathJax.js内部可能包含类似 import xxx from './extension/MathZoom.js' 的代码,如果 extension/MathZoom.js 未被下载到本地,就会出现404错误。
以下代码片段演示了使用CDN和本地部署的不同:
CDN引用(正常显示公式):
<script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"></script>
<p>公式示例: \( \forall x \in \mathbb{R}, x^2 \ge 0 \)</p><div class="aritcle_card flexRow">
<div class="artcardd flexRow">
<a class="aritcle_card_img" href="/xiazai/skill9400" title="音频转文本整理稿(本地部署版)"><img
src="https://img.php.cn/upload/skill/000/000/081/179258048836649.jpg" alt="音频转文本整理稿(本地部署版)" ></a>
<div class="aritcle_card_info flexColumn">
<a href="/xiazai/skill9400" title="音频转文本整理稿(本地部署版)">音频转文本整理稿(本地部署版)</a>
<p>本地音视频转录整理技能 — 接收音频、视频、播客链接、字幕、原始转写稿或未整理文字,完成 ASR 转录(本地 faster-whisper / mlx-whisper)、文本清洗整理,输出分享式提纯版中文原文到本地 .txt 文件。所有产物保存在本地。</p>
</div>
<a href="/xiazai/skill9400" title="音频转文本整理稿(本地部署版)" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a>
</div>
</div>
本地部署(可能出现404错误):
<script src="./mathjax/tex-chtml.js"></script> <!-- 假设mathjax目录下包含所需文件 -->
<p>公式示例: \( \forall x \in \mathbb{R}, x^2 \ge 0 \)</p>
解决方法:
直接下载所有MathJax.js依赖文件到本地非常繁琐且不推荐。 更好的方法是:
-
使用npm或yarn安装MathJax: 这能确保所有依赖项都被正确安装。 使用包管理器能够更方便地管理和更新MathJax。 例如,使用npm:
npm install mathjax@3 -
参考MathJax官方文档: 官方文档提供了详细的本地部署指南,包括如何配置和使用MathJax。 遵循官方指南能避免因遗漏依赖文件而导致的错误。
-
使用合适的MathJax版本和配置: 选择合适的MathJax版本和配置可以减少依赖文件数量,简化本地部署过程。
通过以上方法,可以有效解决本地部署MathJax.js时出现的404错误,确保LaTeX公式在本地网页中正确显示。 避免直接下载和手动管理大量文件,使用包管理器和参考官方文档是更可靠和高效的解决方案。

















