I just wanted to share this approach. The items are stacked to achieve the desired effect, and the \ThisStyle{...\SavedStyle...}
macro of the scalerel
package will automatically import the current mathstyle into the macro, into places where the mathstyle would otherwise be lost.
The length \LMpt
is a length unit, used inside of the \ThisStyle
argument, which is 1pt in \textstyle
and \displaystyle
, but scales to 0.7pt in \scriptstyle
, and 0.5pt in \scriptscriptstyle
, so that the relative stacking lengths remain proportional
\documentclass{article}
\usepackage{stackengine}
\usepackage{scalerel}[2014/03/10]
\def\specsym{\ThisStyle{\stackon[-1\LMpt]{$\SavedStyle\downarrow$}{$\SavedStyle\bullet$}}}
\begin{document}
This is the symbol: \specsym,
$\specsym$ $\scriptstyle\specsym$ $\scriptscriptstyle\specsym$
\end{document}

One could embrace the macro in a \mathord
if one desired to use it exclusively in math mode (thanks, egreg).
Thanks also to azetina who, in his answer, makes a good point regarding the use of stackengine
. A syntax such as
\stackon[-1\LMpt]{$\SavedStyle\downarrow$}{$\SavedStyle\bullet$}
is easy to visualize and explain. Its drawback is that if you use stacks for other functions in your document, this syntax could be inadvertently affected by the setting of various stackengine
defaults, like alignment, etc. One way to avoid this problem is to specify the macro in terms of \stackengine
, which is not affected by the changing of package defaults. In the current case, that would mean a more obtuse, but also more protected syntax:
\stackengine{-1\LMpt}{$\SavedStyle\downarrow$}{$\SavedStyle\bullet$}{O}{c}{F}{F}{S}