答案1
old-arrow
使用来自的包和\stackinset
命令的解决方案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}
答案2
我建议你使用包含所有所需箭头的字体,例如STIX 字体。这些最好与 XeLaTeX 一起使用,并将字体安装到您的计算机的操作系统中。
\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}
stix
使用 PDFLaTeX,您可以使用(已弃用的) 包\usepackage{stix}
。箭头具有以下 (不言自明的) 宏:
\rightarrow
\twoheadrightarrow
\rightarrowtail
\twoheadrightarrowtail
\nvrightarrow
\nvtwoheadrightarrow
\nvrightarrowtail
\nvtwoheadrightarrowtail