LaTeX自身的图形绘制能力有限,所以在LaTeX中绘制图形一般都用各种图形包。 推荐使用的图形包有Tikz 和PSTricks。 为了完整,此处仍然介绍LaTeX自身的图形绘制。
LaTeX所有的图形绘制命令必须放在一个“picture”环境中:
\begin{picture}(宽度,高度)(左下角横坐标,左下角纵坐标)其中“左下角坐标”连同括号是可选的,“宽度”、“高度”、“左下角横坐标”、 “左下角纵坐标”的值是相对于“\unitlength”的,它的默认值是1pt(也就是说 不用带长度单位,其长度单位是pt),不过你可以在绘图前改变它,比如:
\end{picture}
\setlength{unitlength}{1.2cm}则上述值的实际大小是指定值乘以1.2cm。在秀文LaTeX编辑器中,该环境以源代码形式展现。
\begin{picture}(宽度,高度)(左下角横坐标,左下角纵坐标)
\end{picture}
在图形环境中绘制命令有两个,绘制单个图形对象用
\put(横坐标,纵坐标){对象}如果要将某个对象复制多次,组成复杂图形,可用命令
\multiput(横坐标,纵坐标)(横坐标增量,纵坐标增量)(重复次数){对象}线段对象由命令
\line(斜率的x分量,斜率的y分量){长度}表示,绘制一条线段可以这样:
\begin{picture}(1,1)圆对象由命令
\put(0,0){\line(0,1){1}}
\end{picture}
\circle[*]{直径}表示,如果带“*”号,绘制的是实心圆。绘制一个圆可以这样:
\begin{picture}(60,40)箭头对象由命令
\put(20,30){\circle{32}}
\end{picture}
\vector(斜率的x分量,斜率的y分量){长度}表示,绘制一个箭头可以这样:
\begin{picture}(60,40)圆角矩形对象由命令
\put(30,20){\vector(1,0){30}}
\end{picture}
\oval(宽度,高度)[绘制区域]表示,其中“绘制区域”是下列四个值中的一个:
在绘制过程中随时可以用如下命令变换线的粗细:
值 含义 t 上半部 b 下半部 r 右半部 l 左半部
\thicklines除了上述对象,对象还可以是文本或公式:
\thinlines
\linethickness{粗细}
\begin{picture}(6,5)LaTeX还提供了几个“盒子”对象:
\put(3.1,2.5){$c$}
\end{picture}
\makebox(宽度,高度)[位置]{盒子内容}建立一个足够容纳其内容的矩形区域,其中“位置”指的是内容在盒子中的位置, 是下列四个值中的一个:
值 含义 t 上边 b 下边 r 右边 l 左边
\framebox(宽度,高度)[位置]{盒子内容}建立一个带框的矩形区域,参数与前一个对象一样。
\dashbox(宽度,高度)[位置]{盒子内容}建立一个带虚线框的矩形区域,参数与前一个对象一样。
\framebox{盒子内容}用一个矩形框把内容包裹起来。
一些图形是以文件形式存在的,如ps/eps图形文件,还有就是图像,如bmp、 jpg、png等。要插入这些图形或图像,需要“graphicx”包:
\usepackage{graphicx}可以用这个包提供的命令;
\includegraphics*[选项,选项,...]{图形图像文件名} \includegraphics*[左下角横坐标,左下角纵坐标][右上角横坐标,右上角纵坐标]{图形图像文件名}“*”是可选的,主要目的是为了兼容旧的命令,可以不要。第二种形式的坐标也是同样目的。“选项” 都是“键=值”的形式,下表列出了这些键值的含义:
在秀文LaTeX编辑器中,这条命令以源代码形式展现。除了“\includegraphics”命令,“graphicx” 包还提供了四个命令用于旋转和缩放对象:
键 值的形式 含义 bb bb=左下角横坐标 左下角纵坐标 宽度 高度 将图形图像包含在指定的矩形区域内 bbllx bblly bburx bbury bbllx=左下角横坐标 bblly=左下角纵坐标 bburx=右上角横坐标 bbury=右上角纵坐标 同bb效果一样 natwidth natheight natwidth=宽度 natheight=高度 同bb=0 0 宽度 高度效果一样 viewport viewport=左下角横坐标 左下角纵坐标 宽度 高度 只显示指定区域的内容 trim trim=上 下 左 右 分别指定上下左右四边各截去(值为正)或增加(值为负)多少 angle angle=角度 旋转图形图像 origin origin=字母组合(稍后介绍) 旋转原点 width width=宽度 要求的图形图像宽度 height height=高度 要求的图形图像高度 totalheight totalheight=高度 要求的图形图像高度加上深度 keepaspectratio keepaspectratio=true(或false) 是否保持图形图像的纵横比 scale scale=缩放因子 缩放图形图像 clip clip=true(或false) 是否按边框裁剪图形图像 draft draft=true(或false) 是否只显示边框和文件名
\scalebox{水平缩放因子}[垂直缩放因子]{对象}其中“选项”可以用两种形式指定旋转原点:
\resizebox{宽度}{高度}{对象}
\resizebox*{宽度}{总高度}{对象}
\rotatebox[选项,选项,...]{角度}{对象}
x=横坐标,y=纵坐标字母组合的旋转原点中所用字母由下表给出:
origin=字母组合(稍后介绍)
比如要缩放一个图片,可以用命令:
字母 含义 t 顶 l 左 c 中间 r 右 B 基线 b 底
\includegraphics[scale=2]{tiger.eps}也可以用命令:
\scale{2}{\includegraphics{tiger.eps}}
当图形图像太大,在当前页放不下时,你可能希望LaTeX自己找一个合适的地方 来放置,你可以这样:
\begin{figure}[位置]其中“位置”连同方括号是可选项,如果不写,按缺省值。它决定了 LaTeX在哪儿放置:“h”表示就在此处,“t”表示在页的顶部, “b”表示在页的底部,“p”表示在一个专门的页。 在多栏的情况下,如果希望图形图像能跨栏,可以用
\includegraphics[scale=2]{tiger.eps}
\caption{标题}
\end{figure}
\begin{figure*}[位置]
\includegraphics[scale=2]{tiger.eps}
\caption{标题}
\end{figure*}
某些情况下,你可能想自己完全掌握图文混排的形式,“wrapfig”包 提供了将图形图像放在文本一边的命令。“picinpar”包提供了环绕的 命令。“picins”包提供了用盒子包围图形图像的命令。