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}

在此輸入影像描述

相關內容