¿Es posible conseguir un \neq
pero con una barra vertical en lugar de una inclinada? Hay operadores de desigualdad como el de AMS \gvertneqq
que presentan este tipo de "no iguales", 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 de > en lo \gvertneqq
anterior. Particularmente porque no me gustan las diferentes pendientes de las barras en la segunda línea y "≠∅" es una combinación bastante común.
Respuesta1
Signo igual con línea vertical
La línea vertical |
es un poco alta para mi gusto. 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 dirección horizontal.
- El ancho y alto finales de la línea vertical se pueden ajustar redefiniendo 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, por ejemplo
\renewcommand*{\vneqyscale}{.8}
Resultado para mathabx
:
Resultado para txfonts
:
Resultado para MnSymbol
:
Aquí la línea vertical es demasiado gruesa y es necesario reducir el tamaño horizontal:
\renewcommand*{\vneqxscale}{.67}
Resultado para MnSymbol
y \vneqxscale
= .67
:
Alternativa avarnothing
En lugar de cambiar \neq
, el símbolo del conjunto vacío \varnothing
podría construirse usando \not
para que coincida con 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
eso 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
:
Respuesta2
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 conocer la motivación detrás de los comandos en \vneq
, lea el excelente tutorial de egreg \ooalign
en\subseteq
+ \circ
como símbolo único (“subconjunto abierto”)
Respuesta3
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 proporcionados 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}
Lo usé \renewcommand
porque será simplemente cuestión de eliminar ese código para volver \neq
a su forma habitual.
Al utilizar \mathpalette
, el símbolo creado se hará más pequeño en subíndices o superíndices.