web-dev-qa-db-ja.com

WPFまたはWinFormsで数式をレンダリングする方法

2018を更新TL; DR; LaTEX for WPF https://github.com/ForNeVeR/wpf-math

元の質問WindowsフォームまたはWPFで数式を描画する方法が必要です。いくつかの "FormulaTextBox"コントロールは、まさに私が必要とするものです。

私はLaTEXの完全な実装については質問していませんが、少なくとも分割線、平方根など、RichTextBoxの可能性を超えているものについては質問します。

31
MajesticRa

以下は、オンラインのいくつかのWebページから抜粋したオプションのリストと、SOの fewsimilarquestions

  • WPF-Math 、数学関連のTeXマークアップをレンダリングするためのWPFライブラリ。
  • gNumeratorMathML をレンダリングするWinFormsコントロールです。ネイティブC#ですが、かなり古いようです。
  • Math Expressions は、数式を表示および編集するための市販のWinFormsコントロールです。 注:無料ではありません
  • C#WPFコントロールへの JMathTexの非公式ポート があります。
  • LaTexエディターのWindowsバージョン Lyx は、 MikTex と呼ばれるネイティブライブラリを使用しています。どこかにtex4htパッケージは数学方程式を画像にレンダリングします
  • MimeTex / MathTex 、すでに述べたように
  • WebBrowserコントロールを使用して、ローカルに oneofmanyjavascript -を含めることもできます ライブラリ LaTexのレンダリング用。
  • 作業をMicrosoft Wordにポーンできます( -ユーザーはMS Wordをインストールする必要があります!

おそらく Wolfram Alpha API を使用して画像を取得できます。

1
TJHeuvel

RichTextBoxの機能を超えて、パイ、ディビジョン、平方根などをレンダリングしたい場合は、WebBrowserControl(s)をテキストボックスとして使用できます。次に、数式をレンダリングするために、このWebページに示されている手法を活用し、それをデスクトップに保存して、htmlファイルを開きます。

http://www.wjagray.co.uk/maths/ASCIIMathTutorial.html

明らかに、数式を入力するには特別な構文(または特別な計算機ボタン)が必要です。そのWebページを駆動するcustomisations.jsファイルを見ると、独自の演算子と関数のリストも作成できると思います。

0
Jeremy Thompson

.NET固有のソリューションがどれも機能しない場合は、次のようにします。

少しハッキーですが、動作し、ユーザーは違いを知りません。 Mathjax ライブラリをダウンロードします。ユーザーが数式を入力すると、数式をLaTexまたはMathMLに変換できます。次に、LaTexまたはMathMLを使用して、Mathjaxを参照するHTMLファイルを生成し、小さなWebBrowserウィンドウに表示します(WinFormsとWPFの両方で有効)。これにはインターネット接続は必要ありません。

私が言ったように、あなたのユーザーは賢明ではありません。

0
JP Richardson