
我想使用該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}