Antwort1
Warum nicht auch 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}
Wie funktionieren die Makros? Zunächst ein paar Mathpalette-Tricks, um vier Argumente zu erhalten:
- der aktuelle Mathematikstil, wie gewohnt
- der zu setzende Buchstabe, also
\imath
entweder\jmath
- der (mathematische) Kern vor dem Herzen
- der mathematische Kern nach der Kombination, um den Vorsprung des Herzens auszugleichen, der nicht berücksichtigt wird, weil
\hidewidth
Ich mache darin ein \vbox
Loch , das das Herz über den Buchstaben legt.\ialign
Schließlich ist das Herz ein Fettdruck \heartsuit
im geeigneten mathematischen Stil, der einer affinen Transformation unterzogen wird, bei der Reduktion und Scherung angewendet werden.
Möglicherweise sind für die verschiedenen Parameter noch weitere Experimente erforderlich.