2017-04-13 14 views
0

OMath名前空間を介してWordに式を書き込もうとしていますが、エスケープ文字を正しく生成できません。以下のコンソールプログラムを実行すると、分子と除数が正しく配置されますが、エスケープ文字 "\ delta"は、小文字のデルタのギリシャ記号に変わるのではなく、入力されたとおりにそのまま残ります。OMath buildup()エスケープ文字

\ deltaの 'a'の直後にカーソルを置いてspaceを押すと、それが変換されます。私がリボンからプロフェッショナルをクリックすると、また変換します。

エスケープ文字をプログラムで作成して正しく表示する方法を説明できる人はいますか?

static void Main(string[] args) 
    { 
     string fName = @"C:\Users\Desktop\Doc_1.docx"; 

     Word._Application myApp = new Word.Application(); 
     myApp.Visible = true; 

     Word.Document myDoc = myApp.Documents.Open(fName); 

     Word.Range myFunctionR = myApp.Selection.OMaths.Add(myApp.Selection.Range); 
     Word.OMathFunction myFunction = myApp.Selection.OMaths[1].Functions.Add(
      myApp.Selection.Range, Word.WdOMathFunctionType.wdOMathFunctionBox); 
     Word.OMathBox myBox = myFunction.Box; 

     myBox.E.Range.Text = @"\delta = (PL)/(AE)"; 
     myBox.E.BuildUp(); 
    } 

私はMS WordからのMathMLを貼り付ける場合は、次のようになります。

正しい/目的のバージョン:

<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math"> 
<mml:mi>δ</mml:mi><mml:mi>  
<mml:mi> </mml:mi> 
<mml:mo>=</mml:mo> 
<mml:mfrac> 
    <mml:mrow> 
     <mml:mi>P</mml:mi> 
     <mml:mi>L</mml:mi> 
    </mml:mrow> 
    <mml:mrow> 
     <mml:mi>A</mml:mi> 
     <mml:mi>E</mml:mi> 
     </mml:mrow> 
</mml:mfrac> 

誤った/プログラマバージョン:

この例では210
<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math"> 
<mml:mo>\</mml:mo> 
<mml:mi>d</mml:mi> 
<mml:mi>e</mml:mi> 
<mml:mi>l</mml:mi> 
<mml:mi>t</mml:mi> 
<mml:mi>a</mml:mi> 
<mml:mi> </mml:mi> 
<mml:mo>=</mml:mo> 
<mml:mfrac> 
    <mml:mrow> 
     <mml:mi>P</mml:mi> 
     <mml:mi>L</mml:mi> 
    </mml:mrow> 
    <mml:mrow> 
     <mml:mi>A</mml:mi> 
     <mml:mi>E</mml:mi> 
     </mml:mrow> 
</mml:mfrac> 

答えて

0

テキストだけで\ u03B4を配置しても問題が解決し、私は...あなたがWordで入力することができたときのように逃げてから、より複雑なシナリオを行うことができることを望んでいた私のように見えますそれはそれがより複雑であると思った。

Microsoft Equation Editorは、MathMLレンダラー/データ入力ユーティリティにすぎないと私は考えています。それを単語にインポートすることは、適切な/最善のアプローチであるように思われます。MathML &

関連する問題