Возможности встраивания латекса в QML

Я делаю систему представления в QML (с бэкэндом C ++), похожую наэтот.

Я хочу иметь возможность включать некоторый латексный код для отображения некоторой математики (требуются только минимальные латексные возможности, такие как суммы, дроби, супер- и подскрипты и математические шрифты).

Я вижу следующие возможности сделать это:

С помощьюLaTeX2e:Скомпилируйте латексный код в документ DVI (с помощьюlatex)Преобразовать DVI в SVG (сdvisvgm)Показать это с помощьюImage в QML (который также поддерживает SVG)С помощьюMathJax:Оберните латексный код в небольшой HTML-файл + включите библиотеку MathJax JSПоказать это с помощьюWebKit для QMLИндивидуальное решение (C ++):Написать или включить существующий минимальный математический анализатор латексаНапишиQDeclarativeItem с заказной росписью

Есть ли другое решение, которое я не вижу? Я предпочитаю первое решение, так как второе звучит слишком тяжело, а третье слишком тяжело.

Я вижу следующую проблему сбазовая линия математической формулы: я хочу иметь возможность включать встроенные формулы (в рамках абзаца). В настоящее время текстовые абзацы отображаются с использованием текстового элемента QML. Есть ли возможность включить изображение в элемент Text (возможно, используя HTML-элемент img) суказанная базовая линия? Кроме того, как я могу определить базовый уровень визуализированного латексного документа?

Примечание. Время предварительного рендеринга латексного кода не является проблематичным. Я собираюсь кешировать уже обработанные формулы, поэтому не должно возникнуть никаких проблемlatex + dvisvgm на каждую формулу, содержащуюся в документе презентации.

Также обратите внимание, что я использую препроцессор (я не пишу код QML вручную, а генерирую его). Поэтому мне не нужен элемент QML для латексного кода, но я могу просто сгенерировать фрагмент кода QML с элементом Image (для первого решения). Это должно упростить встраивание визуализированного изображения.

Мне также не нужно поддерживать перенос формулы при использовании встроенного латекса. (Латекс делает это при написании встроенных формул, но я использую только небольшие формулы, которые я не хочу оборачивать в любом случае.)

Ответы на вопрос(2)

Ваш ответ на вопрос