zoukankan      html  css  js  c++  java
  • 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}

  • 相关阅读:
    English 2
    速算24点
    心理学1
    从微服务到函数式编程
    034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述
    033 01 Android 零基础入门 01 Java基础语法 03 Java运算符 13 运算符和表达式知识点总结
    032 01 Android 零基础入门 01 Java基础语法 03 Java运算符 12 运算符和if-else条件语句的综合案例——闰年问题
    031 01 Android 零基础入门 01 Java基础语法 03 Java运算符 11 运算符的优先级
    030 01 Android 零基础入门 01 Java基础语法 03 Java运算符 10 条件运算符
    029 01 Android 零基础入门 01 Java基础语法 03 Java运算符 09 逻辑“非”运算符
  • 原文地址:https://www.cnblogs.com/langren1992/p/6338156.html
Copyright © 2011-2022 走看看