Skip to content
Back to skills

N Equation

ASecurity

Equation 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
developmentjavascriptgojavavueexpressapidocumentation

Works with

  • api

Security analysis

A100/100

Scanned September 11, 2026

npx -y skills add jiaiyan/naive-ui-skills --skill n-equation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of N Equation?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for N Equation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jiaiyan-n-equation/badge)](https://www.skillsdirectory.com/skills/jiaiyan-n-equation)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.