
如同這個問題,但用\xRightarrow
代替。我嘗試更改第三個版本,如下\Rightarrow
所示:
\documentclass{standalone}
\usepackage{amsmath}
\usepackage{amssymb} % for \diagup
\usepackage{mathtools}
\usepackage{tikz} % for tikz solution
\makeatletter
\def\slashedarrowfill@#1#2#3#4#5{%
$\m@th\thickmuskip0mu\medmuskip\thickmuskip\thinmuskip\thickmuskip
\relax#5#1\mkern-7mu%
\cleaders\hbox{$#5\mkern-2mu#2\mkern-2mu$}\hfill
\mathclap{#3}\mathclap{#2}%
\cleaders\hbox{$#5\mkern-2mu#2\mkern-2mu$}\hfill
\mkern-7mu#4$%
}
\def\rightslashedarrowfillc@{%
\slashedarrowfill@\relbar\relbar{\raisebox{.12em}{\tiny/}}\Rightarrow}
\newcommand\xslashedrightarrowc[2][]{%
\ext@arrow 0055{\rightslashedarrowfillc@}{#1}{#2}}
\makeatother
\begin{document}
A \xslashedrightarrowc{abcdefg} C\\[12pt]
\end{document}
但我最終得到的是這個:
我假設 def 有問題,\slashedarrowfill
但我不知道如何修復它。有人可以指出我正確的方向嗎?
答案1
Heiko Oberdiek 的centernot
軟體包對此很有用:
\documentclass{standalone}
\usepackage{centernot}
\usepackage{mathtools}
\begin{document}
$\centernot{\xRightarrow{sdfkjhsdf}}$
\end{document}
答案2
以下測試檔案新增了\x(n)(Left|Right|Leftright)arrow
與 package 的定義類似的新巨集amsmath
。否定箭頭使用幫助宏\narrowfill@
,其符號\neq
位於箭頭可拉伸區域的中間。
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\newcommand*{\xRightarrow}[2][]{%
\ext@arrow 0359\Rightarrowfill@{#1}{#2}%
}
\newcommand*{\xLeftarrow}[2][]{%
\ext@arrow 3095\Leftarrowfill@{#1}{#2}%
}
\newcommand*{\xLeftrightarrow}[2][]{%
\ext@arrow 3399\Leftrightarrowfill@{#1}{#2}%
}
\newcommand*{\xnRightarrow}[2][]{%
\ext@arrow 0359\nRightarrowfill@{#1}{#2}%
}
\newcommand*{\xnLeftarrow}[2][]{%
\ext@arrow 3095\nLeftarrowfill@{#1}{#2}%
}
\newcommand*{\xnLeftrightarrow}[2][]{%
\ext@arrow 3399\nLeftrightarrowfill@{#1}{#2}%
}
\newcommand*{\nRightarrowfill@}{%
\narrowfill@\Relbar\Relbar\Rightarrow\neq
}
\newcommand*{\nLeftarrowfill@}{%
\narrowfill@\Leftarrow\Relbar\Relbar\neq
}
\newcommand*{\nLeftrightarrowfill@}{%
\narrowfill@\Leftarrow\Relbar\Rightarrow\neq
}
\newcommand*{\narrowfill@}[5]{%
$\m@th\thickmuskip0mu\medmuskip\thickmuskip\thinmuskip\thickmuskip
\relax#5#1\mkern-7mu%
\cleaders\hbox{$#5\mkern-2mu#2\mkern-2mu$}\hfill
\mkern-5mu %
#4%
\mkern-5mu %
\cleaders\hbox{$#5\mkern-2mu#2\mkern-2mu$}\hfill
\mkern-7mu#3$%
}
\makeatother
\begin{document}
\begin{align*}
A &\xRightarrow[below]{above} B & C &\xRightarrow{} D \\
A &\xnRightarrow[below]{above} B & C &\xnRightarrow{} D \\
A &\xLeftarrow[below]{above} B & C &\xLeftarrow{} D \\
A &\xnLeftarrow[below]{above} B & C &\xnLeftarrow{} D \\
A &\xLeftrightarrow[below]{above} B & C &\xLeftrightarrow{} D \\
A &\xnLeftrightarrow[below]{above} B & C &\xnLeftrightarrow{} D
\end{align*}
\end{document}
評論:
\neq
自動考慮 的高度和深度,並移動上標和下標以避免與斜線衝突。- 如果
mathtools
需要包,請稍後加載。它也定義了\xLeftarrow
、\xRightarrow
和\xLeftrightarrow
,但恕我直言, 的版本間距mathtools
太緊,註釋與箭頭可能會發生視覺衝突。
答案3
前一個解決方案有些問題,因為您必須手動設定\kern length
.
我更願意定義一個簡單的宏,\NOT
如下列程式碼所示:
\documentclass{standalone}
\usepackage{amsmath,amssymb}
\usepackage{mathtools}
\newlength{\NOTskip}
\def\NOT#1{\settowidth{\NOTskip}{\ensuremath{#1}}%
\hspace{0.5\NOTskip}\mathclap{\not}\hspace{-0.5\NOTskip}#1}
\begin{document}
\begin{equation*}
A \NOT{\xRightarrow{bla}} C \NOT{\xleftarrow[\text{et caetera}]{}} Z
\end{equation*}
\end{document}
生產
答案4
編輯:我會嘗試這樣的事情:
\kern.8em\not\kern -.8em \xRightarrow[ablalba]{}
這裡有一個例子:
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\[ \kern.8em\not\kern -.8em \xRightarrow[Text goes here]{and here} \]
\end{document}