加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

LaTex-01: LaTex: 图文混排

(2014-04-23 19:42:58)
标签:

latex学习

分类: 13LaTeX

30. 图文混排  http://dl.dbank.com/c0scvadujn

在使用外部图形时,通常的是将其置于一个 figure 环境中, 由这一浮动环境来决定最后的位置是在页面的上方或下方。 但有的时候,许多使用者往往希望将图形放置在一个正文方格内,或者置 于页面的左右,也可能是在页面的的中间,四周包围者文本, 甚至放在文字的下方作为背景,或重叠放置。这时,前面所介绍的 只使用 LATE图形宏包套件就很难得到所希望的结果。本章将介绍几个 有用的图形宏包,可以让你很容易地得到上述特殊效果。 本章介绍的几个图形宏包均可从 CTAN 下载。如果你使用的 是 teTE或 fpTEX,那么这些宏包已包括在内了,你所做的只 需是在文档中调用它们:
\usepackage[选项]{宏包}
除了本章所介绍的宏包外,还有一些宏包也可完成同样的工作。 如 floatflt 也可用来将图形置于文本段落的一边。 而所介绍的宏包中,也有未涉及的内容,进一步的研究 可阅读这些宏包所附的帮助文件。


Sections
30.1 Wrapfig  宏包
http://www.ctex.org/documents/latex/graphics/img146.gifLaTex: 图文混排" /> rapfig 宏包提供了一个  wrapfigure 环境30.1来排版窄小的图形,使得 该图形位于文本的一边,并使文本在其边上折行。  

wrapfigure的用法:

\begin{wrapfigure}{行数}[位置][超出长度]{宽度}<图形>\end{wrapfigure }

这里 行数是指图形高度所占的文本行的数目。 如果不给出此选项, wrapfig 会自动计算。 位置是指图形相对于文本的位置,须给定下面四项的一个。

[r],[R]
表示图形位于文本的左边。
[l],[L]
表示图形位于文本的右边。
[i],[R]
表示图形位于页面靠里的一边(用在双面格式里)。
[o],[O]
表示图形位于页面靠外的一边。
超出长度是指图形超出文本边界的长度,缺省为 0pt。 宽度则指图形的宽度。 wrapfig 会自动计算 图形的高度。不过,我们也可设定图形的高度,具体可见 wrapfig.sty 内 的说明。

 

在使用 wrapfig 时需要注意下面几点:
  • 在 wrapfigure 后必须紧接着输入段落文字,否则会出错。
  • 不能在任何列表环境中使用 wrapfigure,也不能在 列表环境前后使用,除非两者之间有一空行或分段指令 \par
  • 如果将 wrapfigure 放在 \parbox 或小页环境 等分组中,文本折行必须在这些分组前结束。
  • 在双栏页版式中不能使用 wrapfigure
  • 如果在 wrapfigure 中使用 figure 等 浮动对象,它的编号有可能不正确。
  • 如果在 wrapfigure 中使用 table 等浮动对象, 它上下方的横线可能被忽略,必须自己再加入。
  • 在折行的文本中, \linewidth 并没有改变。
http://www.ctex.org/documents/latex/graphics/img148.gifLaTex: 图文混排" TITLE="LaTex-01: LaTex: 图文混排" />
wrapfig 还可用来放大段落的第一个字。本节的第一个字目 W  就是使用如下命令来得到的:

\newcommand{\PartSize}{\fontsize{1.5cm}{1.5cm}\selectfont}
\intextsep=0pt
\begin{wrapfigure}{l}{25pt}
\textcolor{blue}{\mbox{\texttt{\PartSize W}}}
\end{wrapfigure}
\noindent\texttt{rapfig}宏包提供了一个...

本节中的另一例子使用了如下命令:

\begin{wrapfigure}{r}{4.5cm}
\includegraphics [width=4cm,clip]{tiger.ps}
\end{wrapfigure}
\mbox{}在使用\textsf{wrapfig}时需要注意下面几点:

 

30.2 Picinpar  宏包

picinpar 宏包定义了一个基本的环境 window,还有两个变体  figwindow 和 tabwindow。允许在文本段落中打开一个``窗口'', 在其中放入图形、文字和表格等。这里我们主要讨论将图形放入文本段落 的用法,其它的用法可参考 picinpar 的说明。

\begin{window}[行数,对齐方式,内容,内容说明]\end{window} \begin{figwindow}[行数,对齐方式,图形,标题]\end{figwindow}

这里的 行数是指``窗口''开始前的行数。 对齐方式是指在段落中``窗口''的对齐方式。缺省为 l, 即左对齐。另外两种是 c :居中和 r :右对齐。 第三个参数是出现在``窗口''中的内容,这在 figwindow 中就是 要插入的图形。第四个参数则是对``窗口''内容的说明性文字,这在  figwindow 中就是图形的标题。 下面是几个例子:

\begin{window}[2,c,{\fcolorbox{morelight}{\shortstack{%
   \color{yellow} 你在他乡 \\还 好 \\ 吗?}}},{}]
可是哈卜拉姆再聪明……
……可是我偏不喜欢。」
\end{window}
http://www.ctex.org/documents/latex/graphics/img149.gifLaTex: 图文混排" TITLE="LaTex-01: LaTex: 图文混排" />
\begin{figwindow}[1,r,{\mbox{%
    \includegraphics[width=4cm]{tiger.ps}}},{Tiger}]
可是哈卜拉姆再聪明……
……可是我偏不喜欢。」
\end{window}
http://www.ctex.org/documents/latex/graphics/img150.gifLaTex: 图文混排" TITLE="LaTex-01: LaTex: 图文混排" />
\begin{figwindow}[1,c,{\mbox{%
    \includegraphics[width=3cm]{tiger.ps}}},{Tiger}]
可是哈卜拉姆再聪明……
……可是我偏不喜欢。」
\end{window}
http://www.ctex.org/documents/latex/graphics/img151.gifLaTex: 图文混排" TITLE="LaTex-01: LaTex: 图文混排" />

在使用 picinpar 时要注意以下几点:
  • 不要在 window 环境中使用 \samepage
  • 不要在 window 环境中使用 \footnote,代之在 用 \footnotemark 标记角注,而将 角注的内容在 window 环境外用 \footnotetext 来加入。
  • 当使用 paiepic 宏包时,要确保在调入 epic 之前 将它调入。

 

30.3 Picins 宏包

picins 宏包定义了一个命令 \parpic命令,允许将 图形等 LATE对象放置在文本段落中。并且,设定适当的参数, 可把该对象置于一带框的盒子,有阴影的盒子等等。 \parpic  的用法如下:
\parpic(宽度,高度)(水平偏移,垂直偏移)[选项][位置]{图形}
上面除了图形必须给出外,其余的均 可省略。如果宽度和高度均未给出,那么图形将以它的自然大小来 嵌入。选项则可取以下的值:
位置项
只能为下面两个中的一个。
l
将图形置于文本段落的左方(这也是缺省值)。
r
将图形置于文本段落的右方。
外观项
只能为下面五个中的一个,可与上述位置项 配合使用。
f
将图形置于一个实框盒子中。
d
将图形置于一个虚框盒子中。
o
将图形置于一个圆角框盒子中。
s
将图形置于一个具有阴影效果的盒子中。
x
将图形置于一个具有立体效果的盒子中。
位置仅当给定的宽度和高度与 图形的实际大小相差很大的情况下才起作用。若水平或垂直偏移 已给出,那么此项也不起作用。缺省位置是将图形置于盒子的中央。 也可取以下的值:
l
将图形置于盒子的左方。
r
将图形置于盒子的右方。
t
将图形置于盒子的上方。
b
将图形置于盒子的下方。
另外, picins 宏包还提供了一些命令来控制图形 与文本的间距,图形外框的线宽等。详见 picins 宏包 所附的说明。下面是几个例子。

http://www.ctex.org/documents/latex/graphics/img152.gifLaTex: 图文混排" />


\parpic{%
  \includegraphics[width=3cm]%
                  {tiger.ps}}
仅当给定的宽度和高度与...


http://www.ctex.org/documents/latex/graphics/img153.gifLaTex: 图文混排"  TITLE="LaTex-01: LaTex: 图文混排" />
\parpic(3cm,3.5cm)[sr]{%
  \includegraphics[width=2.5cm]%
                  {tiger.ps}}
仅当给定的宽度和高度与...


http://www.ctex.org/documents/latex/graphics/img154.gifLaTex: 图文混排" TITLE="LaTex-01: LaTex: 图文混排" />
\boxlength{10pt}%
\parpic(3.5cm,4cm)[xr]{%
  \includegraphics[width=3cm]%
                  {tiger.ps}}
仅当给定的宽度和高度与...




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文件: 可参见本网站 "高能物理研究室Windows系统使用技巧"中的"如何把Windows系统中软件的输出结果转化为ps和eps格式的文件"一栏中的说明. 


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

(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包插入图片过程较麻烦.


(2)用psfig宏命令

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

\usepackage{psfig}
然后在需要插入图片的地方引用: 
\psfig{figure=图片文件名,height=高度} 或者: \psfig{figure=图片文件名,width=宽度}
其中的"高度"和"宽度"是指希望图片打印的高度和宽度, 必须给出单位, 可用厘米(cm)或英寸(in). 高度和宽度也可用上述格式同时给出, 这样可以改变原图的长宽比例. 上述命令中的图片文件名是指欲插入的图片文件的文件名, 图片必需是eps格式的

(3)用epsfig宏命令
epsfig宏命令的使用方法和psfig完全相同, 具体方法是: 
首先需在latex文档的文件说明部分加上:
\usepackage{epsfig}
然后在需要插入图片的地方引用:
\epsfig{figure=图片文件名,height=高度} 或者: \epsfig{figure=图片文件名,width=宽度}
其中的"高度"和"宽度"是指希望图片打印的高度和宽度, 必须给出单位, 可用厘米(cm)或英寸(in). 高度和宽度也可用上述格式给出, 这样可以改变原图的长宽比例. 上述命令中的图片文件名是指欲插入的图片文件的文件名, 图片必需是eps格式的

         

(4)用epsf宏命令

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

\usepackage{epsf}
然后在需要插入图片的地方引用: 
\epsfxsize=宽度\epsffile{图片文件名} 或者: \epsfysize=高度\epsffile{图片文件名}

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

 

(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}
1,插入jpg图片
在命令行环境下,使用命令:
ebb figure.jpg
生成bounding box文件figure.bb。
使用如下命令:
\includegraphics[width=0.8\textwidth]{figure.jpg}
可以使用Pdf Texify直接编译成pdf文件。
2,插入bmp图片
还没有找到直接插入bmp图片的方法。现在的方法是,使用
gimp将bmp转换成jpg,然后按上述方法插入。转换时不要
使用windows自带的painter,图片质量损失太多。用gimp或
fastone image viewer,将jpg质量选为最高,转换之后得到的
图片质量较好。
3,同时插入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}

 

关于LaTex中的图表问题的几篇有用的文章
Graphics and Colour with LaTeX  
有关在LaTex中插图和使用颜色的在线指导.
Figure'ing and Picture'ing LaTeX(ps格式)  
在LaTex中插入ps图和xfig图的方法.
Using Imported Graphics in LaTeX2e(ps格式)  
关于LaTex中插图的详细论述, 包括基本概念, 文件格式及其相互转换, 有关软件等. 其中还有如何把ps格式图片中的字符替换成latex格式字符, 以解决有些应用软件无法使用希腊字母等特殊字符及复杂数学公式 表达式的问题.
LaTeX maths and graphics(ps格式) 
主要是关于在LaTex中插入图片和公式的方法. 

关于Visio转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 toEPS,选择自动裁减,存为另一个*.eps文件即可

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有