こんにちは、よろしくお願いします。私は、sympy式と混合された素敵な数学フォーマットを取得しようとしています。jupyter-notebookを使用しています。
ラテックスと素敵なシンピー印刷を別々の行に入れることはできますが、それらを1行にまとめる方法がわからないようです。以下のコードは3行を出力します。3行目は、最初の2行の組み合わせである必要があります。うまくいけば、私が理解していないエレガントなソリューションがあります(Pythonの初心者のビット)。
import sympy as sym
from IPython.display import display, Math
sym.init_printing()
x = sym.symbols('x')
expr = sym.sqrt(3) * x**3
display(Math('\\frac{1}{2} ') )
display(expr)
display(Math('\\frac{1}{2} %s' %expr) )
文字列フォーマットを使用する場合str
、sympyによって実装されたメソッドを使用して、式を文字列に変換します。ただし、の出力はstr
LaTeX出力を対象としていません。strのドキュメントを参照してください。
式の文字列形式を取得するには、str(expr)を使用します。これは、print(expr)によって生成されるフォームでもあります。文字列フォームは読みやすいように設計されていますが、コピーして貼り付けることができるように正しいPython構文のフォームになっています。式のstr()形式は、通常、入力した式とまったく同じように見えます。
したがって、出力は有効なPythonコードであることが意図されています。
>> str(expr)
'sqrt(3)*x**3'
LaTeX形式で式を取得するために、sympyはlatex
関数を提供します。次のように呼び出すことができます。
>> sym.latex(expr)
'\\sqrt{3} x^{3}'
したがって、最後の行を次のように変更するだけです。
display(Math('\\frac{1}{2} %s' %sym.latex(expr)))
意図したとおりに見えるはずです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加