答案1
欢迎来到 TeX.SE!您可以使用fit
Ti钾Z 库通过将两个要装箱的节点和fit=(A1) (A2)
作为选项传递来实现。由于允许在 Ti 时传递标记的语法,可以在矩阵中完成别名node
A1
A2
tikz-cd
|...|
钾自动构建 Z 矩阵节点。一旦相关节点被赋予方便的别名,就可以通过样式进行最终绘图/tikz/execute at end picture
。
\documentclass[tikz, border=2mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{cd, fit}
\begin{document}
\begin{tikzcd}[
column sep=small, row sep=small,
/tikz/execute at end picture={
\node (large) [rectangle, draw, fit=(A1) (A2)] {};
\draw[->] (large) -- (A3);
}]
& |[alias=A3]| a_3 & \\[5ex]
|[alias=A1]| a_1 \arrow[rr] & & |[alias=A2]| a_2 \arrow[ll, shift left]
\end{tikzcd}
\end{document}
答案2
使用普通的 TikZ 和fit
库:
\documentclass[tikz, border=2mm]{standalone}
\usetikzlibrary{fit}
\begin{document}
\begin{tikzpicture}
\path
(-1,0) node (a1) {$a_1$}
(1,0) node (a2) {$a_2$}
(0,1.5) node (a3) {$a_3$};
\node[draw,fit=(a1) (a2)] (a12) {};
\draw[->] (a12)--(a3);
\draw[->] (a1.15)--(a2.165);
\draw[<-] (a1.-15)--(a2.-165);
\end{tikzpicture}
\end{document}