我想重新定义\rightarrowtail
,使其箭头看起来像 中的箭头\leftrightarrow
。我已经使用以下代码重新定义了\twoheadrightarrow
,因为它看起来也与 不同:\leftrightarrow
\makeatletter
\newcommand{\superimpose}[2]{%
{\ooalign{$#1\@firstoftwo#2$\cr\hfil$#1\@secondoftwo#2$\hfil\cr}}
}
\makeatother
\newcommand{\newtwoheadrightarrow}{\mathrel{\mathpalette\superimpose{{\mkern2.5mu\rightarrow}{\rightarrow\mkern2.5mu}}}}
\renewcommand{\twoheadrightarrow}{\newtwoheadrightarrow}
但是,我不知道如何做类似于重新定义的事情\rightarrowtail
,因为我找不到仅一个箭头符号来\superimpose
表示\rightarrow
。
答案1
虽然不完美,但与 TikZ 的近似值很好:
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tikz}
% see https://tex.stackexchange.com/a/645771/101651
\usetikzlibrary{arrows.meta}
\newcommand{\onlytip}{\tikz{\draw[->](0,0)--(.001,0);}}
\newcommand{\newrightarrowtail}{\mathrel{\raisebox{-.165pt}{\onlytip}\mkern-6.5mu\rightarrow}}
\renewcommand{\rightarrowtail}{\newrightarrowtail}
\begin{document}
\[a \rightarrowtail b\]
\end{document}