องค์ประกอบ LaTeX ใช้ในการแสดงสูตรคณิตศาสตร์และนิพจน์โดยใช้ไวยากรณ์ LaTeX รองรับการเปลี่ยนเนื้อหาที่อิงจากเฟรมพร้อมการเปลี่ยนแปลงที่กำหนดค่าได้
องค์ประกอบ LaTeX จะแบ่งปันฟิลด์ทั่วไปจาก องค์ประกอบพื้นฐาน และ องค์ประกอบการดู
| ทรัพย์สิน | ประเภท | จำเป็น | ตัวอย่าง | ช่วงค่า | คำอธิบาย |
|---|---|---|---|---|---|
| type | string | true | - | LaTeX | ประเภทขององค์ประกอบ สำหรับองค์ประกอบ LaTeX นี้จะเป็น "LaTeX" เสมอ |
| frames | array | true | - | - | อาร์เรย์ของเฟรม LaTeX แต่ละเฟรมกำหนดนิพจน์ LaTeX ที่จะแสดงในช่วงเวลาที่เฉพาะเจาะจง |
| displayMode | boolean | false | - | - | ว่าจะเรนเดอร์ในโหมดการแสดงผล (ระดับบล็อก, จัดกลาง) หรือโหมดในบรรทัด |
| detail | number | false | - | - | ระดับรายละเอียดการเรนเดอร์ ค่าที่สูงกว่าจะผลิตเส้นโค้งที่เรียบเนียนมากขึ้น |
| targetWidth | number | false | - | - | ความกว้างเป้าหมายสำหรับเนื้อหา LaTeX ที่เรนเดอร์ เป็นพิกเซล |
| color | string | false | - | - | สีของข้อความ LaTeX ที่เรนเดอร์ ในรูปแบบฮีซ |
แต่ละรายการในอาร์เรย์ frames จะกำหนดนิพจน์ LaTeX และช่วงเวลาที่จะแสดง:
| ทรัพย์สิน | ประเภท | จำเป็น | ตัวอย่าง | ช่วงค่า | คำอธิบาย |
|---|---|---|---|---|---|
| latex | string | true | E = mc^2 | - | สตริงนิพจน์ LaTeX ที่จะเรนเดอร์ |
| start | number | true | - | >= 0 | เวลาที่เริ่มต้นของเฟรมนี้สัมพันธ์กับองค์ประกอบ เป็นวินาที |
| end | number | true | - | > start | เวลาสิ้นสุดของเฟรมนี้สัมพันธ์กับองค์ประกอบ เป็นวินาที ต้องมากกว่าจุดเริ่มต้น |
| transition | object | false | - | - | เอฟเฟกต์การเปลี่ยนแปลงเมื่อเปลี่ยนไปยังเฟรมนี้ |
| style | object | false | - | - | การเขียนทับสไตล์ต่อเฟรมสำหรับสี, displayMode, และ targetWidth |
วัตถุการเปลี่ยนแปลง:
type (string) - ประเภทการเปลี่ยนแปลง: 'fade', 'instant', หรือ 'morph' ค่าเริ่มต้น: 'instant'duration (number) - ระยะเวลาของการเปลี่ยนแปลงเป็นวินาที ค่าเริ่มต้น: 0.5วัตถุสไตล์ (การเขียนทับต่อเฟรม):
color (string) - เขียนทับสีระดับองค์ประกอบสำหรับเฟรมนี้displayMode (boolean) - เขียนทับโหมดการแสดงผลสำหรับเฟรมนี้targetWidth (number) - เขียนทับความกว้างเป้าหมายสำหรับเฟรมนี้
{
"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
}
]
}
{
"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
}
}
]
}
frames ต้องมีเฟรมอย่างน้อยหนึ่งเฟรมที่มีสตริง latex ที่ถูกต้องstart ถึง end) ควรครอบคลุมระยะเวลาขององค์ประกอบเพื่อการแสดงผลอย่างต่อเนื่องmorph สร้างอนิเมชันที่ราบรื่นระหว่างนิพจน์ LaTeX สองตัว