如何安裝VanetMobiSim
1.確認Java
Java 版本資訊 |
2.安裝Ant
apache-ant-1.9.3-bin.zip |
Java 版本資訊 |
apache-ant-1.9.3-bin.zip |
相信愛用latex的朋友們,對latex想必是又愛又恨吧,愛的是他強大的排版功能和完善的數學方程式,而恨的則是latex沒有內建追踪修訂功能,無法和其他共同作者編寫同一份文件的時候,追踪彼此所修改的內容,甚至是在revise論文的時候,也不容易追踪自己所修的內容。
的確,latex本身沒有內建追踪修訂,不過大家也不用因此而氣餒,方法總是人想出來的,沒有原生的解決方法,還是有外掛的方式可以達成追踪修訂的目的!
沒錯,latexdiff就是為了此目的而生的script,該script使用perl語言所寫成,在灌好MacTek或是MikTex之後,就內建的一個小程式。
使用的方法很簡單,只要輸入以下指令:
latexdiff old.tex new.tex > diff.tex
其中,old.tex是舊版本的檔案,new.tex是新版本的檔案,而diff.tex則是兩個檔案的差異,也就是追踪修訂的原始檔。接著,我們只要編譯diff.tex,就能得到diff.pdf,該pdf檔就會包含新舊版本的差異啦。
如下圖:
紅色刪除線為前一版本中被刪除的內容,藍色下底線的文字則是新版本中加入的內容,一目了然,跟word的追踪修訂一樣清楚,而且就算是演算法也能呈現前後版本的不同,如下圖:
此外,要注意的是,文章中的圖檔和所使用到的style檔,都必須和diff.tex放在同一個資料夾中,才能正常編譯成功。因為diff.tex中,只有包含old.tex和new.tex之間文字內容的差異,圖案是不會包含進來的,除非改了圖檔的檔名。
參考文章:
http://www.peteryu.ca/tutorials/publishing/latexdiff
原則上,單單使用latexdiff就已經滿足大部份人的需求了。不過,latexdiff有一個缺點,就是他只能辨識一個檔案的差異。如果,大家跟我一樣,習慣將不同章節寫在不同的檔案中,並且使用\include,將章節引入進主要的tex檔。那文件的變動都在其他檔案中,而主文件中跟本不會有任何異動,這樣latexdiff跟本就無法檢查出新舊內容的差異。這可怎麼辦呢?總不能每個章節產生一個diff檔,然後再自行整合所有的diff檔,聽起來就是一個大工程,勞心又耗時。
沒錯,我的心聲,Google大神都聽進去了,他也知道這是一件麻煩事,所以讓我找到了Yngve's blog,這位物理博士生,遇到了和我一樣的困擾,而且他還用git來維護他的論文,所以,他自己寫了一個shell script (稱作latexbatchdiff),同時可以偵測多個檔案的變動,還可以利用git,在不同的論文版本中,追踪論文的不同點。而且,他還分享了他寫的script,無私地讓大家使用,實在是太佛心來啦。大家可以到他所建立的專案中下載 :
http://gitorious.org/latexbatchdiff/
當然也可以用git直接下載回來用:
git clone git://gitorious.org/latexbatchdiff/latexbatchdiff.git
下載回來之後,會在latexbatchdiff資料夾下看到兩個.sh檔,其中,install.sh是安裝檔,執行install.sh之後,該script會詢問你一些問題,像是使用何種版本控制軟體,我是用git,所以,回答git,接著會問你:
Want to create new command for difftool.latex This will overwrite the existing command, is this OK? (y/n)
這裡我回答y,因為他只會覆寫git的設定,不會影響整個系統,為什麼我這麼確定呢?因為我也很擔心程式有沒有漏洞在裡面,所以兩個程式我都trace過了,不用擔心,可以安心使用。而且這個install.sh只是根據你系統的設定,將他寫的latexbatchdiff.sh複製到~/.local/bin/,所以並沒有任何問題。
執行完之後,還必須自行編輯~/.profile,加入
export PATH=/Users/hdj/.local/bin:$PATH
安裝流程如下圖:
完成以上設定之後,就大功告成啦。
可以使用以下指令執行:
latexdiff-git ebc3e0 master.tex parts/introduction.tex parts/results.tex
其中,ebc3e0是git中版本的編號,master.tex是主要的tex文件,而後面兩個則是各章節的tex檔,在latexbatchdiff中,如果要檢查每一個章節,就必須列出所有的章節檔名。如果只有一個文件的話,就不用填入後面的章節檔。此外,如果沒有填入版本編號,latexdiff-git會自行和最後一個commit的版本比較。latexdiff-git執行完之後,會自動開啟一個master-diff.pdf,這個檔案就是修訂追踪的檔案啦。
參考資料:
.gitignore http://eothred.wordpress.com/2010/11/07/latexdiff-and-git/
同場加映一些git的簡易教學,以免過一陣子,連自己都忘了怎麼用><
首先是在論文的資料夾中建立倉儲:
git init
接著發佈一個init版本
git add .
git commit -a -m "Init"
假設我們修改了一些檔案,然後又發佈了一個新的版本,我們可以用git log看看我們各版本的資訊,如下圖:
在這個例子中,假設我要追踪a3c110這個版本和目前版本的差異,我可以下:
latexdiff-git a3c110 master.tex
如果在刪除檔案時,有東西不小心誤刪了,我們可以用以下指令回到最近的版本:
git reset --hard HEAD