[Tex/LaTex] LaTeX command for unknown symbol

symbols

I am trying to type the shown symbol in LaTeX and I am hoping to find a command producing this symbol. This is just a very crude sketch. The three lines are supposed to be equal length with 120 degrees between them. It is quite large here, but I would like it to be of "normal character size", comparable to a + or so. Is there any direct way of obtaining this without including it as a graphic or perhaps drawing it in TikZ?

Crude sketch of symbol

Best Answer

The following example constructs the symbol in the following way:

  • The top part with the round line end of the vertical bar is used as branch line.
  • The length of the branch is the same as in the plus symbol. But the length can be changed by redefining \UpDownYFactor to a value different than 1.
  • The intersection point is the same as in the plus symbol at the mathematical center axis.
  • The symbol adopts in size to the current math style.
  • The side bearings have the same width as in the plus symbol.
  • The names for the provided symbols are the same as in package MnSymbol: \upY and \downY.
  • The symbols act as binary operators. It can be changed by replacing \mathbin.

Example file:

\documentclass{article}
\usepackage{graphicx}
\usepackage{trimclip}

\makeatletter
\providecommand*{\upY}{%
  \mathbin{%
    \mathpalette\@updownY{0}%
  }%
}
\providecommand*{\downY}{%
  \mathbin{%
    \mathpalette\@updownY{1}%
  }%
}
\providecommand*{\UpDownYFactor}{1}
\newcommand*{\@updownY}[2]{%
  % #1: math style
  % #2: 0 = up, 1 = down
  \sbox0{$#1+\m@th$}%
  \dimen2=.5\dimexpr\wd0-\ht0-\dp0\relax
  % => \dimen2: side bearing
  \sbox2{$#1\vcenter{}$}%
  \dimen4=\dimexpr\ht0-\ht2\relax
  % => \dimen4: branch length
  \setbox0=\hbox to 0pt{%
    \hss
    \clipbox{%
      0pt %
      {\dimexpr\totalheight-\UpDownYFactor\dimen4\relax} %
      0pt %
      -\dimen2%
    }{$#1|$}%
    \hss
  }%
  \ht0=\dimexpr\ht0-\dimen2\relax
  \kern\dimen2 %
  \raise\ht2\hbox{%
    \ifnum#2=0 %
      {\rotatebox{120}{\copy0}}%
      \copy0 %
      {\rotatebox{-120}{\copy0}}%
    \else
      {\rotatebox{60}{\copy0}}%
      {\rotatebox{180}{\copy0}}%
      {\rotatebox{-60}{\copy0}}%
    \fi
  }%
  \kern\dimen2 %
}
\makeatother

\begin{document}
\[\begin{array}{c}
  a \upY b \downY c
  \\
  \scriptstyle
  a \upY b \downY c
  \\
  \scriptscriptstyle
  a \upY b \downY c
  \\
  \rlap{$\upY$}{\downY}
\end{array}\]
\end{document}  

Result

For analyzing the center:

\usepackage{pdfrender}
...
\[
  \rlap{%  
    \sbox0{$\vcenter{}$}%
    \sbox2{${\upY}{\downY}{\upY}$}%
    \raise\ht0\hbox{\vrule height.01pt depth.01pt width\wd2}%
  }%
  \pdfrender{TextRenderingMode=Stroke, LineWidth=.01pt}
  {\upY}\rlap{$\upY$}{\downY}{\downY}
\]

Result

Related Question