TikZ에서 명명된 직사각형을 그릴 때 "최소 크기" 단위

TikZ에서 명명된 직사각형을 그릴 때 "최소 크기" 단위

\node및 를 사용하여 직사각형을 그리는 경우 minimum width/height결과 직사각형의 크기는 로 그린 직사각형과 다릅니다 \draw … rectangle …. \node이름으로 참조할 수 있도록 이 필요합니다 .

모든 크기(10mm, 15mm)에 단위를 추가하면 이 문제를 해결할 수 있다는 것을 이해하지만, 이 단위 없이는 작동하지 않는 이유를 이해하려고 노력하고 있습니다. 나는 기본 단위가 <dimension>포인트라고 가정했습니다.

\documentclass[border=0.2cm]{standalone}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}[x = 1mm, y = 1mm]

  %% named rectangle with minimum size of 10x15.
  \node[%
  minimum width = 10,
  minimum height = 15,
  draw = blue
  ]
  (rect) at (0,0) {};

  %% unnamed rectangle with size of 10x15.
  \draw [red] (0,0) rectangle  ++(10, 15);
\end{tikzpicture}

\end{document}

답변1

이는 다음의 변환과 관련이 있습니다 tikz(참조:PFG 매뉴얼373페이지). 한 단락에서는 다음과 같이 명시적으로 말합니다.

좌표 변환의 가장 중요한 측면은 [...] 좌표에만 적용된다는 것입니다!

노드 치수는 변환의 영향을 받지 않으며 기본 단위는 입니다 pt. 차원이 mm사용된 것처럼 작동하도록 하려면 영향을 받는 모든 노드에 scale및 옵션을 추가하거나 글로벌 옵션을 사용하십시오. transform shape아래 예를 참조하세요.

\documentclass[border=0.2cm]{standalone}
\usepackage{tikz}

\tikzset{
    x = 1mm, y = 1mm,
    every node/.style = {
        transform shape,
        scale = 2.84,   % Converts mm to pt by the factor 72.27/25.4
    },
}

\begin{document}
\begin{tikzpicture}
  %% named rectangle with minimum size of 10x15.
  \node[%
    minimum width = 10,
    minimum height = 15,
    draw = blue,
  ] (rect) at (0,0) {};
  %% unnamed rectangle with size of 10x15.
  \draw [red] (0,0) rectangle  ++(10, 15);
\end{tikzpicture}
\end{document}

여기에 이미지 설명을 입력하세요

관련 정보