以方程形式显示的图表

以方程形式显示的图表

在此处输入图片描述

抱歉,问这样直接的问题,但是:您怎样才能做到这一点?

它的用法复杂吗align?它真的是和方程式(数学模式)吗?

答案1

如果您使用 TikZ 绘制图表,则可以将其tikzpicture放入equation环境中。我相信同样的事情也适用于 xy。


我猜你真正想问的是如何绘制交换图。这是使用 TikZ 的一种方法。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}

\begin{document}
\begin{equation}
\begin{tikzpicture}[baseline=-0.8ex]
    \matrix (m) [
            matrix of math nodes,
            row sep=2em,
            column sep=4em,
            text height=1.5ex, text depth=0.25ex
            ] {
        x      & x'      \\
        \hat x & \hat x' \\
        };
    \path[->]
        (m-1-1) edge node[above] {$L$} (m-1-2)
        (m-2-1) edge node[left]  {$T$} (m-1-1)
        (m-2-2) edge node[right] {$T$} (m-1-2)
        (m-2-1) edge node[below] {$R$} (m-2-2);
\end{tikzpicture}   
\end{equation}
\end{document}

结果

让我们稍微分析一下:

  • 要使用 TikZ 绘制图片,我们需要使用tikzpicture环境。此环境可以在数学模式下毫无问题地使用。
  • 在图中我们首先用交换图的顶点定义一个矩阵(使用\matrix)。然后我们画出箭头并标记它们(使用\path)。
  • 对于矩阵,我们给出一个名称(m)和几个选项(方括号中的部分)。然后我们像在该名称的数学命令中一样定义矩阵(除了最后一行以 结束很重要\\)。选项执行以下操作:
    • matrix of math nodes告诉 TikZ 在数学模式下解释实际矩阵中的代码(如果没有它,TikZ 将希望在矩阵中获取绘图命令)。
    • row sepcolumn sep设置行/列之间的间距。
    • text heighttext depth设置该值。这对于 TikZ 找出每个单元格的中心位置很有用(否则它只会将它们置于表观中心,而 的中心位置低于 的中心xx'
  • 通常人们使用\drawTikZ 来绘制东西,但在这种情况下\path效果更好
    • 告诉->TikZ 绘制箭头而不是普通线条。
    • (m-i-j)访问矩阵的单元(像数学中那样标记)。
    • 用 插入一行(start position) edge (end position)
    • 我们想给箭头添加标签。为此,我们使用语法node。它在边的中间(或上方、下方……,取决于选项)插入一个节点(=标签),其中的文本用花括号括起来。
  • 每个绘图命令必须以分号结束;
  • 默认情况下,TeX 将图像放在基线之上。我们不希望这样,因为这样的话,方程计数器“(1)”就不会居中。我们使用该baseline选项来告诉 TikZ 周围文本的基线相对于其内部坐标系的位置。由于我们没有指定矩阵的位置,它的中心在 TikZ 的内部坐标系中位于 (0,0)。因此baseline=0将矩阵置于文本/方程基线的中心附近。这比较好,但仍然不是我们想要的,因为我们希望中心位于中心线上,即在 1 的中间高度上。因此我们将其向上移动 0.8ex,这相当于告诉 TikZ 基线应该在 0 以下 0.8ex 处。

  • 正如 egreg 指出的那样,对于居中,也可以使用gatheredfromamsmath而不是基线偏移。

有关 TikZ 的更多信息,请参阅它的手册。关于使用 TikZ 制作交换图的一个很好的介绍是”使用 TikZ 的交换图”

答案2

使用 Xy-pic 很容易

\usepackage{amsmath}
\usepackage[all,cmtip]{xypic}
\xyoption{pdf} % for pdflatex
...
\begin{document}
...
\begin{equation}\label{commdiag}
\begin{gathered}
\xymatrix{
  \mathbf{x} \ar[r]^{\mathbf{L}} & \mathbf{x}' \\
  \hat{\mathbf{x}} \ar[r]_{\mathbf{R}} \ar[u]^{\mathbf{T}} &
  \hat{\mathbf{x}}' \ar[u]_{\mathbf{T}}
}
\end{gathered}
\end{equation}

环境gathered用于正确居中方程编号。如果您确实需要更长的水平箭头,请编写类似 的内容\xymatrix@C+12pt来代替\xymatrix+12pt是额外的长度)。

答案3

我想和大家分享一个用eplain制作的交换图:

\input eplain
\noindent Such a transformation can be represented by the commuting diagram
$$
  \varrowlength=1cm % Vertical arrow length
  \harrowlength=3cm % Horizontal arrow length
  \commdiag{
    x & \mapright^L & x' \cr
    \mapup\lft T & & \mapup\rt T \cr
    \hat x & \mapright_R & \hat x' \cr
  }
  \eqno(1.6.4)
$$
It must be pointed out that the concept of conjucation or matrices is of \dots
\bye

在此处输入图片描述

相关内容