Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍

时间:2023-01-01 15:06:07

Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍


一、工具介绍

TeX是一个很好排版工具,在学术界十分流行,特别是数学、物理学和计算机科学界。

CTeX是TeX中的一个版本,指的是CTeX 中文套装的简称。CTeX中文套装是基于 Windows 下的 MiKTeX系统,集成了编辑器 WinEdt及其他的处理软件,并增加了对中文的完整支持。

BibTeX是一种格式和一个程序, 用于协调LaTeX的参考文献处理。BibTeX 使用数据库的的方式来管理参考文献,其文献数据库文件的后缀名为.bib。

JabRef是一个开源的参考文献管理软件,使用 Java 语言编写,所以天生具有跨平台特性,通用于安装有Java支持的Windows, Linux和Mac,软件主页http://jabref.sourceforge.net/。它可以很方便地管理下载到本机的文献,生成 BibTeX 文献数据库,供 LaTeX 或其它软件使用,可以与 Kile, Emacs, Vim, WinEdt 等多种软件结合使用。

BibTex4Word是一个Microsoft Word的插件,能够将.bib文件中的参考文献方便地插入到Word文档中,软件的使用方法和安装包可以在http://www.ee.ic.ac.uk/hp/staff/dmb/perl/找到。本文主要介绍在CTeX中插入文献,这里只是顺带一提。

Microsoft Office Visio能方便地创建具有专业外观的图表,以便理解、记录和分析信息、数据、系统和过程(选用)。

Adobe Acrobat Professional在这里主要用于将.pdf文件转换为.eps文件。

总的来说,我们用CTeX套装中的WinEdt为论文排版,用JabRef管理论文的参考文献,用Visio + Photoshop来制作并生成论文需要的.eps图片。


二、环境要求

笔者使用Win8.1(x64)操作系统,可以使用以上全部工具。特别需要提出的是,JabRef是用Java语言写的,所以需要配置Java环境,去oracle下载相应JDK即可。


三、文字处理

(1)结构

文章的大致结构如下:

Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍
\documentclass[  ]{  }
\usepackage{ }
\being{document} %从此往上都是导言区(preamble)

\section{ }   %1级章节
\subsection{ }  %2级章节
\subsubsection{ }%3级章节,没有subsubsubsection

\end{document}  %begin开始,end结束
Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍

(2)符号

Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍

在WinEdt工具栏里找到如上红框里的图标,点击后你能找到大多数的符号。

另外,对在该工具栏里没有的符号,可点击http://www.cfsm.cn/info/symbols/symbols.htm

当然对于实在生僻的符号,你也可以百度“LaTeX符号”进行搜索。


四、公式处理

(1)公式插入

如果要在文章中插入公式,可输入如下命令:

\begin{equation}\label{eq:eq1}
A= b + c
\end{equation}

“A = b + c”这部分写入公式即可,不需要加$符号。运行后将显示

Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍

其中\label里是该公式的标签,将会在引用该公式时用到。

后面的(1)是自动生成的。Latex将自动根据你所编写的公式顺序添加标号。

(2)上下标

上标和下标对于刚刚接触latex的人来说可能是个问题,所以在这里特地给出:

例子:$p_{i}^{1}$  结果:pi1

(3)长等式换行

公式不会自动换行,可能会超出文档范围,非常难看!笔者尝试了使用"\\"、"\newline"、"\break"都不奏效,后来总算发现可以这么做:

例子:

Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍
\begin{eqnarray}\label{eq:eq2}
\lefteqn{Response\_time_{write}(r_{i}, R_{write}^{1}, R_{write}^{2}, R_{write}^{3}, R_{hist})}\nonumber\\
\lefteqn{==F(r_{i}, R_{write}^{1}, R_{write}^{2}, R_{write}^{3}, R_{hist})}\nonumber\\
\lefteqn{= aF(r_{i}, 0, 0, 0, 0) + bF(r_{i}, R_{write}^{1}, 0, 0, 0)}\nonumber\\
\lefteqn{+ cF(r_{i}, 0, R_{write}^{2}, 0, 0)}\nonumber\\
&+ dF(r_{i}, 0, 0, R_{write}^{3},0) + eF(r_{i}, 0, 0, 0, R_{hist}) + f
\end{eqnarray}
Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍

结果:

Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍

在上述例子中,我们使用了”eqnarray”,类似于使用数组对公式进行排列;

前面隔行尾部的”\nonumber”是告诉编译器不要对此行进行编号;

”\\”即换行;

“&”本用于制表,这里可以用于固定+号的位置。


五、图片处理

论文中图是一个很重要的部分,相比直接在Tex中以代码画图,先从其他工具中画好图再导入TeX中要方便快捷得多。

TeX支持eps格式的矢量图,这种类型的图无论放大多少倍都会很清晰,这也是很多期刊要求论文中的图片为eps格式的原因。

(1)eps图片的制作

①用Microsoft Office 中的Word或者Visio画出你需要的图形,将其另存为pdf文件。注意要一副图生成一个只有一页的pdf文件。

②用Adobe Acrobat Professional打开该pdf文件,选择【工具】→【页面】→【剪裁】,设定好想要留下的区域(左图),双击,得到不含大片空白的pdf图片文件(右图)。

Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍   Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍

③将剪裁好的pdf另存为eps格式,在另存对话框的下面有一个设置选项,设置里面一些参数,将一般的PostScript设为语言级三级,字体范围设为嵌入和引用的字体,然后确定保存。这样就可以生成eps格式的图片了,用latex编译出来效果十分好。

④Photoshop也可将pdf文件转换为eps图片,但笔者使用过程中,发现PS生成的eps文件仿佛不再是矢量图,因为随着放大倍数的增加,图片的质量也在降低。更令人无法接受的是,图片尺寸相同,PS生成的eps文件大小是用Acrobat的2倍以上。因此笔者建议用Acrobat即可。

(2)eps图片的插入

①用WinEdt编辑排版时,插入的eps图片需要和TeX文件在同一个文件夹中,否则需要用这行代码来设定图片的存储路径

 \graphicspath{{../eps/}}

②可用如下方式插入长6cm宽3.4cm的名为SSDArchitecture.eps的图片:

Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍
\begin{figure}[ht]
\begin{flushleft}
\includegraphics[width=6cm,height=3.4cm]{SSDArchitecture.eps}
\end{flushleft}
\caption{SSD Architecture}\label{fig:SSDArchitecture}
\end{figure}
Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍
\begin{flushleft}
*
\end{flushleft}
  • \caption{}为图片的标题,可以使用\caption{\label{}}的格式,使caption为label;
  • 图片的长宽值可以缺省,图片为原大小;若只设定长或者宽,则图片缩放时长宽比不变。

(3)关于eps文件其他

①我们可以用CTeX集成的GSview来打开eps文件,其中,【Options】→【Show Bounding Box】可以帮助我们更方便的确定图片的长和宽。

②eps文件本身可以用记事本打开,打开后可以看到PostScript语言的文本信息。这里可以更直观地看到BoundingBox等信息。

(4)设置子图

①有时候我们需要将多副图组织在一起,并设以统一的标题方便引用,如 Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍

这时我们可以使用以下方法来实现:

在开头加上

\usepackage{subfigure}

在需要插图处,按如下格式插入子图

Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍
\begin{figure}[ht]

\begin{flushleft}

\subfigure[]{

\label{fig:FigureOne:a}

\includegraphics[width=4cm,height=2.4cm]{ FigureOne -a.eps}}

\hspace{0.1cm}

\subfigure[]{

\label{FigfigureTwo:b}

\includegraphics[width=4cm,height=2.4cm]{ FigureTwo -b.eps}}

\end{flushleft}

\caption{FigureName}\label{fig:FigureName}

\end{figure}
Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍

其中\hspace{}设定子图的间隔距离。


六、图片绘制

利用其它软件绘制eps文件插入论文固然方便,但如果能在TeX文件中直接以代码的形式绘制图片,则会让论文变得轻便而不宜损坏。

(1)常用绘图宏包

LaTeX 本身有一个 picture 环境,提供了极其有限的绘图功能:由坐标画斜率有限制的直线、半径有限制的圆、圆角矩形、箭头、标注,以及描点画的粗糙曲线。由于功能太弱、限制过多、使 用复杂,标准 LaTeX 的 picture 环境很少被人使用。

epic、eepic、pict2e 宏包是标准 LaTeX 的 picture 环境的逐级修正扩展加强,不过仍然不方便使用。只是因为一些与作图无关的宏包使用到了 picture 环境的一些功能(如表格的斜线),因而偶尔可以使用 pict2e 宏包。

第三方的LaTeX作图的宏包很多。有的宏包功能专一,如画饼图,有的则范围广泛功能强大。数学交换图一般最常用的是XYpic,如果要画图论图形,我们可以用 PSTricks、TikZ、MetaPost 等等各种工具;但如果并不关心每个结点的坐标而只想要迅速地把几十上百个点连起来,那么 GraphViz 中的 dot 就几乎成了唯一的选项……

更多的宏包及其特点看这里http://zzg34b.w3.c361.com/package/figure-2.htm

(2)添加新的宏包

Windows:

把宏包解压到CTEX\MiKTeX\tex\latex下,用命令行执行texhash。

也可以【中文TeX套装】->【Package Manager】,然后在弹出的窗口中选择【refresh now(立刻更新)】。

Linux:

把宏包解压到 USERNAME\local\texmf,然后刷新数据库,即texhash。


七、管理与插入参考文献

(1)JabRef生成.bib文献库

JabRef 的文献数据库是纯文本的 bib 文件,可以将该数据库文件放在该主题文献的目录下。比如要建立一个 liver 方向相关文献的数据库,只需建立一个liver目录,在 JabRef 中选择 File->New Database,然后 Ctrl-S,将该数据库起名 liver.bib,保存在liver目录下。然后将 File->Database properties 中的 Database Encoding 设置为 UTF-8(这是因为论文的作者可能是老外和我们会经常用中文写些注释,所以最好用国际化的字符集), Directory 都设置成点号 “.”(表示当前目录,这样你就可以将整个目录打个包,扔到另一台 Linux/Win/Mac 机器上照常使用)。

文献数据库的内容自然是一篇一篇的论文,每篇论文在数据库中占一条记录。那么如何添加论文呢?自然不必全部手工添加,几乎所有的数据库在提供论文下载的同时都有该论文 citation 信息的下载,下面这张图上是计算机科学类常用数据库网站的 citation 下载链接示例。也许你以前不知道它们是做什么用的,但你总能在文章下载页面的某个地方找到它们。

Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍

点开 citation 的链接,将内容保存为相应的文件名。比如 BibTeX 格式的 citation 信息,将其保存到名为 xxx.bib 的纯文本文件中,然后到 JabRef 里选择 File->Import into current database,将该文件导入当前数据库,你就会发现数据库中多了一条记录。当然,JabRef 支持很多 citation 信息格式,但是既然 JabRef 采用 BibTeX 格式管理数据库,我们还是尽量下载 BibTeX 格式的 citation。

每次只导入一条记录未免太麻烦了些,由于很多参考文献信息都是纯文本格式的,那么我们可以将很多条记录分段拷贝到xxx.bib里,然后集中导入。

(2)BibTeX在word中插入文献

①安装Bibtex4Word

a)登录http://www.ee.ic.ac.uk/hp/staff/dmb/perl/index.html

b)确保机器上已经安装有TeX软件,推荐使用以MiKTeX为核心的中文套装CTeX

c)确保机器上已有管理BibTeX形式的参考文献管理工具,推荐使用JabRef

d)将解压缩后的Bibtex4Word软件文件夹中的“bibtex4word.dot”文件,复制粘贴至Word的启动文件夹:

Vista/Win7/Win8:  C:\Users\你的用户名\AppData\Roaming\Microsoft\Word\STARTUP

e)重新启动Word后,Word的工具栏上将会出现Bibtex4Word的工具条

②使用Bibtex4Word

a)用JabRef打开包含文献的.bib文件,双击想要插入Word的文献,复制最下面一栏Bibtexkey中的字符串,每个字符串对应一篇文献Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍

b)回到Word界面,先在你想要插入类似[1]一类的数字标号处,点击Bibtex4Word工具条中的Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍,出现一串引用代码;

c)先不要着急,将光标移到你论文的参考文献那一章节,点击Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍右边的Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍,便可自动生成文献的相关信息,而b)步骤中的代码串也变成了对应的数字标号。

(3)JabRef在CTeX中插入文献

这里我们将讲解如何使用JabRef在CTeX编辑器WinEdt里进行文献推送。

①设置

Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍

在上图的下拉菜单中选择进行文献推送的目标编辑器。

这里我们使用WinEdt。并在工具栏Options-Preference-External programs-External programs-Settings for WinEdt

Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍

设置Path to WinEdt.exe为你安装的WinEdt的位置即可,即CTEX(安装目录)\WinEdt\WinEdt.exe。设置好后选择ok-ok即可。

②在WinEdt中添加命令

在\being{document}之后添加命令:\bibliographystyle{IEEEtran}(括号内为文献模板,可更改。需在你的tex文件相同目录下添加对应的bst文件。本例为IEEEtran.bst。当然,可将该bst文件添加到CTEX(安装目录)\MiKTeX\bibtex\bst目录下,这样在你所有的ctex工程里可以使用)

在\end{document}之前添加命令:\bibliography{SSDRef}(括号内为你所要使用的bib文件,可多个,用逗号隔开)

③推送

首先在你所打开的bib文件里找到你要引用的文献,点击即选择它;

然后在WinEdt用光标定位你将要推送的文献引用的位置;回到jabRef界面,点击工具栏中Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍按钮,即将该引用推送到指定位置。如

Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍

④编译

Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍

如上图,编号为点击顺序。即LaTex->BibTex->LaTex.。这样,文献即被引如到文章中。

注意:过程中会生成bbl文件还有aux文件,如果编译时有报错,可尝试删除该bbl和aux文件再进行编译。

由于不好演示,请大家自己进行尝试体会一下,方法是很简单的。


八、其他技巧

(1)行号显示

Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍

工具栏中Line Numbers,即可显示行号。

(2)模板使用

很多期刊、建模等需要提交论文的比赛都提供了LaTeX模板,下载后在模板中填充内容就好,相应的格式都是提前设定好的。

这里需要提醒读者的是,模板中往往含有长段的注释,大多是对文本、公式、图片、文献等内容的使用说明。

当遇到编写问题时,查看这些注释往往比Google关键词要高效得多。

(3)学习资料

①LaTeX 编辑部:http://zzg34b.w3.c361.com/index.htm

②包老师的latex学习笔记

③去文件目录CTEX\CTeX\ctex\doc中看看,ctex-faq.pdf可以解答大多数遇到的问题,非常方便。

参考 :  http://www.cnblogs.com/Z-XML/p/3367271.html

以上为两天学习的全部收获,总结与此,以感谢互联网强大到能解决大部分问题,感谢电脑另一端素未谋面的众多好心人。

Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍的更多相关文章

  1. Windows下LATEX排版论文攻略—CTeX、JabRef使用心得

    笔者刚刚接触到TEX排版,相关知识完全空白,用了两天时间学习并完成了一篇论文的完整排版. 期间遇到不少小问题,着实辛苦,分享至上,现将其解决办法总结归纳,共同学习. 一.工具介绍 TeX是一个很好排版 ...

  2. Windows下TEX排版论文攻略—CTeX、JabRef使用心得

    笔者刚刚接触到TEX排版,相关知识完全空白,用了两天时间学习并完成了一篇论文的完整排版. 期间遇到不少小问题,着实辛苦,分享至上,现将其解决办法总结归纳,共同学习.     一.工具介绍 TeX是一个 ...

  3. Windows 下 LaTeX 手动安装宏包(package)以及生成帮助文档的整套流程

    本文简单介绍如何手动安装一个 LaTeX 宏包. 一般来说,下载的 TeX 发行版已经自带了很多宏包,可以满足绝大部分需求,但是偶尔我 们也可能碰到需要使用的宏包碰巧没有安装的情况,这时我们就需要自己 ...

  4. Intelligencia.UrlRewriter在IIS 7.0下的完全配置攻略

    在项目中,之前公司是使用IIS 7.0官方的URL重写模块,官方的使用说明请参见官方URLRewrite  ,添加伪静态支持,后来经理问我有没有涉及伪静态,我说之前项目中我一直是用Intelligen ...

  5. Windows蓝牙失效超全攻略

    新电脑蓝牙出现问题,我捣鼓了很久,历经九九八十一难得以修复,说一说我在网上看到的各种方法. 一个功能正常使用,需要经过一个又一个的步骤.任何一个地方出问题,都有可能造成蓝牙失效.以下方法按出现概率从大 ...

  6. [国嵌攻略][161][USB总线介绍]

    USB发展史 USB(universal serial bus),通用串行总线,是一种外部总线标准.用于规范电脑与外部设备的连接和通讯.USB是在1994年底由英特尔.康柏.IBM.Microsoft ...

  7. [国嵌攻略][157][SPI总线介绍]

    SPI总线架构 SPI(serial peripheral interface)串行外设接口,是一种高速,全双工,同步的通信总线.采用主从模式(master slave)架构,支持多个slave,一般 ...

  8. [国嵌攻略][152][I2C总线介绍]

    IIC电气特性 I2C(inter intergrated circuit)总线是由philps公司开发的两线式串行总线,用于连接微控制器及其外围设备. I2C总线只有两根双向信号线: SDA:ser ...

  9. 三星DRAM+NAND FLASH 合成MCP芯片介绍及应用攻略

    转自:http://blog.csdn.net/gao5528/article/details/6256119 三星DRAM+NAND FLASH 合成MCP芯片介绍及应用攻略(K5系列产品篇) 一年 ...

随机推荐

  1. 二叉树的递归实现(java)

    这里演示的二叉树为3层. 递归实现,先构造出一个root节点,先判断左子节点是否为空,为空则构造左子节点,否则进入下一步判断右子节点是否为空,为空则构造右子节点. 利用层数控制迭代次数. 依次递归第二 ...

  2. WebServices:WSDL的结构分析

    WSDL(Web Services Description Language,Web服务描述语言)是为描述Web Services发布的XML格式.W3C组织没有批准1.1版的WSDL,但是2.0版本 ...

  3. iOS: setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key name.

     这里指抛出一个假设:   如 果你在 storyboard中, 通过 Ctrl - Drag 方式声明了一个 @property , 但你又觉得 在 Ctrl - Drag 时 ,命名的proper ...

  4. POJ1364 King

    Description Once, in one kingdom, there was a queen and that queen was expecting a baby. The queen p ...

  5. dll 学习(一)

    DLL(Dynamic Link Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量.函数或类.在仓库的发展史上经历了"无库-静态链接库-动态链接库 ...

  6. 基本的Web控件三

    基本的Web控件用法一 ListBox控件 页面布局: <div> <h1>ListBox控件</h1> 学生列表: <br/> <asp:Lis ...

  7. 八皇后问题-回溯法(MATLAB)

    原创文章,转载请注明:八皇后问题-回溯法(MATLAB) By Lucio.Yang 1.问题描述 八皇后问题是十九世纪著名数学家高斯于1850年提出的.问题是:在8*8的棋盘上摆放8个皇后,使其不能 ...

  8. Hadoop读书笔记(二)HDFS的shell操作

    Hadoop读书笔记(一)Hadoop介绍:http://blog.csdn.net/caicongyang/article/details/39898629 1.shell操作 1.1全部的HDFS ...

  9. Redis主从配置及HA方案

    首先说下主从同步Replication的原理 在Slave启动并连接到Master之后,它将主动发送一条SYNC命令.此后Master将启动后台存盘进程,同时收集所有接收到的用于修改数据集的命令,在后 ...

  10. Day8 封装 静态属性property

    封装:将类的属性隐藏 #先看如何隐藏 1,在定义的属性之前加入__. class Foo: __N=111111 #_Foo__N def __init__(self,name): self.__Na ...