写在前言的话:自己在使用CTEX编写文章时,踩了不少的坑,每遇到一个新问题时,百度了好半天,也没有一个真正能实现自己需要的插入公式、图片、表格以及参考文献等基本的有效解决方式。就此,蒙发了我想写一篇使用CTEX的心得。
一、认识CTEX。
CTEX简单来说,就是用来写文章的软件。优势在于一些杂志有固定的模板,免去了word排版的繁杂。除中文外,CTEX几乎可以当latex使用,缺点就是上手难,特别是遇到复杂公式、图片的排版、表格以及插入参考文献等问题。本文涉及的是英文文章的书写,查找中文相关问题的请绕道,那问我为什么不直接用latex,请去找我导师,当初他介绍给我的,感谢他让我认识了功能这么强大的软件,更感谢他百忙之中给我修改论文。当然,一开始,被这些长长的代码吓到懵圈,好在有百度。也许下文我的内容和百度雷同,那莫怪,但肯定会有代码的解释,也会比百度的要简洁和适合小白。
二、下载和安装CTEX。
下载地址:https://mirrors.tuna.tsinghua.edu.cn/ctex/legacy/2.9/
下载安装成功之后,是这样的界面:
打开WinEdt,这个应用程序即是编写的界面。留着,后续用。
详细的安装过程见:
https://blog.csdn.net/sinat_41805381/article/details/80185144
三、下载IEEE模板。
本人主要是进行期刊论文的编写。
下载地址:
http://www.ieee.org/publications_standards/publications/authors/author_templates.html
一个Windows,一个linux。
下载完毕后,解压到Ctex存放路径。
新建一个文件夹bayesian,将IEEEtran里边的文件拷贝到bayesian中,并复制一个bare_jrnl,命名为bare_jrnl_bayesian。通过WinEdt打开bare_jrnl_bayesian。复制的原因是保留IEEE模板的源文件,之后查找问题的时候也方便一些。
四、运行CTEX。
按模板修改,首先先认识一些常用的工具和快捷方式。
基本上用以上6个按钮差不多能实现基本需求。
1、打开文件。
2、新建文件。
3、运行PDFLaTeX,TEX等,常在插入参考文献时用。
4、运行BibTEX,也是在插入参考文献时用。
5、引用参考文献位置,功能同cite{***}。
6、PDFseach,预览PPT。
快捷键:
Ctrl+shift+P: 运行,输出为PDF格式,若报错,则有?显示,那检查代码是否写错。若有Enter file name,则检查是否安装有所使用的宏包。
选中内容+Ctrl+shift+Alt+ →:整段加上%进行注释。
五、写入文章内容。
文章模板的设置:
documentclass[journal]{IEEEtran},即双版面的IEEE期刊杂志的模板。
documentclass[draftclsnofoot,onecolumn]{IEEEtran},单版面IEEE草稿模板。
当然也可以用document替换成自己习惯使用的模板,不建议。
宏包所在位置:设置之后,开始之前。
宏包是根据编辑的内容进行使用的,有些宏包下载的软件不一定有,可以进行下载,安装后使用。下一部分的内容会涉及到宏包的使用和安装。
文章的开始:
begin{document}
文章结束:
end{document},即在这两者之间进行文章的编写。
文章内容:
title{*题目*}
author{*作者姓名*}
thanks{*作者姓名,单位,通讯地址等,按要求和相应的格式修改*}
markboth{*期刊编号*}
摘要:
begin{abstract}
end{abstract}
begin{IEEEkeywords}
关键字:
end{IEEEkeywords}
section{Introduction} %引言,一级标题都用它section{***}
IEEEPARstart{T}{he} %引言开始,第一个单词首字母用{*}括起来,剩余字母也是用{***}括起来。
subsection{ Subsection Heading Here } %二级标题都用它。
六、安装宏包。
安装宏包是整个过程中也琢磨比较久的内容。
简单来说,就是你要设置的模板,插入的公式、图片、表格甚至参考文献等较为复杂的功能时,所用的代码太高级了,软件自带的文件不够,那么就需要下载安装相应的功能文件。
下载地址:https://www.ctan.org/pkg
几乎所有使用的CTEX宏包在这个网址都能找到。输入想要的宏包,下载解压到当前编写的文件夹。以引用cite和为例。区别为一个解压之后有.sty文件,一个没有。
例一:安装cite宏包。
方法:将cite.sty文件复制到CTEX-MiKTex-tex-latex-ltxmisc文件夹。
通过WinEdt打开cite.sty,找到TEX-MiKTeX- MiKTeX Options-Refresh FNDB,运行时不做任何操作,等运行更新完点击确定就行。
最后一步:在documentclass[journal]{IEEEtran}后begin{document}前加入usepackage{cite}。
该方法亲测最简单有效的。不过在查找时只有文字说明,新手小白不一定会运行,所有本文也把具体步骤的图片放入了。
例二:安装subfigure宏包。
如例一在网址下载解压好subfigure宏包文件夹。观察只有subfigure.ins文件。
通过WinEdt打开subfigure.ins文件。Ctrl+shift+P运行该文件。立即产生subfiure.sty文件。
按照例一的步骤将sbufigure.sty拷贝到CTEX-MiKTex-tex-latex-ltxmisc文件夹。通过WinEdt打开subfiure.sty,找到TEX-MiKTeX- MiKTeX Options-Refresh FNDB,运行时不做任何操作,等运行更新完点击确定就行。
并在文中documentclass[journal]{IEEEtran}后begin{document}前加入usepackage{subfigure},图片步骤见例一。
七、插入公式。
最简单的方式就是通过mathtype输入公式之后,转化为latex代码。
打开mathtype6.8,其他也可以。
输入所需公式,Preferences-Cut and Copy Preferences,勾选MathML or TEX-OK。
将公式复制到WinEdt中,则自动变成latex代码。
注意:
在文中加入公式用$***$将公式括起来,并删掉公式中多余的[]。如图,第一个格式不对,第二个对。这样拷贝过来的latex代码很奇怪,有时候公式前后有[],有时候没有。所以明确文中公式是用$***$括起来的,并且开头和结尾不该有[]。
如公式y=x插入文中,在文中输入:
$y=x$
公式另起一行:
begin{equation}
y = x
end{equation}
这样公式会自动编号,下一个公式还是调用就可以,效果如图:
需要注意的是,对于复杂的公式,用mathtype转化过来可能会出错,比如有~这样的符号,一定要注意检查,如公式
转化为latex为:[{mathop glimits^~ _r}^{(2)}],要自己变成$ {mathop glimits^~ _r}^{(2)}$,或者调用
begin{equation}
{mathop glimits^~ _r}^{(2)}
end{equation}
但是会出错,百度latex常用符号,可知~应该用widetilde{**}表示。
所以更改为:
$widetilde{g}_r^{(2)}$
或者:
begin{equation}
{ widetilde{g}_r}^{(2)}
end{equation}
成功显示出:
八、插入图片。
插入图片前,先将图片拷贝到CTEX编写的文件夹里(我的是bayesian),格式最好是**.eps和**.png格式。
插入单张图片代码为:
begin{figure}[!t]
centering
includegraphics[width=2.5in]{myfigure}
caption{Simulation results for the network.}
label{fig_sim}
end{figure}
代码解释:
begin{figure}[!t]
%插入图片开始:
% [!t]代表图片在页面顶部。
% [!h]在当前位置。
% [!b]底部。
% [!p]当前页。
centering
%图片放在中间
includegraphics[width=2.5in]{myfigure}
%记得加入宏包usepackage{graphicx}
%windt=2.5in是图片的大小,可改变数值调节大小。myfigure是图片名字。
caption{Simulation results for the network.}
%Fig的解释。
label{fig_sim}
%标记图片
end{figure}
%插入图片结束。
插入多张图片采用subfloat宏包,代码为:
begin{figure*}[!t]
centering
subfloat[Case I]{includegraphics[width=2.5in]{box}%
label{fig_first_case}}
hfil
subfloat[Case II]{includegraphics[width=2.5in]{box}%
label{fig_second_case}}
caption{Simulation results for the network.}
label{fig_sim}
end{figure*}
代码解释:
begin{figure*}[!t]
%[!t可换]
centering
%图片居中,要放在前面
subfloat[Case I]{includegraphics[width=2.5in]{box}
%[ Case I ]第一张图片小图标,如[ (a)],显示结果为Fig. 1(a),
%width=2.5为图片大小。
label{fig_first_case}}
%第一张图片标记
hfill
%两张图片并排用hfill,隔行排列用vfill
subfloat[Case II]{includegraphics[width=2.5in]{box}
%[ Case I ]第一张图片小图标,如[ (b)],显示结果为Fig. 1(b)。
label{fig_second_case}}
%第二张图片标记
caption{Simulation results for the network.}
%图片标题
label{fig_sim}
%标记图片
end{figure*}
%插入图片结束
再给一个我常用的例子,两两排四张图,代码为:
begin{figure}[!h] %[!h]图片在当前位置
begin{minipage}{0.48linewidth} %开始插入第一张图片,0.48图片间隔大小
centerline{includegraphics[width=1.8in]{1a.eps}} %插入第一张图片
centerline{(a)} %第一张图片标题
end{minipage} %插入第一张图片结果
hfill %图片并排
begin{minipage}{0.48linewidth}%开始插入第二张图片,0.48图片间隔大小
centerline{includegraphics[width=1.8in]{1b.eps}} %插入第二张图片
centerline{(b)} %第二张图片标题
end{minipage} %插入第一张图片结果
vfill %图片隔行排,以下同
begin{minipage}{0.48linewidth}
centerline{includegraphics[width=1.8in]{1c.eps}}
centerline{(c)}
end{minipage}
hfill
begin{minipage}{0.48linewidth}
centerline{includegraphics[width=1.8in]{1d.eps}}
centerline{(d)}
end{minipage}
caption{The recovery of 600nm/800nm bimodal narrow PSD without noise (a), ${10^{ - 4}}$(b), ${10^{ - 3}}$(c), ${10^{ - 2}}$(d) noise intensity} %图片标题
label{fig}
end{figure}
九、插入表格。
插入表格较为麻烦,首先先确定自己要插入的是什么样的表格。其中三线表较难。
附上我参照的地址:
https://jingyan.baidu.com/article/363872ec096bec6e4ba16f0f.html
也附上如图三线表这一种的代码:
begin{table}[!h]
scriptsize
renewcommand{arraystretch}{1.6}
renewcommandtabcolsep{3.5pt}
centering
caption{Parameters and Properties of the simulated PSD of 600nm/800nm bimodal broad distribution in different noise intensity}
label(Tab)
scalebox{0.8}{
begin{tabular}{cccccccccc}
toprule
multirow{2}{*}{Noise}&multicolumn{4}{c}{Non-weighted Bayesian method} & multicolumn{4}{c}{Weighted Bayesian method}
cmidrule(r){2-5} cmidrule(r){6-9}
&$d/nm$ &$sigma /nm$ &$w$ &$Jf$
&$d/nm$ &$sigma /nm$ &$w$ &$Jf$
midrule
$0$ &600.17:799.07 &19.46:32.20 &0.60:0.40 &0.0399
&600.41:800.50 &19.41:29.91 &0.60:0.40 &0.0304
${10^{ - 4}}$ &600.80:798.42 &20.47:35.20 &0.60:0.40 &0.0716
&599.09:800.80 &19.43:26.06 &0.60:0.40 &0.0706
${10^{ - 3}}$ &601.26:796.88 &21.49:40.34 &0.60:0.40 &0.1182
&600.47:797.55 &20.98:38.10 &0.60:0.40 &0.0891
${10^{ - 2}}$ &596.22:798.48 &15.16:34.53 &0.59:0.41 &0.2626
&596.90:798.05 &18.44:28.81 &0.60:0.40 &0.1234
bottomrule
end{tabular}}
end{table}
记住:先加入宏包usepackage{multirow}
代码解释:
begin{table}[!h] %表格插入在当前位置
scriptsize
%表格中文字大小,有
%tiny
%scriptsize
%footnotesize
%small
%normalsize
%large
%Large
%LARGE
%huge
%Huge
renewcommand{arraystretch}{1.6} %表格数据间隔长度
renewcommandtabcolsep{3.5pt} %表格高度
centering %居中
caption{Parameters and Properties of the simulated PSD of 600nm/800nm bimodal narrow distribution in different noise intensity} %表格标题
label(Tab) %标记表格
scalebox{0.8}{ %将图片缩放0.8倍,用于表格过大,放不下
begin{tabular}{cccccccccc} %建表
toprule
multirow{2}{*}{Noise}&multicolumn{4}{c}{Non-weighted Bayesian method} & multicolumn{4}{c}{Weighted Bayesian method}
%表头内容,共三列表头。
%第一列是两行一起,即noise这一列
%第二列是四列一起,即Non-weighted Bayesian method这一列
%第三列是四列一起,即Weighted Bayesian method这一列
cmidrule(r){2-5} cmidrule(r){6-9}
%建立表格,%cmidrule(r){2-5}第二行第二列到第二行第五列
%cmidrule(r){6-9}第二行第六列到第二行第九列
&$d/nm$ &$sigma /nm$ &$w$ &$Jf$
%为第二行第二列到第二行第五列的内容
&$d/nm$ &$sigma /nm$ &$w$ &$Jf$
%为第二行第六列到第二行第九列的内容,记得换行
midrule %填写表格内容,用&隔开每格内容,用隔行
$0$ &600.29:799.79 &6.15:9.54 &0.60:0.40 &0.1753
&599.99:799.80 &5.54:8.54 &0.60:0.40 &0.1731
${10^{ - 4}}$ &600.69:798.15 &9.07:16.37 &0.60:0.40 &0.3054
&599.69:800.42 &5.49:11.39 &0.60:0.40 &0.3005
${10^{ - 3}}$ &599.12:799.77 &2.76:16.56 &0.57:0.43 &0.7594
&599.87:800.46 &4.59:13.68 &0.60:0.40 &0.5170
${10^{ - 2}}$ &602.78:804.16 &1.09:6.03 &0.62:0.38 &0.8165
&599.60:802.49 &4.14:3.38 &0.55:0.45 &0.5372
bottomrule %表格底部
end{tabular}}
end{table} %表格结束
注:
主要需要更改建成几行几列的表格和更改内容表格的内容。字体大小和缩放大小。
十、插入参考文献。
插入参考文献简直是一个大坑。先吐槽着:当时,花了一下午和一晚上的试卷跟着百度经验一一步骤操作下来,不好意思,参考文献插入不成功,只有醒目的[?]符号告诉你:傻子嗳,又错了。
进入正题。百度得到的插入参考文献的操作几乎没有错误,关键的操作步骤也用得上,但是:鲜少有文章说明插入参考文献事先需要下载的文档和出错的地方。
步骤一:
先检查编写文章的CTEX文件夹里(如我的为:bayesian)有无IEEEEabev.bib/IEEEEexample.bib/IEEEfull.bib/IEEEtran.bst/IEEEtranS.bst等文件(最重要的是IEEEEabev.bib/IEEEEexample.bib这两个文件),很多人写的代码和这两个有关,但是文件中又没有这些文件,后面再好再细致的操作步骤也白搭!白搭!下载地址:https://www.ieee.org/conferences/publishing/templates.html
下载Latex Bibliography Files文件,也就是参考文献所需文件,下图是我Windows下载的结果。解压到当前编写的文件夹就好。
步骤二:
按照百度上说的,准备好插入的文献题目,在百度学术上搜索该文献。找到该文献后:引用-BibTeX-复制出现的内容到记事本备用:
@article{Xu2018Information,
title={Information-weighted constrained regularization for particle size distribution recovery in multiangle dynamic light scattering},
author={Xu, M. and Shen, J. and Thomas, J. C. and Huang, Y. and Zhu, X. and Clementi, L. A. and Vega, J. R.},
journal={Optics Express},
volume={26},
number={1},
pages={15-31},
year={2018},
}
如下图:
其他的参考文献也是一样的,将BibTeX的内容复制下来备用。
注意:有&符号的参考文献,要修改成&,不然也会报错。
步骤三:CTEX中-File-Open- IEEEEexample.bib(就是刚才下载解压好的文件夹里边说的最重要的文件之一)。打开之后,把记事本中关于文献的BibTeX内容全部复制到IEEEEexample.bib中。
如图:
步骤四:
在文章结束前,加上
bibliographystyle{IEEEtran}
bibliography{IEEEabrv,IEEEexample}
如图:
同时在文章要插入参考文献的地方,输入
cite{ Vega2003Latex }
大括号里的内容就是复制好的BibTeX里@article{ Vega2003Latex,逗号前面的内容。若是连续插入多个参考文献,则为cite{ Vega2003Latex , Naiim2015Multiangle ,***}。
如图:
步骤五:以上准备工作都做好以后,运行PDFLaTeX,然后运行BibTeX,然后运行两次PDFLaTeX,最后Ctrl+shift+P即可得到PDF格式(或者PDFseach浏览)。PDFLaTeX和BibTeX以及PDFseach所在地如图:
其中:PDFLaTeX要记得选择成PDFLaTeX。
步骤六:若是出现问题。
首先检查:有&符号的参考文献,要修改成&,不然也会报错。
检查完之后把所有与书写文件文件名一样的,不同后缀的文件全部删掉,只留下正在编写的文件即可。
如我的(只留下正在编写的TeX文件,其余框起来的全删掉,要删,不删百度给的重新运行也不行,删掉改了的才会有用)
最后重新运行PDFLaTeX,然后运行BibTeX,然后运行两次PDFLaTeX,最后Ctrl+shift+P。
要点:下载得有IEEEEabev.bib/IEEEEexample.bib两个文件,参考文献无误(主要在如&符号变成&),错误检查之后要删掉之前运行出的**.bbl,**.aux,**.tex.bak,**.synctex文件。再重新运行就好。
写在最后的话:大晚上睡不着觉,白天也不安心睡,终于把文写完啦。不足之处请大家谅解。本文引用了很多百度和博客以及一片参考文献的链接,在此谢过文章的作者。