LaTeX的图片插入及排版

 

LaTeX中一般只直接支持插入eps(Encapsulated PostScript)格式的图形文件, 因此在图片插入latex文档之前应先设法得到图片的eps格式的文件.

UNIX下的各种应用软件都可以把其结果输出为ps格式, 大部分软件也可以输出eps格式. 若软件只能输出ps格式而不能输出eps格式的结果, 则可用ps2epsi命令将其转化为eps格式, 可参考man ps2epsi的说明. 若图片文件的格式是位图图形文件则可用Image Magick软件包的display 和convert工具转化为ps或eps格式的文件. 详见其man页和 使用说明

Windows软件的输出结果变成ps/eps文件:可通过Visio装成pdf格式化后,利用Acrobat转成eps格式。

下面分别介绍LaTeX的图片插入和排版:

1 LaTeX的图片插入

2 LaTeX的图片排版


1  LaTeX的图片插入

1.1  visio-pdf-Acrobat-eps

很多人习惯用Visio画图(包括me),但是Visio却不能导出EPS格式,所以只好借助于第三方软件。通过Visio另存为*.emf格式然后用 openoffice的Draw打开,可以导出为EPS格式。导出时需要选中打开的图片,这样导出EPS之后就只包含*.emf图片的内容,不会有大片的 空白。但是用这个方法导出的EPS图片会走样,比如直线经常会断断续续的,我在Visio中加入的“计算机”形状还会出现莫名其妙的阴影。也可能是我没有 设置好吧。

还有另外一种更好的解决方案,导出的EPS文件十分完美。也就是通过acrobat打印机将Visio图形打印成pdf,再经过gsview(GSview4.8 )裁减。具体过程如下:

1 )编辑图片文件,保存为pdf文件

安装acrobat,,在Visio和Wod下把编辑好的图片打印为pdf文件即可

2) 转换为eps文件

在acobat下打开pdf文件,选择另存为eps文件即可

3 )对eps文件裁减

用GSView打开eps文件,选择File-->PS to EPS,选择自动裁减,存为另一个*.eps文件即可

关于裁剪进一步参考: <http://blog.sina.com.cn/s/blog_4af3109d0100uy97.html>

注意:

如果你用其它方法,如用HP的虚拟打印机直接打为eps,很遗憾地通知阁下,你会遭遇“dvips:couldn't find head file nntri8a.pfb”(字体信息)和“生成的pdf有大片文字或图片不见了,变成了大片空白”(图片中含有文档结构信息或图片预览)等恼人的问题,具 体原因你可以到网上google,如果你有时间消磨在研究这些东西上面的话,你总会弄明白。但还是强烈建议你用这里提到的“虚拟打印为pdf图片——裁剪 ——另存为eps——ps to eps”的方法。另外,你不要认为跳过pdf图片而直接打印为eps图片,图片质量会好一些,不得不说,你的直观是错误的。


1.2  latex插入图片程序

在LaTeX文档中插入图片都是通过使用一些latex图形处理宏命令来实现的, 有很多宏命令都支持在在LaTeX文档中插入eps格式的图形文件, 主要有:

1.2.1  用includegraphics宏命令(graphicx包)

首先需在latex文档的文件说明部分加上:

/usepackage{graphicx}

然后在需要插入图片的地方引用:

/includegraphics[height=高度]{图片文件名} 或者: /includegraphics[width=宽度]{图片文件名}

其中的"高度"和"宽度"是指希望图片打印的高度和宽度, 必须给出单位, 可用厘米(cm)或英寸(in). 高度和宽度也可用上述格式同时给出, 这样可以改变原图的长宽比例. 上述命令中的图片文件名是指欲插入的图片文件 的文件名, 图片必需是eps格式的.

用graphicx包的includegraphics宏命令插入图片时还可以使图片旋转, 方法是:

/includegraphics[height=高度][angle=旋转角度]{图片文件名}

插入的图形通常为eps、pdf或者jpg、png等格式,假设名字叫fig,把它放在你的tex文档同一目录下。

1)先导言区加一句/usepackage{graphicx}

2)如果想插入inline的图形, 直接使用

/includegraphics[width=5in]{fig},

不用加后缀名。

这个width是我最常用的选项, 也可以改成其他的。

3)如果你想插入浮动图形, 使用

/begin{figure}[htbp]

/centering/includegraphics[width=3.5in]{fig}

/caption{something}/label{fig:1}

/end{figure}

4)如果是eps的图形, 编译过程是latex, dvips, ps2pdf.

如果是pdf jpg png图形, 编译过程是 pdflatex .

用includegraphics宏命令(graphics包):

使用graphics包插入图片过程较麻烦.

1.2.2

用psfig宏命令

首先需在latex文档的文件说明部分加上:

/usepackage{psfig}

然后在需要插入图片的地方引用:

/psfig{figure=图片文件名,height=高度} 或者: /psfig{figure=图片文件名,width=宽度}

其中的"高度"和"宽度"是指希望图片打印的高度和宽度, 必须给出单位, 可用厘米(cm)或英寸(in). 高度和宽度也可用上述格式同时给出, 这样可以改变原图的长宽比例. 上述命令中的图片文件名是指欲插入的图片文件的文件名, 图片必需是eps格式的

1.2.3

用psfig宏命令

首先需在latex文档的文件说明部分加上:

/usepackage{psfig}

然后在需要插入图片的地方引用:

/psfig{figure=图片文件名,height=高度} 或者: /psfig{figure=图片文件名,width=宽度}

其中的"高度"和"宽度"是指希望图片打印的高度和宽度, 必须给出单位, 可用厘米(cm)或英寸(in). 高度和宽度也可用上述格式同时给出, 这样可以改变原图的长宽比例. 上述命令中的图片文件名是指欲插入的图片文件的文件名, 图片必需是eps格式的

1.2.4

用epsf宏命令

用epsf宏命令的使用方法是: 首先需在latex文档的文件说明部分加上:

/usepackage{epsf}

然后在需要插入图片的地方引用:

/epsfxsize=宽度/epsffile{图片文件名} 或者: /epsfysize=高度/epsffile{图片文件名}

其中的"高度"和"宽度"是指希望图片打印的高度和宽度, 必须给出单位, 可用厘米(cm)或英寸(in). 高度和宽度也可用上述格式 给出, 这样可以改变原图的长宽比例. 上述命令中的图片文件名是指欲插入的图片文件的文件名, 图片必需是eps格式的.

1.2.5  LaTeX 图片控制命令,位置控制

LaTeX 控制图片的位置,就是加感叹号来忽略“美学”标准。

/begin{figure}[!htb]

/usepackage{float}

/begin{figure}[H]

插到你代码相应的位置。

1)插入并列的子图

/usepackage{subfigure}

/begin{figure}[H]

/centering

/subfigure[SubfigureCaption]{

/label{Fig.sub.1}

/includegraphics[width=0.4/textwidth]{figurename.eps}}

/subfigure[SubfigureCaption]{

/label{Fig.sub.2}

/includegraphics[width=0.4/textwidth]{figurename.eps}}

/caption{MainfigureCaption}

/label{Fig.lable}

/end{figure}

2)控制图片位置

如果不喜欢让Latex自动安排图片位置,可以使用float包,然后

用/begin{figure}[H]。

/usepackage{float}

a,插入jpg图片

在命令行环境下,使用命令:

ebb figure.jpg

生成bounding box文件figure.bb。

使用如下命令:

/includegraphics[width=0.8/textwidth]{figure.jpg}

可以使用Pdf Texify直接编译成pdf文件。

b,插入bmp图片

还没有找到直接插入bmp图片的方法。现在的方法是,使用

gimp将bmp转换成jpg,然后按上述方法插入。转换时不要

使用windows自带的painter,图片质量损失太多。用gimp或

fastone image viewer,将jpg质量选为最高,转换之后得到的

图片质量较好。

c,同时插入jpg和eps图片

插入的命令不变。编译时使用Latex, dvi2pdf,两种格式的

图片都可以显示。

插入eps图片

使用/includegraphics[选项]{文件} 命令可以插入eps图片。下面是一个最简单的例子:

/documentclass{article}

/usepackage{graphicx} %使用graphicx包

/begin{document}

/includegraphics{file.eps} %插入图片,按图片原尺寸插入

/end{document}

注意:

1)eps文件和tex文件放在同一个文件夹,只用文件名就可以调用,不用写路径。

2)编译时不能使用pdflatex,会出错。即使不出错,也看不到图。应使用latex编译生成dvi,然后dvi2ps,ps2pdf就可以看到图了。

使用[选项]可以指定图片大小:

/includegraphics[width=3in]{file.eps}

设定图片宽度为3 inches,图片高度会自动缩放。

/includegraphics[width=/testwidth]{file.eps}

设定图片宽度为文本宽度。

/includegraphics[width=0.8/textwidth]{file.eps}

设定图片宽度为文本宽度的0.8倍

/includegraphics[width=/testwidth-2.0in]{file.eps}

设定图片宽度比文本宽度少2 inches。

使用[选项]指定图片旋转角度:

/includegraphics[angle=270]{file.eps}

将图片旋转270度。

两个选项同时使用,中间用逗号隔开:

/includegraphics[width=/testwidth, angle=270]{file.eps}

原文链接:http://www.cnblogs.com/mmer/p/3762173.html

latex 插图排版的更多相关文章

  1. matlab作图 latex插图

    推荐用saveas eps,再用eps2pdf转成pdf.这样可以之间pdflatex编译. if result.savepic saveas(gcf,[ pwd '/picture/right_' ...

  2. Latex技巧:LaTex插图命令includegraphics参数详解

    Latex插图的命令是\includegraphics[选项]{文件} 这里的选项在表 7.1, 7.2, 7.3 中列出. 因为 \includegraphics 不会结束 当前段落,所以它能够在文 ...

  3. LaTeX技巧012:LaTeX 插图加载宏包

    LaTeX 插图加载宏包.支持 LaTeX - DVIPDFMx; pdfLaTeX; XeLaTeX 三种编译方式,支持 eps/pdf/jpg/png 等图片格式. % Put this snip ...

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

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

  5. 【LaTeX排版】LaTeX论文排版&lt;三&gt;

    A picture is worth a thousand words(一图胜千言).图在论文中的重要性不言而喻,本文主要解说图的制作与插入. 1.图像的插入     图像能够分为两大类:位图和向量图 ...

  6. latex插图续

    LaTeX中一般只直接支持插入eps(Encapsulated PostScript)格式的图形文件, 因此在图片插入latex文档之前应先设法得到图片的eps格式的文件.  UNIX下的各种应用软件 ...

  7. [LaTex]插图

    1.不错的Latex参考网站 http://www.ctex.org/documents/latex/graphics/node120.html http://www.ctex.org/documen ...

  8. 【LaTeX排版】LaTeX论文排版<三>

    A picture is worth a thousand words(一图胜千言).图在论文中的重要性不言而喻,本文主要讲解图的制作与插入. 1.图像的插入     图像可以分为两大类:位图和向量图 ...

  9. 【LaTeX排版】LaTeX纸排版&lt;两&gt;

    1.文件夹的生成     直接使用命令\tableofcontents就可以. 其默认格式例如以下: 我们会发现.这种格式不一定是我们所期望的. 比方说,我们也希望章标题与页码之间也有点连线,而且也希 ...

随机推荐

  1. 事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流

    一.事件冒泡定义 事件冒泡是指在一个对象触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那 ...

  2. js模块加载之AMD和CMD

    当我写这篇文章的时候,sea.js已经逐渐退出历史的舞台,详细链接.不过任何新事物的出现都是对旧事物的取其精华,去其糟粕,所以了解一下以前模块的加载也是一件好事. js模块化的原因自不比多说,看看HU ...

  3. Android - 关于设备版本号

    设备信息可以在Settings - About 里看到 最近想改机器的build number,找到了 build/core/Makefile 里的定义 # Display parameters sh ...

  4. for循环问题

    印象中的for语句是这样的,语法:  for (语句 1; 语句 2; 语句 3) { 被执行的代码块 }  语句 1 (代码块)开始前执行 starts. 语句 2 定义运行循环(代码块)的条件 语 ...

  5. (转)Java线程:新特征-条件变量

    Java线程:新特征-条件变量   条件变量是Java5线程中很重要的一个概念,顾名思义,条件变量就是表示条件的一种变量.但是必须说明,这里的条件是没有实际含义的,仅仅是个标记而已,并且条件的含义往往 ...

  6. 创建 overlay 网络 - 每天5分钟玩转 Docker 容器技术(50)

    上一节我们搭建好实验环境,配置并运行了consul,今天开始创建 overlay 网络. 在 host1 中创建 overlay 网络 ov_net1: -d overlay 指定 driver 为 ...

  7. 前端数据存储方案集合(cookie localStorage等)以及详解 (二)

    前端数据存储方案集合(cookie localStorage等)以及详解 (二) 在之前的文章中已经介绍到了 前端存储方案中的 cookie . 但是 cookie 的存储上限是 4KB. 如果超过了 ...

  8. NYOJ--45--棋盘覆盖(大数)

    棋盘覆盖 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 在一个2k×2k(1<=k<=100)的棋盘中恰有一方格被覆盖,如图1(k=2时),现用一缺角的 ...

  9. Bat脚本自动卸载软件-静默执行

    通过Bat脚本卸载软件,原理是得到某软件的ProductCode,然后通过MsiExec.exe命令卸载软件,下面是卸载一个产品的基本代码示例: set ML4.0HF4Name=Product4.0 ...

  10. viewpager+layout布局文件随数据多少创建滑动页面

    近期在做一个答题类型的APP,而其中最重要的是答题卡.而答题卡要如何做? 1.将数据插入到SQLite数据库中 2.建立entity实体包,创建实体类,封装. 3.创建实体与view的List集合 4 ...