Похоже, у вас не получается рисовать очень маленькие фигуры TikZ?

Похоже, у вас не получается рисовать очень маленькие фигуры TikZ?

Я пытаюсь рисовать маленькие этикетки, соответствующие кругам, или хотя бы пропорциональные им. Но я просто не могу сделать их меньше, чем эти, по какой-то причине:

Пример

Я понимаю, что существуют физические ограничения размеров вещей, но мне кажется, что они должны быть меньше, чем на этой картинке.

Вот код:

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{shapes.geometric}

\newlength{\step}

\tikzset{
  buffer/.style={
    draw,
    shape border rotate=0,
    regular polygon,
    regular polygon sides=3,
    fill=red,
    node distance=1pt,
    minimum height=1pt
  }
}

\begin{document}
  \begin{tikzpicture}
    \setlength{\step}{\dimexpr 10cm / 18 \relax}

    \draw[step=\step] (0, 0) grid (10, 10);

    \draw[draw = white, fill = black, line width = 0.1mm]
      (2 * \step, 3 * \step)
      circle [radius = 0.2575cm]
      node[color = white, font={\fontsize{0.1pt}{12}\selectfont}] {1};
    \draw[draw = black, fill = white, line width = 0.1mm]
      (3 * \step, 3 * \step)
      circle [radius = 0.2575cm]
      node[color = black] {2};
    \draw[draw = white, fill = black, line width = 0.1mm]
      (4 * \step, 3 * \step)
      circle [radius = 0.2575cm];
    \draw (3 * \step, 3 * \step) node[
      minimum size=1pt,
      draw] {};
    \draw node[buffer] at (4 * \step, 3 * \step) {};
  \end{tikzpicture}
\end{document}

И, кстати, почему фигуры TikZ установлены с minimum size? Разве не должно быть maximum sizeas well? Почему не just sizeas well?

решение1

  • Между содержимым узла и нарисованной вокруг него фигурой есть некоторый отступ. Вы можете настроить его, изменив inner sepпараметр

  • Если вы хотите использовать шрифты экстремальных размеров (как маленькие, так и большие), часто проще использовать масштабируемый шрифт, например, загрузив lmodernпакет


\documentclass[border=0.2cm]{standalone}

\usepackage{tikz}
\usetikzlibrary{shapes.geometric}

\tikzset{
  buffer/.style={
    draw,
    shape border rotate=0,
    regular polygon,
    regular polygon sides=3,
    fill=red,
    node distance=1pt,
    minimum height=1pt
  }
}

\usepackage{lmodern}

\begin{document}
  \begin{tikzpicture}[inner sep=0pt]
    \node[fill=black,font={\fontsize{0.1}{12}\selectfont}] at (0,0) {1};
    \node[draw] at (1,0) {};
    \node[buffer] at (2,0) {};
  \end{tikzpicture}
\end{document}

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

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