重叠 \Rightarrow 和 \Leftarrow

重叠 \Rightarrow 和 \Leftarrow

我正在写一篇论文,需要几个非标准箭头。我需要一个\Rightarrow\Leftarrow,它们的设置类似于$\overrightarrow{A}$$\underleftarrow{B}$。我能够找到包右箭头在 CTAN 上,但我不知道如何获得类似物$\Leftarrow$

有人能帮忙吗?你知道带有这些箭头的包裹吗?

答案1

为了在某​​个东西上放置双箭头,有两种简单的方法:\overset来自的宏amsmath\accentset来自accents包的宏:

\documentclass{article}

\usepackage{amsmath} % for \overset
\usepackage{accents} % for \accentset

\begin{document}

\begin{tabular}{ll}
\verb+\accentset+               & $\accentset{\Rightarrow}{A}$ \\
\verb+\overset+                 & $\overset{\Rightarrow}{A}$ \\
\verb+\overset+ (with tweaking) & $\overset{\,\Rightarrow\!}{A}$
\end{tabular}

\end{document}

在此处输入图片描述

请注意,\accentset设置“重音”\scriptscriptstyle并考虑字符的倾斜度。“重音”\overset略大一些(\scriptstyle),需要稍微调整一下才能正确放置。

如果箭头需要可扩展,快速查看amsmath(第 907ff 行)会有所帮助。在那里,设置了一些可扩展箭头,但并非所有箭头都有用户级宏。根据 Barbara Beeton 的评论

amsmath是在宏名的内存空间严重受限的情况下创建的。因此,只有绝对必要的最小值被冻结到包中,并且假设用户可以通过类比来定义附加项

所以我们可以通过类比来定义

\documentclass{article}

\usepackage{amsmath}
\makeatletter
% cf. amsmath.sty lines 907-920
\newcommand*{\overRightarrow}{\mathpalette{\overarrow@\Rightarrowfill@}}
\newcommand*{\overLeftarrow}{\mathpalette{\overarrow@\Leftarrowfill@}}
\makeatother

\begin{document}

$\overRightarrow{ABCD}$ \quad $\overRightarrow{\!ABCD\,\,}$

\end{document}

在此处输入图片描述

请注意,这里我们可能还需要手动添加一些空格。

希望这个包的作者overrightarrow不会太讨厌我,我建议不要使用它。这个包依赖于一个\overarrow@未定义的宏。它在 中定义amsmath,但之前调用它overrightarrow会引发错误,并且反转顺序将覆盖其他宏的定义。可能有一种有意义的使用方法,overrightarrow但遗憾的是,我找不到它。(这肯定是我的缺点。)

相关内容