6

this oneに似た QML (C++ バックエンドを使用) でプレゼンテーション システムを実行しています。

いくつかの数学を表示するために、いくつかの Latex コードを含めることができるようにしたいと考えています (合計、分数、スーパーおよびサブストリップ、数学フォントなど、最小限の Latex 機能のみが必要です)。

そうするために、次の可能性があると思います。

  • latex2e の使用:
    1. Latex コードを DVI ドキュメントにコンパイルします ( を使用latex) 。
    2. DVI を SVG に変換します (を使用dvisvgm)
    3. ImageQML (SVG もサポート) を使用してこれを表示します。
  • MathJax の使用:
    1. 小さな HTML ファイルに Latex コードをラップし、MathJax JS ライブラリを含めます。
    2. WebKitこれをQMLを使用して表示する
  • カスタム ソリューション (C++):
    1. 既存の最小限の Latex 数学パーサーを作成または含める
    2. QDeclarativeItemカスタムペイントで書く

私が見ていない別の解決策はありますか?2 番目のソリューションは重すぎて、3 番目のソリューションは難しすぎるため、最初のソリューションを好みます。

数式のベースラインに次の問題が見られます: インライン数式を (段落内に) 含めることができるようにしたいです。現在、テキスト パラグラフは QML Text 要素を使用してレンダリングされます。指定されたベースラインを使用して (おそらく HTML img 要素を使用して) Text 要素に画像を含める可能性はありますか? また、レンダリングされた Latex ドキュメントのベースラインを決定するにはどうすればよいですか?

注: Latex コードを事前にレンダリングする時間は問題ではありません。既にレンダリングされた数式をキャッシュするので、プレゼンテーション ドキュメントに含まれるすべての数式に対してlatex+を呼び出しても問題ありません。dvisvgm

また、プリプロセッサを使用していることにも注意してください (QML コードを手で書くのではなく、生成します)。したがって、Latex コードに QML 要素は必要ありませんが、Image 要素を使用して QML コード スニペットを生成できます (最初のソリューション用)。これにより、レンダリングされた画像の埋め込みが簡単になります。

また、インライン Latex を使用する場合、式のラップをサポートする必要もありません。(Latex はインライン数式を記述するときにそうしますが、とにかくラップされたくない小さな数式のみを使用します。)

4

2 に答える 2

3

これらは 3 つの良い選択肢だと思いますが、それ以外の方法は考えられません。

数式をいくつかのテキスト段落とインラインにする必要があるようです。そのため、オプション 2 が適切な方法だと思います。

WebKit コンポーネントを使用することは難しくありません。「重すぎる」の意味がわかりません。

乾杯!

于 2012-11-29T18:36:12.533 に答える