Как построить следующий символ (подмножество со стрелками)?

Как построить следующий символ (подмножество со стрелками)?

Как построить следующий символ?

введите описание изображения здесь

решение1

Вот попытка, увеличенная:

Специальное подмножество B

А вот код, который его создал. Макросы стрелок работают, вытягивая соответствующие символы прямо изШрифты символов LaTeX( lasy). Чтобы узнать больше о \ooalignдрузьях и , см.\subseteq + \circ как один символ («открытое подмножество»).

\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}

РЕДАКТИРОВАТЬ: Обратите внимание, что выравнивание стрелок сбивается при изменении размера шрифта; это может быть связано с неточностью арифметики TeX в параметрах \raiseи \mkern. Я не уверен. Однако, как показано на рисунке, этот код отлично работает при размере шрифта по умолчанию. Тем не менее, смещение действительно становится заметным только при увеличении fontsize \Huge.

решение2

Обязательное TiкZ-решение.

\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}

Выход МВЭ

Преимущество этого в том, что он очень адаптивен. Если вы хотите изменить размер кончиков стрелок или сделать символ длиннее (как на вашем образце изображения), вам просто нужно подправить некоторые числа. (Хотя для правильного масштабирования необходима некоторая осторожность с ограничивающей рамкой.)

Связанный контент