
решение1
Это ли подразумевается под "вертикальным выравниванием"? Сделать вертикальную протяженность двух символов одинаковой (т.е. вертикальное выравнивание?).
\documentclass{scrartcl}
\usepackage{amssymb,scalerel,verbatimbox}
\def\mybullet{\scalerel*{\addvbuffer[-.15pt -.6pt]{$\bullet$}}{\blacksquare}}
\begin{document}
$\mybullet \blacksquare$
\end{document}
Обрезает \addvbuffer
маркер сверху и снизу до чего-то, сопоставимого с квадратом. Затем масштабы \scalerel*
обрезаются \bullet
до той же вертикальной протяженности, что и \blacksquare
. Ниже я показываю глифы, окруженные \fbox
:
\documentclass{scrartcl}
\usepackage{amssymb,scalerel,verbatimbox}
\def\mybullet{\scalerel*{\addvbuffer[-.15pt -.6pt]{$\bullet$}}{\blacksquare}}
\begin{document}
\fboxrule=.1pt
\fboxsep=-\fboxrule\relax
\fbox{$\mybullet$} \fbox{$\blacksquare$}
\end{document}
решение2
Это хорошо для Computer Modern; конечно, это зависит от размера маркера в шрифте.
\documentclass{article}
\DeclareRobustCommand{\textsquarebullet}{%
\makebox[.5em]{\vrule height 1.05ex depth -.15ex width 0.9ex}%
}
\begin{document}
\textbullet\textsquarebullet
\textsquarebullet\textbullet
\end{document}