取得\繪製長方形、圓形等的北/西南/等

取得\繪製長方形、圓形等的北/西南/等

假設我使用以下函數繪製了一個矩形\draw

\begin{tikzpicture}
  \draw (0,0) rectangle (1,1);
\endtikzpicture}

訪問該路徑的邊界框的「主邊」(北、西北、西等)的正確方法是什麼(注意它也可以是圓形、平滑的貝塞爾曲線等)?理想情況下我想做類似的事情:

\begin{tikzpicture}
  \draw[name=foo] (0,0) rectangle (1,1);
  \node[left=1cm of foo.east] {bar};
\endtikzpicture}

答案1

感謝薛丁格的貓,您可以使用local bounding box來定義並使用它來存取所需的座標:

在此輸入影像描述

這允許繪製其他東西(在本例中為圓圈),並且實際邊界框保持完整(以藍色繪製)。

代碼:

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
  \draw (1,1) circle (0.5cm);
  
  \begin{scope}[local bounding box=MyRectangle]
      \draw (0,0) rectangle (1,1);
  \end{scope}
  
  \draw [red, thick] (MyRectangle.south west) -- (MyRectangle.north east);
  
  \draw [blue] (current bounding box.south west) rectangle (current bounding box.north east);
\end{tikzpicture}%
\end{document}

答案2

outer sep=0pt您可以只使用帶有和 適當的minimum width和 的節點minimum height。預設形狀是rectangle

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
  \path (0,0) node[draw,minimum width=1cm,minimum height=1cm,anchor=south
  west,outer sep=0pt](foo){};
  \draw[dashed,red] (0,0) rectangle (1,1);
  \node[left=1cm of foo.east] {bar};
\end{tikzpicture}
\end{document}

在此輸入影像描述

紅色破折號僅表示路徑重合。如果是正方形,也可以使用minimum size。類似的陳述適用於圓形等。圖書館shapes.geometric有幾種幾何形狀,還有其他shapes圖書館。

相關內容