1

SQLiteデータベースに質問が格納されています。数学の主題については、それらはhtml形式の式/方程式として格納されます。予想通り、このコードは働いていないと出力されLatex Comand for Mathematical formulaを含むHTMLテキストを、公式または帰属テキストに変換して正しい式を出力します。

NSAttributedString * attrStr = [[NSAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil]; 
     questionLbl.attributedText = attrStr; 

私は次のコードを使用し、UILabelにこの文字列を表示するには

NSString *htmlstring = @"If 3<em>x</em><sup><strong>2</strong></sup>&nbsp;+ 11<em>x</em>&nbsp;+ 6 $$\\ge$$&nbsp;0, then <em>x</em>&nbsp;$$\\in $$"; 

:私は質問と、それを文字列として保存されたを取得します

enter image description here

予想される出力は次のようになります。

enter image description here

データベースからデータを取得したり、htmlをプレーンテキストに変換するときに、どこが間違っているのか分かりませんでした。

UPDATE

I以下Ashmiの答えからのテキストは、ラテックス形式になって考え出しました。 latexコマンドをsymbolに変換するにはどうすれば問題になるのですか?

  1. (Ashmiにより示唆されるように)ラベルにそのHTML をロードし、その後、HTMLにラテックスを変換する:3つの可能性があります。
  2. ラテックスをユニコード文字に変換してラベルに直接ロードします。
  3. があれば、ライブラリを使用して、あなたのHTMLフォーマットは、だから私はちょうどHTML形式を変更して、必要な出力を得る正しくないかもしれコードの下にチェックMATH.H

答えて

3

ようなものがあります。 HTMLで数学記号を作成する方法の詳細については、下記のリンクをご確認ください。

https://www.univie.ac.at/moe/formeln.html

NSString *htmlstring = @"If 3<em>x</em><sup><strong>2</strong></sup>&nbsp;+ 11<em>x</em>&nbsp;+ 6 &#x2265;0, then <em>x</em>&#x20AC"; 

    NSAttributedString * attrStr = [[NSAttributedString alloc] initWithData:[htmlstring dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil]; 

    NSLog(@"%@",attrStr.string); 

enter image description here

+0

私はデータベースから動的にHTML文字列を取得しています。しかし、あなたが提供するリンクは、テキストがLaTeX形式であることを理解する手助けをします。ですから、iOSのLaTexコマンドからシンボルを取得する方法を見つける必要があります。 – iAkki

+0

はい、しかし、LaTex形式のhtmlを検索して文字列に渡すことができます。 – ashmi123

関連する問題