LaTeX 复杂图形绘制教程:从基础到进阶

2026-01-10 10:09:27 2014德国世界杯

系列文章目录

第一章:深入了解 LaTeX:科技文档排版的利器 第二章:LaTeX 下载安装保姆级教程 第三章:LaTeX 创建工程并生成完整文档指南 第四章:LaTeX 表格制作全面指南

文章目录

系列文章目录

前言

一、​LaTeX 绘图工具概览

二、深入 TikZ 绘图语言

1.调用 TikZ 宏包

1.1 TikZ 坐标与路径

2. 在图形中添加元素​

3. 绘制复杂图形示例

绘制流程图​

绘制数学图形(如函数图像组合)

绘制复杂几何图形(如立体几何图形)

4. 学习资源与技巧

官方文档与教程​

在线图形编辑器​

相关书籍与开源示例​

总结

前言

在学术写作和专业文档排版中,精美的图形往往能更直观地传达信息,增强内容的表现力。LaTeX 作为一款强大的排版系统,虽以其出色的文字和公式排版能力闻名,但在图形绘制方面同样不容小觑。本文将深入探讨如何利用 LaTeX 绘制各种复杂图形,为您的文档增添光彩。

一、​LaTeX 绘图工具概览

LaTeX 自身提供了原始的picture环境,可用于绘制一些基本图形,如点、线、矩形、圆和 Bezier 曲线等。然而,由于 LaTeX 本身的限制,其绘图功能较为有限,效果也不尽如人意。随着需求的不断增加,众多功能强大的绘图宏包应运而生,极大地丰富了 LaTeX 的绘图能力。以下是当前较为流行的几种绘图宏包和程序:​

PSTricks:基于 PostScript 语法的绘图宏包,绘图能力出色。它对老式的latex+dvips编译命令支持最佳,但在现代的几种编译命令下使用不太方便。​

TikZ & pgf:德国的 Till Tantau 教授在开发著名的 LaTeX 幻灯片文档类beamer时,一并开发了绘图宏包pgf,旨在使其能在pdflatex或xelatex等不同编译命令下使用。TikZ是在pgf基础上封装的宏包,采用类似 METAPOST 的语法,提供了便捷的绘图命令,绘图能力不逊于 PSTricks。​

METAPOST & Asymptote:METAPOST 脱胎于高纳德为 TEX 配套开发的字体生成程序 METAFONT,绘图能力卓越,且能调用 TEX 引擎向图片中插入文字和公式。Asymptote 在 METAFONT 的基础上更进一步,具备一定类似 C 语言的编程能力,支持三维图像的绘制。

​ 这些工具通常既可以作为独立程序,将代码写在单独文件中编译生成图片供 LaTeX 引用,也能借助特殊宏包在 LaTeX 代码中直接使用。接下来,我们将重点介绍功能强大且应用广泛的 TikZ 宏包的使用方法。

二、深入 TikZ 绘图语言

1.调用 TikZ 宏包

在 LaTeX 文档的导言区加载 TikZ 宏包,只需加入\usepackage{tikz}语句,即可开启 TikZ 强大的绘图功能。

1.1 TikZ 坐标与路径

坐标系统:TikZ 支持直角坐标系和极坐标系描述点的位置。在直角坐标下,点的位置表示为(x,y),其中x和y坐标可以使用 LaTeX 支持的任意单位,默认单位为cm。例如,(2,3)表示横坐标为 2cm,纵坐标为 3cm 的点。极坐标下,点的位置写作(θ:r),其中θ为极角,单位是度,r为极径。比如,(30:5)表示极角为 30 度,极径为 5cm 的点。我们还可以为点命名,方便后续使用,如\coordinate (A) at (2,3);,之后就可以用(A)来表示该点位置。​

基本路径:TikZ 最基本的路径是两点之间的连线,通过(x1,y1) – (x2,y2)表示,可连续使用表示折线。例如,(0,0) – (1,1) – (2,0)将绘制一条从(0,0)到(1,1)再到(2,0)的折线。若要绘制闭合路径,可在路径末尾使用cycle关键字,如(0,0) – (1,1) – (2,0) cycle将绘制一个三角形。​

其他常用路径​

矩形、圆和椭圆:绘制矩形使用(x1,y1) rectangle (x2,y2),其中(x1,y1)和(x2,y2)分别为矩形对角顶点的坐标。绘制圆使用(x,y) circle (radius=r),(x,y)为圆心坐标,r为半径。绘制椭圆使用(x,y) ellipse (x radius=rx, y radius=ry),(x,y)为椭圆中心坐标,rx和ry分别为椭圆在 x 轴和 y 轴方向上的半径。 例如:

直角、圆弧、椭圆弧:直角可通过特殊的坐标表示和路径绘制实现。绘制圆弧使用(x,y) arc (start angle:end angle:radius),(x,y)为圆心坐标,start angle和end angle分别为圆弧的起始角度和结束角度,radius为半径。椭圆弧的绘制类似,需指定椭圆的 x 半径和 y 半径。例如: -

正弦、余弦曲线(1/4 周期):可通过\draw plot[domain=x1:x2,samples=n] function来绘制,其中domain指定函数定义域,samples指定采样点数,function为具体的函数表达式。例如,绘制 1/4 周期的正弦曲线:

抛物线:使用(x1,y1) parabola (x2,y2)绘制抛物线,也可通过bend关键字控制顶点位置,如(x1,y1) parabola bend (x_mid,y_mid) (x2,y2)。例如:

二次和三次 Bezier 曲线:二次 Bezier 曲线使用\draw (x1,y1)… controls (x_ctrl,y_ctrl)… (x2,y2),其中(x_ctrl,y_ctrl)为控制点坐标。三次 Bezier 曲线则需要两个控制点,语法为\draw (x1,y1)… controls (x_ctrl1,y_ctrl1) and (x_ctrl2,y_ctrl2)… (x2,y2)。例如:

网格、函数图像:绘制网格可使用\draw[step=step_size] (x1,y1) grid (x2,y2),step_size为网格间距。绘制函数图像同样使用\draw plot命令,通过domain参数精确控制定义域。例如: -

2. 在图形中添加元素​

绘制线条与形状:使用\draw命令绘制各种线条和形状,可通过在命令中添加选项来设置线条颜色、粗细、样式(如实线、虚线、点线等)。例如,绘制一条红色粗虚线:\draw[red, thick, dashed] (0,0) – (2,2);。​

添加节点(文字和符号):节点用于在图形中添加文字、符号或其他元素。使用\node[options] {text} at (x,y);命令,options可设置节点的位置(如above、below、left、right等)、颜色、字体等属性。例如,在点(1,1)处添加一个蓝色、位于上方的节点:\node[blue, above] {示例} at (1,1);。​

填充形状:对于封闭形状,可使用\fill[color] path;命令进行填充。例如,填充一个绿色的矩形:\fill[green] (0,0) rectangle (1,1);。

3. 绘制复杂图形示例

绘制流程图​

流程图在学术和工作中广泛应用,用于展示流程、步骤和逻辑关系。使用 TikZ 绘制流程图时,可通过定义不同形状的节点(如矩形表示步骤,菱形表示判断等),并使用带箭头的线条连接节点来实现。

\begin{

tikzpicture}[node distance=2cm,

startstop/.style={

rectangle, rounded corners, minimum width=3cm, minimum height=1cm,text centered, draw=black, fill=red!30},

process/.style={

rectangle, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=blue!30},

decision/.style={

diamond, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=green

最新发表
友情链接