2017-12-04 14 views
2

Sympyにはlatexで式を印刷する機能があります。純粋なラテックスでは、物理記号( "hbar")は単に$\hbar$です。ラテックスで印刷する物理値 "hbar"のsympyシンボルを定義します

sympy.galgebra.GAには、拡張シンボル命名機能を提供する方法がありますが、 "hbar"を作成する方法はありません。

物理シンボルとしてレンダリングするシンボル "hbar"を含むsympy式を定義したいとします。

答えて

2

SymPyシンボル'hbar'を作成できます。 SymPyはそれを理解し、必要な変数のラテックス表現を生成します。 symPyバージョン1.1.1でこれをテストしました。以前のバージョンを使用していても動作しない場合は、更新を検討してください。

import sympy as sp 
sp.init_printing() 

h = sp.Symbol('hbar') 
print(sp.latex(h)) # prints \hbar 

したがって、あなたは変数hのLaTeXの表現が実際に$\hbar$であることを確認することができます。

+0

ありがとうございました。 'sympy.latex(h)'は適切なラテックス表現 '$ \ hbar $'を生成します しかし、 'sympy.pprint(h)'を実行すると、ipythonセッションに現れるものは '$ \ bar { h} $ ' これはおそらく私が得ることができる最も近いものです。 – GeorgeSalt

+0

可能であれば、[Jupyter Console](https://qtconsole.readthedocs.io/en/stable/)を使ってlatexの良さをすべて知ることができます。しかし、ターミナルエミュレータからIPythonを実行すると、 'pprint'よりもうまくいくとは思えません。 'init_printing()'を使うと、 'pprint'する必要はありません。 –

+0

OK。 Jupyterのノートブックで適切にレンダリングされます。私はJupyterコンソールをチェックアウトします。端末エミュレータからのIPythonはおそらくユニコードに限定されています。 – GeorgeSalt

関連する問題