Единицы «минимального размера» при рисовании именованного прямоугольника в TikZ

Единицы «минимального размера» при рисовании именованного прямоугольника в TikZ

При рисовании прямоугольника с использованием \nodeи minimum width/heightразмер полученного прямоугольника отличается от нарисованного с \draw … rectangle …. Мне нужно \node, чтобы я мог ссылаться на него по имени.

Я понимаю, что я могу исправить это, добавив единицы измерения ко всем размерам (10 мм, 15 мм), но я пытаюсь понять, почему это не работает без. Я предполагал, что единицы измерения по умолчанию — <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(см.Руководство по эксплуатации ПФГстр. 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}

введите описание изображения здесь

Связанный контент