帮助创建简单图表

帮助创建简单图表

我想要创建一个如下所示的小图表:

在此处输入图片描述

$\implies$(双线箭头)表示箭头。如果可能的话,我希望能够在箭头上写东西。

我该怎么做?我以前从未使用过乳胶来创建图表!

答案1

您正在寻找的是 TikZ 包(https://www.ctan.org/pkg/pgf)。它已成为 LaTeX 中事实上的标准绘图工具。你给出的图片可以写成

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}

\node at (0, 0) (a) {(a)};
\node at (2, 0) (b) {(b)};
\node at (4, 0) (c) {(c)};

\draw [double, ->, bend right, auto, swap] (a) to node {label 1} (b);
\draw [double, ->, bend right, auto, swap] (b) to node {label 2} (a);
\draw [double, ->, auto] (c) to node {label 3} (b);

\end{tikzpicture}
\end{document}

并将呈现为在此处输入图片描述

现在,这里发生了什么?您可以考虑要tikzpicture在其上进行绘制的画布。这三个命令分别在给定的坐标、和\node处在画布上创建点(第一个数字是从左到右的水平坐标,第二个数字是从下到上的垂直坐标)。为了便于以后参考,这些点分别称为、和,并以此方式绘制,带有括号。(0, 0)(2, 0)(4, 0)abc

命令\draw负责绘制箭头。我们暂时忽略选项,假设命令是\draw (c) to node {label 3} (b)。这将从我们调用的点到点绘制一条线cb为了标记这条线,我们使用临时创建另一个节点node {label 3},其中括号中的内容是要出现在该线旁边的文本。

该命令的选项\draw执行以下操作:

  • double绘制两条线而不是一条线,使它们看起来像“暗示”箭头,正如您所要求的那样。
  • ->指定箭头的尖端。即,开头没有尖端(直线-,结尾有箭头尖端 )>
  • bend right表示曲率。bend left也是可能的。请注意,两个箭头都向右弯曲。
  • auto巧妙地定位行的标签。尝试编译示例而不使用选项:标签将被写入而不是紧挨着线。
  • swap控制标签是否出现在行的左侧或右侧。如果两条线都没有此swap选项,则标签将设置在行之间,并且行与行之间的间距很小。试试看!

TikZ 是一款功能强大的软件包。在学习使用它时,你一定要遵循软件包作者的邀请,按照一开始的教程进行操作。

答案2

简短的代码如下tikz-cd

\documentclass[border=3pt]{standalone}
\usepackage{tikz-cd, amsmath}

\begin{document}\begin{tikzcd}
(a) \rar[Rightarrow, bend right, "f"] & \lar[Rightarrow, bend right, swap, " g"] (b) & \lar[Rightarrow, swap, " h "](c)
\end{tikzcd}

\end{document} 

在此处输入图片描述

相关内容