TIkZ: ajustar nós cortados

TIkZ: ajustar nós cortados

Gostaria de desenhar uma caixa que inclua várias formas usando a fitopção. Mas quando algumas formas são cortadas, fitainda ocupa toda a forma.

Aqui está um exemplo mínimo de trabalho.

\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}

E o resultado.

O retângulo ajustado não ignora a parte recortada.

Existe uma maneira de se ajustar melhor às minhas formas?

Como esses scopeambientes são gerados automaticamente (com uma append after commandopção), gostaria de mantê-los o mais semelhantes possível. Fora isso, eu aceitaria qualquer solução.

Responder1

Basta encaixar oB.center

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

Código:

\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}

insira a descrição da imagem aqui

informação relacionada