Signo no igual (≠) con una barra vertical

¿Es posible obtener un \neq pero con una vertical barra en lugar de una inclinada? Hay operadores de desigualdad como AMS «s \gvertneqq que presentan este tipo de» no igual «pero no sin mezclarlo con otros signos.

\documentclass[a5paper]{article} \usepackage{amssymb} \usepackage{amsmath} \begin{document} \begin{align*} a&\gvertneqq b\\ C&\neq \varnothing \end{align*} \end{document} 

resultado del código anterior

Entonces, lo que básicamente me gustaría tener es el símbolo aislado debajo del> en el \gvertneqq arriba. Particularmente porque no me gustan las diferentes pendientes de las barras en la segunda línea y «≠ ∅» es una combinación bastante común.

Respuesta

Signo igual con línea vertical

La línea vertical | es un poco alta para mi sabor. La siguiente definición de \vneq disminuye la altura total de la línea vertical para que coincida con la altura total de \neq. Cambiar el tamaño de la altura vertical no cambiará el grosor de la línea en la dirección horizontal.

  • El ancho y la altura finales de la línea vertical se pueden ajustar redefiniendo las macros \vneqxscale y \vneqyscale. El valor predeterminado es 1.
  • \mathpalette permite que el símbolo cambie de tamaño automáticamente.

Archivo de ejemplo:

\documentclass{article} \usepackage{amssymb}% \varnothing \usepackage{graphicx}% \resizebox \makeatletter \newcommand*{\vneq}{% \mathrel{% \mathpalette\@vneq{=}% }% } \newcommand*{\@vneq}[2]{% % #1: math style (\displaystyle, \textstyle, ...) % #2: symbol (=, ...) \sbox0{\raisebox{\depth}{$#1\neq$}}% \sbox2{\raisebox{\depth}{$#1|\m@th$}}% \ifdim\ht2>\ht0 % \sbox2{\resizebox{\vneqxscale\width}{\vneqyscale\ht0}{\unhbox2}}% \fi \sbox2{$\m@th#1\vcenter{\copy2}$}% \ooalign{% \hfil\phantom{\copy2}\hfil\cr \hfil$#1#2\m@th$\hfil\cr \hfil\copy2\hfil\cr }% } \newcommand*{\vneqxscale}{1} \newcommand*{\vneqyscale}{1} \makeatother \begin{document} \[ % Comparison \neq vs. vneq \varnothing \neq \emptyset \vneq \varnothing \\ \] \[ % Check sizes: \vneq^{\vneq^{\vneq}} \\ \] \[ % Bounding box checks: \setlength{\fboxsep}{0pt} \setlength{\fboxrule}{.1pt} \fbox{$\neq$}\,\fbox{$\vneq$}\,\fbox{$|$} \] \end{document} 

Resultado

La altura se puede reducir aún más, p. ej.

\renewcommand*{\vneqyscale}{.8} 

Resultado / .8

Resultado para mathabx:

mathabx

Resultado para txfonts:

txfonts

Resultado para MnSymbol:

MnSymbol

Aquí la línea vertical es demasiado gruesa y la el cambio de tamaño horizontal necesita reducirse:

Resultado para MnSymbol y \vneqxscale = .67 :

MnSymbol / .67

Alternativa a varnothing

En lugar de cambiar \neq, el símbolo de conjunto vacío \varnothing podría construirse usando \not para igualar la pendiente de las líneas verticales inclinadas. Sin embargo, \circ es demasiado pequeño y \bigcirc demasiado grande. Por lo tanto, este método se muestra para txfonts que proporciona \medcirc y MnSymbol con \medcircle.

\documentclass{article} %\usepackage{txfonts} %\newcommand*{\varemptysetcircle}{\medcirc} \usepackage{MnSymbol} \newcommand*{\varemptysetcircle}{\medcircle} \makeatletter \newcommand*{\varemptyset}{% {% mathord \vphantom{\not=}% correct height and depth of the final symbol \mathpalette\@varemptyset\varemptysetcircle }% } \newcommand*{\@varemptyset}[2]{% % #1: math style (\displaystyle, \textstyle, ...) % #2: circle \ooalign{% \hfil$\m@th#1\not\hphantomeq$\hfil\cr \hfil$\m@th#1#2$\hfil\cr }% } % \not can be redefined to take an argument \newcommand*{\hphantomeq}{% \mathrel{\hphantom{=}}% } \makeatother \usepackage{color} \begin{document} \[ \not=\; \color{blue}\neq \varemptyset\; \color{black}\varnothing \] \end{document} 

Resultado para txfonts:

txfonts

Resultado para MnSymbol:

MnSymbol

Comentarios

  • ¡Esta es una respuesta increíble! Espero que Werner no ' t le importe que yo no pude ' t pero cambiar la respuesta aceptada a esta. Tengo ' problemas al intentar \renewcommand \neq con esta versión de \vneq aunque. Más específicamente, obtengo una " La capacidad de TeX excedió ". ¿Alguna idea de por qué?
  • \vneq is using \ neq` en la macro \@vneq. Por tanto, puede almacenar el antiguo significado: \let\ltxneq=\neq y usar \ltxneq en \@vneq. Entonces debería poder redefinir \neq.

Responder

Sí:

captura de pantalla del código siguiente

\documentclass[a5paper]{article} \usepackage{amssymb} \usepackage{amsmath} \newcommand\vneq{\mathrel{\ooalign{$=$\cr\hidewidth$|$\hidewidth\cr}}} \begin{document} \begin{align*} a&\gvertneqq b\\ C&\neq \varnothing \\ d&\vneq f \end{align*} \end{document} 

Para una motivación detrás de comandos en \vneq, lea el excelente tutorial de egreg sobre \ooalign en \subseteq + \circ como un solo símbolo («subconjunto abierto»)

Comentarios

  • Genial, gracias. También agregué $$ alrededor de =, lo cual se vuelve importante cuando tienes un texto diferente a la fuente matemática.Aparte de eso, esta es una solución muy elegante 🙂

Respuesta

Una solución simplista sería

\usepackage{mathabx} \changenotsign 

pero esto significaría cambiar gran parte de los símbolos matemáticos, lo cual no es deseable ya que, en mi opinión, algunos de los símbolos provistos por mathabx están mal diseñados.

Una solución con herramientas estándar es

\documentclass{article} \renewcommand\neq{\mathrel{\vphantom{|}\mathpalette\xsneq\relax}} \newcommand\xsneq[2]{% \ooalign{\hidewidth$#1|$\hidewidth\cr$#1=$\cr}% } \begin{document} $a\neq b$ \end{document} 

Usé \renewcommand porque será simplemente cuestión de eliminar ese código para volver \neq a su forma habitual.

Usando \mathpalette, el símbolo creado se volverá más pequeño en subíndices o superíndices.

ingrese la descripción de la imagen aquí

Comentarios

  • tanto este símbolo como un signo igual con una cancelación inclinada hacia atrás están incluidos en las fuentes stix.
  • @barbarabeeton Sí, pero esas fuentes no ' tm ix bien con Computer Modern y otras fuentes.
  • triste pero cierto. fueron diseñados para mezclarse con los tiempos, que era el tipo de letra de consenso de los miembros del consorcio stipub.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *