# 数学公式渲染系统 - 快速开始
## 已有文件(已创建)
如果您看到此文件,说明所有必需文件已创建完成。以下是快速使用指南:
## 已创建的文件清单
### 1. 核心组件
- ✅ `resources/views/components/math-render.blade.php` - Blade 组件
- ✅ `app/Filament/Fields/MathEditor.php` - Filament 字段
- ✅ `app/Livewire/Traits/WithMathRender.php` - Livewire Trait
- ✅ `public/js/math-render.js` - 全局渲染脚本
### 2. 样式资源
- ✅ `public/css/katex/katex.min.css` - KaTeX 样式
- ✅ `public/js/katex.min.js` - KaTeX 脚本
### 3. 示例和文档
- ✅ `resources/views/examples/math-render-example.blade.php` - 示例页面
- ✅ `app/Livewire/MathRenderTest.php` - 测试组件
- ✅ `resources/views/livewire/math-render-test.blade.php` - 测试视图
- ✅ `docs/math-render-system.md` - 完整文档
## 快速开始
### 步骤 1: 在布局中加载资源
在 `resources/views/layouts/app.blade.php` 或您的主布局文件中添加:
```blade
@push('scripts')
@endpush
@push('styles')
@endpush
```
### 步骤 2: 在页面中使用
```blade
```
### 步骤 3: 在 Livewire 组件中使用
```php
{{ $this->getMathContent($question['content']) }}
```
### 步骤 4: 在 Filament 表单中使用
```php
use App\Filament\Fields\MathEditor;
public static function form(Form $form): Form
{
return $form
->schema([
// ...
MathEditor::make('stem')
->label('题目内容')
->required(),
]);
}
```
## 支持的格式
### 行内公式
```latex
已知函数 $f(x) = ax^2 + bx + c$
```
### 块级公式
```latex
$$
\int_0^\infty e^{-x^2} dx = \frac{\sqrt{\pi}}{2}
$$
```
### 完整示例
```latex
已知二次函数 $f(x) = ax^2 + bx + c$,求:
1. $f(2)$ 的值
2. 顶点坐标:$\left(-\frac{b}{2a}, \frac{4ac-b^2}{4a}\right)$
3. 判别式:$\Delta = b^2 - 4ac$
如果 $\Delta > 0$,方程有两个不同的实数根:
$$
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
$$
```
## 测试
访问以下 URL 查看示例:
- `/math-render-example` - 查看渲染示例
- `/livewire/math-render-test` - 测试 Livewire 组件
## 故障排除
### 公式不显示
1. 检查控制台是否有错误
2. 确认资源文件已加载
3. 验证 LaTeX 语法
### Livewire 更新后不刷新
系统会自动处理,如有问题可手动触发:
```javascript
document.dispatchEvent(new Event('math:render'));
```
## 更多文档
- 完整文档:`docs/math-render-system.md`
- API 参考:查看文档中的相应章节
- 示例代码:查看 `examples/` 和 `livewire/` 目录
## 需要帮助?
1. 查看完整文档:`docs/math-render-system.md`
2. 检查浏览器控制台的错误信息
3. 参考示例代码