¿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}
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 es1
. -
\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}
La altura se puede reducir aún más, p. ej.
\renewcommand*{\vneqyscale}{.8}
Resultado para mathabx
:
Resultado para txfonts
:
Resultado para 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
:
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
:
Resultado para 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í:
\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
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.
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.
$$
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 🙂