当前位置:   article > 正文

在 LaTeX 中直接作图:Picture环境_latex picture环境

latex picture环境

原  文:在 LaTeX 中直接作图:Picture环境
译  者:Xovee
翻译时间:2020年11月3日

LaTeX 中直接作图:Picture环境

如果你需要在文档中加入一些简单的图形,picture环境将是一个很好的选择。本篇文章将会介绍如何在 LaTeX 中使用该环境绘制圆形、线条,以及其他图形元素。

介绍

在 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}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

picture的语法是

\begin{picture}(width,height)(x-offset,y-offset)
  • 1

参数是通过小括号来传递的。widthheight就是宽和高,单位由这条命令设定:\setlength{\unitlength}{1cm}。第二个参数是可选的,它定义了图形相对于左下角的坐标。下面给出几个其他命令的例子:

\put(6,2.2){\oval(4,2)[r]}
这个命令会绘制一个椭圆,其中心点的位置是(4,2)。参数[r]是可选的,你可以使用rltb,分别代表椭圆的右、左、上、后者下半部分。不设定这个参数的话,那么整个椭圆都会被显示出来。

\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}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

在这里插入图片描述

在这个例子中,图片中包含多个线和圆,同时还包含一些文字来作为元素的标签。下面解释各个命令:

\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}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述
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}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

需要注意的是:命令\qbezier(二次贝塞尔曲线)不在\put命令之中。
需要传递的参数包括:

  • 一个起点
  • 一个控制点
  • 一个终点

picture是在 LaTeX 中创建图片的标准工具。如你所见,这个工具有时候限制很多,不太容易使用。不过它可以被大多数编译器支持,并且不需要引入额外的包。如果你需要创建更复杂的图片,你可以参考这两篇文档:

延伸阅读

更多信息请见:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/238267?site
推荐阅读
相关标签
  

闽ICP备14008679号