1

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.

\documentclass[12pt]{article}
\usepackage{amssymb}

\begin{document}

$\rightarrow$

$\rightarrowtail$

$\twoheadrightarrow$

\end{document}
  • 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 at 22:03
  • I would like to have new math symbols. – projetmbc Oct 20 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 at 22:14
6

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

    \documentclass{standalone}
    \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}}}

    \begin{document}

    $\begin{matrix}
    A \vrightarrow B & A \vrightarrowtail B \\
    A \vtwoheadrightarrow B & A \vtwoheadrightarrowtail B
    \end{matrix}$

    \end{document} 

enter image description here

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

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.

\documentclass{standalone}
\usepackage{booktabs}

\usepackage{unicode-math}
\setmathfont{STIX2Math.otf}

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

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 at 23:31
  • My sincere compliments for the work and the explanation. – Sebastiano Oct 21 at 12:18

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.