PHP历理 KaTeX 数学公式渲染
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>KaTeX 数学公式渲染示例</title>
<!-- 1. 加载 KaTeX 核心样式 -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.css">
<!-- 2. 自定义样式 -->
<style>
/* 公式基础样式 */
.katex {
font-size: 1.1em;
color: #2d3748; /* 深灰色 */
}
/* 块级公式容器 */
.formula-block {
margin: 1.5rem 0;
padding: 1rem;
background: #f7fafc; /* 浅蓝灰色背景 */
border-radius: 4px;
}
/* 移动端适配 */
@media (max-width: 640px) {
.katex { font-size: 1em; }
}
</style>
</head>
<body>
<h1>数学公式渲染演示</h1>
<!-- 行内公式示例 -->
<p>勾股定理: $a^2 + b^2 = c^2$</p>
<!-- 块级积分公式 -->
<div class="formula-block">
$$ f(x) = \int_{-\infty}^\infty \hat f(\xi)\,e^{2 \pi i \xi x} \,d\xi $$
</div>
<!-- 化学方程式 -->
<div class="formula-block">
$\ce{CO2 + C -> 2CO}$
</div>
<!-- 麦克斯韦方程组 -->
<div class="formula-block">
$$ \begin{aligned}
\nabla \cdot \mathbf{E} &= \frac{\rho}{\varepsilon_0} \\
\nabla \cdot \mathbf{B} &= 0
\end{aligned} $$
</div>
<!-- 3. 按顺序加载脚本 -->
<!-- KaTeX 核心库 -->
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/katex.min.js"></script>
<!-- 自动渲染扩展 -->
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/contrib/auto-render.min.js"></script>
<!-- 化学方程式扩展 -->
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.9/dist/contrib/mhchem.min.js"></script>
<!-- 4. 初始化配置 -->
<script>
document.addEventListener("DOMContentLoaded", function() {
// 配置渲染参数
renderMathInElement(document.body, {
// 分隔符配置
delimiters: [
{left: '$$', right: '$$', display: true}, // 块级公式
{left: '$', right: '$', display: false} // 行内公式
],
// 扩展配置
macros: {
"\\ce": "\\text{mhchem}", // 启用化学公式支持
"\\RR": "\\mathbb{R}" // 自定义宏:实数集符号
},
// 错误处理
throwOnError: false, // 不抛出错误
errorColor: "#e53e3e", // 错误提示颜色(红色)
// 性能优化
strict: false // 宽松模式
});
});
</script>
</body>
</html>
效果图:


浙公网安备 33010602011771号