LaTeX 元素

LaTeX 元素使用 LaTeX 语法渲染数学公式和表达式。它支持基于框架的内容切换,并具有可配置的过渡效果。

LaTeX 元素共享来自 基本元素视图元素 的公共字段。

LaTeX 属性

属性类型必需示例值范围描述
typestringtrue-LaTeX元素的类型。对于 LaTeX 元素,这始终是 "LaTeX"。
framesarraytrue--一个 LaTeX 框架的数组。每个框架定义一个在特定时间范围内显示的 LaTeX 表达式。
displayModebooleanfalse--是否以显示模式(块级,居中)或行内模式渲染。
detailnumberfalse--渲染细节级别。更高的值产生更平滑的曲线。
targetWidthnumberfalse--渲染的 LaTeX 内容的目标宽度,以像素为单位。
colorstringfalse--渲染的 LaTeX 文本的颜色,以十六进制格式表示。

框架对象

frames 数组中的每个项目定义一个 LaTeX 表达式及其显示的时间范围:

属性类型必需示例值范围描述
latexstringtrueE = mc^2-要渲染的 LaTeX 表达式字符串。
startnumbertrue->= 0此帧相对于元素的开始时间,以秒为单位。
endnumbertrue-> start此帧相对于元素的结束时间,以秒为单位。必须大于开始时间。
transitionobjectfalse--切换到此帧时的过渡效果。
styleobjectfalse--每帧的样式覆盖,包括颜色、displayMode 和 targetWidth。

过渡对象

  • type (字符串) - 过渡类型:'fade''instant''morph'。默认值:'instant'
  • duration (数字) - 过渡持续时间(以秒为单位)。默认值:0.5

样式对象(每帧覆盖):

  • color (字符串) - 覆盖此帧的元素级颜色
  • displayMode (布尔值) - 覆盖此帧的显示模式
  • targetWidth (数字) - 覆盖此帧的目标宽度

示例

单帧 LaTeX

latexElement.json
 
{
  "id": "latex-001",
  "type": "LaTeX",
  "start": 0,
  "duration": 5,
  "trackIndex": 0,
  "x": 200,
  "y": 300,
  "width": 400,
  "height": 100,
  "anchorX": 200,
  "anchorY": 50,
  "rotation": 0,
  "scaleX": 1,
  "scaleY": 1,
  "alpha": 1,
  "color": "#000000",
  "displayMode": true,
  "targetWidth": 400,
  "frames": [
    {
      "latex": "E = mc^2",
      "start": 0,
      "end": 5
    }
  ]
}

多帧带过渡

latexMultiFrame.json
 
{
  "id": "latex-002",
  "type": "LaTeX",
  "start": 0,
  "duration": 10,
  "trackIndex": 0,
  "x": 200,
  "y": 300,
  "width": 500,
  "height": 120,
  "anchorX": 250,
  "anchorY": 60,
  "rotation": 0,
  "scaleX": 1,
  "scaleY": 1,
  "alpha": 1,
  "color": "#1a1a1a",
  "displayMode": true,
  "targetWidth": 500,
  "frames": [
    {
      "latex": "f(x) = ax^2 + bx + c",
      "start": 0,
      "end": 5,
      "transition": {
        "type": "fade",
        "duration": 0.5
      }
    },
    {
      "latex": "x = \\frac{-b \\pm \\sqrt{b^2 - 4ac}}{2a}",
      "start": 5,
      "end": 10,
      "transition": {
        "type": "morph",
        "duration": 0.8
      }
    }
  ]
}

注意事项

  • LaTeX 元素使用矢量渲染,以在任何比例下提供清晰的输出。
  • frames 数组必须至少包含一个具有有效 latex 字符串的帧。
  • 框架时间范围(startend)应覆盖元素的持续时间,以实现连续显示。
  • morph 过渡在两个 LaTeX 表达式之间创建平滑动画。