¿Cómo creo una flecha negada en \xRightarrow?

¿Cómo creo una flecha negada en \xRightarrow?

Similar aesta pregunta, pero con el \xRightarrowen su lugar. Intenté cambiar la tercera versión para usarla \Rightarrowasí:

\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}

Pero termino con esto en su lugar:

flechas cortadas de nuevo

Supongo que algo anda mal con la definición de \slashedarrowfillpero no sé lo suficiente para solucionarlo. ¿Alguien podría indicarme la dirección correcta, por favor?

Respuesta1

El paquete de Heiko Oberdiek centernotresulta muy útil para ello:

ingrese la descripción de la imagen aquí

\documentclass{standalone}

\usepackage{centernot}
\usepackage{mathtools}

\begin{document}
$\centernot{\xRightarrow{sdfkjhsdf}}$
\end{document}

Respuesta2

El siguiente archivo de prueba agrega nuevas macros \x(n)(Left|Right|Leftright)arrowsimilares a las definiciones del paquete amsmath. Las flechas negadas utilizan la macro de ayuda \narrowfill@con el símbolo \neqen el medio del área extensible de la flecha.

\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}

Resultado

Observaciones:

  • La altura y la profundidad de \neqse tienen en cuenta automáticamente y el superíndice y el subíndice se mueven para evitar conflictos con la barra.
  • Si mathtoolsse necesita el paquete, cárguelo después. También define \xLeftarrow, \xRightarrowy \xLeftrightarrow, pero en mi humilde opinión, el espaciado de las versiones de mathtoolses demasiado ajustado con posibles choques visuales de las anotaciones con la punta de flecha.

Respuesta3

La solución anterior tiene algunos errores porque hay que configurar manualmente el archivo \kern length.
Preferiría definir una macro simple \NOTcomo en el siguiente código:

\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}

productor ingrese la descripción de la imagen aquí

Respuesta4

Editado: intentaría algo como esto:

\kern.8em\not\kern -.8em \xRightarrow[ablalba]{}

Aquí en un ejemplo:

\documentclass{article}
\usepackage{mathtools}
\begin{document}
\[ \kern.8em\not\kern -.8em \xRightarrow[Text goes here]{and here} \]
\end{document}

ingrese la descripción de la imagen aquí

información relacionada