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}

ここに画像の説明を入力してください

関連情報