How to construct the following symbol (subset with arrows)?
Here's an attempt, magnified:
And here's the code that produced it. The arrowhead macros work by pulling the respective symbols directly from the LaTeX symbol fonts (lasy
). To learn more about \ooalign
and friends, see \subseteq + \circ as a single symbol ("open subset").
\documentclass{article}
\makeatletter
\newcommand{\rightarrowhead}{\mathrel{%
\hbox{\let\f@size\sf@size\usefont{U}{lasy}{m}{n}\symbol{41}}}}
\newcommand{\leftarrowhead}{\mathrel{%
\hbox{\let\f@size\sf@size\usefont{U}{lasy}{m}{n}\symbol{40}}}}
\makeatother
\newcommand\specialsubset{\mathrel{\ooalign{$\subset$\cr%
\hidewidth\raise.800ex\hbox{$\rightarrowhead\mkern1mu$}\cr%
\hidewidth\raise.800ex\hbox{$\rightarrowhead\mkern4mu$}\cr%
\hidewidth\raise-0.440ex\hbox{$\leftarrowhead\mkern2.75mu$}}}}
\begin{document}
$A \specialsubset B$
\end{document}
EDIT:
Note that the alignment of the arrowheads gets off when font sizes change; this might be due to imprecision of TeX arithmetic on the \raise
and \mkern
parameters. I am not sure. As the picture shows, though, this code works fine in the default font size. Even so, the misalignment really only becomes apparent when you're zoomed in on fontsize \Huge
.
Obligatory TikZ solution.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\usepackage{scalerel}
\makeatletter
\begingroup
\setbox\@tempboxa=\hbox{$\subset$}
\@tempdima=\dp\@tempboxa
\newbox\@sarabox
\global\setbox\@sarabox=\hbox{%
\begin{tikzpicture} [baseline=0pt, line cap=round]
\node (subset) at (0,-\@tempdima) [above left, inner sep=0pt, outer sep=0pt] {$\subset$};
\begin{pgfinterruptboundingbox}
\draw (-2.5pt,5.2pt) edge [arrows={-[length=1pt]>[sep]>}] +(1.5pt,0pt)
(-3pt,-.2pt) edge [arrows={[length=1pt]<-}] +(1.5pt,0pt);
\end{pgfinterruptboundingbox}
\end{tikzpicture}%
}
\global\ht\@sarabox=\ht\@tempboxa
\endgroup
\newcommand*\sara{\mathrel{\scalerel*{\usebox\@sarabox}{\subset}}}
\makeatother
\begin{document}
\(A \subset B\),
\(X_{A \subset B}\)
\(A \sara B\),
\(X_{A \sara B}\)
\end{document}
This has the advantage of being very adaptable. If you want to change the size of the arrow tips or make the symbol longer (as in your sample image), you just need to tweak some numbers. (Though some care with the bounding box is necessary for correct scaling.)