毕业论文写作工具及技巧总结

个人感觉,还是要用 latex 来写。因为之前发过几篇 word 排版的中文论文,在参考文献的引用、文字格式调整上,实在是难受。如果坚持用 word,请一定用 endnote 结合 word 来管理参考文献,否则 100 多个参考文献的调整一定会浪费你很多时间的。

latex 不难,就几个简单功能,稍微适应一下就好。

堂堂浙大博士不敢用 latex,非要在 word 上徘徊,坚持做《谁动了我的奶酪》里坚守阵地的那位,东北人称为“丢份”!

言归正传,我们开始:

  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](http://www.informatik.uni-trier.de/~ley/db/)看看,本人的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 难用,最后才发现原来是自己没学好,惭愧!今日写这个总结,就是为了后来者能够提高效率,少走弯路。
    下面是一些补充内容,版权归超哥:
  11. 画图表和生成 eps 文件可以使用 adobe illustrator,比 ppt 的效果好一些,而且直接支持 eps。
  12. 论文搜索还可以使用 google scholar,设置一下就可以导出到 bibtext,坏处是有时候需要翻墙才能上,不过 goagent+autoproxy/switchysharp 现在似乎已经是天朝 IT 民工的标配了吧?
  13. 如果发现 latex 老是用连字符把长词汇截断,可以加上一句\hyphenpenalty=5000 \tolerance=1000
  14. 最后 latex 比 word 稍差一些的是语法检查,这个可以用 LaTeX2RTF 转成 word,然后用 word 帮我们查出一些语法错误,比如 a 和 an,单复数,时态一致等。如果你用的是高级的 adobe acrobat,那么连 LaTeX2RTF 都不用装,直接可以把 pdf 给 save as 导出成 word 文档。
    其中 scholar 修改设置的网址是http://scholar.google.com/scholar_preferences

附录 1

1
2
latex –src-specials –synctex=-1 论文LaTeX版本快速指南
dvipdfmx -p a4 论文LaTeX版本快速指南

附录 2

1
2
3
4
5
6
7
8
9
10
@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

1
2
3
4
5
6
7
8
9
\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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
\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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
头部

\usepackage{listings}

\lstset{language=C++}%这条命令可以让LaTeX排版时将C++键字突出显示

\lstset{breaklines}%这条命令可以让LaTeX自动将长的代码行换行排版

\lstset{extendedchars=false}%这一条命令可以解决代码跨页时,章节标题,页眉等汉字不显示的问题

使用时:

\begin{lstlisting}[frame=single,mathescape]
代码段
\end{lstlisting}

其中frame表示边框,mathescape表示使用数学符号,即如果有加粗、加下划线或其他需求的,可以用这个功能。


Questions & Discussion: ✉️ zjuvis@cad.zju.edu.cn