行内公式测试

行内公式是指嵌入在文本中的公式,使用$...$包裹,例如:$E=mc^2$ 是爱因斯坦的质能方程,$a^2 + b^2 = c^2$ 是勾股定理。

再举一些复杂的行内公式例子:

块级公式测试

块级公式是指单独成行的公式,使用$$...$$包裹,适合展示复杂的公式。

基础公式

\(\int_{-\infty}^{+\infty} e^{-x^2} dx = \sqrt{\pi}\)

\[\lim_{n \to \infty} \left(1 + \frac{1}{n}\right)^n = e\]

复杂公式(测试自动换行)

以下公式宽度超过普通屏幕,验证是否能自动换行: \(f(x) = \frac{1}{\sqrt{2\pi}\sigma} \exp\left(-\frac{(x - \mu)^2}{2\sigma^2}\right) + \sum_{k=1}^{10} \frac{1}{k^2} \int_{0}^{1} x^k (1 - x)^{10 - k} dx - \prod_{i=1}^{5} (a_i + b_i + c_i + d_i + e_i + f_i + g_i + h_i)\)

\[A = \begin{pmatrix} a_{11} & a_{12} & a_{13} & a_{14} & a_{15} & a_{16} & a_{17} & a_{18} \\ a_{21} & a_{22} & a_{23} & a_{24} & a_{25} & a_{26} & a_{27} & a_{28} \\ a_{31} & a_{32} & a_{33} & a_{34} & a_{35} & a_{36} & a_{37} & a_{38} \\ a_{41} & a_{42} & a_{43} & a_{44} & a_{45} & a_{46} & a_{47} & a_{48} \end{pmatrix}\]

多行公式

\(\begin{cases} \frac{\partial u}{\partial t} + u \frac{\partial u}{\partial x} = \nu \frac{\partial^2 u}{\partial x^2} \\ u(x, 0) = u_0(x) \\ u(0, t) = u(L, t) = 0 \end{cases}\)

\[\begin{align*} \cos(A + B) &= \cos A \cos B - \sin A \sin B \\ \sin(A + B) &= \sin A \cos B + \cos A \sin B \\ \tan(A + B) &= \frac{\tan A + \tan B}{1 - \tan A \tan B} \end{align*}\]

移动端适配测试

在移动端访问本页面时,以上所有公式都应该能正常显示,超出屏幕宽度的公式会自动出现横向滚动条,或者自动换行,不会出现公式被截断的情况。

公式渲染原理

本博客使用MathJax 3.x渲染数学公式,核心原理是:

  1. 页面加载时,MathJax会扫描页面中的公式标识($...$$$...$$);
  2. 将LaTeX语法转换为HTML/CSS渲染的公式(而非图片),保证清晰度和可缩放性;
  3. 通过自定义CSS样式,强制公式容器支持自动换行和横向滚动,适配不同屏幕宽度。

MathJax的优势在于:

常见问题解决

  1. 公式不显示:检查LaTeX语法是否正确,确保MathJax脚本已正确引入,避免网络问题导致脚本加载失败。
  2. 公式排版混乱:确保公式容器的CSS样式正确,尤其是overflow-x: automax-width: 100%属性。
  3. 移动端公式截断:添加white-space: pre-wrapword-wrap: break-word属性,强制公式换行。
  4. 公式与文字对齐问题:通过vertical-align: middle调整行内公式与文字的对齐方式。

总结

本博客的数学公式渲染功能已完全满足日常写作需求,无论是简单的行内公式,还是复杂的块级公式,都能精准渲染,且在移动端有良好的适配效果。如果你在使用过程中遇到任何问题,欢迎通过博客的联系方式反馈。