TIkZ:适合剪切节点

TIkZ:适合剪切节点

我想使用该fit选项绘制一个包含多个形状的框。但是当一些形状被剪裁时,fit仍然会将整个形状纳入其中。

这是一个最小的工作示例。

\documentclass{standalone}
\usepackage{tikz}

\usetikzlibrary{fit,positioning}

\begin{document}
\begin{tikzpicture}
    \begin{scope}
        \clip (-1cm, -1cm) rectangle ++(1cm, 2cm);
        \node [draw, circle, minimum size=2cm] (A) {};
    \end{scope}
    \begin{scope}[xshift=1cm]
        \clip (-1cm, -1cm) rectangle ++(1cm, 2cm);
        \node [draw, circle, minimum size=2cm] (B) {};
    \end{scope}
    \node [draw=blue, line width=1mm, inner sep=1mm, rectangle, fit=(A) (B)] {};
\end{tikzpicture}
\end{document}

结果如下。

适合的矩形不会忽略剪掉的部分。

有没有办法可以更好地适应我的体型?

由于这些scope环境是自动生成的(带有append after command选项),因此我希望它们尽可能保持相似。除此之外,我会采取任何解决方案。

答案1

只需适合B.center

\node [draw=blue, line width=1mm, inner sep=1mm, rectangle, fit=(A) (B.center)] {};

代码:

\documentclass{standalone}
\usepackage{tikz}

\usetikzlibrary{fit,positioning}

\begin{document}
\begin{tikzpicture}
    \begin{scope}
        \clip (-1cm, -1cm) rectangle ++(1cm, 2cm);
        \node [draw, circle, minimum size=2cm] (A) {};
    \end{scope}
    \begin{scope}[xshift=1cm]
        \clip (-1cm, -1cm) rectangle ++(1cm, 2cm);
        \node [draw, circle, minimum size=2cm] (B) {};
    \end{scope}
    \node [draw=blue, line width=1mm, inner sep=1mm, rectangle, fit=(A) (B.center)] {};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容