2016年1月31日 星期日

[ipython] jupyter 數學公式的寫法(還有顯示 $ 錢字號 dollar sign)

目前查到的有兩種方法。一種是用 ipython.display 的功能,一個是使用 mathjax。

使用 ipython.display
ipython.display 提供非常豐富的顯示方式,這種方式是靠 code cell 執行程式處理。
像是:
來源[1]

來源[1]





使用 mathjax
基本上 jupyter 已經是使用 mathjax 處理數學公式。而且它整合在 markdown cell 裡。
所以只要把建立一個 markdown cell,把 latex 的表示的前後加上 $ 這個符號,像這樣:
$c = \sqrt{a^2 + b^2}$

再按下 cell 的執行按鈕,就會畫出公式了。
來源[2]

因為錢字號現在被視為語言關鍵字,在文章中要顯示 $ 的方法,可以看以下文章:http://codebeta.blogspot.tw/2016/01/blogspot-blogger-latex.html


參考:
[1]http://nbviewer.jupyter.org/github/ipython/ipython/blob/1.x/examples/notebooks/Part%205%20-%20Rich%20Display%20System.ipynb

[2]http://jupyter-notebook.readthedocs.org/en/latest/notebook.html#markdown-cells

[mathjax]在 blogspot / blogger 網誌裡顯示 latex

要在網頁上顯示公式,現在查到的主流方法是用 latex 語法,函式庫是用 Mathjax。總之時代進步了,就這個樣子。

查到的方式是,在網頁範本裡的 head 區加入定義好的 script。有人已經好心處理好了。

blogspot 的範本是在這裡開啟:



按下去之後就是:



在 </head> 之上插入以下的程式碼:

<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js">
MathJax.Hub.Config({
 extensions: ["tex2jax.js","TeX/AMSmath.js","TeX/AMSsymbols.js"],
 jax: ["input/TeX", "output/HTML-CSS"],
 tex2jax: {
     inlineMath: [ ['$','$'], ["\\(","\\)"] ],
     displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
 },
 "HTML-CSS": { availableFonts: ["TeX"] }
});
</script> 
存檔,然後寫個網誌來試試,像這樣:$$ \sum_a^b x^2 $$ $$ \sum_a^b x^2 $$

現在要顯示錢字號,就要包在 <span class="tex2jax_ignore">$</span> 裡面。有沒有更方便的方式,我暫時不知道。

參考:
http://tex.stackexchange.com/questions/13865/how-to-use-latex-on-blogspot

https://blogueun.wordpress.com/2014/01/04/escaping-in-mathjax/

[ipython] ipython notebook / jupyter 介紹--為什麼我要用

其實我的目的是,利用 ipython notebook / jupyter 當做多功能編輯器,取代 notepad++ 或是 word。

在安裝 anaconda 之後,不論在命令列是執行 ipython notebook,或是執行 jupyter notebook,都會成出現同一個畫面:
已經是 jupyter 了。所以原來的 ipython notebook 畫面,我現在用不出來。
圖片來自 http://ipython.org/notebook.html

但是,由以下的 demo 還是可以體會到 ipython notebook / jupyter notebook的魅力。


與 jupyter notebook 的畫面比較,似乎沒有太大差別。

要提一下的是,ipython 是一件事,ipython notebook 是另外一件事。ipython 是提升 python 的互動性的介面,所以叫 ipython (interactive python)。而 ipython notebook 則是一個 web app 讓使用 python介紹、呈現資料、計算更為活潑即時,而它的確建立在 ipython 之上。

jupyter 與 jupyter notebook 也差不多是兩件事,jupyter 有他偉大的計劃, 希望能讓其他的語言也能 ipython notebook 達到的效果。而 jupyter notebook 則是目前執行出這個 web app 的指令。

而目前,我剛好就只需要用到 ipython notebook 的功能,而現在它屬於 jupyter notebook 其中一個項目之中。為什麼還要換 ipython notebook 呢?因為網路上用 ipython notebook 當關鍵字搜尋到的非官方資源還是佔多數,若是要自己多學就還是要知道 ipython notebook 與 jupyter notebook 的關係。
例如:在 google 輸入 jupyter notebook latex,出來第一個還是:

連 google 都知道要用 ipython notebook 會是比較對的結果,當我們知道它們的關係,就不會直接跳過它,而會點進去看。

如果說想深一點了解我想做什麼的話,我用一個網頁來代表:http://hplgit.github.io/doconce/doc/pub/slides/scientific_writing-1.html
雖然文章主打不是 ipython notebook。

參考:
http://ipython.org/notebook.html

2016年1月29日 星期五

[ipython] anaconda 一個方便的 ipython notebook 安裝

有許多網誌教導,「安裝 ipython 會遇到許多麻煩,所以新手最簡單的就是下載 anaconda 來裝,一切沒煩惱。接下來我們來下載……。」於是,我就來試毒,看看有什麼麻煩,先從安裝 anaconda 開始。

首先從 https://www.continuum.io/downloads 選擇安裝器。我選的是紅框那個 windows python 2.7 32bit


下載完之後,點兩下就執行,一開始都按下一步,但很快遇到第一個選項要決定:

如果選了 Just Me,安裝目錄就會被選在使用者的家底下,例如 C:\User|xxx\Anaconda2。這個樣子我不太喜歡。所以我選了第二個,因為我希望它被放在 C 槽根目錄底下跟 C:\python27 這樣。

再來一些 Yes 與下一步之後,又遇到一個要決定的事情:

如果選擇上面的選項,在 Anaconda 環境上,就是靠 PATH 的設定來決定誰被先選到。如果不選,那就是只能用 anaconda 提供的命令列視窗使用 anaconda 的環境。

如果選擇下面的選項,那系統要求 python 的時候,就會去找 anaconda 提供的 python 環境。如果有混搭如他所說的 IDE,就要選擇這個會比較方便。

因為我本身已經安了一堆東西在 C:\Python27 底下,也習慣了,所以第二個選項就不勾了,只勾第一個選項。

按下 Install 之後,就是等待,然後就安裝完畢了。

因為我是 win10,我按下視窗鍵用眼睛要找 "Anaconda (32-bit)",找不到…。


看不到不代表沒有,反正東西就在那裡了。在命令列直接打 ipython。我原本沒裝的 ipython,現在有反應了。



我為什麼要用 anaconda 呢?是為了要裝 IPython Notebook,後來進級叫做 Jupyter。(官方說法是 ipython notebook 移到 jupyter。)改篇再說。

參考:
https://www.continuum.io/why-anaconda