おそらく私は明白なことを見落としていますが、sympyが方程式を再配置するのをどのように防ぐのですか?
iPythonノートブックでSympyを使用しているので、LaTeXコードをLyxに簡単にコピーして貼り付けることができますが、方程式を定義したのと同じ順序にする必要があります。
たとえば、温度の関数としての黒体放射の式は次のとおりです。
Sympyは自動的に温度コンポーネントを前面に配置します。これにより、数式の非常に珍しい表現が得られます。これを防ぐ方法はありますか?
現在、SymPyには、入力されたとおりに正確に印刷する方法はありません。その情報はどこにも保存されていないためです。
私は掛け算を信じています。記号はアルファベット順に並べられ、大文字は小文字の前に置かれます(基本的にはからの順序ord
)。私が思いつくことができる最善のトリックは、symbol_names
オプションtolatex
を使用することです。これにより、LaTeX表現でシンボルに使用される名前を変更できます。順序は引き続き元のシンボルの名前に基づいているため、だましてみることができます。
>>> from sympy.abc import epsilon, omega, t
>>> latex(epsilon*sigma*t**4, symbol_names={t:"T"})
\epsilon \sigma T^{4}
これをノートブックできれいに印刷したい場合は、symbol_names
dictをに渡す印刷拡張機能のカスタムバージョンを作成する必要がありますlatex
。https://github.com/sympy/sympy/blob/master/sympy/interactive/printing.pyを参照してください(理想的には、latex
オプションをに渡すだけinit_printing
で、SymPyバグトラッカーで問題を開きます)。