1. 程式人生 > >使用latex撰寫大論文【轉】

使用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.htmlhttp://www.binghe.org/2010/03/latex-equation-and-numbering/

4. 裡去搜,資訊很全,而且不像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的習慣

就寫這麼多吧,歡迎探討和指教。一直覺得winedt難用,最後才發現原來是自己沒學好,慚愧!今日寫這個總結,就是為了後來者能夠提高效率,少走彎路。

下面是一些補充內容,版權歸超哥:

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表示使用數學符號,即如果有加粗、加下劃線或其他需求的,可以用這個功能。

 ------------------------------------------------------------------------------------

問題1:用endnote建了文獻庫,然後用
\bibliographystyle{IEEEbib}
\bibliography{E:/reference/****}
\nocite{*}
將其包含,但是顯示出來的參考文獻字型和正文是一樣的,怎麼樣把它改小

答案:
\begin{small}
\bibliographystyle{IEEEbib}
\bibliography{E:/reference/****}
\nocite{*}
\end{small}

似乎也有用{tiny}的。


問題2:
在latex/winedit中,用"PDF LaTeX"生成pdf,把pdf中的文字複製貼上到word裡,但是粘貼後都是亂碼。
用按鈕"LaTeX"編譯,生成了dvi檔案,然後用下面一排的按鈕"dvi2pdf"就生成了pdf檔案,生成的pdf檔案居然就可以正常複製貼上了。   
由於我所有的圖片都是pdf格式,latex 按鈕不支援pdf格式圖片,只支援eps格式圖片。
是否有方法讓"PDF LaTeX"生成的pdf檔案能夠正常支援中文複製貼上功能

答案:

在載入的包中新增

\usepackage{ccmap}

即可。或者改用 UTF-8 編碼。

 ---------------------------------------------------------------------------------------------------------------------------

latex圖表和標題的距離設定-

圖表和標題的距離設定。

LATEX 假定圖形的標題位於圖形的下方,故而在標題上方保留了更多的空白。因此
\begin{figure}
\centering
\caption{Caption Above Graphic}
\includegraphics[width=2in]{graphic.eps}
\end{figure}
生成的圖中標題和圖形非常接近。
標題上下方的間距由長度\abovecaptionskip 和\belowcaptionskip (預設分別為10pt 與零)。可以用標準的LATEX 命令\setlength 和\addtolength來修改這些長度。例如:
\begin{figure}
\setlength{\abovecaptionskip}{0pt}
\setlength{\belowcaptionskip}{10pt}
\centering
\caption{Caption Above Graphic}
\includegraphics[width=2in]{graphic.eps}
\end{figure}
得到圖。其中標題的上方沒有額外的空白,與圖形之間則有10pt 的距離。


如果一個文件的所有浮動物件的標題都位於該物件的上方,那麼可將命令
\setlength{\abovecaptionskip}{0pt}
\setlength{\belowcaptionskip}{10pt}

放到導言區裡,從而對整個文件都起作用。如果只是有一部分標題要求位於浮動物件的上方,那麼可定義如下的命令:
\newcommand{\topcaption}{%
\setlength{\abovecaptionskip}{0pt}%
\setlength{\belowcaptionskip}{10pt}%
\caption}
在希望得到上方標題的時候可用\topcaption{標題文字} 來代替\caption{標題文字} 即可。

---------------------------------------------------------------------------------------------------------------------------------------

LaTeX Winedit 常用設定(z)

1. 漢字相關Q: WinEdt裡遇到漢字會顯示紅色並帶下劃線(拼寫檢查出錯),如何解決?
A:
最新版本的WinEdt5.4 build:20030429)可以解決這個問題。Options-Dictionary-Spell Checking
選中
"Check Only Words Containing 7-bit ASCII Characters"

Q:
WinEdt裡輸入漢字後,編輯區內顯示的是亂碼,如何解決?

A: Options-Settings-Language
選中"Wide(16-bit) Characters Enabled"2. 背景相關Q: WinEdt中如何改變文字背景色?
A: Options-Highlighting-Background Schemes
上面的工具條中有個Change Background Color,可以改變背景色或者在上面的工具條中有個Set Background Bitmap,可以改變背景圖片

Q:
WinEdt中如何設定行號欄和書籤欄的顏色?
A: Options-Highlighting
-Background Schemes
雙擊Bookmarks Panel Background可以調整最左一欄(書籤欄)的顏色雙擊Line numbers可以調整行號欄的顏色3. 檔案相關Q: WinEdt中如何設定檔案關聯?
A: Options-Configuration Wizard-Shell Configuration Wizard-
Filetype Asscociations-Modify filetype Asscociations

Q:
WinEdt中如何在啟動時不開啟任何檔案?
A: Options-Preferences-Project-Restore Opened Files
,把這項前面的勾去掉

Q:
如何設定WinEdt開啟檔案時訪問的預設目錄?
A: Options-Menu Setup-Main Menu-&File-&Open
Start in中設定你想要的預設目錄並選中Set folder to "Start in"4. 換行相關Q: 如何去掉WinEdt的自動換行?
A: WinEdt
的編輯視窗最下面的狀態條中有一項wrap,將其點選為灰色

Q: WinEdt
總是自動把幾個單詞縮到一行裡面,如何解決?
A: 1.
關掉wrap功能
2.
在每行的首字前面加一個空格或一個"Tab"

Q:
如何在WinEdt中把自動換行設在第n個字元處?

A: Options-Preferences-Editor-Right Margin
將在設定的字元數之後的空格處自動換行5. 編輯/TeX相關Q: 如何在WinEdt中顯示行號?
A: 1. WinEdt
的編輯視窗最下面的狀態條中左起第四個是行號區,點選一下即可
2.
在編輯視窗最左側點選一下滑鼠右鍵,在彈出選單中選擇"Show Line Numbers"
3.
熱鍵
ctrl + "="

Q: WinEdt
中有沒環境(\begin{}...\end{})的自動補足功能?

A:
\begin{equation}...\end{equation}為例:
1.
輸入時使用\begin{equation}}
2.
輸入時使用\begin{equation}>,如果之後沒有\end{...},則與第一種方
法相同;如果之後有個別的\end{...},如\end{document},則系統將彈出視窗提示Change Environment,輸入equation,則自動將\end{document}
改為
\end{equation}
3.
輸入時使用
\end{{
%Option-->Setting-->Active Strings--->begin{?}
點選
On type
Q:
如何在ctx檔案中使用上面的自動補足功能?

A: Options-Preferences-Modes
,在TeX後面增加*.ctx
並在當前的ctx檔案中單擊狀態行中的DATA,把Document Mode改為
TeX

Q:
如何在WinEdt裡自動生成需要的環境?

A: Options-Menu Setup-Popup Menus
Items中選擇Environments,並選中Attributes中的Enabled
然後就可以在編輯tex檔案時用熱鍵ctrl + alt + e自動生成一些常用的環境了


Q:
如何去掉tex檔案編譯時出現的DOS視窗?
A: Options-TeX Configuration Wizard...
選擇Background Execution ModeDetached Execution Mode就不會彈出視窗

Q:
如何能使PDFLaTeX/LaTeX編譯完後用acrobat自動開啟編譯好的pdf檔案?
A: Options-Configuration Wizard-TeX Configuration Wizard...-
Customize Execution Mode-Run Viewer
選擇PDFLaTeX/LaTeX

Q:
PDFLaTeX/LaTeX編譯完後,有時會出現一個DOS視窗,需要按任意鍵才能繼續,如
何讓這個DOS視窗自動關閉?
A: Options-Configuration Wizard-TeX Configuration Wizard...-
Customize Execution Mode-Run TeX Accessories through BATCH Files
去掉PDFLaTeX/LaTeX前面的勾
zz from http://dsec.pku.edu.cn/~tanghz/winedt.htm