Loading...
Features
- LaTeX syntax support for complex mathematical expressions
- Both inline and block equation formats
- Real-time rendering of equations using KaTeX
- Easy editing and navigation within equations
Kit Usage
Installation
The fastest way to add equation functionality is with the MathKit
, which includes pre-configured EquationPlugin
and InlineEquationPlugin
with Plate UI components.
EquationElement
: Renders block equation elements.InlineEquationElement
: Renders inline equation elements.
Add Kit
Add the kit to your plugins:
import { createPlateEditor } from 'platejs/react';
import { MathKit } from '@/components/editor/plugins/math-kit';
const editor = createPlateEditor({
plugins: [
// ...otherPlugins,
...MathKit,
],
});
Manual Usage
Installation
pnpm add @platejs/math
Add Plugins
Include the equation plugins in your Plate plugins array when creating the editor.
import { EquationPlugin, InlineEquationPlugin } from '@platejs/math/react';
import { createPlateEditor } from 'platejs/react';
const editor = createPlateEditor({
plugins: [
// ...otherPlugins,
EquationPlugin,
InlineEquationPlugin,
],
});
Configure Plugins
Configure the plugins with custom components to render equation elements.
import { EquationPlugin, InlineEquationPlugin } from '@platejs/math/react';
import { createPlateEditor } from 'platejs/react';
import { EquationElement, InlineEquationElement } from '@/components/ui/equation-node';
const editor = createPlateEditor({
plugins: [
// ...otherPlugins,
EquationPlugin.withComponent(EquationElement),
InlineEquationPlugin.withComponent(InlineEquationElement),
],
});
withComponent
: AssignsEquationElement
to render block equations andInlineEquationElement
to render inline equations.
Add Toolbar Button
You can add EquationToolbarButton
to your Toolbar to insert equations.
Plate Plus
Plugins
EquationPlugin
Plugin for block equation elements.
InlineEquationPlugin
Plugin for inline equation elements.
Transforms
tf.insert.equation
tf.insert.inlineEquation
Inserts an inline equation.
Types
TEquationElement
interface TEquationElement extends TElement {
texExpression: string;
}