次のシンボル(矢印付きのサブセット)をどのように構築しますか?

次のシンボル(矢印付きのサブセット)をどのように構築しますか?

次のシンボルをどのように構築しますか?

ここに画像の説明を入力してください

答え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}

編集: フォント サイズが変わると矢印の位置がずれることに注意してください。これは、 および\raiseパラメータの TeX 演算の精度が低いことが原因である可能性があります\mkern。よくわかりません。ただし、図に示すように、このコードはデフォルトのフォント サイズでは正常に動作します。それでも、位置ずれは fontsize を拡大したときにのみ明らかになります\Huge

答え2

必須TiZソリューション。

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

MWE出力

これには、非常に適応性が高いという利点があります。矢印の先端のサイズを変更したり、シンボルを長くしたりする場合 (サンプル画像のように)、いくつかの数値を微調整するだけです。(ただし、正しいスケーリングを行うには、境界ボックスに多少注意が必要です。)

関連情報