在 LaTeX 中直接作图:Picture环境

原  文:在 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}

在 LaTeX 中直接作图:Picture环境_第1张图片

picture的语法是

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

参数是通过小括号来传递的。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}

在 LaTeX 中直接作图:Picture环境_第2张图片

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

\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}

在 LaTeX 中直接作图:Picture环境_第3张图片
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}

在 LaTeX 中直接作图:Picture环境_第4张图片

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

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

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

  • TikZ package
  • Pgfplots package

延伸阅读

更多信息请见:

  • TikZ package
  • Pgfplots package
  • 在 LaTeX 中调整图片和表格的位置
  • LaTeX 中表格和图片的目录
  • wikibooks 中介绍 Picture 包的文章

你可能感兴趣的:(LaTeX,#,图片和表格,翻译,Picture,LaTeX,作图,翻译)