妈蛋,这玩意还真不得不会!
文 | 大核桃 早稻田与武大联合培养计算机硕士
这是一篇Latex论文排版教程,推荐大家收藏之后再看!
为什么说Latex是“不得不会”呢?
因为现在的期刊论文,尤其是计算机类的,越来越多是有统一格式要求的,并且有模板提供,这个模板就是以.tex结尾的文件包。Latex相对于word对数学公式更友好,格式更漂亮规范,处处体现了科研人员的严谨与认真。开始使用Latex到爱上Latex的过程,形容一下,就像“榴莲宝们”第一次吃到榴莲之后欲罢不能的全过程。
我是因为上个学期一门专业课的作业才“不得不”强迫自己学习Latex的,在之前本科时用过Adobe Indesign(一个设计类排版软件)。硬着头皮开了个头,排完一篇之后发现一点儿也不抗拒了,相反还很开心怎么回事。多读点书咯,总会有用的,这门课我拿了A+,也是上个学期几门课里的唯一一个A plus,大概是晚期计算机处女座“抠细节”的觉悟促成的。
不仅是计算机的研究生应该要具备一下Latex技能,别的专业多多少少也是学了没毛病的,我始终相信,编程是和英语一样存在的一门语言,是人与机器对话的语言,它并没有想象中的难以接受,我在完成了从“设计排版”到“程序排版”的转变之后,强烈安利大家打开这个新世界的大门,尤其是在语言方面有天赋的宝宝,很有可能在机器语言方面也同理可得噢!
关于Latex的安装,这里我用到了Texstudio,大家戳下面的链接按照步骤进行下载:
CSDN:最简单傻瓜式的 Latex+Texstudio 安装教学
https://blog.csdn.net/qq_33826564/article/details/81490478
Latex入门级:下载官方模板,在Texstudio/winEdit里或者直接 overleaf.com网页版里进行排版,前者只针对于研究生以上博士等,但是安装就好几个G 了对内存十分不友好,overleaf网页版对大多数人更友好,推荐使用。其中公式可以用latex在线公式编辑器搞定。
Latex中级:熟练掌握Latex的常用语法。这里放上一个知乎的链接:
https://www.zhihu.com/question/268569440/answer/343851257
Latex高级:吃透Latex,可以用Latex替代word进行日常文档编辑。
一些符号的表示:
数学模式符号$、注释符%、上标^、分组{ }、宏命令\。
~是带子、#用在宏定义中、&用于表格对齐、_表示数学模式的下标。
注:要在正文部分用到这些符号,大部分是在前面加\,只有个别例外。
Texstudio操作快捷键:
https://blog.csdn.net/sdujava2011/article/details/61616191
惭愧地说,我还在初级向中级进发中。这次排版我照着IEEE官网的模板文件现学现卖用到了如下代码:
1. 首行缩进
\usepackage{indentfirst}
\setlength{\parindent}{2em}
%然后在需要缩进的文段前添加
\indent
2. 公式
Latex公式在线编辑器你值得涌有!
网址:
http://latex.codecogs.com/eqneditor/editor.php
可以预览,然后直接复制对话框的代码就可以了,非常方便,强烈安利!
1)这里注意一下在文中数字的输入:例:(${x}'$,${z}'$) 效果如图:
2)公式样例:(之前别忘了插入库\usepackage{algorithm, algorithmic})
\begin{equation}
G_{j}^{\phi}(x)=\frac{1}{C_{j}H_{j}W_{j}}\sum_{h=1}^{H_{j}}\sum_{w=1}^{W_{j}}\phi_{j}(x)_{h,w,c}\phi _{j}(x)_{h,w,c'}
\end{equation}
效果如图:
3)我碰到了公式过长的情况,需要换行表达,于是改了一下:
\begin{equation}
\begin{split}
\underset{G}{min}\underset{D}{max}L(D,G)=\AE_{x\sim p_{x\mid y}}\left[ logD(x\mid y) \right ]\\
+\AE _{z\sim p_{z}}\left [ log(1-D(G(z\mid y))) \right ]
\end{split}
\end{equation}
效果如图:
注:需要对齐的长公式可以用split 环境,它本身不能单独使用,因此也称作次环境,必须包含在equation或其它数学环境内。split 环境用\\和&来分行和设置对齐位置。
3. 图片
别忘了开头插入库
(\usepackage{graphicx})
1)插入单张图片(从模板提取代码):
\begin{figure}[!t]
\centering
\includegraphics[width=2.5in]{luna.jpg}
\caption{this is a figure demo}
\label{fig_sim}
\end{figure}
效果如图:
2)插入多图并排(记得先设置一下库):
\ifCLASSOPTIONcompsoc
\usepackage[caption=false,font=normalsize,labelfon
t=sf,textfont=sf]{subfig}
\else
\usepackage[caption=false,font=footnotesize]{subfig}
\fi
\begin{figure*}[!t]
\centering
\subfloat[]{\includegraphics[width=2.5in]{luna.jpg}%
\label{fig_first_case}}
\hfil
\subfloat[]{\includegraphics[width=2.5in]{luna.jpg}%
\label{fig_second_case}}
\hfil
\subfloat[]{\includegraphics[width=2.5in]{luna.jpg}%
\label{fig_third_case}}
\hfil
\subfloat[]{\includegraphics[width=2.5in]{luna.jpg}%
\label{fig_forth_case}}
\caption{Simulation results for the network.}
\label{fig_sim}
\end{figure*}
效果如图:
4. 表格
1)模板给出表格命令:
\begin{table}[!t]
\renewcommand{\arraystretch}{1.3}
\caption{An Example of a Table}
\label{table_example}
\centering
\begin{tabular}{|c|c|}
\hline
One & Two\\
\hline
Three & Four\\
\hline
\end{tabular}
\end{table}
效果如图:
2)然而老板的要求不长这样,所以又爬了一下代码琢磨改了一下,三行线表格代码如下:
\begin{table}[!t]
\renewcommand{\arraystretch}{1.3}
\caption{your description on table}
\label{table_example}
\centering
\begin{tabular}{cccc}
\hline
\bfseries Do & \bfseries You & \bfseries Love & \bfseries Me\\
\hline
Yestoday & Yes & Yes & Yes\\
Today & Of Course & Of Course & Of Course\\
Tomorrow & Definitely Yes & Definitely Yes & Definitely Yes\\
\hline
\end{tabular}
\end{table}
效果如图:
3)表格真是整得人头秃啊,更复杂的表格代码请移步:
http://blog.sina.com.cn/s/blog_57235cc70100jnqu.html
5. 参考文献
1)不使用BibTex的方法:
https://blog.csdn.net/GarfieldEr007/article/details/51628565
2)使用BibTex的方法:
https://blog.csdn.net/z_Ramsey/article/details/81986447
3)我使用的IEEE模板加BibTex方法:
https://blog.csdn.net/qysh123/article/details/8765772?tdsourcetag=s_pctim_aiomsg
期刊流程走了一遍,十分心lui了。以上的代码并不是拿来就直接可以用的,可能之前要引入一些库,就像文中给出的图片库一样。代码都是需要动态调整的,不同的期刊给出的latex模板并不尽然相同,需要仔细研读它给出的导航PDF,谁也不喜欢看说明书,还是全英文的,这个时候ctrl+F搜索关键字很好用,如想知道表格排版代码要求的位置就再搜索栏里输入“table”,然后上下翻动,可以很快定位到对应的位置。
不建议新手一上来就自己freestyle,找个专业的模板跟着走一遍流程会比较快上手,或者有时间看一下刘海洋老师的《LATEX入门》。
我从安装Texstudio开始到彻底完成整个论文的排版,用了三天的时间,然后我问了一个博士师兄,对方说“正常我用Latex排一篇论文一天不到吧”,扎心了铁子。
然而更扎心的还有老板一开始派活是这么说的:
半天!半天!半天!
很多时候我们接受差距的存在,但不能满足于差距一直存在。
我们不能阻挡自己任人鱼肉的命运,但可以选择做最好的“鱼肉”。
这么说有种假笑girl的感觉,但是神户牛肉怎么吃,厨师肯定是按照它的纹路来的,不然就是浪费了这块“顶级”的肉。总有一天我肯定可以用Latex花半天的时间排自己的期刊论文。这大概就是硕士期间仓鼠静不懈努力的目标了——做一块有相对自由的“神户牛肉”。
无觉悟,不科研!
今日份福利:在公众号【仓鼠静的瓜子展览馆】后台回复【4】即可抱走如下Latex排版教程!
//end
END
本文转载自公众号「仓鼠静的瓜子展览馆」。号主是早稻田大学和武汉大学的联合培养硕士,定期分享学习资料、学霸养成计划等内容,欢迎大家关注!
妈蛋,这玩意还真不得不会!相关推荐
- 记一次有意思的种树比赛
记一次有意思的种树比赛 在招聘群里有位老哥发了个网址http://geek.qq.com/tree/,发现挺好玩,别说这玩意还真让人极其上头哈哈,这次种树实际上就是类似于一个闯关游戏,种树种到一定数量 ...
- 也谈TDD,以及三层架构、设计模式、ORM……没有免费的午餐,选择了,必付出代价...
想在园子里写点东西已经很久了,但一直没有落笔,忙着做 一起帮 的开发直播,还有些软文做推广,还要做奶爸带孩子,还要--好吧,我承认,真正的原因是: 太特么的难写了! 但再难写也要写啊,要等到" ...
- 使用genext2fs制作ramdisk
linux 默认并没有自带这个工具,需要下载,项目地址:http://sourceforge.net/projects/genext2fs/files/genext2fs/ 最新版为genext2f ...
- 微信支付官方SDK V3 .NET版的坑
但是支付成功后却不能正确的执行支付结果js回调函数.看看其页面的点击事件是放在asp:Button上面的.我们知道在asp.net webform中,按钮的点击是有页面回调后台的.也就是其实点击了之后 ...
- 机器学习入门:多变量线性回归
摘要:给大家简单介绍了多变量线性回归,还附赠在处理梯度下降过程中通用的两个小技巧. 本文分享自华为云社区<[跟着小Mi一起机器学习吧!]多变量线性回归(一)>,原文作者:Skytier. ...
- MS-SQL的智能脚本智能提示失效丢失
今天打开SQL编写的时候,发现智能提示没有反应,发现离开这玩意还真不习惯,然后就是想办法怎么把它恢复. 首先是在工具-选项,看下基础设置是否还在(如下图).发现自己的设置没有修改,IntelliSen ...
- 我从非科班转到图像算法工程师(图像识别、机器学习、深度学习)(3个月)的经历
我从非科班转到算法工程师3个月的经历 附录1:From 2016: Why Deep Learning Is Suddenly Changing Your Life 附录2:深度学习如何入门? 附录3 ...
- TIPC 透明通信协议
说实话,接触TIPC也不是一天两天了,在TSP的时候就和它天天打交道.今天好好来研究一下. TIPC sourceforge site:http://tipc.sourceforge.net/inde ...
- 北冥乘海生:996其实没什么卵用
作者:北冥乘海生,公众号 & 知乎专栏:计算广告 996一词,是某巨头的一个中层提出来的,最初只是个忽悠老板的口号,哪知道如今应者云集,简直成了创业精神的代名词.007一词,则是我提出来的(& ...
最新文章
- iOS开发之网络编程--使用NSURLConnection实现大文件断点续传下载
- 屏幕坏点怎么产生的_修复液晶屏幕坏点的妙招
- 程序语言的概念知识笔记
- Java编程中程序员会遇到的一些感性烦恼,你有遇到吗?
- java网站短信接口_网云JAVA短信接口API
- 推荐系统的变与不变:冷启动、召回排序、长期生态与目标拆解
- 5G网络什么时候普及,5G手机可以用4G的手机卡吗,5G和4G什么区别
- 洛谷2501 BZOJ1801中国象棋题解
- matlab闭环直流调速系统实验,实验三双闭环直流调速系统MATLAB仿真.doc
- Java - springboot中md5加解密工具类
- 【运筹学】线性规划 单纯形法原理 ( 构造初始可行基 | 基变换 | 最优性检验 | 解的判别 | 检验数 | ( 唯一 / 无穷多 ) 最优解判别定理 | 无界解判别定理 )
- antd系列之Select
- java idea导入ecli项目
- android 开发短信接收器
- 传奇手游服务器搭建_如何架设一个传奇手游?需要那些东西?
- AlwaysOn3节点集群方案windows2012+sqlserver2012
- NOI-1.2(04) 填空:类型转换1
- Python计算机视觉——SIFT描述子
- RSA加密算法(公钥+私钥加密)
- Java的垃圾回收机制详解——从入门到出土,学不会接着来砍我!