相关链接:https://blog.csdn.net/Jiajikang_jjk/article/details/80243788 CTex安装教程
https://blog.csdn.net/LHQJ1992/article/details/50458118 CTex的基本用法
1. 关于 LaTeX和CTeX
LaTeX是一种基于ΤΕΧ的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在20世纪80年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由TeX所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。这个系统同样适用于生成从简单的信件到完整书籍的所有其他种类的文档。
下载链接:http://www.ctex.org/HomePa
点击exe文件直接安装到自定义目录一路默认,按部就班(默认点下去就ok啦)下去就行啦。
3. CTeX的使用教程
下载网页:https://journals.ieeeauthorcenter.ieee.org/create-your-ieee-journal-article/authoring-tools-and-templates/tools-for-ieee-authors/ieee-article-templates/
前辅文指:一些必要的格式规范、标题、摘要、关键词、作者信息等。
title{VRP} % 标题
begin{abstract}
Based on the ... % 摘要
end{abstract}
begin{keyword}
Truck; % 关键词
end{keyword}
3.3 各级标题
section{一级标题}
subsection{二级标题}
subsubsection{三级标题}
注意:在Ctex宏包中,所有的标题都靠左对齐,没有四级标题
按照模板改文字
3.4 段落
空行:用于分割段落(同时使原文档结构更清晰)
空行:用于分割命令与文字
\ :用于换行
par:也用于换行
3.5 公式
begin{equation}
label{Fig_D1}
D_1 = a - bp_1 % 公式
end{equation}
首先看一下在latex中添加数学公式需要用到的一些命令:
只要在tex文件中添加这些数学公式的命令,在对应生成的pdf文件中就会出现对应的数学公式符号。
但是这么多公式怎么记住了?不用记住!我们可以用MathType数学编辑软件来添加公式,直接复制粘贴就可以。
注意:要使Mathtype的中编辑的公式可以拷贝到tex文件中,先要对MathType进行设置–>点击Preferences->Cut and Copy…,在这里面设置复制到tex格式。
3.6 图片
自动生成如下代码:
begin{figure}
centering % 图片居中
*]{*}\宽度设置以及图片名称 =
% 标题
% 图片引用名
end{figure}
其中,”*“就是要求我们填入的,不填会报错。可以直接复制模板中的代码然后修改文字信息。
注:图片格式一定要是矢量图,实在无法导出矢量图的尽可能是最高分辨率。图片操作一般为从origin、Visio、matlab导出pdf格式,然后通过Adobe Acrobat转换成eps格式,然后将eps图片再次保存成eps格式达到压缩文件大小的目的。其中一些拍照得到的图片需要再Visio里面重新设置大小、排列再按照上面的方法操作。个人建议:创建一个论文图片Visio文件,按照论文中的图片顺序排列。
所有图片设置都基于美观要求,没有固定标准,可以参考老师和师兄论文设置。
3.7 表格
我是根据模板中的代码修改自己的表格内容如行列数修改,内容修改,一般都可以实现,操作也比较简单。下面给大家介绍常规方法:
首先,表格也可以同图片的生成方式类似,即单击WinEdt工具栏的”表格“图标:
自动生成的代码为:
begin{table}
centering
*
caption{*}
label{*}
end{table}
然后再老老实实地敲入表格的代码……..显然这非常麻烦!因为它可能牵扯到某一行占多列或某一列占多行等问题,代码编写相当复杂。
这里,我提供给大家一个傻瓜式工具——Excel2LaTeX-master。(该工具获取方式:https://blog.csdn.net/qq_16763983/article/details/122912373)
它可以直接加载到Excel宏中,然后你只管用Excel去做表格就好了,做好后,它帮你自动生成Latex代码。步骤为:
-
1. 任意打开某一Excel文件,可以是空白.xlsx文件;
-
2. 打开该工具(是个文件夹),找到”Excel2LaTeX.xla“后,双击打开;
-
它会询问你是否”加载宏“?点击”是“。然后如图找到”加载项“——自己随便做个表格吧——最后单击”Convert Table to LaTeX“
-
神奇的一幕出现了,代码自动生成了!点击”Copy to Clipboard“,然后粘贴到temple.tex文件中即可。
粘贴出来的代码为:(每行的含义用”%”做出了解释)
% 自动找最合适的位置放置该表格
centering % 整个表格居中
caption}
begin{tabular}{llll}
toprule % 三线表最上方的线
Instance & Truck & Product & Quantity \
midrule % 三线表中间的线
1 & 4 & 50 & 200 \
2 & 6 & 80 & 480 \
3 & 3 & 100 & 300 \
bottomrule % 三线表的底线
end{tabular}
% 给表格起的名字
end{table}
附:多解释下第1行的[htbp]—浮动格式,即latex会自动找到最合适的位置放置该表格;
若你觉得它放置的位置不好,也可以改为[h]:当前位置,即不去找了,文本写到哪了,表格在后面紧跟着;
也可改为[t]:顶部;[b]:底部。
通过以上代码,表格的初稿就形成了,不过有时不尽人意,如下图。
明显的问题有:
-
字体太大,一般表格的字体较正文小一号。
-
没有占据整个页面宽度(其实这个也看个人需求了);
解决第一个问题很简单,在begin{tabular}之前加上small即可。含义是对后面要画的tabular的字体大小,统一设置为small的大小。
附:更多的字体大小命令为(由小到大排列):tiny, scriptsize, footnotesize, small, normalsize, large, Large, LARGE, huge, Huge。
第二个问题需手动调整,我测试了整个页面宽度为13.6cm左右,给的例子是4列,所以平均每列3.4cm。
此时将之前代码第4行的”l(居左)“用”p{3.4cm}“代替:(下述为第5行)
附:l是居左,c是居中,r是居右。故前述代码中,”llll”的含义是四列全部居左。
begin{table}[htbp]
centering
small % 字体大小为small
caption{Add caption}
begin{tabular}{p{3.4cm}p{3.4cm}p{3.4cm}p{3.4cm}} % 调整每列宽度
toprule
Instance & Truck & Product & Quantity \
midrule
1 & 4 & 50 & 200 \
2 & 6 & 80 & 480 \
3 & 3 & 100 & 300 \
bottomrule
end{tabular}
label{table_ins}
end{table}
相较于之前代码,这里仅改动了第3行和第5行,其他没改动。最终的效果为:
此外,大家做表格时,可能还会遇到的问题有:
-
1. 如何为表格单独设置行间距?
使用begin{spacing}{}和”end{spacing}“命令;
-
2. 表格里的内容太多,每次手动计算”p{Xcm}”太麻烦了,那如何自动修正呢?
可以使用resizebox{Xcm}{!}{}命令。该方式缺点是字体大小是它自动算出来的,我们无法再使用small等命令控制了。
这两个命令的使用细节,大家百度下吧。我提供的模板中给了一个复杂的例子,用到了这两个命令,这里仅做展示,不做讲解。
begin{table}[htbp]
centering
caption{Characteristics and values of the instances.}
begin{spacing}{1.25}
resizebox{15cm}{!}{
begin{tabular}{lllllll}
toprule
Instance & No. of inbound & No. of outbound & No. of fresh & Total quantity of & multicolumn{2}{c}{No. of slot}\
cmidrule{6-7}
& trucks & trucks & product types & fresh produce & $U = 50$ & $U = 100$ \
midrule
1 & 4 & 5 & 4 & 990 & 18 & 10 \
2 & 5 & 4 & 6 & 1030 & 17 & 14 \
3 & 3 & 3 & 8 & 890 & 18 & 13 \
bottomrule
end{tabular}}
end{spacing}
label{table_ins}
end{table}
运行后的效果为:
3.8. 参考文献(重点)
有两种方案。一种是用”bibitem{}“命令,适用于少量参考文献的情形;另一种是新建一个”.bib“的文件后写入参考文献。我使用的方法是先通过新建一个”.bib文件后写入参考文献,然后再适当修改文献格式。
若我们想生成如下参考文献,看看两种方式都是如何实现的吧。
(1) 使用bibtiem{}
有同学会说,这简单,复制粘贴不就行了。可是别忘了,正文要是引用它可咋办呢?所以至少得给这个文献起个名吧。
这里不再用label起名了,而是bibitem:
begin{thebibliography}{99}
small
bibitem[Agustina et al., 2014]{Agustina2014A}
Agustina, D., Lee, C. K. M., Piplani, R., 2014. Vehicle scheduling and routing at a cross docking center for food supply chains. International Journal of Production Economics. 152(2), 29--41.
end{thebibliography}
-
可见,该种方案需要在参考文献的前后写上begin{thebibliography}和end{};
-
99的含义是参考文献的最大数量为99;
-
给这篇论文起的名字叫”Agustina2014A“;而一旦它被引用,被引格式为”[]“中写好的”Agustina et al., 2014“形式。
总的来说,该方案需要手写不少东西,包括引用格式、引用名、文献具体信息等。
还有个很大的缺点就是,若有多篇参考文献,需要自己手动排序。光这一点,就劝退我了。
(2) 新建并写入”.bib”文件
墙裂推荐!简单、易于管理,还能自动对参考文献进行排序!
通常来说,一篇参考文献包含哪些信息?无非以下几点:
@article{Agustina2014A,
title={Vehicle scheduling and routing at a cross docking center for food supply chains},
author={Agustina, Dwi and Lee, C. K. M. and Piplani, Rajesh},
journal={International Journal of Production Economics},
volume={152},
number={2},
pages={29-41},
year={2014},
}
可以看出,有:引用名”Agustina2014A“,还有标题、作者、期刊、卷、年代等。
啊?这么写,不是更费时间吗!恩,自己写确实费事,但好在百度/谷歌/必应学术帮我们都整理好啦,只要复制粘贴就行。
首先,新建一个.bib文件:(我提供的模板中起的名叫vrp.bib)
然后咱们去网上拷贝一篇论文的BibTeX文本信息吧。以百度学术为例,仅需两步即可获取:单击”引用” —— “BibTeX”
谷歌学术同理:
然后它会自动蹦出来文献的所有信息,如下:(若不能翻墙或者实在找不到BibTeX文件,大家就按照如下格式手动输入吧)
拷贝以上文字至vrp.bib文件中,一定要保存后再关闭。然后在.tex正文中输入:
bibliographystyle{elsarticle-harv}
bibliography{vrp}
其中,elsarticle-harv是爱思唯尔出版社提供的一种参考文献引用格式,Ctex套装里已装好该格式;第二行中的vrp是你给bib文件起的名字。(注意,不要加后缀名)
附:其他的参考文献引用格式还有elsarticle-num、elsarticle-num-names、plain、IEEEtran等。下一节的”补充“部分详解。
总的来说,以上两种方案均可以帮我们把参考文献的基本信息保存下来,我推荐第二种。下面讲如何在正文中,引用这些文献。
(3) 如何引用
两种方案下,我都给这篇文献起了Agustina2014A的名字,这就相当于图片/表格中的”label“。只不过,不再是用”ref“引用了,而是用”cite“。
附:百度/谷歌/必应学术会帮你起好这个引用名,不过你也可以随意改。我通常是用”第一个作者的姓+年代+标题的第一个单词“的形式命名。
紧接着,还有个问题就是:句首引用和句尾引用的格式是不一样的,如:(看括号的位置)
对应地,Latex分别提供了两种命令:句首引用—citet{};句尾引用—citep{}。如:
citet{Agustina2014A} summarized ... % 句首引用
...... in many industries citep{Agustina2014A}. % 句尾引用
编译出来的效果为:
若需要同时引用多篇文献,中间加逗号即可:”citep{ref1, ref2}“。
以上就是对Latex写作中8个主要部分的讲解,任务就是写好”temple.tex(正文)”和”vrp.bib(参考文献)”文件。
同时,别忘了把图片”KeYanXF.png“文件放在同一目录下。然后单击temple.tex文件中的”PDFTeXify“(也可选择其他编译器)运行,便可自动生成pdf论文。
常见问题
只要是编写代码,报错那就是家常便饭。常见的有:
(1)好多同学直接拷贝别人的Latex代码后,一运行就报错,很多时候不是拷贝的代码的问题,而是没有事先加载对应的宏包。
(2)图片一定要和.tex文件放在同一目录下。有时别人把成功运行的tex文件给你,可你就是运行不成功,很可能是因为他没有把对应的图片文件给你;
(3)写图片名称时,一定要写上后缀,但引入bib文件时,不要写后缀;
(4)当我们对参考文献的.bib文件改动时,一定要记得保存后再运行!