与 amssymb 中的 \rightleftarrows 类似,但分别带有 hook 和 twohead

与 amssymb 中的 \rightleftarrows 类似,但分别带有 hook 和 twohead

我想要一个看起来像 amssymb 中的符号 \rightleftarrows 的符号,但我希望右侧的形态是 twoheadrightarrow,左侧的形态是 hookleftarrow。你能帮助我吗?

答案1

的箭头\twoheadrightarrow与 的箭头有很大不同\hookleftarrow;这里有一个由两个 组成双头右箭头的解决方案\rightarrow

\documentclass{article}
\usepackage{amsmath,calc}

\makeatletter
\newcommand{\retraction@inner}[2]{%
  \vcenter{\offinterlineskip
    \halign{%
      ##\cr
      $\m@th#1\hookleftarrow$\cr
      \makebox[\widthof{$\m@th#1\hookleftarrow$}][s]{%
        $\m@th#1\mkern-.5mu\to\hss\to\mkern-.5mu$%
      }\cr
    }%
  }%
}

\DeclareRobustCommand{\retraction}{%
  \mathrel{\mathpalette\retraction@inner\relax}%
}
\makeatother

\begin{document}
$A\retraction B_{\retraction}$
\end{document}

在此处输入图片描述

答案2

\substack这是我的尝试,使用从中的命令中窃取的技术amsmath

没有尾巴的箭头比另一支箭头短一点,因为尾巴只是简单地添加到现有箭头上(它们的长度都相同),所以我使用了减号(与现代计算机的传统相同)来稍微延长它。

此版本将缩放至当前大小,因为它可能出现在脚注(较小)或标题(较大)中,并使用ex(垂直)和 mu(水平)单位。

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}

\newcommand\retraction
 {\ensuremath{\mathrel{\subarray{c}
  \mkern.7mu{-}\mkern-12mu\twoheadrightarrow\\[-.55ex]
  \hookleftarrow\endsubarray}}}

\begin{document}

\[
A \retraction B
\]

\Large
\[
A \retraction B
\]

\small
\[
A \retraction B
\]

\end{document}

示例代码的输出

相关内容