The trick is to define `inner sep=0pt`

when beginning the tikzpicture environment, as I learned from pgf bug report #172 minimum size in regular polygon fails for small length from last year. Here is a minimum working example, adapted to my use case of inline polygon symbols with roughly text height, i.e. `2ex`

in my case:

[code lang=”latex”]

\documentclass{article}

\usepackage{tikz}

\usetikzlibrary{shapes}

\newcommand{\poly}[2]{\tikz[inner sep=0pt] {%

\node[regular polygon,%

regular polygon sides=#1,%

regular polygon rotate=#2,%

minimum size=2ex, fill] (0,0) {};}}

\begin{document}

Triangle upwards \poly{3}{0},

triangle downward \poly{3}{180}

and diamond \poly{4}{45}.

\end{document}

[/code]

This snippet yields the following result: