решение1
Почему бы не j?
\documentclass{article}
\usepackage{amsmath}
\usepackage{l3draw}
\makeatletter
\NewDocumentCommand{\iheart}{}{\mathord{\mathpalette\iheart@{\imath{7}{1}}}}
\NewDocumentCommand{\jheart}{}{\mathord{\mathpalette\iheart@{\jmath{12}{2}}}}
\newcommand{\iheart@}[2]{\iheart@@#1#2}
\newcommand{\iheart@@}[4]{%
\vbox{\m@th\offinterlineskip
\sbox\z@{$\mkern1mu$}%
\ialign{##\cr\hidewidth\smallheart@{#1}{#3}\hidewidth\cr\noalign{\kern\wd\z@}\cr$#1#2$\cr}%
}%
\mkern#4mu
}
\ExplSyntaxOn
\cs_new_protected:Npn \smallheart@ #1 #2
{
\draw_begin:
\draw_transform_matrix_absolute:nnnn { 0.4 } { 0 } { 0.2 } { 0.3 }
\draw_path_moveto:n { 0cm, 0cm }
\hbox_set:Nn \l_tmpa_box { \boldmath$#1\mkern#2mu\heartsuit$ }
\draw_box_use:N \l_tmpa_box
\draw_end:
}
\ExplSyntaxOff
\makeatother
\begin{document}
$2\pi\iheart_{\jheart}+\jheart$
\end{document}
Как работают макросы? Сначала немного трюков с mathpalette, чтобы иметь четыре аргумента:
- текущий математический стиль, как обычно
- письмо должно быть набрано, поэтому либо
\imath
и\jmath
- (математический) керн перед сердцем
- математический керн после комбинации, чтобы компенсировать выпячивание сердца, которое не принимается во внимание из-за
\hidewidth
Я делаю внутри него \vbox
то \ialign
, что переворачивает сердце до последней буквы.
Наконец, сердце — это жирный шрифт \heartsuit
в подходящем математическом стиле, подвергаемый аффинному преобразованию, которое применяет сокращение и сдвиг.
Возможно, необходимо провести еще несколько экспериментов для различных параметров.