Back to skills
SKILL.md
N Equation
ASecurityEquation component for rendering mathematical equations using KaTeX. Invoke when user needs to display mathematical formulas or LaTeX expressions in Naive UI.
- 8 stars
- 0 votes
- 0 copies
- 3 views
- Added September 11, 2026
Works with
Security analysis
100/100npx -y skills add jiaiyan/naive-ui-skills --skill n-equation --agent claude-codeAre you the author of N Equation?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/jiaiyan-n-equation)---
name: "n-equation"
description: "Equation component for rendering mathematical equations using KaTeX. Invoke when user needs to display mathematical formulas or LaTeX expressions in Naive UI."
metadata:
author: jiaiyan
version: "1.0.0"
---
# Naive UI Equation Component
Equation component for rendering mathematical equations using KaTeX, a fast math typesetting library.
## When to Use
Use this component when:
- **Mathematical formulas**: Display mathematical equations in web applications
- **Scientific content**: Present scientific formulas and equations
- **Educational platforms**: Show mathematical content in learning materials
- **Documentation**: Include mathematical expressions in technical documentation
## When to Invoke
Invoke this skill when:
- User needs to display mathematical equations or formulas
- User wants to render LaTeX expressions
- User asks about setting up KaTeX for Equation component
- User needs to customize KaTeX options for equation rendering
## Prerequisites
**Important**: Naive UI does not include KaTeX by default. You must configure it before using the Equation component.
```vue
<template>
<n-config-provider :katex="katex">
<my-app />
</n-config-provider>
</template>
<script setup>
import katex from 'katex'
import 'katex/dist/katex.css'
</script>
```
## Features
- **LaTeX Rendering**: Render mathematical expressions using LaTeX syntax
- **KaTeX Integration**: Fast and accurate math typesetting
- **Custom Options**: Configure KaTeX options for advanced customization
- **Global Configuration**: Set up KaTeX once via n-config-provider
## API Reference
### Equation Props
| Name | Type | Default | Description |
|------|------|---------|-------------|
| katex | `object` | `undefined` | KaTeX instance for local configuration. |
| katex-options | `object` | `undefined` | KaTeX options for the equation rendering. |
| value | `string` | `undefined` | LaTeX expression of the equation. |
## Basic Usage
### Basic Equation
```vue
<template>
<n-config-provider :katex="katex">
<n-equation :value="equation" />
</n-config-provider>
</template>
<script setup>
import katex from 'katex'
import 'katex/dist/katex.css'
const equation = 'E = mc^2'
</script>
```
### Complex Mathematical Formula
```vue
<template>
<n-config-provider :katex="katex">
<n-space vertical>
<n-equation value="\\int_{-\\infty}^{\\infty} e^{-x^2} dx = \\sqrt{\\pi}" />
<n-equation value="\\sum_{n=1}^{\\infty} \\frac{1}{n^2} = \\frac{\\pi^2}{6}" />
<n-equation value="\\frac{-b \\pm \\sqrt{b^2 - 4ac}}{2a}" />
</n-space>
</n-config-provider>
</template>
<script setup>
import katex from 'katex'
import 'katex/dist/katex.css'
</script>
```
### Using KaTeX Options
```vue
<template>
<n-config-provider :katex="katex">
<n-equation :value="equation" :katex-options="katexOptions" />
</n-config-provider>
</template>
<script setup>
import katex from 'katex'
import 'katex/dist/katex.css'
const equation = '\\frac{1}{2}'
const katexOptions = {
displayMode: true,
throwOnError: false,
errorColor: '#cc0000'
}
</script>
```
## Common Patterns
### Equation in Card
```vue
<template>
<n-config-provider :katex="katex">
<n-card title="Quadratic Formula">
<n-equation value="x = \\frac{-b \\pm \\sqrt{b^2 - 4ac}}{2a}" />
</n-card>
</n-config-provider>
</template>
<script setup>
import katex from 'katex'
import 'katex/dist/katex.css'
</script>
```
### Multiple Equations with Descriptions
```vue
<template>
<n-config-provider :katex="katex">
<n-descriptions label-placement="left" :column="1" bordered>
<n-descriptions-item label="Einstein's Mass-Energy">
<n-equation value="E = mc^2" />
</n-descriptions-item>
<n-descriptions-item label="Pythagorean Theorem">
<n-equation value="a^2 + b^2 = c^2" />
</n-descriptions-item>
<n-descriptions-item label="Euler's Identity">
<n-equation value="e^{i\\pi} + 1 = 0" />
</n-descriptions-item>
</n-descriptions>
</n-config-provider>
</template>
<script setup>
import katex from 'katex'
import 'katex/dist/katex.css'
</script>
```
### Dynamic Equation Rendering
```vue
<template>
<n-config-provider :katex="katex">
<n-space vertical>
<n-input v-model:value="latexInput" placeholder="Enter LaTeX expression" />
<n-equation :value="latexInput" :katex-options="{ throwOnError: false }" />
</n-space>
</n-config-provider>
</template>
<script setup>
import { ref } from 'vue'
import katex from 'katex'
import 'katex/dist/katex.css'
const latexInput = ref('x^2 + y^2 = r^2')
</script>
```
## Best Practices
1. **Import KaTeX CSS**: Always import KaTeX CSS for proper rendering
```javascript
import 'katex/dist/katex.css'
```
2. **Configure globally**: Use n-config-provider to set KaTeX once for all Equation components
```vue
<n-config-provider :katex="katex">
<app />
</n-config-provider>
```
3. **Handle errors gracefully**: Use `throwOnError: false` for user input
```vue
<n-equation :value="input" :katex-options="{ throwOnError: false }" />
```
4. **Escape backslashes**: Use double backslashes in JavaScript strings
```javascript
const equation = '\\frac{1}{2}' // Renders as \frac{1}{2}
```
5. **Use displayMode for block equations**: Set displayMode in katex-options for centered block equations
```vue
<n-equation :value="equation" :katex-options="{ displayMode: true }" />
```
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.