2016-06-10 35 views
1

這可能是一個愚蠢的問題,但是可以將MathJax合併到Python代碼中嗎?很多時候我都希望程序輸出看起來更整齊,老實說MathJax看起來很棒。我可以將MathJax集成到Python程序中嗎?

我知道MathJax運行Javascript,但我沒有放棄希望。如果答案是否定的,是否有一些簡單的模塊可以使用?

例如,如果:

1.234/e^23 [and] (I^-)_(aq) +I _(2(s)) -> (I^-)_3(aq) 

可能被格式化爲:

Formatting example

這將是理想的。

+1

程序輸出是什麼意思?一個GUI?你的命令行? – rawbeans

+0

@rawbeans,要麼足以:)。 GUI甚至可能是首選(例如tkinter)。 –

+2

你使用ipython/Jupyter筆記本嗎?你看過sympy嗎?看看[這個答案](http://stackoverflow.com/questions/20979993/how-to-pretty-print-in-ipython-notebook-via-sympy-pprint-only-prints-unicode-ve)和[this其他答案](http://stackoverflow.com/questions/20979993/how-to-pretty-print-in-ipython-notebook-via-sympy-pprint-only-prints-unicode-ve) –

回答

3

我只能假設你可能想輸出一些東西到顯示器進行打印。因此,Python中的常見用法可能是Matplotlib(儘管Gnuplot是一個很好的替代方案,它與python兼容)。 如果使用Matplotlib創建空白情節然後可以輸入正常純乳膠數學指令(接近相同MathJax):

一個小例子:

import matplotlib 
matplotlib.use('TkAgg') 
import pylab 
import matplotlib.pyplot as plt 
from matplotlib import rc 

plt.clf() 
plt.rc('text', usetex=True) 
plt.rcParams["figure.figsize"] = (8, 5) 
plt.rc('font', **{'family':'serif', 'serif':['Computer Modern Roman'], 'size': 16}) 
plt.axis("off") 
plt.text(0.5, 0.5, "Maths $e = mc^2$") 

給出以下輸出

enter image description here

它可以輕鬆保存,作爲.pdf,然後我的屏幕截圖的明顯粒度被刪除。

+0

即使這似乎是我所希望的,有沒有辦法在我的命令行中以類似的方式格式化文本?只是爲了將來的參考 –

+1

我不確定你想達到什麼:我給出了一個使用Python的例子,我們可以生成使用Latex格式化的輸出,而且這僅僅在生成圖形和圖形時非常有用(以我的經驗)我想將一些格式良好的文本疊加到它們上面,並且通常以pdf格式輸出結果。你能舉一個你想要什麼樣的輸入和輸出的例子嗎?對於數學中Python格式良好的控制檯輸出,可能需要查看諸如sympy之類的東西,儘管這與MathJax相去甚遠。 @LinearChristmas – oliversm

+0

抱歉的延遲。我想知道是否確實可以在Python命令行中很好地格式化數學(當使用函數print時東西的位置)。 GUI選項是我最初尋找的;命令行更多是出於好奇。我可以在接下來的幾周看看這些模塊。再次感謝您分享您的知識! –

相關問題