学渣上手 LaTeX 完成毕业论文
学渣上手 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 完成毕业论文的更多相关文章
- 用latex写毕业论文
用 LaTeX 写漂亮学位论文(from wloo) 序 一直觉得有必要写这样一篇文章,因为学位论文从格式上说更像一本书,与文章 的排版不同,不仅多出目录等文章没有的部分,而且一般要设置页眉页脚方便阅 ...
- LaTeX 有哪些「新手须知」的内容?
孟晨 ,在 LaTeX 话题下写错 LaTeX 名字的,一律… 陈硕等 137 人赞同 这是个好问题,虽然提问提得很大.不是很好答,权当抛砖引玉了. 天字第一号原则:不要到网上抄代码,尤其是似懂非懂的 ...
- LaTeX新人教程,30分钟从完全陌生到基本入门
by Nan 对于真心渴望迅速上手LaTeX的人,前言部分可以跳过不看. 本教程面向对LaTeX完全无认知无基础的新人.旨在让新人能够用最简单快捷的方式,轻松入门,能够迅速使用LaTeX完成基本的文本 ...
- LaTeX新人30分钟从完全陌生到基本入门
From:http://www.360doc.com/content/13/0117/11/2886802_260681908.shtml 对于真心渴望迅速上手LaTeX的人,前言部分可以跳过不看. ...
- LaTeX初识 新手入门 Texlive和Texmaker学习
转载自:http://blog.sina.com.cn/s/blog_90444ed201016iq6.html http://blog.csdn.net/zb1165048017/article/d ...
- LaTeX新人教程,30分钟从完全陌生到基本入门[转载]
LaTeX新人教程,30分钟从完全陌生到基本入门[转载] 2017-02-05 分类:TeX讲义 阅读(32514) 评论(0) 这是一篇老文了,前几天看微博的时候看到的,文中的很多表达比较过激,思 ...
- LaTeX新人使用教程[转载]
LaTeX新人教程,30分钟从完全陌生到基本入门 by Nan 对于真心渴望迅速上手LaTeX的人,前言部分可以跳过不看. 本教程面向对LaTeX完全无认知无基础的新人.旨在让新人能够用最简单快捷的方 ...
- latex参考文献删除[.s.l],[.s.n]
用latex写毕业论文的插入会议参考论文的时候可能会遇到编译后的文档里面一堆[.s.l],[.s.n]的问题. 这是因为ref里面会议条目找不到地址信息,所以用[.s.l],[.s.n]替代,只需要更 ...
- latextools \cite 自动补全
最近在用latex写毕业论文,编辑环境用的是Sublime Text 2 加 latextools 插件,在使用latextools的\cite命令来引用参考文献时,我们希望输入\cite{ 后自动弹 ...
随机推荐
- 深入理解Android 自定义attr Style styleable以及其应用
相信每一位从事Android开发的猿都遇到过需要自己去自定义View的需求,如果想通过xml指定一些我们自己需要的参数,就需要自己声明一个styleable,并在里面自己定义一些attr属性,这个过程 ...
- 解决Xcode6.0.1编译Unity3Dproject报错
错误信息大概例如以下 Undefined symbols for architecture i386: "_clock$UNIX2003",.....等 大概就是引用了一个链接库出 ...
- [转] linux系统文件流、文件描述符与进程间关系详解
http://blog.sina.com.cn/s/blog_67b74aea01018ycx.html linux(unix)进程与文件的关系错综复杂,本教程试图详细的阐述这个问题. 包括: ...
- RunTime 应用实例–关于埋点的思考
埋点是现在很多App中都需要用到的,这个问题可能每个人都能处理,但是怎样来减少埋点所带来的侵入性,怎样用更加简洁的方式来处理埋点问题,怎样减少误埋,如果上线了发现少埋了怎么办?下面是本文讨论的重点: ...
- linux安装tomcat(转载:http://blog.csdn.net/zhuihunmiling/article/details/8977387)
在安装Tomcat之前需要安装j2sdk(Java 2 Software Development Kit),也就是JDK 1.安装JDK完毕. 2.安装Tomcat 1)下载apache-tomcat ...
- centos7.2下安装mysql5.7,使用rpm包安装
0.环境 本文操作系统: CentOS 7.2.1511 x86_64 MySQL 版本: 5.7.16 1.卸载系统自带的 mariadb-lib[root@centos-linux ~]# rpm ...
- Python Socket单线程+阻塞模式
Python之旅]第五篇(二):Python Socket单线程+阻塞模式 python Socket单线程 Socket阻塞模式 串行发送 摘要: 前面第五篇(一)中的一个Socket例子其实就是 ...
- 一个类实现多个接口的demo
//A接口 interface A{ public int getA(); } //B接口 interface B{ public int getB(); } //实现了某个接口必须实现其全部的方法 ...
- repeater控件 + marquee标签 实现文字滚动显示
各种信息网站.BBS等网站上的公告信息模块的实现 拖出一个repeater控件绑定数据库中要显示的信息 在repeater的 <ItemTemplate> ... </ItemTem ...
- 转:常用的HTML标签和属性解释
基本结构标签: <HTML>,表示该文件为HTML文件 <HEAD>,包含文件的标题,使用的脚本,样式定义等 <TITLE>---</TITLE>,包含 ...