使用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,挺方便的,既能像文本文件那样直接黏贴,又可以进行排序、搜索、查重等操作。理论上要求作者的名字要写全,如果你翻来覆去找不到的时候,别着急,到看看,本人的100多篇reference里,没有一个在dblp里找不到作者全名的。
5. 使用excel2latex宏。中绘制表格是比较麻烦的, 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的习惯
1. 画图表和生成eps文件可以使用adobe illustrator,比ppt的效果好一些,而且直接支持eps。
2. 论文搜索还可以使用google scholar,设置一下就可以导出到bibtext,坏处是有时候需要FQ才能上,不过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表示使用数学符号,即如果有加粗、加下划线或其他需求的,可以用这个功能。
参考: 。