网站首页 > 技术文章 正文
因为微信公众号不支持引入外部 CSS
和JS
脚本,所以不能引入MathJax
或KaTeX
来支持数学公式显示。目前只能通过插入公式图片(webp
、png
等格式)的方式来显示公式。一般情况下插入webp
或png
格式的图片,显示效果还可以。
存在的问题主要有:
文章中公式较多时首次加载慢,出现文章下来文字已经显示出来,公式图片还在加载中;
文章的字号改变后公式不能随之缩放;
单纯放大文章页面公式图片出现锯齿模糊的情况,使用尺寸更大的图片会改善锯齿情况,但这样造成加载速度变慢。
这时候矢量格式的 svg
就成为首选了。之前也有人留言询问本公众号如何排版数学公式,但步骤多又需要一定编程基础不易使用。
现在 Markdown Nice(https://mdnice.com/)的最新版本已经实现了这个功能。现在可以很方便在微信公众号里展示数学公式了。Markdown Nice 排版功能很多,这里只说下数学公式的排版。
在左边的编辑框写入 markdown 的内容,编辑器的数学公式部分是基于 MathJax 3 开发的,数学公式采用 LaTeX 语法( MathJax 兼容的那部分):
行内公式:将公式插入到本行内,符号:
$公式内容$
,如:$xyz$
行间公式:将公式插入到新的一行内,并且居中,符号:
$公式内容$
,如:$xyz$
编辑器是实时渲染的,在右边可以实时看到效果。编辑完文章后点击上方工具栏的蓝色复制按钮,等出现如下图提示
就可以直接在微信公众号后台编辑器直接 Ctrl+v
粘贴内容了。
如果对 LaTeX 语法不熟悉,可参考知乎问题:知乎上的公式是怎么打出来的?https://www.zhihu.com/question/31298277。为了优化微信公众号显示,LaTeX 公式书写建议:
\tag{xxx} 改为 \qquad (xxx)(避免公式被缩小);
长的行内公式改为行间公式(优化断行),并适当换行。不要直接使用 \\ 来换行,要使用 aligned 等对其环境。(避免公式被缩小);
公式中的
<
后要加一个空格,即$a<b$
改成$a< b$
(不修改公式无法正常显示)。
需要注意的是:嵌入 svg 的文章在公众号后台二次编辑的时候很容易造成公式丢失。
传播数学,普及大众
欢迎把我们推荐给你身边的朋友
猜你喜欢
- 2024-09-18 python程序设计基础(三)(python程序设计基础教程)
- 2024-09-18 ChuanhuChatGPT:LLM提供了一个轻快好用的Web图形界面
- 2024-09-18 真实标书查重系统中的技术复杂度(招标文件查重率)
- 2024-09-18 八悦文摘(五)—MathType内容初识(mathtype48)
- 2024-09-18 Markdown 教程(Markdown教程)
- 2024-09-18 通过geogebra实现LATEX数学公式编辑,数学电子版笔记的好帮手!
- 2024-09-18 【干货】LaTeX超详细使用指南!附安装包
- 2024-09-18 MathType公式转换LaTeX代码(mathtype转换为latex)
- 2024-09-18 一道改编自课本的压轴题,一题多解,一题多变,初三系列153
- 2024-09-18 新手学Latex(小学)-04(换行)(latex学起来快吗)
- 1512℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 556℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 504℃MySQL service启动脚本浅析(r12笔记第59天)
- 482℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 481℃启用MySQL查询缓存(mysql8.0查询缓存)
- 461℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 441℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 438℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)