学渣上手 LaTeX 完成毕业论文

作为一个标准的学渣,虽然经历了一系列变故但最终还是使用 LaTeX 完成了我的毕业论文。要问我感想的话,就是——如果没有做好迎接比较陡峭的学习曲线以及各种打击人的小细节的心理准备的话,我强烈建议大家使用 Word 完成自己的论文。说实话,如果你能将学习 LaTeX 的时间拿来看看 Word 如何实现「内容与样式分离」、如何开启 Visio隐藏的「开发人员功能」及其正确使用方法,还有正确的 Excel 数据处理的话,一定能做出同样精美的毕业论文。从这个方面讲,LaTeX、TikZ 等只不过是将同样的知识用强制的方式帮助你完成了类似的科普而已。

没有被上面的话劝服的话,那我就分享下自己撰写论文的心得,希望帮助大家把这一陡峭的学习曲线能尽量填平一点。首先本文是以完成一篇高质量的论文排版为要务。因此我不介意给大家推荐使用盗版软件,也不会教大家如何使用 TikZ 这些开源软件(反正我这种学渣也没用过)。

想要零基础学习 LaTeX,我的建议是桌面上备着两个东西,一个是高质量的毕业论文 LaTeX 模板,另一个是 lnotes;电脑上装上两个东西,一个是 TeXLive 2013,一个是 LaTeX 专用的编辑器如 TeXmaker 或是 TeXstudio 等。

当然,既然强调是零基础了,就需要对上段解释一下。为何手头要备着论文 LaTeX 模板还有 lnotes 呢?因为我认为新手上手 LaTeX 最快的方法不是去背指令,而是在理解 LaTeX 模板的前提下去学习如何照猫画虎写自己的东西。一个高质量的毕业论文 LaTeX 模板,应该具有以下几个特点:

1. 持续有人维护。TeX 是 TUG 社区主导开发的产品,这就意味着不断有开发者在往里面添加新的内容,但是如果无人维护的话使用旧的模板就很难让人接触到 TUG 社区的最新开发成果。一旦从老模板上手,结果就是你的思维还停留在

* 想用中文环境就是 CTeX
* 想用 Times 字体的时候除了 \usepackage{mathptmx} 不知道有更好地替代选择
* 想插入图片还在考虑如何把图片导成 .eps 格式

这些陈旧的设定中。而持续有人维护的模板则能与时俱进,让你从学习 TeX 的一开始就知道哪些功能是比较新的,从而避免在 LaTeX 中上演「明明安装的是 Word 2013 的车却在用着 Word 2003 的轮子」这样的悲剧。

2. 有一套简要的上手说明。一个好的 LaTeX 论文模板除了提供最基本的模板功能以外,其各章内容均附加有一些简单的 LaTeX 上手说明,如怎样添加表格及添加图片的操作。更棒的是当你安装 TeXLive 以后,可以亲手编译这个模板,并输出相应的 PDF 文件。如果能够编译成功的话,不妨先试着将其中的文字替换为你想要的文字,接着尝试将其中的图片替换为你想要的图片,最后试着将其中的表格编辑为你论文中要用到的表格……这样你的论文就已经完成70%了,是不是很无痛上手的学习方法?

3. 高质量的模板本身的各项设定就是完全符合本校学位论文格式要求的。按照其编译出的毕业论文文档理应不存在任何格式上的问题。这对一些 LaTeX 学习氛围浓厚的高校学生来说较为方便,对于一些来自模板质量不佳甚至目前还没有模板诞生的高校同学来说,大家可以去找一找其他高校的模板然后先上手写论文,最后再按照本校要求修改模板。因为对新手来说改模板要比改内容困难很多,不妨先从对内容的编辑上开始学习 LaTeX 语法,由易到难~

接下来说 lnotes 吧, lnotes 全名是 LaTeX notes。当初我在没有人教的前提下自己找了好几本 LaTeX 入门教程,最后经常放在手头的也就是这本。李阿玲在以前的文章中也提到过(写给那些赶着毕业的朋友们 - All about TeXnique - 知乎专栏),所以个人觉得这本书也算经得起推敲了。全书结构比较合理,内容比较实用,写论文中在内容上基本常见的问题在书中大多有解答。虽然里面部分内容也已经有些过时了,但目前我还没看到更好的替代品。

由于模板中已经定义好了基本所有的样式,内容上常见的问题也就集中在公式如何书写,图片如何布置,表格如何处理这几样上。

针对公式来说有个很不好的趋势就是之前和某个新手讨论时,他很高兴地告诉我说其他软件对 LaTeX 的公式支持很友好,比如在 MathType 下只要复制粘贴就自动生成 LaTeX 公式代码……我想说这样真的很不好,基本上不是纯理科出身的同学,论文中出现的所有公式元素全记下来真的不用多长时间。就算不想去记,上角标用「^」,下角标用「_」,分数用「\frac」,根号用「\sqrt」这些在 lnotes 中都能查到,多用几次也就背下来了。我不是说 MathType 生成的 LaTeX 公式代码不能用,但是那个生成的代码总是非常冗余而且据说会掉坑里。总之既然已经决定去学 LaTeX 了,难道这点小问题也要指望软件自动生成帮你解决么?

图片的话基本用「\includegraphics」命令就够了,剩下的分两种情况,一是图形,二是图片。这两种很容易区分,前者是你使用 MATLAB、Visio 或者 Mathematica 这些软件生成的曲线或者是制作的示意图,它们都是矢量格式的,所以可以在不失真的前提下任意缩放。他们的文件格式包括 .fig、.eps、.vsd、.pdf、.wmf 等等;后者则是用相机拍下来的,它们是基于像素点的位图所以无法在不失真的前提下进行缩放。他们的文件格式包括 .bmp、.png、.jpg 等等。针对后者就不说了,因为已经是老生常谈的话题,如果需要修改可以使用 photoshop,网上内容也比较全。值得一提的是,如果图形是电脑上截图的,可以将其保存为 .png 格式,如果是照相机拍下来的,可以将其保存为 .jpg 格式。文件名最好是英文的,以免 LaTeX 报错;针对前者来说,我建议大家在使用的时候全部转换为 .pdf 格式。而在编辑的时候,针对矢量格式的图形编辑软件主要包括 AI(Adobe Illstrator)、CorelDRAW、InkScape以及 Visio 等。AI 和 CorelDRAW 是可以直接打开 .pdf 文件的,但 Visio 无法直接打开 .pdf。作为大家做常用也最熟悉的图形编辑软件想要使用 Visio 也不是不可以,只要在 MATLAB 和 Mathematica 这些软件中将生成的矢量图形存储为 .wmf 格式,Visio 就可以打开了。针对其他矢量图形编辑软件的教程很多,大家可以挑顺手的用。我说过了,这里不纠结盗版软件问题。

表格的使用,在 lnotes 里已经介绍得比较详尽了,这里也就不再赘述。说到底,以上三项再加上文字就构成了一篇论文中正文部分的所有内容。公式方面的注意事项推荐大家读一下陈浩老师写的《强迫症玩转 LaTeX》(强迫症玩转 LaTeX - All about TeXnique - 知乎专栏);图形(不是图片)的处理是个大坑,各位有兴趣不妨看看《如何在论文中画出漂亮的插图?》(如何在论文中画出漂亮的插图?)。在这个问题中个人赞同傅渥成的回答——不要迷信工具,把你最常用的工具学好已足够。顺带把罗磊的答案中用到的 GIF 动画链接贴在这里(http://i.imgur.com/WntrM6p.gif)。

最后说说交叉引用,LaTeX 里一个很大的特点就是强调内容与格式分离,所以无论是插入公式还是图片、表格,必须强调的是当你在文中指名图 X.X 或者公式 (Y.Y) 的时候,不要自己去数数字或者使用「如上图/下图所示」这样的说法,而是用标签来引用(理由:写给那些赶着毕业的朋友们 - All about TeXnique - 知乎专栏)。这样当我们需要在论文中增减图片或者公式时,文中已经指名的图 X.X 或者公式 (Y.Y) 就会自动重新计算,不需要手动重新整个调整一遍。类似的,参考文献也是使用 BibTeX 以交叉引用的形式放进论文中的。这点我相信大家在尝试过后都会叫好,所以也就不需要强调什么大家必须保持良好习惯就是了 XD

以上介绍了论文模板,以及 lnotes,下面说说 TeXLive 以及编辑器。

很多新手问的就是《如果没有在mac上装MacTex,能直接使用texmaker或者是texstudio吗?谢谢!》(如果没有在mac上装MacTex,能直接使用texmaker或者是texstudio吗?谢谢!)类似于这样的问题。既然是面对零基础读者,我希望我能用以下几句话解释明白:TeXmaker 和 TeXstudio 其实只是针对 LaTeX 指令有优化的记事本而已。它们除了在用户界面上针对一些常用 LaTeX 指令有快捷按钮以及专用于 LaTeX 的 debug 界面以外,其他功能并不比记事本功能强多少。真正能帮助你把文本文件中的 LaTeX 源代码最终编译为 .pdf 文档的,是 TeXLive。至于 TeXLive 还有什么作用我觉得大家暂时没必要知道,相信在使用过程中你们自己就明白了(一脸坏笑)。

编辑器刚才已经说过了,就是个加强版的记事本。所以对很多计算机老手来说,即便是使用 Vim 也可以写 LaTeX 代码,但是对新手来说,一款功能强大易用性佳的编辑器能帮你节省不少精力,比如不需要为了查一个公式中的希腊字符或者给一行文字加粗而现去翻书,也不用将功夫浪费在配置 LaTeX 到编辑器上。TeXLive 自带的 TeXworks 我个人认为功能和易用性做得都不是太好(当然这不妨碍李阿玲一直坚持使用它)。我个人觉得 TeXstudio 易用性最好,但是 TeXstudio 对中文的自动换行(word wrap)支持有问题(李阿玲在以前的文章(编辑器是个坑,你们千万别往里跳 - All about TeXnique - 知乎专栏)里也谈到了)。所以我平时使用的是 TeXmaker。当然如果你有一定计算机应用基础以及自己偏爱的通用编辑器如 Vim 的话,也可以自己配置通用编辑器使之能支持 LaTeX 文件编译。我之前就是使用 EmEditor 作为 LaTeX 编辑器。

编译完成后的 PDF 文档就可以通过例如 Adobe reader 这样的软件查看了,但不知是不是没有设置好,在我的电脑上只要用 Adobe reader 打开了编译后的文档,再去编译就会报错——因为没有开启自动刷新功能。在这一点上另一款 PDF 阅读器 Sumatra PDF 就做得很不错,而且 Sumatra PDF 的反向搜索功能做得也很好。目前 Sumatra PDF 我发现的唯一问题就是对 type 1 字体的渲染做得不是很好(14 年5 月 13 日更新注:最新的 Sumatra 2.5+ 版本已修正该渲染问题,大家可以放心用了)。

最后说说修改模板和打印装订的事,其实关于模板的修改主要也就集中在以下几项:行间距、各种正文和标题的字号、字体、原创性声明及使用说明的具体内容这些(封面不用修改,这个在最后一段有说明);参考文献的引用格式各个高校基本都遵循 GB_T7714-2005 国家标准所以也就没什么好改的了。

打印之前,各位可以在自己的电脑上用虚拟打印机将已经做好的 PDF 文档用黑白色打印一下,确定文章中可能出现的彩图是否会因为黑白打印造成无法识别的问题,尤其要注意如果在一些图中使用了灰色填充,灰色就一定不要太重,否则会导致填充图案上黑色的文字可读性很差。如果论文中涉及到有限元图形以及云图等必须彩印的地方,就可以提前把页码记好,在打印店让工作人员单独把那几页抽出来彩印。彩印的时候记得要求彩色激光打印,如果店家说没有彩激——你就换一家打印店好了。

至于装订需要注意的是,封面大家不用自己做,让打印店的人帮你做就好。因为每个人的论文长度不一样,也就导致最后装订出来的成品厚度不一样。打印店的工作人员只有在用尺子量过你的论文厚度后才能确定书脊的位置。

 

学渣上手 LaTeX 完成毕业论文的更多相关文章

  1. 用latex写毕业论文

    用 LaTeX 写漂亮学位论文(from wloo) 序 一直觉得有必要写这样一篇文章,因为学位论文从格式上说更像一本书,与文章 的排版不同,不仅多出目录等文章没有的部分,而且一般要设置页眉页脚方便阅 ...

  2. LaTeX 有哪些「新手须知」的内容?

    孟晨 ,在 LaTeX 话题下写错 LaTeX 名字的,一律… 陈硕等 137 人赞同 这是个好问题,虽然提问提得很大.不是很好答,权当抛砖引玉了. 天字第一号原则:不要到网上抄代码,尤其是似懂非懂的 ...

  3. LaTeX新人教程,30分钟从完全陌生到基本入门

    by Nan 对于真心渴望迅速上手LaTeX的人,前言部分可以跳过不看. 本教程面向对LaTeX完全无认知无基础的新人.旨在让新人能够用最简单快捷的方式,轻松入门,能够迅速使用LaTeX完成基本的文本 ...

  4. LaTeX新人30分钟从完全陌生到基本入门

    From:http://www.360doc.com/content/13/0117/11/2886802_260681908.shtml 对于真心渴望迅速上手LaTeX的人,前言部分可以跳过不看. ...

  5. LaTeX初识 新手入门 Texlive和Texmaker学习

    转载自:http://blog.sina.com.cn/s/blog_90444ed201016iq6.html http://blog.csdn.net/zb1165048017/article/d ...

  6. LaTeX新人教程,30分钟从完全陌生到基本入门[转载]

    LaTeX新人教程,30分钟从完全陌生到基本入门[转载] 2017-02-05 分类:TeX讲义 阅读(32514) 评论(0)  这是一篇老文了,前几天看微博的时候看到的,文中的很多表达比较过激,思 ...

  7. LaTeX新人使用教程[转载]

    LaTeX新人教程,30分钟从完全陌生到基本入门 by Nan 对于真心渴望迅速上手LaTeX的人,前言部分可以跳过不看. 本教程面向对LaTeX完全无认知无基础的新人.旨在让新人能够用最简单快捷的方 ...

  8. latex参考文献删除[.s.l],[.s.n]

    用latex写毕业论文的插入会议参考论文的时候可能会遇到编译后的文档里面一堆[.s.l],[.s.n]的问题. 这是因为ref里面会议条目找不到地址信息,所以用[.s.l],[.s.n]替代,只需要更 ...

  9. latextools \cite 自动补全

    最近在用latex写毕业论文,编辑环境用的是Sublime Text 2 加 latextools 插件,在使用latextools的\cite命令来引用参考文献时,我们希望输入\cite{ 后自动弹 ...

随机推荐

  1. ARC简介以及工程中ARC与非ARC的混合

    Piosa 博客园 博问 闪存 首页 新随笔 联系 管理 订阅 随笔- 79  文章- 0  评论- 13    ARC简介以及工程中ARC与非ARC的混合   ARC与非ARC在一个项目中同时使用, ...

  2. App 启动加载广告页面思路

    需求 很多app(如淘宝.美团等)在启动图加载完毕后,还会显示几秒的广告,一般都有个跳过按钮可以跳过这个广告,有的app在点击广告页之后还会进入一个广告页面,点击返回进入首页.今天我们就来开发一个广告 ...

  3. webpack入门学习

    一.认识webpack webpack是一款模块打包加载工具.它能够将各种资源.JS.CSS.图片等作为模块打包加载.本人也是近期因工作需要才开始接触webpack,在下文中有误的地方还希望各位能够指 ...

  4. Aircrack-ng 工具箱

    官网为:http://www.aircrack-ng.org/, 它就是一个与WiFi 相关的工具啦,可以进行一些注入,抓包.破解WiFI等.里面有很多不同的套件. 另外,http://blog.cs ...

  5. Hibernate 报错org.hibernate.PropertyAccessException: IllegalArgumentException(已解决)

    无聊想搭建一个项目,练手,做点小功能就一个卡在这个问题上 org.hibernate.PropertyAccessException: IllegalArgumentException occurre ...

  6. 四、分离T4引擎

         在前几篇文章中,我使用大量的篇幅来介绍T4在VisualStudio中如何使用.虽然在一定程度上可以提高我们的工作效率,但并没有实质上的改变.不过从另一方面来说,我们确实了解到了T4的强大. ...

  7. 99%Bug 修复方法

    以下仅支持4.0.3或之后的设备 (写在前面,这个教程需要安装两个app,且卸载后无法达到效果,所以有app drawer洁癖者慎重(你可以把它们隐藏起来么). 当然等官方rom更新或者安装最新三方r ...

  8. JS字符串常用方法

      // 来自 http://www.runoob.com/js/js-strings.html   var str01 = "odd open xboxone" , str02 ...

  9. 使用C++11 实现的线程池

    最近打算做一个服务器端程序,每来一个客户端请求新开一个线程进行处理.在网上查了一些资料后,准备使用线程池来做这个东西.使用C++11新的库处理想线程问题比以前简单了许多,在网上找到一份线程池的实现,h ...

  10. centos 用户切换

    在系统的/etc/.bash_profile中已经配置了各种环境变量. 用账户a登陆,ldd xxx.so查看一切链接正常. 用账户root登陆,ldd xxx.so查看一切链接正常. 用账户a登陆, ...