%3F.png)
Как построить следующий символ?
решение1
Вот попытка, увеличенная:
А вот код, который его создал. Макросы стрелок работают, вытягивая соответствующие символы прямо изШрифты символов 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}
Преимущество этого в том, что он очень адаптивен. Если вы хотите изменить размер кончиков стрелок или сделать символ длиннее (как на вашем образце изображения), вам просто нужно подправить некоторые числа. (Хотя для правильного масштабирования необходима некоторая осторожность с ограничивающей рамкой.)