I would like to add new arrows to the list of arrows below. This arrows will be used as math symbols.

enter image description here

The first problem I met is that the first arrow has a bigger head than to two others.

enter image description here

I would also like to add vertical lines like in the picture below.

enter image description here

The last thing I would like to achieve is to superimpose the two last arrows so as to build a last new one.

enter image description here

Here is the code giving the arrows of the screenshot.






  • 1
    Depending on where and how you want to use your arrows, you might be interested in the arows from tikz: \documentclass{article} \usepackage{tikz} \usetikzlibrary{arrows, positioning} \begin{document} \begin{tikzpicture} \draw [->] (0,0)-- (1,0); \draw [>->] (0,-0.5)-- (1,-0.5); \draw [->>] (0,-1)-- (1,-1); \draw [>->>] (0,-1.5)-- (1,-1.5); \end{tikzpicture} \end{document}
    – leandriis
    Oct 20, 2019 at 22:03
  • I would like to have new math symbols.
    – projetmbc
    Oct 20, 2019 at 22:07
  • I have look for the symbols but I only find three black arrows without any decoration. I would like more symbols : this is to talk about partial or total applications that are injective, surjective or one-to-one. I met this formalism when reading a book about B language.
    – projetmbc
    Oct 20, 2019 at 22:14

2 Answers 2


A solution with the old-arrow package and the \stackinset command from stackengine:

    \usepackage{stackengine, graphicx} %
    \usepackage{mathtools, amssymb, old-arrows}%, relsize}
    \newcommand\vrightarrow{\stackMath\mathrel{\stackinset{c}{-0.1ex}{c}{0.15ex}{\scalebox{1}[0.4]{$ \vert $}}{ ―――→ }}}
    \newcommand\vrightarrowtail{\stackMath\mathrel{\stackinset{c}{0ex}{c}{-0.02ex}{\scalebox{1}[0.3]{$ \vert $}}{\rightarrowtail}}}
    \newcommand\vtwoheadrightarrow{\stackMath\mathrel{\stackinset{c}{-0.22ex}{c}{-0.02ex}{\scalebox{1}[0.3]{$ \vert $}}{\twoheadrightarrow}}}
    \newcommand\vtwoheadrightarrowtail{\stackMath\mathrel{\stackinset{c}{-0.12ex}{c}{-0.02ex}{\scalebox{1}[0.3]{$ \vert $}}{\mathrlap{\rightarrowtail}\mkern0.3mu\twoheadrightarrow}}}


    A \vrightarrow B & A \vrightarrowtail B \\
    A \vtwoheadrightarrow B & A \vtwoheadrightarrowtail B


enter image description here

  • Thanks. It is interesting to see how to mix symbols by hand. :-)
    – projetmbc
    Oct 20, 2019 at 23:30

I would suggest you use a font that contains all the desired arrows such as the STIX fonts. Those are best to be used with XeLaTeX and installation of the fonts to the operating system of your computer.



\begin{tabular}{ c c c }
    Glyph & Unicode & LaTeX \\
    $\char"2192$ & 2192 & \verb+$\char"2192$+ \\
    $\char"21A0$ & 21A0 & \verb+$\char"21A0$+ \\
    $\char"21A3$ & 21A3 & \verb+$\char"21A3$+ \\
    $\char"2916$ & 2916 & \verb+$\char"2916$+ \\
    $\char"21F8$ & 21F8 & \verb+$\char"21F8$+ \\
    $\char"2900$ & 2900 & \verb+$\char"2900$+ \\
    $\char"2914$ & 2914 & \verb+$\char"2914$+ \\
    $\char"2917$ & 2917 & \verb+$\char"2917$+ \\

enter image description here

With PDFLaTeX, you can use the (deprecated) package stix with \usepackage{stix}. The arrows have the following (self explanatory) macros:

  • \rightarrow
  • \twoheadrightarrow
  • \rightarrowtail
  • \twoheadrightarrowtail
  • \nvrightarrow
  • \nvtwoheadrightarrow
  • \nvrightarrowtail
  • \nvtwoheadrightarrowtail
  • Thanks for the XeLaTeX solution but I prefer the "old school" design.
    – projetmbc
    Oct 20, 2019 at 23:31
  • My sincere compliments for the work and the explanation.
    – Sebastiano
    Oct 21, 2019 at 12:18
  • Such a nice suggestion....
    – MadyYuvi
    Nov 9, 2021 at 15:26

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.