妈蛋,这玩意还真不得不会!

文 | 大核桃 早稻田与武大联合培养计算机硕士

这是一篇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花半天的时间排自己的期刊论文。这大概就是硕士期间仓鼠静不懈努力的目标了——做一块有相对自由的“神户牛肉”。

无觉悟,不科研!

原文发布于微信公众号 - 轮子工厂(Programmer-ing)

原文发表时间:2019-05-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券