Структура
Каждое число, действие и отношение остаётся отдельным узлом.
Первая версия рендерера работает с семантическим деревом, сохраняет точные числа и отделяет математический смысл от оформления.
Каждое число, действие и отношение остаётся отдельным узлом.
Из того же дерева собирается понятное описание для скринридера.
Zod проверяет документ до того, как он попадёт в интерфейс.
Интерактивный ввод
Редактор отдаёт LaTeX, адаптер превращает его в семантическое дерево, а визуальный компонент рисует результат уже из этого дерева.
Предпросмотр из AST
LaTeX
\frac{1}{2}+\frac{3}{4}Семантическое дерево
{
"type": "operation",
"operator": "add",
"operands": [
{
"type": "operation",
"operator": "divide",
"operands": [
{
"type": "integer",
"value": "1"
},
{
"type": "integer",
"value": "2"
}
]
},
{
"type": "operation",
"operator": "divide",
"operands": [
{
"type": "integer",
"value": "3"
},
{
"type": "integer",
"value": "4"
}
]
}
]
}Базовый набор
Подсвеченный числитель показывает, что узлы уже готовы к будущему выделению и интерактивным шагам решения.
Числитель и знаменатель остаются отдельными узлами.
Доступное описание
дробь: числитель 1, знаменатель 2
Унарный минус отделён от операции вычитания.
Доступное описание
минус дробь: числитель 3, знаменатель 4
В данных используется точка, в русском интерфейсе — запятая.
Доступное описание
2,50
Композиция собирается из тех же базовых элементов.
Доступное описание
дробь: числитель 1, знаменатель 2 плюс дробь: числитель 3, знаменатель 4
Знак умножения можно заменить без изменения выражения.
Доступное описание
2 умножить на открывающая круглая скобка, 3 минус 1, закрывающая круглая скобка
Отношение связывает два самостоятельных выражения.
Доступное описание
10 разделить на 2 равно 5
Размер вложенного выражения уменьшается автоматически.
Доступное описание
дробь: числитель 1 плюс дробь: числитель 1, знаменатель 2, знаменатель 3 минус дробь: числитель 1, знаменатель 4
Масштаб
Представление