我想指定一个结合“暗示”和“不暗示”的运算符。我脑海中浮现的是类似于 $\Rightarrow$ 堆叠在 $\nLeftarrow$ 上的东西。我尝试了以下所有方法,但生成的排版表达式看起来都是错误的:
P \overset{\Rightarrow}{\nLeftarrow} Q % \Rightarrow is too high
P \underset{\nLeftarrow}{\Rightarrow} Q % \nLeftarrow is too low
P \overset{\Rightarrow}{\underset{\nLeftarrow}{}} Q % \Rightarrow is too high and \nLeftarrow is too low
基本上,在上述每一个中,一个或两个箭头操作符的垂直定位都是关闭的,如评论中更具体地描述的那样。
我想要的是两个箭头的堆叠,其中顶部的箭头轻微地中线上方和下方是轻微地低于中线。
答案1
获得两支相互叠合的箭头的相当通用的方法。
\documentclass{article}
\usepackage{amsmath,amssymb}
\makeatletter
\newcommand{\twoarrows}[3][0.2ex]{%
% #1 = optional space correction, #2 = above, #3 = below
\mathrel{\mathpalette\twoarrows@{{#1}{#2}{#3}}}%
}
\newcommand{\twoarrows@}[2]{\twoarrows@@#1#2}
\newcommand{\twoarrows@@}[4]{%
% #1 = style, #2 = optional space correction, #3 = above, #4 = below
\vcenter{\offinterlineskip\m@th
\ialign{\hfil##\hfil\cr
$#1#3$\cr
\noalign{\vskip#2}
$#1#4$\cr
}%
}%
}
\makeatother
\begin{document}
\[
P \twoarrows[0.4ex]{\Rightarrow}{\nLeftarrow} Q
\]
\[
P \twoarrows[0.5ex]{\,\Rightarrow}{\nLeftarrow\,} Q
\]
\[
P \twoarrows{\rightarrow}{\nleftarrow} Q
\]
\end{document}
我提供了“垂直校正”,因为两个箭头的边界框可能会妨碍视线。在中间的显示屏上,我展示了对顶部光学效果的可能校正。
你能在 MathJax 中实现这一点吗?我对此表示怀疑。
对于最后一个,最好使用old-arrows
以下方式加载:
\usepackage[old]{old-arrows}
如果你输入最后一个显示为
P \twoarrows{\rightarrow}{\nleftarrow} Q
你得到