在 xymatrix 中为对象分组的框添加填充

在 xymatrix 中为对象分组的框添加填充

我有一个集群,其中的对象都是项目符号。我想将一些项目符号分组,如下所示。

enter image description here

不知何故,盒子的边缘正好位于子弹上。这是我的代码

   \[
     \xymatrix@C=1cm@R=1cm{
       *={\bullet}\ar@{-}[r]&*={\bullet}\ar@{-}[r]&*={\bullet}\ar@{-}[r]\ar@{-}[d]&*={\bullet}
       \save "1,1"."2,3"*[F.]\frm{}\\
       *={\bullet}\ar@{-}[r]&*={\bullet}\ar@{-}[r]&*={\bullet}\ar@{-}[r]&*={\bullet}
     \restore}%
   \]

得到下面的图像。

enter image description here

我只需要在框内插入填充。或者如果有人知道使用 xymatrix 绘制它的另一种方法也很好。

先感谢您。

答案1

您可以使用

\save "1,1"."2,3"*+<1pc>!<.5pc,-.5pc>\frm{.}

保存位置后,矩形的尺寸在1pc底部和右侧增加,然后.5pc垂直和水平移动,使其位于原始材料的中心。您不需要额外的命令[F.],就\frm{.}足够了。

Sample output

\documentclass{article}

\usepackage[all]{xy}

\begin{document}
\[
  \xymatrix@C=1cm@R=1cm@M=1pc{
  *={\bullet}\ar@{-}[r]&*={\bullet}\ar@{-}[r]&*={\bullet}\ar@{-}[r]\ar@{-}[d]
  &*={\bullet}
  \save "1,1"."2,3"*+<1pc>!<.5pc,-.5pc>\frm{.}\\
  *={\bullet}\ar@{-}[r]&*={\bullet}\ar@{-}[r]&*={\bullet}\ar@{-}[r]
  &*={\bullet}
  \restore}%
\]

\end{document}

答案2

使用 tikz....

enter image description here

\documentclass{article}



\usepackage{tikz}


\begin{document}
\begin{tikzpicture}
\foreach \y in {0,2}
 {
  \foreach \x in {0,2,4,6}  \fill (\x,\y) circle(1mm);
  \draw[very thick] (0,\y)--(6,\y);
}
\draw[very thick](4,0)--(4,2);
\draw[densely dotted, very thick] (-0.2,-0.2) rectangle (4.2,2.2);
\end{tikzpicture}
\end{document}

相关内容