使用 amssymb
包,通过在 <arrow>
前面添加 n
可以得到否定箭头,但箭头可能太少,于是还是给个小建议供参考。
鱼大神代码学不来,学来我也写不懂,捣鼓一个新的,尽可能满足你的需求:
同样的思路,在符号的中心处添加一条斜线,通过添加线并旋转制成的 \homo[...]{<array>}
指令,其中可选参数用于水平移动斜线的位置,使其在箭头过短时不会碰到箭头两端。
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb} % 更多箭头啊啊啊啊啊啊啊啊
\usepackage{graphicx} % 24岁是\rotatebox!!!
\makeatletter % 要 @ 啊啊啊啊啊啊啊
\newcommand*\homo[2][0mu]{\HomoInternal{#1}{\homoslash}{#2}}
\newcommand*\HomoInternal[3]{\mathpalette\Homo@{{#1}{#2}{#3}}}
\newcommand*\Homo@[2]{\Homo@@{#1}#2}
\newcommand*\Homo@@[4]{%
\mathrel{\ooalign{%
$\m@th#1#4$\cr
\hidewidth$\m@th#3{#1}\mkern\muexpr#2*2$\hidewidth\cr
}}%
}
\newcommand*\homoslash[1]{\rotatebox[origin=c]{60}{$\m@th#1-$}}
\makeatother % 不要 @ 啊啊啊啊啊啊啊啊
\begin{document}
\[
\begin{array}{cc}
\hline
\texttt{\tiny\textbackslash homo[...]\{arrow\}} & \texttt{\tiny\textbackslash n<arrow>}\\ \hline
\homo[1mu]{\rightarrow} & \nrightarrow\\
\homo[-1mu]{\leftarrow} & \nleftarrow\\
\homo[2mu]{\Rightarrow} & \nRightarrow\\
\homo{\leftrightarrow} & \nleftrightarrow\\
\homo{\Leftrightarrow} & \nLeftrightarrow\\
\homo[1mu]{\mapsto} & \\
\homo[1mu]{\hookrightarrow} & \\
\homo[1mu]{\leadsto} & \\
\homo[1mu]{\rightsquigarrow} & \\
\homo[1mu]{\rightharpoonup} & \\
\homo[1mu]{\rightarrowtail} & \\
\homo[1mu]{\rightrightarrows} & \\
\homo[1mu]{\longrightarrow} & \\
\homo[1mu]{\xrightarrow{abcdefg}} &
\\ \hline
\end{array}
\]
\[
y^{x \homo[1mu]{\Leftrightarrow} y^{x \homo[1mu]{\Leftrightarrow} y}} \homo[1mu]{\Leftrightarrow} y_{x \homo[1mu]{\Leftrightarrow} y_{x \homo[1mu]{\Leftrightarrow} y}}
\]
\end{document}
使用\homo[...]{<array>}
问 制作一个数学符号的“否定”形式