使用latex撰寫博士,碩士學位論文(浙大博士經驗分享)
浙大博士: 個人感覺,還是要用latex來寫。因為之前發過幾篇word排版的中文論文,在參考文獻的引用、文字格式調整上,實在是難受。如果堅持用word,請一定用endnote結合word來管理參考文獻,否則100多個參考文獻的調整一定會浪費你很多時間的。
latex不難,就幾個簡單功能,稍微適應一下就好。
言歸正傳,我們開始:
1. 模板請采用http://zjuthesistex.googlecode.com/files/rookie_ZJUthesis_v1.0_GBK.7z,很好很強大。里面已經生成了一個“論文LaTeX版本快速指南.pdf”文件,詳細描述了寫論文中常用的幾種書寫方式。建議保留並仔細閱讀,其中citenum使用的比較頻繁。
2. 編譯。可以直接用winedt編譯。此外,上面的模板包里有一個makethesis的bat文件,可以編譯保存好的latex文件。如果你不需要編譯索引和參考文獻,可以簡化這個編譯過程,如附錄1。dvi2pdf的編譯時間比較長,如果你只是做了一點,想看看修改的效果,可以編譯后點擊工具欄上的“dvi search”按鈕來預覽,該功能還能定位到當前的編輯點。
3. 編輯公式請使用mathtype,將編輯好的公式直接拷貝到latex的文件里,不要試圖純手工書寫,只是浪費時間而已。網上有一個Mathmode.pdf文檔,號稱是“一份相對全面詳細的 LaTeX 數學模式介紹文檔,基本囊括了各種從簡單到復雜的數學公式的輸入方法”。沒用過,不做評價。但個人感覺用mathtype足夠了,沒必要弄清里面的每個符號的意義。對於公式的多行排版,最喜歡參考的兩個網址是http://blog.sina.com.cn/s/blog_5e16f1770100gror.html和http://www.binghe.org/2010/03/latex-equation-and-numbering/
4. 參考文獻喜歡直接到http://dl.acm.org里去搜,信息很全,而且不像ieee那樣需要登錄。管理reference的軟件采用Jabref,挺方便的,既能像文本文件那樣直接黏貼,又可以進行排序、搜索、查重等操作。理論上要求作者的名字要寫全,如果你翻來覆去找不到的時候,別着急,到dblp看看,本人的100多篇reference里,沒有一個在dblp里找不到作者全名的。
5. 使用excel2latex宏。LaTeX中繪制表格是比較麻煩的, excel2latex可以直接將excel中的表格轉化為latex源代碼的格式. 它使用excel宏編寫的, 使用方法也很簡單, 用excel打開excel2latex.xla, 然后你就會在工具菜單上看到一個新的按鈕. 選定你要轉換的表格部分, 然后按下那個按鈕, 你就可以得到表格的LaTeX源代碼了. 工具下載及詳情請見http://www.ctan.org/tex-archive/support/excel2latex/
6. 畫圖。如果是那種線框圖,不用找什么復雜工具了,powerpoint2010非常棒。畫好了之后,全選,右鍵-》“另存為圖片”保存為png格式的圖片。將附錄2中的代碼寫到一個bat文件,起名“double_click_to_convert_all_png_to_eps_if_not_exist”,雙擊后將生成同名的eps文件,如果eps文件已經存在,請先刪除。這段代碼的版權歸大師兄cwf。
7. winedt是有使用技巧的,http://blog.sciencenet.cn/blog-398818-338999.html。其中常用的有幾條,本人最喜歡的是\begin{xxx}}這個功能,常用的還有alt+F12等,寫作前先掃一遍,說不定會提高你很多效率。如果編譯時出現稀奇古怪的錯誤,可以試着點winedt中的垃圾箱圖標“Erase output files”,清空生成的文件,說不定就好了。
8. 子圖(附錄3)和並列圖(附錄4)。其實latex中有子圖(subfigure)的概念,感覺用起來不爽,還是這種表格模擬的方式比較清晰易懂。
9. 代碼的輸入(附錄5)
10. 養成ctrl+s的習慣
1. 畫圖表和生成eps文件可以使用adobe illustrator,比ppt的效果好一些,而且直接支持eps。
2. 論文搜索還可以使用google scholar,設置一下就可以導出到bibtext,壞處是有時候需要翻牆才能上,不過goagent+autoproxy/switchysharp現在似乎已經是天朝IT民工的標配了吧?
3. 如果發現latex老是用連字符把長詞匯截斷,可以加上一句\hyphenpenalty=5000 \tolerance=1000
4. 最后latex比word稍差一些的是語法檢查,這個可以用LaTeX2RTF轉成word,然后用word幫我們查出一些語法錯誤,比如a和an,單復數,時態一致等。如果你用的是高級的adobe acrobat,那么連LaTeX2RTF都不用裝,直接可以把pdf給save as導出成word文檔。
附錄1
latex –src-specials –synctex=-1 論文LaTeX版本快速指南
dvipdfmx -p a4 論文LaTeX版本快速指南
附錄2
@echo off&setlocal enabledelayedexpansion
for %%a in (*.png) do (
set “str=%%a”
set str=!str:.png=.eps!
if not exist “!str!” (
bmeps.exe -c -t png “%%a” “!str!”
echo converted file: %%a
)
)
pause
附錄3
\begin{figure}[thp]
\centering
\begin{tabular}{cc}
\includegraphics[width=6cm]{./Pictures/chapt5/inter1.eps} & \includegraphics[width=6cm]{./Pictures/chapt5/inter2.eps}\\
(a)線性插值函數 & (b)二次插值函數
\end{tabular}
\caption{插值函數。紅線表示真實數據場曲線。}
\label{chapt5:fig:LIFQIF}
\end{figure}
附錄4
\begin{figure}[thp]
\noindent
\begin{minipage}[t]{.48\linewidth}
\centering
\includegraphics[width=7cm]{./Pictures/chapt5/quadratic_ij.eps}
\caption{二次四面體}
\label{chapt5:fig:quadratic}
\end{minipage}
\begin{minipage}[t]{.48\linewidth}
\centering
\includegraphics[width=5.5cm]{./Pictures/chapt5/triorder.eps}
\caption{三次四面體}
\label{chapt5:fig:triorder}
\end{minipage}
\end{figure}
附錄5
頭部
\usepackage{listings}
\lstset{language=C++}%這條命令可以讓LaTeX排版時將C++鍵字突出顯示
\lstset{breaklines}%這條命令可以讓LaTeX自動將長的代碼行換行排版
\lstset{extendedchars=false}%這一條命令可以解決代碼跨頁時,章節標題,頁眉等漢字不顯示的問題
使用時:
\begin{lstlisting}[frame=single,mathescape]
代碼段
\end{lstlisting}
其中frame表示邊框,mathescape表示使用數學符號,即如果有加粗、加下划線或其他需求的,可以用這個功能。