我想为课程绘制 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}
...输出如下: