0

In xypic, I would like to make an arrow tip which resembles the notation for normal subobjects given by \vartriangleleft. I would like the arrow to look more or less like the one in the picture below.

How can I make such an arrow?

enter image description here

1

One option for typesetting the \vartriangleleft symbol in the middle of the arrow is:

\[
\xymatrix{A\ar[r]|-{\vartriangleleft} & B}
\]

The problem is that the symbol does not rotate with the arrow. In particular, this method won't work for vertical or diagonal arrows.

1

If the use of a \xymatrix is not mandatory for you, here is a solution with tikz-cd.

P.S. = thanks to Symbol 1 for his/her solution here.

\documentclass[a4paper]{article}
\usepackage{amsmath,amssymb}
\usepackage{tikz-cd}
\usepackage{stackengine}
\newcommand{\mytri}{\stackinset{c}{}{c}{}{$\vartriangleleft$}{\textcolor{white}{$\blacktriangleleft$}}}
\tikzcdset{%
    triarrow/.style ={rightarrowtail, "\mytri" {description, inner sep=-2pt}, sloped, allow upside down},
}

\begin{document}
    \begin{center}
        \begin{tikzcd}[column sep=large, row sep=large]
            A \arrow[r,  triarrow] 
            \arrow[d, triarrow] & 
            B \arrow[dr, triarrow] \\
            C \arrow[ur, triarrow] &
            D \arrow[l, triarrow]
            \arrow[u, triarrow] & 
            E
        \end{tikzcd} 
    \end{center}
\end{document}

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.