程序员博士干点啥: 十八般武艺总有一招适合你LaTeX科研写作

学位论文写作的正确打开方式:程序员的理性与倔强

2018-10-20  本文已影响206人  九天学者

本文纯属个人多年摸索、踩坑、填坑过程中总结的经验!适合本科生, 硕士生, 博士生乃至博士后!
搜索关注公众号九天学者(直接扫码关注)可免费获取最新资源:发消息latex模板或者word模板可获取资源链接✌️✌️✌️

完成一篇博士论文有多难?(1) 需要有创新;(2)要发表高水平期刊论文,也就是通常说的小论文; (3)需要阅读大量的文献,因为博士论文是要具有系统性的; (4)博士论文编写。这几个过程难度依次递减,前三步是自身功夫的修炼,本文帮不上忙。单就第四步已经会令一大部分人头疼了。在中国,一篇博士论文基本上在两百页左右。内容包括很多章节,大量参考文献引用,图片和表格及其交叉引用。尤其对于理工科的博士论文,论文里面难免有大量的公式(行内公式或者行间的大公式)。


用什么工具完成这项看似繁琐的撰写任务?不用想,绝大部分人会选择微软的word软件进行编写。当然也有一小部分机智的同学选择使用LaTeX进行编写。


战术上的勤奋️ & 战略上的懒惰?前段时间我跟同学们就在讨论word和LaTeX写作效率的问题以及有没有可能教导师也用LaTeX,有人就说LaTeX学习是需要花时间的,太难了,一下不容易上手。其实回头想想花在找破解版的word,破解版的mathtype,破解版的endnote,耗费了多少时间?而且大部分人其实并不是正真的会用word。何不将这些时间投入到LaTeX学习中呢,可能会比你想象中话费时间更少,更高效,撰写成果更美观,最重要的是它免费、稳定且跨平台!!!


word与latex的旷世之战

编写工具效率对比

相信阅读此文的人,没有不知道word的,但是不保证每人都知道LaTeX,使用的人就会更少。但我相信一点:没使用过LaTeX的人一定会认为它很难,很复杂,恐于接触!下面我来帮大家捋一捋编写工具之间的优缺点对比。我将用1-5颗星表示两者在每个对比项之间的优势,星越多越好 (纯属主观评分,有意见勿喷)。

word

  1. 收费问题 ✨:word并不免费!解决此问题有两种方法:花钱买(365订阅版本学生价至少15/月);破解(花时间找破解软件,会有让电脑中毒的危险以及软件不稳定的一系列后续问题)。
  2. 操作性 ✨✨✨:较容易上手,因为word是有图形界面的,可以用鼠标点击可视化的菜单等按钮进行操作和设置。但是版本之间的改变(比如word2003,2007,2010,2016)之间的差异也是需要花时间去问百度或者问同学去解决一部分操作问题;不同平台下的word也存在一定差异(比如win于mac之间就有不少差异)。有一个现象可以说明这种操作性的差异:有很多年长一些的教授会选择多年使用老版本word而不愿使用新版本,即使新版本有一定的功能优势。
  3. 可见性✨✨✨✨:word是一个所见即所得的文字编辑软件,但是正是这种所见即所得,会是的word在编写长文的过程中随着文件内容的增大而越来约卡,当然了有人会说为什么按章节拆分呢,此法当然可以,但是会有其他的问题引入。
  4. 图片的处理✨✨:word对图片的支持真的不咋地,首先它不支持eps和pdf这类矢量图;其次当你插入一个高分辨率或者稍微大一点的复杂图片,则会导致word奔溃或者整个文件无法打开。但是我们的学术论文写作尤其是电子版要求有一定的分辨率,有些图是需要放大看细节的而不只是打印层面的分辨率。
  5. 表格✨✨:虽然word的表格乍一看编写起来很容易,点点鼠标就可以实现单元格合并,单元格插入,表格网格线等的设置。但是对于更高级的格式设置会显得格外复杂:比如设置小数点对齐。
  6. 公式✨:word的公式支持的非常糟糕,有人就会说那冤枉word了,word有自带的公式编辑器的。我只想说那个公式编辑器使用之繁琐,效果之难看,您能忍就好!一般大家会选择使用word里面嵌入的公式3.0,但是到了2016版之后,此功能就被取消了。解决办法是MathType,有两种途径可以得到。其一是购买正版,现在最新版是7.0,只支持订阅,学生价35美元每年;其二是找破解版,我只想说真不想浪费生命在这样无聊的事情上,如果您有时间可以去找破解版,不过会有一系列后续问题出现。
  7. 参考文献✨:word的参考文献功能最糟糕。其实有自带的参考文献功能,可能没有几个人用过吧!对于参考文献一般的处理方法有二:其一是手动,如果您有足够耐心这也不失为一种无奈的解决方案;其二是依赖第三方软件进行自动插入排版,比如国产的Noteexpress,洋玩意儿Endnote或者Papers等,软件收费暂且不谈,其文献插入会一方面会导致word文件体量变重而且会时不时出现奇怪的格式错乱问题。
  8. 排版复杂性✨✨:虽然word有可视化的界面,但是其排版并不好使,不够自动化。比如行内公式会突然错乱,尤其是给别人进行论文修改的时候;图片,表格,公式等不能自动归位可能导致某一页下方有很大空白,需要手动去调整。
  9. 代码支持:word完全不支持在文中高亮显示代码。有时候对于理工科的同学来说,有可能需要在文中贴一段重要的程序代码,要么纯黑色显示,要么手动一个一个设置变量等的高亮颜色。当然了不在乎美观的话,纯黑色显示也可以。
  10. 模板可用性✨:很少见到有那种很全面的word写作模板,比如某高校的毕业论文或者某个期刊的投稿稿件。而且由于word自身的原因,即使有制作好模板也很难共享,因为很容易出现格式错乱(如果你参与过某一本专著的编写就会体会到!)。
  11. 版本控制✨:为什么要版本控制?相信大家在用word写作过程中会在文件夹下保存各种很多文件,以不同日期或者其他的格式来命名表示不同的版本,这种方式当然可以,但是不够方便、高效、优雅!word本身并不能很好的支持版本控制,结合one drive或者dropbox可以实现类似的功能,但是并不好。当然了你可以直接用git来控制word文件,但是word文件是二进制的,可想而知这个过程有多奇怪!很难对比不同版本的差异。
  12. 审阅✨✨✨✨✨:这是唯一可以给word打满分的项目。但是这并不是我们以来word的理由,相比前面那么多槽点,权衡之下还是会选择更好的解决方案。

注意:要在word上有很好的使用体验,不浪费生命在太多无聊的事情上!需要花钱买软件:word,mathtype,endnote。同时也需要学会word使用技能,同样需要投入时间学习的。

LaTeX

  1. 收费问题✨✨✨✨✨:LaTeX本身免费,且有友好的编辑和生成软件,比如TexStudio是开源、免费、跨平台的!
  2. 操作性✨✨✨:其实随着LaTeX近年来的发行版的不断更新以及编辑工具的不断更新,还有强大的社区资源的不断丰富,LaTeX的操作性已经不比word难了。比如你要写毕业论文,如果有了所在高校的毕业论文的LaTeX模板(LaTeX社区里面已有很多:清华、复旦、上海交大等),你只需要会用不超过10个基本命令就可以完成你的博士论文了,比如\chapter, \section, \subsection, \begin{equation}...\end{equation}, \begin{table}...\end{table}
  3. 可见性✨✨✨✨:虽然不是所见即所得,但是只需要轻轻按一下生成按钮,几秒钟之内就能生成最终的pdf文件并在一旁自动刷新出结果并显示出来。只要习惯了这种模式,工作效率也会很高的,比如在你一口气写完一段之后需要构思下一段的期间,你就可以先执行生成操作(当然可以设置你喜欢的快捷键了)然后在构思,两不耽误。TexStudio还有个非常棒的功能就是在内置pdf阅读器里面,用鼠标右键可以跳转到当前鼠标所在位置对应的LaTeX内容。提示:latex书写最好是一句话一换行,这样做的好处后面你就知道了!
  4. 图片处理✨✨✨✨✨:这个功能我想给满分!首先LaTeX支持矢量图(pdf或者ps格式),即使图片很大(比如几十上百Mb的pdf图片)也没问题;其次是可以自动更新图片,一般都是将文中需要的图片保存在一个固定目录下,然后在LaTeX中设置这个路径作为图片搜索路径,然后在文中插入的图片,当这个图片文件更新之后,LaTeX生成的pdf文件也会同时更新的。而word必须要手动重新插入才能生效。这种问题在论文写作过程中经常遇到,有些数据结果的图片会不断更新,使用LaTeX会节省大把时间。
  5. 表格✨✨✨✨:虽然对于入门使用这来说用LaTeX写表格简直就是个头疼的问题,不过不用怕!首先有一些第三方可视化工具可以帮助做表格,比如tabgeneration这个非常nice的网站可以在线编辑表格然后生成LaTeX代码,复制即可;其次如果你使用一度时间LaTeX之后,就发现即使再nice的第三方工具你也不想用了,因为LaTeX写表格并!不!难!直接自己手写码字就行,因为控制表格的就那几个基本符号:&, \\, \hline, \toprule, \bottomrule等,孰能生巧!word里面的表格操作菜单位置不一样也要记忆!
  6. 公式✨✨✨✨✨:同样这个功能我也要给满分!不论行内公式还是行间公式,排版非常美观,你只需要专注你的内容,完全不用管格式和排版:自动编号;交叉引用\ref{eq1};公式书写;公式索引表自动生成等,全部都是信手拈来!尤其是其公式书写,效率非常快,再也不用去用鼠标点按钮来打下标、上标和希腊字母等,比如\alpha就是\alpha,还有\delta, \gamma, \nabla\nabla等,直接敲这些字母或者符号对应的读音即可!(当然了同样的操作也可以在mathtype里面用,也可以把mathtype里面编写的公式直接复制粘贴为LaTeX代码)。
  7. 参考文献✨✨✨✨✨:没得说,满分!你只需要将谷歌学术的参考文献引用导出为bib文本,然后将此文本复制到你的参考文件.bib文件里面,然后在文中用命令\cite{key}, \citep{key}, \cite[e.g. ]{key}等命令根据你不同的要求引用文献即可,而且会自动生成参考文献列表位于论文末尾(这些引用格式个列表格式都是在模板中定义好了的)。TexStudio有一个非常好的功能就是当你键入\cite的时候,他会自动提示有哪些文献可选,然后你输入参考文献引用key,它会自动帮你筛选,效率非常高!google学术的bib文本里面的cite key是以第一作者+年份+标题第一个实词进行命名的,所以在用上面的方式引用文献非常方便。
@article{hasenclever2014hybrid,
  title={Hybrid shallow on-axis and deep off-axis hydrothermal circulation at fast-spreading ridges},
  author={Hasenclever, J{\"o}rg and Theissen-Krah, Sonja and R{\"u}pke, Lars H and Morgan, Jason P and Iyer, Karthik and Petersen, Sven and Devey, Colin W},
  journal={Nature},
  volume={508},
  number={7497},
  pages={508},
  year={2014},
  publisher={Nature Publishing Group}
}
  1. 排版复杂性✨✨✨:LaTeX的排版复杂性表现在模板制作上,模板制作确实非常困难!但是幸运的是,LaTeX有强大的社区,比如国产的LaTeX小屋,很多大神已经变好了很多模板(如各大高校的毕业论文,一些精美的图书或者报告的模板),可以直接使用或者根据自己需要稍微改改。模板一旦做完,其稳定性是非常高的,不论是在不同系统下还是LaTeX编辑器更新了,都不会收到影响。幸运的是高校的毕业论文格式一旦确定,基本上几十年不变了,所以毕业论文的LaTeX模板也是一劳永逸的!对于期刊论文,国外的SCI期刊基本上没有不支持LaTeX的,并且都提供Manuscript版本的LaTeX模板并配有详细的使用说明,因此对于投稿期刊论文,使用LaTeX也是无压力的!总体而言,对于LaTeX写作用户而言,排版复杂性很小,因为一旦模板编好了,其排版都是自动的(比如某一页的图片和文字会自动计算图片的位置,不让有文字空白出现)。
  2. 代码支持✨✨✨✨:这个功能太强大了,为编写技术类书籍或者论文提供了太多便利!比如我正在写的一个关于有限体积方法和OpenFOAM的电子书,里面会插入大量的代码解释,word几乎无法实现!插入代码的方式还有两种:一种是直接输入;一种是从文件输入,只需要在LaTex文件中键入你的代码文件名和需要显示的行号就可以。这个功能的使用是基于python的,需要安装python,所以我给减了一颗星。对于使用python的同学,这不是个问题;对于没用过python的同学,这也不是个问题,因为安装python非常简单。
  3. 模板可用性:如上排版复杂性里面所述,你所需要的LaTeX模板基本都可以找到,即使找不到也可以在其他模板上稍微修改一下作为你的目标模板。比如中国地质大学(武汉)并没有LaTeX模板(好像网上有一个地空学院的师兄写的,但是不太好用),本文作者就在清华大学毕业论文模板的基础上根据地大的写作规范进行了简单的修改,可以生成完全符合学校要求的毕业论文pdf文件(有需要地大或者其他高校的毕业论文模板的同学可以搜索添加我的微信公众号:九天学者;或者直接扫码添加,发消息latex模板即可免费获得最新资源)。
  4. 版本控制✨✨✨✨✨:LaTeX是完全的ascii码编码方式(也就是通俗的明码),可以用git进行版本控制,妙传到云端仓库(比如github或者coding)。每天一提交,再也不用存储一大堆不同版本的word文件了,结合github等云端仓库(学生可以申请无限空间的private仓库),只需要一个git push命令就可以妙传至云端,再也不用担心硬盘坏了、电脑坏了、硬盘被盗了被抢了等导致毕业论文丢失的悲剧;第二个好处就是随时随地将你的云端仓库git pull到其他电脑上,随时随地可以写作和查看!白天在用办公室电脑写作,晚上回家可以同步到你的本本上继续写点东西。论文同步尽在弹指间git pullgit push
  5. 审阅✨✨:审阅(也就是常说的论文修改了)或者协作问题,因为涉及到除你之外的第二个或者第三个或者更多人(比如导师、师兄弟)。其他人的爱好我们并不清楚,有可能会LaTeX有可能不会。如果是前者,完成论文修改很好办,很简单的一个操作就是直接修改LaTeX内容,然后用git提交之后跟之前的版本进行对比 git diff可以很直观的看到修改了哪些内容;第二种方式就是用latex的审阅命令,直接在内容里面添加修改命令,这样可以直接生成于word审阅模式相类似的标记。但是,如果对方不懂Latex,这就比较麻烦,只能给他pdf文档,在pdf文档上标注或者打印出来用笔标注(很多老教授都喜欢打印出来用笔修改和标注),然后你对照着纸质版再修改你的电子档。

所以,如果每个人或者大部分人都开始使用LaTeX,在学术圈的你将会效率大增!尤其是要将这么棒的写作方式(LaTeX+TeXStudio+git+github)介绍给你的导师和师兄弟,因为写论文有时候不是你一个人的事儿!

从我最近写博士论文的实际经历来看,latex的效率是word的三倍以上(这是客观估计);用户体验远远超过word。

看我直播码字

斗鱼直播间:九天学者编程直播;房间号:5646585. 不定期直播,关注九天学者微信公众号获取及时开播通知!

如果对您又帮助,请动动手自分享给更多的同学!共同进步,让这个世界变得更美好🤗

上一篇下一篇

猜你喜欢

热点阅读