一款基于Latex语法和MathJax渲染的零基础公式编辑器,数学公式插件

  1. 零基础即可编辑公式
  2. 支持自定义编辑器配置和风格
  3. 支持二次编辑公式
  4. 支持作为插件和富文本编辑器一起使用

介绍

基于Latex语法和MathJax渲染的公式编辑器插件,易用、可二次编辑、内容可视化。

在这里插入图片描述

标题为什么会开发该插件?

之前调研过很多开源的公式编辑插件,主要有以下几个问题:

  • 编辑好的公式最终只能通过生成图片使用
    • 意味着无法二次编辑
    • 存储不方便
  • 纯粹基于Latex语法,没有对应的基础无从下手
  • 体积大或非开源

安装和使用

// 编辑器容器
<div id="test"></div>

NPM

npm i easy-formula-editor
import formulaEditor from "easy-formula-editor";
const editor = new formulaEditor();
editor.create('#test');

CDN

<script type="text/javascript" src="../dist/formula-editor.min.js"></script>
<script type="text/javascript">
  const editor = new formulaEditor();
  editor.create('#test');
</script>

导出

// latex 公式
editor.latex.text()

// html 公式
editor.$textSvgElem.html()

在线示例

公式编辑器

配置项

editor.config

属性类型描述默认值
widthnumber编辑器宽度620
heightnumber编辑器高度272
mathJaxUrlstringMathJax的加载链接https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/mathjax/3.2.0/es5/tex-svg.min.js
zIndexnumber容器的z-index

editor.menusConfig

属性类型描述默认值
presetsobject[]菜单预设公式//
operatorsstring[]菜单运算符//
greekLettersstring[]菜单希腊字母//
inequationstring[]菜单不等式//
calculusstring[]菜单微积分//
arrowsstring[]菜单箭头符号//
trigonometricstring[]菜单三角函数//

修改编辑器配置

const editor = new formulaEditor();

// 例如:修改高度
editor.config.height = 400;

editor.create('#test');

配置菜单

const editor = new formulaEditor();

// 例如:增加预设公式
editor.menusConfig.presets.push({ label: "自定义", value: "x+2y=7" });

editor.create('#test');

自定义风格

:root {
  --me-theme: #bcd4e7;
  --me-theme-light: #d0e3f2;
  --me-hover: #f1f2f4;
  --me-border: #ddd;
  --me-gray: ##666;
}

编辑器颜色是通过以上的5个css变量控制,要自定义色彩搭配只需要修改对应的值,例如:

// 打开控制台,输入
var r = document.querySelector(':root');
r.style.setProperty('--me-theme', '#9b8ea9');
r.style.setProperty('--me-theme-light', '#d3ccd6');

在这里插入图片描述

公式颜色和大小

编辑器生成的公式未自带颜色和字体大小,因为这些功能有点鸡肋,你可以通过以下方式去控制:

<div style="font-size: 20px;color: red;">获取到的公式</div>

在这里插入图片描述

新增自定义菜单

如果你有这个需求,请联系邮箱:hanson247@163.com

多语言

暂未支持

与富文本编辑器一起使用

本项目的主要实现借鉴了wangeditor,所以如果与wangeditor深度集成,可以减少60%以上的代码量。
下面示范了如何作为wangeditor的菜单插件:
在这里插入图片描述

源码

https://github.com/hansonGong/formula-editor

最后:如果该插件能够帮助到你,麻烦动动小手给个 star 吧~

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: Markdown 编辑器中支持公式的方式有很多种,具体操作取决于使用的编辑器。 一种常见的方式是使用 LaTeX 语法进行公式编写。在 Markdown 中,可以使用两种方式插入 LaTeX 公式: 1. 行内公式:使用反引号 (`) 包含公式,如:`$E=mc^2$`。 2. 块级公式:使用三个反引号 (```) 包含公式,如: ``` $$ E=mc^2 $$ ``` 另外, 也可以使用markdown支持的其他公式编辑器,如:MathJax, KaTeX, AsciiMath 等。 在某些Markdown编辑器中,需要在设置中开启公式功能。 ### 回答2: 要在Markdown编辑器中开启公式支持,你需要使用支持LaTeX语法插件或工具。以下是一些常见的方法: 1. 使用Typora:Typora是一种支持实时渲染公式的所见即所得(WYSIWYG)Markdown编辑器。你可以在Typora中使用标准的LaTeX语法来编写公式,并在预览模式下即时查看渲染后的公式。 2. 使用MathJaxMathJax是一种JavaScript引擎,用于渲染数学公式。它可以嵌入到任何支持HTML的Markdown编辑器中。你可以在Markdown文档中集成MathJax代码块,并使用LaTeX语法编写公式。然后,当你在支持MathJax的Markdown编辑器中查看或生成预览时,公式将被渲染为数学符号和表达式。 3. 使用Pandoc:Pandoc是一个强大的文档转换工具,可以将Markdown转换成许多其他格式,包括HTML和PDF。你可以在Markdown文档中使用LaTeX语法来编写公式,并使用Pandoc将其转换为其他格式时,公式会自动渲染。 无论你选择哪种方法,记得在Markdown编辑器中启用相应的插件或功能,以确保公式可以正确地渲染和显示。 ### 回答3: 要在Markdown编辑器中开启公式支持,需要借助特定的工具或插件。常见的方法包括以下几种: 1. 使用MathJax插件MathJax一款用于显示数学公式的JavaScript库,可以在Markdown编辑器中嵌入该库来支持公式的显示。具体方法是,在Markdown编辑器中的配置文件或扩展设置中引入MathJax库的链接,并将公式用$或$$括起来,即可实现公式的渲染。 2. 使用KaTeX插件:KaTeX是另一款用于显示数学公式的JavaScript库,与MathJax类似,可以在Markdown编辑器中引入该库来支持公式的显示。具体方法也是在编辑器的配置文件或扩展设置中引入KaTeX库,并使用$或$$括起公式,使其能够被解析和渲染。 3. 使用本地编辑器:如果你使用本地的Markdown编辑器,可以选择带有公式支持的编辑器,如Typora、MWeb等。安装这些编辑器后,你可以直接输入数学公式编辑器会自动实时渲染公式,并在呈现时正确显示。 无论你选择哪种方法,启用公式支持后,你就可以在Markdown编辑器中使用公式语法来编写数学公式,并通过预览功能来查看渲染后的公式效果。这样,你就可以更方便地在Markdown文档中插入、编辑和展示数学公式了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值