看板 PhD 關於我們 聯絡資訊
原本在美國讀書,學校很有錢,基本上什麼要付錢的軟體都有 可是之後到了加拿大這一個很窮很窮的國家 國家級超級電腦上連Matlab都沒有(理由是因為不好談授權,說什麼呢....) 更不要說學校提供的免費軟體有多稀少了 於是不斷致力於把所有工作所需的軟體都找到免費開源的替代品 現在已經幾乎完全成功了 在此分享一下成果: 領域:理論/計算生物物理 應用程式:Mac,不過大部分Linux也通用,不通用的我會加上Linux替代方案 十年沒用Windows所以不是很清楚通用情況 1.寫文章:Latex (TexShop) Latex打數學公式當然是最棒的,物理系和數學系都應該使用 當然,也沒人禁止其他領域的人使用 反正現在投稿都可以只交PDF檔,要出版時再交上格式不限的文字原始檔 Nature, AAAS, Cell Press, Elsevier, Wiley, Oxford等出版社都收Latex APS, AIP, ACS, RCS這些科學學會就更不用說了 理論上,任何文字編輯器加上終端機指令就可以編譯Latex (vi/emacs (不要起爭議) + command line) 不過有個IDE介面還是稍微順手點 我用的是MacTex package附帶的TexShop Mac專用,只有編譯快捷鍵,沒有任何符號按鈕 我在剛學Latex還不那麼熟悉各種符號格式編碼時還用過一陣子的Texmaker 這個就有Mac, Linux, Windows三種版本了 不過個人使用經驗上Latex最強的還是模板套用能力 每次我打論文時都會用Phys Rev Lett雙欄出版模式,就算不是要投稿RPL也一樣 看著就很有工作的動力,印出來還可以騙騙生物系所許多沒聽過Latex的人 對Latex有興趣的人可以從Texmaker開始: http://www.xm1math.net/texmaker/ 線上教學文件可以看Latex123,可能是最完整的中文線上文件 https://www.cs.pu.edu.tw/~wckuo/doc/latex123/latex123.html 2. 文獻管理:BibDesk BibDesk是個Mac限定的開源文獻管理軟體, 檔案格式是Latex系統的.bib檔,也可以輸出ris檔 一般人可能只用它來管理文獻引用,但其實也可以一起匯入該筆文獻的PDF檔 做出不下於Papers和ReadCube等軟體的漂亮介面: https://bibdesk.sourceforge.io 不過我承認我用BibDesk最大的理由還是Mac+Latex粉 事實上有不少免費的跨平台文獻管理軟體都比要自己設定一堆東西的BibDesk好用 最有名的應該是被Elsevier買下的Mendeley: https://www.mendeley.com 還有和Nature和Wiley合作的ReadCube: https://www.readcube.com 這兩個軟體都需要註冊帳號才能使用--出版社圖的是使用資訊啊 因為出版社的關照,這兩個軟體的使用說明都相當完善,技術支援也隨叫隨到 除此之外的免費文獻管理軟體還有很多:Zotero, JabRef, ... 有時間的話完全可以每個都下載來玩玩(反正我覺得每一個都比EndNote好用) 3. 數值工作:Python(Anaconda package) 數值計算:NumPy+Scipy 數值繪圖:Matplotlib 資料管理:Pandas 自從來到了加拿大我才知道原來Matlab並不是一個免費軟體QQ(誇飾) 那麼該怎麼辦呢?幾乎無所不能的Python可以解救窮困的研究生於水深火熱之中 Python的社群非常龐大,在各種應用方向上都有人在開發函式庫 使用者多->找得到人問問題,開發者多->函式庫和使用說明較完整 絕大多數時候只要google然後複製貼上程式碼就行了,非常方便 要注意的是Python2正在逐步淘汰,所以要學Python就從Python3開始! 不過要用這些package當然得先對Python有些基本理解 我覺得只要有用過Matlab應該都會覺得很簡單啦,語法看起來非常像 因為我很懶,所以直接用內含上百個Python package的Anaconda一次安裝: https://www.anaconda.com (事業做得很大,有付費企業版了) 不想載那麼大包軟體的人也可以直接下載Scipy package: https://scipy.org ,內含我提到的四個軟體 IDE我是用IPython/Jupyter,上面兩個package都有附,Spyder也是個選擇 繪圖:Matplotlib (Python)+Inkscape 所謂的研究其實就是出paper,所謂的出paper其實就是畫圖 畫圖是整個學術研究裡(在有研究結果後)最重要的一件事情 前面提到我用Matplotlib做數值繪圖的,基本上它什麼圖都能畫 Matplotlib官網的範例大全: https://matplotlib.org/1.2.1/examples/index.html#examples-index 長條圖:https://matplotlib.org/1.2.1/examples/api/barchart_demo.html 直方圖:https://matplotlib.org/1.2.1/examples/api/histogram_demo.html 圓餅圖:https://matplotlib.org/1.2.1/examples/pylab_examples/pie_demo.html 散射圖:https://matplotlib.org/1.2.1/examples/pylab_examples/scatter_demo.html 3D表面:https://matplotlib.org/1.2.1/examples/mplot3d/surface3d_demo.html 甚至動畫: http://jakevdp.github.io/blog/2012/08/18/matplotlib-animation-tutorial/ Matplotlib可以輸出為ps, eps, pdf, jpg, png等格式,影片可輸出為mp4 唯一的缺點大概是不支援CMYK色彩格式,希望以後可以支援 雖然Matplotlib跟Matlab一樣,也可以加上xy軸名稱、圖片名稱、標定特定數據點 我還是更喜歡把圖檔輸出後輸入到另外的繪圖軟體去加工標上文字 此外Matlab/Matplotlib要合併畫出複數小圖(圖abcd這種)通常定位上比較複雜 所以我也喜歡個別畫圖後拿到繪圖軟體去合併 當然當然,如果要畫的不是數值結果而是示意圖,Matplotlib就派不上什麼用場 必須要有一個專業的繪圖軟體才行 最廣為人知的繪圖軟體應該非Adobe Illustrator莫屬 AI什麼都好,除了每個月30鎂的訂閱費這個缺點..... 免費的繪圖軟體有很多,許多歷史還非常悠久 比方說我老闆一直想要我跟他一起用Xfig: http://mcj.sourceforge.net 看這什麼年代的設計風格(初版1985年) 我試過幾個軟體後,對Inkscape最為滿意: https://inkscape.org/en/ 至少網頁風格很與時俱進 跨平台,Mac/Linux/Windows都有版本 軟體預設檔案格式是svg(適合網頁圖片的向量圖格式) 可以輸出為ps, eps, pdf, ai, jpg, png, gif, tif, cdr, vsd, ....等格式 圖片格式基本上不是問題 一般研究人員用Adobe Illustrator會用到的功能都有,至少我從沒遇到問題 設計業者需要的高階功能大概比較困難,不過一般學術工作者也用不到吧 至於色差什麼的問題,對大部分人來說比較迫切的可能是換個好一點的螢幕.... 反正出版社做出來的八成還是會跟自己做的有差異,出版前最終校對時再和出版社談吧 最後放個最近登出的充滿彩圖的論文 http://iopscience.iop.org/article/10.1088/1367-2630/aa9369/meta 含兩分半鐘大綱影片,使用Keynote(Mac限定免費)+Matplotlib製作 大部分都是數值結果,只有一兩張示意圖 並不真的需要多進階的技巧,用Matlab+AI應該也可以輕鬆搞定 只是想藉此呈現本篇文章提到的所有免費軟體能夠做出的論文成果 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 99.230.0.170 ※ 文章網址: https://www.ptt.cc/bbs/PhD/M.1519840587.A.826.html
mmonkeyboyy: TexStudio你可以試試 03/01 02:15
mmonkeyboyy: JabRef + google scholar就很夠用了 03/01 02:17
mmonkeyboyy: 甚至有時都自己去編啦XD 格式比較好 03/01 02:17
caseypie: 不了,我愛記事本風格XD 03/01 02:17
mmonkeyboyy: Inkscape真的非常好用 用配上PYTHON 大概就夠了 03/01 02:18
mmonkeyboyy: 我...後來常用的都是ATOM掛各種包 03/01 02:19
mmonkeyboyy: 有一個沒提到其實就是MAC PREVIEW再重出PDF 03/01 02:19
mmonkeyboyy: 對有些出版社來說 這很重要XD (embedded font 03/01 02:20
mmonkeyboyy: subset 03/01 02:20
mmonkeyboyy: 現在很多人都用線上版的LaTeX就是了 03/01 02:21
lisasweet: 請問您提的軟體有支援MacOS嘛? 03/01 02:23
caseypie: 我覺得JabRef沒有BibDesk漂亮,而且好像不能預覽PDF啊.. 03/01 02:23
mmonkeyboyy: ....你是問我還是問原po (他不就是用mac?) 03/01 02:23
lisasweet: 抱歉沒提清楚...QQ 想問mm大的軟體 03/01 02:24
mmonkeyboyy: 所以我說後來我都自己編Q_Q 不過jabref通用了點 03/01 02:24
mmonkeyboyy: 我也用mac.... 03/01 02:25
lisasweet: 謝謝您~ 03/01 02:25
mmonkeyboyy: 我也是免費派.... 03/01 02:25
mmonkeyboyy: 但我有去貢獻一點 算是還還債XD 03/01 02:26
mmonkeyboyy: 現在還有一個跟matlab很像的免費軟體 還有一個跟 03/01 02:27
mmonkeyboyy: origin很像 另外 office很像的就 libreoffice 03/01 02:27
mmonkeyboyy: 因為我工作關係還得常用linux 所以幾乎我用的都是跨 03/01 02:27
mmonkeyboyy: 平台的就是了 03/01 02:28
caseypie: matlab很像的那個是octave吧? 03/01 02:28
caseypie: 跟office很像的....就google doc吧XDD 03/01 02:28
mmonkeyboyy: 我忘了名字了 前陣子我才在跟一堆跨平台使用者討論並 03/01 02:32
mmonkeyboyy: 出了篇相對應的介紹文章 03/01 02:33
mmonkeyboyy: 是 gnu octave沒錯 03/01 02:33
mmonkeyboyy: google doc也不錯 XD libreoffice主要是離線&畫圖 03/01 02:34
mmonkeyboyy: origin是 scidavis 03/01 02:39
lingon: 這篇價值真高 03/01 03:07
newseastar: 一定要推的,很用心 03/01 03:13
mmonkeyboyy: 如果愛筆記本風格又沒事要寫點code的人吼.... 03/01 04:19
mmonkeyboyy: 請用ATOM LaTeX <= 沒事切來切去不失望呦~ 03/01 04:20
mmonkeyboyy: 不過這有點geek就是了 03/01 04:21
mmonkeyboyy: 或是更底層的vi vim emacs去的XD 03/01 04:21
comaniac: Latex -> Overleaf / ShareLatex 03/01 07:08
Philethan: 推!感謝分享! 03/01 07:22
ykchang: 感謝您的分享 03/01 07:54
hegandy: 超感謝分享以及推文的分享! 03/01 08:01
ANUBISANKH: 我回台灣後也是完全捨棄 LabView,全部用 Python 做 03/01 08:13
ANUBISANKH: 結果效果還比要收錢的 LabView 好。 03/01 08:14
Philethan: 決定來用 python XD 03/01 08:48
adifdtd: 推分享 03/01 09:14
markliao: 感謝分享! 03/01 10:12
mike0227: 分享推 但是超級電腦跑MATLAB其實有點浪費… 03/01 10:17
calcium: 感謝分享!! 03/01 10:26
mmonkeyboyy: 看來改天其實要來寫一篇python的好了 03/01 11:39
Huangxx: 感謝分享! 03/01 11:51
wayne1229: 推 03/01 12:13
moonwind76: 大推~ 太棒的分享 03/01 13:02
tainanuser: 真用心!推!!! 03/01 14:34
RumiManiac: 用心,推 03/01 21:27
forst1117: 感謝認真分享!! 03/01 22:02
liapocalypse: 感謝分享,非常用心 03/02 02:31
ECZEMA: 推一個 我們大公司超摳門 最近我也在從matlab轉anaconda 03/02 07:19
mmonkeyboyy: 可以先過門octave 再過去python系列 03/02 09:56
mmonkeyboyy: Labview要用 DAQ的就還是硬著頭上了啊XD 03/02 09:57
vbqv: 如果只是要取代matlab那octave可以用 缺點是它很慢 不在意 03/02 10:00
vbqv: 的話語法差不多 03/02 10:00
vbqv: 繪圖軟體可以考慮gimp 功能還挺多的 03/02 10:02
mmonkeyboyy: 這種東西都是有備無患 03/02 10:02
mmonkeyboyy: 就是用來小試一下東西就用octave 大型的還是走別路 03/02 10:03
vbqv: 求快的話可以考慮julia 它是為了服務科學界而生的 據說和c 03/02 10:08
vbqv: 差不多快 缺點是丟Google會跳AV女優出來(其實也算個優點啦 03/02 10:08
vbqv: ㄎ) 03/02 10:08
mmonkeyboyy: scala julia 都可以的 03/02 10:23
pttnowash: 我比較喜歡Julia...很好用...常常用... 03/02 16:42
jyung: latex 在一些領域接受度太低,會被老師罵 03/02 16:53
jyung: 文獻我都沒有管理,直接doi轉bib,doi轉sci。hub抓,都能 03/02 16:58
jyung: 自動化 03/02 16:58
caseypie: julia貌似沒有比numba/cython快 03/03 01:05
caseypie: 說是專門服務科學界,但我覺得它就像個免費matlab..... 03/03 01:06
caseypie: 最大的問題是泛用性依然不足啊,python社群太大太廣泛了 03/03 01:07
caseypie: 如果julia能夠變出像mathematica的package那就另當別論 03/03 01:08
jay123peter: 推~ 03/03 18:02
pent: http://golang.org how about this? 03/03 22:45
mmonkeyboyy: 這個XD 就很多非程式相關領域要花更多時間 03/03 22:48
caseypie: Go很有趣,但目前在我的領域沒什麼用 03/04 00:34
caseypie: 大部分人都只是使用者,汎用性和可讀性還是最重要的 03/04 00:35
bmka: 順便推grammarly, 寫作的好幫手 03/08 02:09
mmonkeyboyy: 要錢~ 03/08 04:01
bmka: 免費的閹割版就很好用了 03/08 04:07
mmonkeyboyy: 也是 不過就用一陣子就懶得用了XD 03/08 07:13
bearching: 推一個~! 03/09 14:45
missaturn123: 推 03/20 18:25
ilove61812: 推 08/02 12:46