LaTeX 요소

LaTeX 요소는 LaTeX 구문을 사용하여 수학 공식을 렌더링합니다. 구성 가능한 전환을 통해 프레임 기반 콘텐츠 전환을 지원합니다.

LaTeX 요소는 기본 요소뷰 요소에서 공통 필드를 공유합니다.

LaTeX 속성

소품유형필수예시값 범위설명
typestringtrue-LaTeX요소의 유형입니다. LaTeX 요소의 경우 항상 "LaTeX"입니다.
framesarraytrue--LaTeX 프레임의 배열입니다. 각 프레임은 특정 시간 범위에 표시할 LaTeX 표현식을 정의합니다.
displayModebooleanfalse--디스플레이 모드(블록 수준, 중앙 정렬) 또는 인라인 모드로 렌더링할지 여부입니다.
detailnumberfalse--렌더링 세부 수준입니다. 높은 값은 더 부드러운 곡선을 생성합니다.
targetWidthnumberfalse--렌더링된 LaTeX 콘텐츠의 목표 너비(픽셀)입니다.
colorstringfalse--렌더링된 LaTeX 텍스트의 색상(16진수 형식)입니다.

프레임 객체

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 문자열을 가진 최소한 하나의 프레임을 포함해야 합니다.
  • 프레임 시간 범위(start에서 end까지)는 연속 표시를 위해 요소의 지속 시간을 포함해야 합니다.
  • morph 전환은 두 개의 LaTeX 표현식 사이에 부드러운 애니메이션을 생성합니다.