Возможности встраивания латекса в 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 (для первого решения). Это должно упростить встраивание визуализированного изображения.
Я тоже неПри использовании встроенного латекса необходимо поддерживать перенос формулы. (Латекс делает это при написании встроенных формул, но я использую только маленькие формулы, которые я нев любом случае не хочу быть завернутым.)