使用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足夠了,沒必要弄清裡面的每個符號的意義。對於公式的多行排版,最喜歡參考的兩個網址是
4. 裡去搜,資訊很全,而且不像ieee那樣需要登入。管理reference的軟體採用Jabref,挺方便的,既能像文字檔案那樣直接黏貼,又可以進行排序、搜尋、查重等操作。理論上要求作者的名字要寫全,如果你翻來覆去找不到的時候,彆著急,到dblp看看,本人的100多篇reference裡,沒有一個在dblp裡找不到作者全名的。
5. 使用excel2latex巨集。LaTeX中繪製表格是比較麻煩的,
excel2latex可以直接將excel中的表格轉化為latex原始碼的格式. 它使用excel巨集編寫的, 使用方法也很簡單, 用excel開啟excel2latex.xla, 然後你就會在工具選單上看到一個新的按鈕. 選定你要轉換的表格部分, 然後按下那個按鈕, 你就可以得到表格的
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: 最新版本的WinEdt(5.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 Mode或Detached
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