概述
原 文:在 LaTeX 中直接作图:Picture环境
译 者:Xovee
翻译时间:2020年11月3日
在 LaTeX 中直接作图:Picture环境
如果你需要在文档中加入一些简单的图形,picture
环境将是一个很好的选择。本篇文章将会介绍如何在 LaTeX 中使用该环境绘制圆形、线条,以及其他图形元素。
文章目录
- 在 LaTeX 中直接作图:Picture环境
- 介绍
- 点、圆、文字
- 贝塞尔曲线
- 延伸阅读
介绍
在 LaTeX 文件中,你可以直接使用代码来绘制图片:
setlength{unitlength}{1cm}
thicklines
begin{picture}(10,6)
put(2,2.2){line(1,0){6}}
put(2,2.2){circle{2}}
put(6,2.2){oval(4,2)[r]}
end{picture}
picture
的语法是
begin{picture}(width,height)(x-offset,y-offset)
参数是通过小括号来传递的。width
和height
就是宽和高,单位由这条命令设定:setlength{unitlength}{1cm}
。第二个参数是可选的,它定义了图形相对于左下角的坐标。下面给出几个其他命令的例子:
put(6,2.2){oval(4,2)[r]}
这个命令会绘制一个椭圆,其中心点的位置是(4,2)。参数[r]
是可选的,你可以使用r
、l
、t
、b
,分别代表椭圆的右、左、上、后者下半部分。不设定这个参数的话,那么整个椭圆都会被显示出来。
put(2,2.2){circle{2}}
这个命令会绘制一个园,其中心点是(2,2.2),半径是2。
在下一个章节,我们介绍剩下的命令。
点、圆、文字
不同的基础元素可以组合起来,从而绘制复杂的图形。
setlength{unitlength}{0.8cm}
begin{picture}(12,4)
thicklines
put(8,3.3){{footnotesize $3$-simplex}}
put(9,3){circle*{0.1}}
put(8.3,2.9){$a_2$}
put(8,1){circle*{0.1}}
put(7.7,0.5){$a_0$}
put(10,1){circle*{0.1}}
put(9.7,0.5){$a_1$}
put(11,1.66){circle*{0.1}}
put(11.1,1.5){$a_3$}
put(9,3){line(3,-2){2}}
put(10,1){line(3,2){1}}
put(8,1){line(1,0){2}}
put(8,1){line(1,2){1}}
put(10,1){line(-1,2){1}}
end{picture}
在这个例子中,图片中包含多个线和圆,同时还包含一些文字来作为元素的标签。下面解释各个命令:
thicklines
这个命令改变线的粗细,让线变得更粗。你也可以使用 thinlines,来让线变得更细。
put(8,3.3){{footnotesize
3
3
3-simplex}}
这个命令会绘制一个填充的圆,其中心点是(9,3),半径是0.1。它很小,可以被当作成一个点。
put(10,1){line(3,2){1}}
这个命令会绘制一个直线,起点是(10,1),长度是1,方向是(3,2)。你可能需要进行一些计算来确定线的斜率。
你也可以在picture
环境中绘制箭头。下面介绍几个例子:
setlength{unitlength}{0.20mm}
begin{picture}(400,250)
put(75,10){line(1,0){130}}
put(75,50){line(1,0){130}}
put(75,200){line(1,0){130}}
put(120,200){vector(0,-1){150}}
put(190,200){vector(0,-1){190}}
put(97,120){$alpha$}
put(170,120){$beta$}
put(220,195){upper state}
put(220,45){lower state 1}
put(220,5){lower state 2}
end{picture}
vector
的语法与线差不多:
put(120,200){vector(0,-1){150}}
这个命令会绘制一个箭头,起点是(120,200),长度是150,方向是(0,-1)。
贝塞尔曲线
贝塞尔(Bézier curves)是一种特殊的曲线,绘制它需要三个参数:起点、终点、以及一个定义它有多曲的参数。
setlength{unitlength}{0.8cm}
begin{picture}(10,5)
thicklines
qbezier(1,1)(5,5)(9,0.5)
put(2,1){{Bézier curve}}
end{picture}
需要注意的是:命令qbezier
(二次贝塞尔曲线)不在put
命令之中。
需要传递的参数包括:
- 一个起点
- 一个控制点
- 一个终点
picture
是在 LaTeX 中创建图片的标准工具。如你所见,这个工具有时候限制很多,不太容易使用。不过它可以被大多数编译器支持,并且不需要引入额外的包。如果你需要创建更复杂的图片,你可以参考这两篇文档:
- TikZ package
- Pgfplots package
延伸阅读
更多信息请见:
- TikZ package
- Pgfplots package
- 在 LaTeX 中调整图片和表格的位置
- LaTeX 中表格和图片的目录
- wikibooks 中介绍 Picture 包的文章
最后
以上就是无情身影为你收集整理的在 LaTeX 中直接作图:Picture环境在 LaTeX 中直接作图:Picture环境介绍点、圆、文字贝塞尔曲线延伸阅读的全部内容,希望文章能够帮你解决在 LaTeX 中直接作图:Picture环境在 LaTeX 中直接作图:Picture环境介绍点、圆、文字贝塞尔曲线延伸阅读所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复