前言
常言道:“工欲善其事,必先利其器”。要有效率地开展科研工作,不仅需要持续投入时间和热情,还有必要掌握好文献管理、数据处理与分析以及团队合作等各项技能。一款好的软件能大幅提高科研生产力,善用各类软件处理重复性工作,有助于事半功倍地完成科研任务和事务,从而将更多时间用于思考。对于以建模为重要科研工作内容的科研人员而言,掌握相应的编程语言、文本编辑器和代码管理等软件无疑能极大提高工作效率;而对于较少涉及建模或代码维护的研究人员而言,掌握数据分析与可视化软件、计算机系统设置以及高效文件管理方式,也能大幅提高生产力。
基于此,我们根据课题组长期以来的探索和实践,总结了有助于提高个人和团队科研生产力的各类软件使用方法和学习资源,并以系列推送的方式推出,以期对读者有所启发。系列推送包括三个部分:(1)高效编程,介绍提高建模和数据分析效率的常用程序语言,如Batch批处理、LaTeX、Linux与Cygwin、R语言以及文本编辑器,本课题组开发的IMED模型就是深度糅合各种编程语言和工具构建的超复杂系统;(2)高效利器,介绍适用于个人办公提效的实用小工具,如各种作图软件、快捷操作开源软件、文献管理利器Endnote和资源管理利器Total Commander;(3)高效协作,介绍适用于团队管理和协作的各种解决方案,如资料存储FTP、代码版本管理的Github、云硬盘坚果云、以及团队协作平台Teambition等。读者可在公众号→科研拾贝→研之有效栏目中阅读全部内容。
借此机会,我们向这方面的几位引路人致以崇高的敬意,包括善用佳软的作者张玉新、TC开发者Ghisler、R语言社区的谢益辉和赵鹏,感谢他们付出大量时间精力创作无数篇文风风趣而又干货满满的博文,无私分享国内外开源软件、开发R实用包、推广R语言,为我们打开了一扇开源与分享之门。此外, Stack Overflow网站也是一盏藏龙卧虎的指明灯。最后,我们希望本系列推送能起到“抛砖引玉”之效,激励读者高效工作、快乐科研。
——北京大学LEEEP研究组
第三期:高效编程之LaTeX学习
本期导读
LaTeX是基于TeX的排版软件,利用这种排版系统,用户即使没有排版和程序设计的专业知识,也可以排版出高质量、格式规范的科技类文档。如果说Word是“所见即所得”,那么LaTeX就是“所想即所得”。掌握好LaTeX能够帮助我们专注于论文写作本身,而不需将过多时间花在繁琐的排版问题上。本文主要介绍LaTeX的编撰方式和基本功能。
本文约2300字,阅读完需要约10分钟
Part 1 什么是LaTeX
LaTeX是一种基于TeX的排版系统,由美国计算机科学家莱斯利·兰伯特在20世纪80年代初期开发,能在短时间内批量生成具有书籍质量的印刷品。这个系统同样适用于生成从简单的信件到完整书籍的所有其他种类的文档。
为什么要学习使用LaTeX来撰写文档呢?特别是当Office有了MathType插件以后,LaTeX所能实现的规范漂亮的数学公式编撰似乎也成为了一个可以被替代的功能。然而,LaTeX绝不仅仅是一个公式编辑器,它最强大的功能就在于,作为一种文档处理系统,使用者只需要掌握其中通用的命令和语法,就可以通过代码的撰写和编译实现规范、可重复的排版。无论是封面还是目录,无论是页眉页脚还是分级标题样式,所有格式的内容都会由LaTeX排版系统帮助我们自动完成规范、标准、美观的呈现。
如此一来,使用LaTeX这一排版系统,我们在写作中就可以不用时刻为排版或样式而抓狂,而是可以将绝大部分的精力都专注于内容本身。更重要的是,由于基于LaTeX的文档是以代码形式创作的,因此我们创作的文档及其代码会具有非常强的可修改性、可移植性,利于灵活调整格式或作为模板与人分享;而在需要修改大量相似文档时,只需简单的修改和编译,自动化的批量修改就能够被易如反掌地实现。本课题组主页发布的中英文《IMED模型手册》[注1,2]也是基于LaTeX语言所撰写的,并且在不断更新补充这一手册的过程中,我们更加感受到LaTeX排版的强大之处。因此,我们强烈推荐使用LaTeX这一排版软件进行更高效、美观的文档的创作。
注1:IMED模型及应用中文介绍 https://www.jianguoyun.com/p/DVrcIwsQlL7CBhjE13M 注2:IMED模型及应用英文介绍 https://www.jianguoyun.com/p/DYpI0BcQpLPIBxi_pOsCPart 2 LaTeX写作:在线或本地平台
1
线上编纂
LaTeX可以进行线上编纂,好处是能够随时自动保存工作进度和数据,而且可以多人合作编写文档。
常用的LaTeX线上编辑平台为www.overleaf.com,该平台可以提供实时预览,并提供了较多实用的模板。
2
本地编纂
如果希望用LaTeX Compiler在本地电脑工作,则有以下软件可供选择:
1) For Windows:
MikTex: http://miktex.org/download
TexMaker:
http://www.xm1math.net/texmaker/download.html
2) For Mac
MacTeX: http://www.tug.org/mactex/index.html
TexMaker,地址同Windows。
Part 3 LaTeX基本语法介绍
1
建立文档
使用LaTeX首先需要建立一个文档。
\documentclass{article}\author{MyName}\title{TheTitle}\begin{document}\maketitlehello,world % This is comment\end{document}
2
章节和段落
在文档写作中,\section{}和\subsection{}可以帮助自动划分章节和子章节,\paragraph{}则可以自动划分段落。
\documentclass{article}\title{Hello World}\begin{document}\maketitle\section{Hello China} China is in East Asia.\subsection{Hello Beijing} Beijing is the capital of China.\subsubsection{Hello Dongcheng District}\paragraph{Tian'anmen Square}is in the center of Beijing\subparagraph{Chairman Mao} is in the center of Tian'anmen Square\subsection{Hello Guangzhou}\paragraph{Sun Yat-sen University} is the best university in Guangzhou\end{document}
3
数学公式
指数和下标可以用^和_后加相应字符来实现
平方根(square root)的输入命令为:\sqrt,n 次方根相应地为: \sqrt[n]
命令\overline 和\underline 在表达式的上、下方画出水平线
命令\overbrace 和\underbrace 在表达式的上、下方给出一水平的大括号
向量(Vectors)通常用上方有小箭头(arrow symbols)的变量表示。
分数(fraction)使用\frac{...}{...} 排版
积分运算符(integral operator)用\int 来生成
4
插入图片
在Word中编辑文本过程中插入的图片常需要对其大小进行手动调整,LaTeX只需要调整系数就可以完成图片大小调整。
\documentclass{article}\usepackage{graphicx}\begin{document}\includegraphics[width=4.00in,height=3.00in]{figure1.eps}\end{document}
5
建立表格
在LaTeX中建立表格非常方便快捷。
\documentclass{article}\begin{document}\begin{tabular}{|c|c|}a & b \\c & d\\\end{tabular}\begin{tabular}{|c|c|}\hlinea & b \\\hlinec & d\\\hline\end{tabular}\begin{center}\begin{tabular}{|c|c|}\hlinea & b \\ \hlinec & d\\\hline\end{tabular}\end{center}\end{document}
6
引用文献
打开Google Scholar首页,点击右上角设置,将“参考书目管理软件”设置为“显示导入BibTex的链接”。然后随便搜索一篇文章,点击搜索结果下面的“导入BibTex”,可以看到几行代码,这就是LaTeX能够识别的bibliography。
图1 设置导入BibTeX之后的Google Scholar条目
图2 点击“导入BibTex”之后的代码
在正文中插入引用
复制刚才粘贴的代码的第一行中划红线的内容(也就是BibTeX自动生成的引用文章代码),然后在正文中需要插入引用的部分插入\citeA{文章代码},这样就能在正文中引用了。
图3 正文中引用,注意只复制文章代码
7
幻灯片
LaTeX可以做幻灯片,而且直接保存为pdf格式,不用担心pptx在不同的电脑上渲染效果不同了。
Beamer Quick Start
http://www.math.umbc.edu/~rouben/beamer/
另一个pdf格式的教程
http://www.uncg.edu/cmp/reu/presentations/Charles%20Batts%20-%20Beamer%20Tutorial.pdf
Part 4 延伸
除LaTeX外,还很多其他功能强大的排版软件,诸如Markdown(在R软件中,我们就可以用R Markdown来制作动态文档)。Markdown的语法相对更简洁,且其排版功能具有较强的可扩展性,衍生出了极多的强大的版本和编辑器,因此也广受欢迎、被用于制作各类文档和博客。
不过,相比Markdown,LaTeX的功能相对更全面,因此在科技论文、毕业论文等学术类文档的写作中可能用LaTeX会更为得心应手。当然,LaTeX和Markdown文档之间亦可以通过工具互相转换。例如,我们可以用Pandoc工具将Markdown转为LaTeX。感兴趣的读者可以开展进一步的探索。
Part 5 学习资料整理
1
LaTeX学习教程类
1. 豆瓣:学术写作利器—LaTeX入门笔记整理
(不定期更新,附加使用心得)
http://www.douban.com/note/264288981/
2. 新浪博客:LaTeX新人教程,30分钟从完全陌生到基本入门
http://blog.sina.com.cn/s/blog_90444ed201016iq6.html
3. 知乎:有什么好的锻炼自己LaTeX能力的方法?
https://www.zhihu.com/question/26941928
4. 知乎:如何从零开始,入门 LaTeX?
https://www.zhihu.com/question/62943097
5. 知乎:自学 LaTeX 可以读什么书入门?
https://www.zhihu.com/question/26645810
6. 知乎:有没有比LaTeX更加好的写作排版软件,或者怎么解决LaTeX边写作还要边编代码的问题?
https://www.zhihu.com/question/37070568
7. 知乎:经常用 LaTeX 的是些什么人?
https://www.zhihu.com/question/19847741
2
模板类
1. Modern Beamer模板
https://cn.sharelatex.com/templates/presentations/modern-beamer-theme-(metropolis)
2. Metropolis Beamer模板
https://www.overleaf.com/latex/templates/a-modern-beamer-theme-metropolis/qzyvdhrntfmr/viewer.pdf
3. 来自Wiki世界最好的LaTeX的网上参考
https://en.wikibooks.org/wiki/LaTeX
4. 收集了最好的class宏包
http://www.latextemplates.com/
5. Beamer中所有模版的矩阵显示
https://hartwork.org/beamer-theme-matrix/
6. 最好的LaTeX模板大全,用英文写作,一定用得着
http://www.latextemplates.com/
7. 在线写LaTeX文档,好多使用模板!支持中文!云端存储的文本!相见恨晚!
https://www.sharelatex.com/
8. 在线的LaTeX语法数学公式编辑器,来自台湾中研院,真心好用!
https://www.math.sinica.edu.tw/www/tex/online_latex.jsp
3
公式类
1. LaTeX中数学公式的语法,很简易
http://web.ift.uib.no/Teori/KURS/WRK/TeX/symALL.html
2. LaTeX中数学公式的语法,相对完整
https://en.wikibooks.org/wiki/LaTeX/Mathematics
3. 微气象学常用的 LaTeX 公式:
http://www.pzhao.org/zh/post/equations/
敬请关注公众号了解LEEEP组研究动态
IMED研究 / 研之有效 / 讲座会议 / 工作机会
编辑 | 陆潘涛
排版 | 胡卉然
相关阅读
1 IMED综合评估模型体系介绍
2 招聘 | 北京大学能源环境经济与政策研究组博士后招聘公告
3 研之有效 | 高效编程之添加环境变量
4 研之有效 | 高效编程之Batch批处理程序点击“阅读原文”浏览小组主页