Возможно ли создать текст на основе Tikz?

Возможно ли создать текст на основе Tikz?

На одном из своих графиков Tikz я создал простой круг, залитый красным цветом:

\addplot [mark=*, mark size=3, mark options={solid, fill=red}] coordinates {
(1.25, 0) };

Теперь я хотел бы сослаться на этот круг в тексте, поэтому мне стало интересно, возможно ли создать команду, которая при встраивании в текст воспроизводила бы тот же круг.

РЕДАКТИРОВАТЬ

Возможное решение почти работает в подписи к рисунку:

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

решение1

Круг также можно нарисовать в TikZ; plotтакже принимаются markварианты:

\documentclass{article}
\usepackage{tikz}
\newcommand*{\RedCircle}{}
\DeclareRobustCommand*{\RedCircle}{%
  \tikz\path plot[
    mark=*,
    mark size=3,
    mark options={solid, fill=red},
  ] coordinates {(0, 0)};%
}
\begin{document}
Circle: \RedCircle
\end{document}

Результат

Вертикальное центрирование вокруг математической оси

Центрированный символ лучше вписывается в скобки.

\documentclass{article}
\usepackage{tikz}
\newcommand*{\RedCircle}{}
\DeclareRobustCommand*{\RedCircle}{%
  \ensuremath{\vcenter{\hbox{%
    \tikz\path plot[
      mark=*,
      mark size=3,
      mark options={solid, fill=red},
    ] coordinates {(0, 0)};%
  }}}%
}
\begin{document}
Circle (\RedCircle)
\end{document}

Результат

Коррекция ограничивающей рамки

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

\documentclass{article}
\usepackage{tikz}
\newcommand*{\RedCircle}{}
\DeclareRobustCommand*{\RedCircle}{%
  \ensuremath{\vcenter{\hbox{%
    \setlength{\fboxsep}{.21pt}%
    % 0.2pt (half line width)
    % + 0.01pt to get some rounding tolerance
    \setlength{\fboxrule}{0pt}%
    \fbox{%
      \tikz\path plot[
        mark=*,
        mark size=3,
        mark options={solid, fill=red, draw=black},
      ] coordinates {(0, 0)};%
    }%
  }}}%
}
\begin{document}
% Show bounding box:
\setlength{\fboxsep}{0pt}
\setlength{\fboxrule}{.1pt}
(\textcolor{cyan}{\fbox{\RedCircle}})
\end{document}

Добавляем поле внутри TikZ (возможно, изображение обрезается при выносе):

\documentclass{article}
\usepackage{tikz}
\newcommand*{\RedCircle}{}
\DeclareRobustCommand*{\RedCircle}{%
  \ensuremath{\vcenter{\hbox{%
    \def\BoundingBoxCorrection{.55\pgflinewidth}%
    % .5\pgflinewidth: half the line width, forgotten by TikZ
    % .05\pgflinewidth: some tolerance for rounding errors
    \tikz\path plot[
        mark=*,
        mark size=3,
        mark options={solid, fill=red, draw=black},
      ] coordinates {(0, 0)}
      (current bounding box.south west)
      ++(-\BoundingBoxCorrection, -\BoundingBoxCorrection)
      (current bounding box.north east)
      ++(\BoundingBoxCorrection, \BoundingBoxCorrection)
    ;%
  }}}%
}
\begin{document}
% Show bounding box:
\setlength{\fboxsep}{0pt}
\setlength{\fboxrule}{.1pt}
(\textcolor{cyan}{\fbox{\RedCircle}})
\end{document}

Результат

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