A picture is worth
a thousand words(一图胜千言)。图在论文中的重要性不言而喻,本文主要讲解图的制作与插入。

1、图像的插入

    图像可以分为两大类:位图和向量图
    位图:也就是点阵图,使用像素的小方块组成网格来表示图像。每个像素都有自己特定的位置和颜色值。一幅图像的像素数量的大小不变,当放大或缩小时,改变的只是像素尺寸的大小。因此放大或缩小时会出现锯齿现象,造成失真。位图还分为:无损压缩和有损压缩。其中,TIFF、PNG、GIF是无损压缩,JPG是有损压缩。
    向量图:由数学公式定义的线段和曲线组成的图形,这些线段和曲线称为向量。向量图和分辨率无关,所以缩放时,图片都不会失真。由于图片是以数学公式保存的,所以向量图片的大小比较小。而计算机显示器只能用网格显示图像,所以位图和向量图都是以像素的方式显示图形的。
    优缺点比较:位图图形的占用存储空间大,向量图形的显示速度比位图慢,因为它有一个向量计算的过程。

    想在论文中插入图片,首先需要在导言区(也就是\begin{document}命令前面)加上\usepackage{graphicx}来导入插图宏包。最常用的插图命令模版如下:
\vspace{-0.8cm}%用于调整与上文的间隔
\begin{figure}[H]%中括号的H会让你的图处于你所插入的位置,否则的话,默认是插在一页的最上端。注意需要在导言区加入\usepackage{float}
   \begin{center}%这里选择图片是居中对齐
   \includegraphics[scale=0.8]{pic12.eps}%scale用于将图片进行缩放,这里是缩小为原来的0.8倍。大括号内是要插入的图像文件名
      \setlength\abovecaptionskip{-1cm}%用于调整标题前后的距离,可以自己设置来增加美观。
      \setlength\belowcaptionskip{-1cm}
   \caption{Mitola博士提出的认知环\label{pic12}}%这里是图像的标题,pic12是这个图像的标签,引用该图像时需要
 \end{center}
\end{figure}
 \vspace{-0.8cm}%用于调整与下文的间隔
下面举例说明:
源文件如下:
\documentclass[a4paper,12pt]{book}%采用book类型(中篇论文一般采用这种类型),A4纸,字体为12磅,默认为10磅
\usepackage{ctexcap}%采用中文标题宏包(标题是中文的)
\usepackage{graphicx}
%\usepackage{ctex}%采用中文字体宏包(标题是英文的)与ctexcap不能同时使用
\usepackage{float}%是图片悬浮,而不是默认在一页的最上端
\usepackage{comment}%使用注释环境需要的宏包
\begin{document}
  Mitola认为软件定义无线电(Software Defined Radio, SDR)是实现认知无线电的理想平台,认知无线电是SDR的智能化延伸。Mitola博士认为,认知无线电是一种智能无线通信系统,可以感知周围的通信环境,学习周围环境变化后,自适应调整内部通信规划,以适应外部环境变化,提高通信的稳定性,提高频谱的利用率。为实现认知无线电与外界环境良好的交互功能,Joseph Mitola III 博士提出了认知环的概念,如图\ref{pic12}所示,
\vspace{-0.1cm}%用于调整与上文的间隔
\begin{figure}[H]%中括号的H会让你的图处于你所插入的位置,否则的话,默认是插在一页的最上端。注意需要在导言区加入\usepackage{float}
   \begin{center}%这里选择图片是居中对齐
   \includegraphics[scale=0.8]{pic12.eps}%scale用于将图片进行缩放,这里是缩小为原来的0.8倍。大括号内是要插入的图像文件名
     \setlength\abovecaptionskip{-0.2cm}%用于调整标题前后的距离,可以自己设置来增加美观。
      \setlength\belowcaptionskip{-4cm}
   \caption{Mitola博士提出的认知环\label{pic12}}%这里是图像的标题,pic12是这个图像的标签,引用该图像时需要
 \end{center}
\end{figure}
 \vspace{-0.8cm}%用于调整与下文的间隔
 在图\ref{pic12}中,外界激励以一种干扰的形式进入认知无线电系统,被分配到认知环中等待响应。认知无线电系统循环地经历观察、定位、计划、决定与执行五中状态,每种状态都涉及到人工智能学习。
\end{document}

结果显示如下:

注意:上面例子中的图像文件pic21.eps是与源文件在同一目录的。但是一篇论文要插入的图可能需要很多,这是就有必要单独新建文件夹来放置图片。我在论文编写中就分别用名为figs的文件夹来保存由Matlab生成的仿真图,用名为pics的文件夹来保存用visio画的原理框图和流程图。这时,由于图片与源文件不在同一目录下,插入图片就会出错,我们可以通过在导言区写入\graphicspath{{pics/},{figs/}}(注意:这里的pics、figs文件夹与源文件在同一目录下,不然的话,需要写入绝对路径)来指定存储图片的目录。

从上面的实例可以看出,标题中有冒号,这不是我们期望的,我们可以通过在导言区加入\usepackage{caption}和\captionsetup{labelsep=space}指定图形标题的格式:

2、图像的制作

    上面主要是讲如何将已有的图片插入到LaTeX中,这里讲讲如何制作好看的图片。
   
1、由visio画原理框图和流程图
        画原理框图和流程图选用微软的visio还是不错的,因为它可以插入到word和ppt中。下面介绍具体步骤:
        1)在visio中画你所需要的图形
        2)新建word文件,直接将visio中的图形复制粘贴到word中,然后选择另存为PDF文件。
        3)用Adobe Acrobat Pro打开生成的PDF,点击“文档”菜单,选择“裁剪页面”,选中“删除白边距”确定。
          
4)然后将得到的文件另存为eps文件即可
        注意:如果直接截图,图形为位图,放大后会失真。需要用Adobe Acrobat Pro将PDF进行修改,因此最好使用该软件,个人认为比Adobe
Reader好的多。生成的PDF页面大多数地方是空白的,因此我们需要对其进行裁剪,简便起见,可以选择上面提到的“删除白边距”,当然也可以手动调整上下左右的距离。在visio中插入公式或字母:点击“插入按钮”,选择“对象”,里面有各种各样的类型包括MathType。

    2、由Matlab得到的仿真图
        由于我的毕设都是使用Matlab进行仿真的,所以这里只讲如何使用Matlab来生成我们需要的矢量图eps文件。
        大多数人都是直接用截图软件对仿真图进行截图,当然这样很省事,不过前面说过,这样得到的图也是位图,放大会失真。有人会惊奇的发       现,Matlab中的另存为有另存为eps文件选项。但是,当你的图像中有中文时,就会出现乱码!
   仿真图如下:

如果直接另存为pdf或者eps会得到下面的图形:

从上面的图形可以看出,虽然得到的是矢量图,但是汉字出现乱码,并且图片不清晰。解决方案如下:
    1、对于汉字乱码,可以使用仿真图左上方的打印按钮,打印成PDF格式即可,然后按照前文的步骤得到eps文件。
    2、对于生成的图像不清晰,可以在仿真的语句最后面加入下面一段:
%%%%%%%%%%下面操作是为了图的美观%%%%%%%%%%%%%%%%
set(get(gca,'XLabel'),'FontSize',16,'fontweight','bold');%图上文字为8 point或小5号
set(get(gca,'YLabel'),'FontSize',16,'fontweight','bold');%图上文字为8 point或小5号
set(get(gca,'TITLE'),'FontSize',16,'fontweight','bold');

set(gca,'fontsize',16,'fontweight','bold');%设置坐标轴数字的大小
set(gca,'linewidth',1.5); %坐标线粗1.5磅
set(gca,'box','on');%Controls the box around the plotting area
set(get(gca,'Children'),'linewidth',2);%设置图中线宽1磅
set(gcf,'color','w')

改进之后的仿真图如下:

上图看上去线条比较粗,不过经过打印之后就觉得十分美观了,经过打印生成的PDF或eps的图像如下:

       通过对比可以看出谁优谁劣了吧。如果觉得图像比较大,可以进行缩放,在前面插入图像这一小节中讲了如何缩小图片。由于是矢量图,缩放是不会失真的!然而论文打印之后是看不出是不是矢量图的,但是通过PDF电子版可以明显分辨。

原文:http://blog.csdn.net/tengweitw/article/details/30098113

作者:nineheadedbird

【LaTeX排版】LaTeX论文排版<三>的更多相关文章

  1. LATEX论文排版学习资源汇总

    一.国内出版的LaTeX书籍 不管是ctex还是chinatex论坛,很多TeX前辈和使用者都给大家提供了很多咨询帮助,同时,也分享了很多很多学习上的方法与技巧.一般都推荐入门的用户先阅读一本入门书, ...

  2. 排版系统Latex傻瓜方式使用(论文排版)

    0. 什么是Latex? LaTEX(英语发音:/ˈleɪtɛk/ lay-tek或英语发音:/ˈlɑːtɛk/ lah-tek,音译"拉泰赫").文字形式写作LaTeX.是一种基 ...

  3. 用Latex写IEEE论文

    如果在搞科研,想在IEEE上发表文章,那么就不得不用IEEE的论文模板,分为doc版本和Tex版本.Tex是高德纳·纳什所写,大牛级的任务,写过<计算机程序设计艺术>,曾经是美国最年轻的科 ...

  4. Latex: 添加IEEE论文keywords

    参考: How to use \IEEEkeywords Latex: 添加IEEE论文keywords 方法: \begin{IEEEkeywords} keyword1, keyword2. \e ...

  5. Footnotes for tables in latex - 为latex的table加上footnotes

    参考: Footnotes for tables in LaTeX Footnote in tabular environment Footnotes for tables in latex - 为l ...

  6. HTML连载44-标准排版、浮动排版

    一.什么网页的布局方式? 网页的布局方式其实就是指浏览器是如何对网页的元素进行排版的 二.标准流排版方式(又称为文档流.普通流) 1.含义 其实浏览器默认的排版方式就是标准流排版方式 2.在CSS中将 ...

  7. 前端1-----块级标签(独占一行),排版标签(样式排版),其他标签,form表单(input的多种类型)

    前端1-----块级标签(独占一行),排版标签(样式排版),其他标签,form表单(input的多种类型) 一丶HTML块级标签 排版标签 p 标签: 段落标签,会自动在段落上下加上空白来分开 p标签 ...

  8. 13 ,CSS 入门基础,行内排版内嵌式排版和外部排版样式

    1.认识 CSS 2.传统 HTML 设计网页版面的缺点 3.CSS 的特点 4.CSS 的排版样式 13.1 认识CSS CSS的英文全名是 Cascading Style Sheets,中文可翻译 ...

  9. 【LaTeX排版】LaTeX论文排版<四>

    1.表格的插入     一般的表格插入的代码如下: \begin{table}[H] \centering \begin{tabular}{|c|c|c|} \hline 感知方法&优点&am ...

  10. 【LaTeX排版】LaTeX论文排版<一>

    本文及接下来的几篇文章主要讲关于毕设论文的排版. 1.论文的整体构架     学校规定论文字数不得少于15000:说明论文属于中篇论文.一般来说,中长篇论文采用book文类,短篇论文采用article ...

随机推荐

  1. Spark-1.6.0之Application运行信息记录器JobProgressListener

    JobProgressListener类是Spark的ListenerBus中一个很重要的监听器,可以用于记录Spark任务的Job和Stage等信息,比如在Spark UI页面上Job和Stage运 ...

  2. UNIX网络编程——揭开网络编程常见API的面纱【上】

    Linux网络编程API函数初步剖析 今天我们来分析一下前几篇博文中提到的网络编程中几个核心的API,探究一下当我们调用每个API时,内核中具体做了哪些准备和初始化工作. 1.socket(famil ...

  3. Servlet之Session处理

    HttpSession 对象中可用的几个重要的方法: 1    public Object getAttribute(String name) 该方法返回在该 session 会话中具有指定名称的对象 ...

  4. 【Netty源码学习】EventLoopGroup

    在上一篇博客[Netty源码解析]入门示例中我们介绍了一个Netty入门的示例代码,接下来的博客我们会分析一下整个demo工程运行过程的运行机制. 无论在Netty应用的客户端还是服务端都首先会初始化 ...

  5. (一〇〇)使用AddressBookUI实现通讯录操作

    上节提到使用AddressBook可以实现通讯录数据的获取,但有时需要用户自己选取联系人或者联系人信息,这时候就要借助AddressBookUI框架的ABPeoplePickerNavigationC ...

  6. UNIX网络编程——客户/服务器程序设计示范(七)

        TCP预先创建线程服务器程序,每个线程各自accept 前面讨论过预先派生一个子进程池快于为每个客户线程派生一个子进程.在支持线程的系统上,我们有理由预期在服务器启动阶段预先创建一个线程池以取 ...

  7. UNIX网络编程——基于UDP协议的网络程序

    一.下图是典型的UDP客户端/服务器通讯过程 下面依照通信流程,我们来实现一个UDP回射客户/服务器: #include <sys/types.h> #include <sys/so ...

  8. (NO.00005)iOS实现炸弹人游戏(六):游戏数据的初始化(三)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 现在我们来看看实际初始化地图的randomCreateMap方法 ...

  9. 新手学python(1):解析XML与系统调用

    最近需要做一个项目,完成一批音乐的格式转换.由于之前并未学习过python,所以想借此机会学一下.在介绍自己的学习过程之前,先把项目简要描述一下.目前在一台服务器a上有几十万首原始的MP3音乐文件,现 ...

  10. ffplay.c函数结构简单分析(画图)

    最近重温了一下FFplay的源代码.FFplay是FFmpeg项目提供的播放器示例.尽管FFplay只是一个简单的播放器示例,它的源代码的量也是不少的.之前看代码,主要是集中于某一个"点&q ...