节点中的表格,边缘不接触表格

节点中的表格,边缘不接触表格

我想为课程绘制 MPM 图。我使用了 tikz,并将节点的文本定义为表格。一切都很好,除了一件事:弧线没有接触表格的边框。我想这与 LaTeX 在表格周围添加了一些额外空间有关,但我相信你们中有人会帮助我找到如何删除这个额外空间 :-)

这是说明我的问题的代码部分:

\documentclass{article}
\usepackage{tikz}
\begin{document}
  \begin{center}
    \begin{tikzpicture}
      \node (A) at (0,0) {
        \begin{tabular}{|c|c|}
          \hline
          \multicolumn{2}{|c|}{\textbf{A\ (2)}} \\
          \hline
          $0$ & $0$ \\
          \hline
          $0$ & $0$ \\
          \hline
        \end{tabular}};
      \node (B) at (3,2) {
        \begin{tabular}{|c|c|}
          \hline
          \multicolumn{2}{|c|}{\textbf{B\ (3)}} \\
          \hline
          $2$ & $3$ \\
          \hline
          $1$ & $0$ \\
          \hline
        \end{tabular}};
      \draw[->,>=latex,thick] (A) -- (B);
    \end{tikzpicture}
  \end{center}
\end{document}

谢谢你的帮助。也许我做错了……

答案1

这是使用图片减少代码重复的一种方法 - 请参阅 tikz 手册(版本 3.0.1a)的第 18.2 节。

\documentclass{article}
\usepackage{tikz}
\tikzset{
  pics/table/.style args={#1,#2,#3,#4,#5,#6}{
    code = {
      \node[inner sep=0pt] (#1) at (0,0) {
        \begin{tabular}{|c|c|}
          \hline
          \multicolumn{2}{|c|}{\textbf{#1 (#2)}} \\
          \hline
          $#3$ & $#4$ \\
          \hline
          $#5$ & $#6$ \\
          \hline
        \end{tabular}};
    }
  }
}
\begin{document}

  \begin{tikzpicture}
    \pic at (0,0) {table={A,2,0,0,0,0}};
    \pic at (3,2) {table={B,3,2,3,1,0}};
    \draw[->,>=latex,thick] (A.north east) -- (B.south west);
  \end{tikzpicture}

\end{document}

...输出如下:

在此处输入图片描述

相关内容