%20com%20uma%20barra%20vertical.png)
É possível conseguir um \neq
mas com barra vertical em vez de inclinada? Existem operadores de desigualdade como o AMS \gvertneqq
que apresentam este tipo de “diferente”, mas não sem misturá-lo com outros sinais.
\documentclass[a5paper]{article}
\usepackage{amssymb}
\usepackage{amsmath}
\begin{document}
\begin{align*}
a&\gvertneqq b\\
C&\neq \varnothing
\end{align*}
\end{document}
Então, o que eu basicamente gostaria de ter é o símbolo isolado sob > acima \gvertneqq
. Principalmente porque não gosto das diferentes inclinações das barras na segunda linha e "≠∅" é uma combinação bastante comum.
Responder1
Sinal de igual com linha vertical
A linha vertical |
é um pouco alta para o meu gosto. A definição a seguir \vneq
diminui a altura total da linha vertical para corresponder à altura total de \neq
. O redimensionamento da altura vertical não alterará a espessura da linha na direção horizontal.
- A largura e altura finais da linha vertical podem ser ajustadas redefinindo macros
\vneqxscale
e arquivos\vneqyscale
. O padrão é1
. \mathpalette
permite que o símbolo seja redimensionado automaticamente.
Arquivo de exemplo:
\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}
A altura pode ser ainda mais reduzida, por exemplo
\renewcommand*{\vneqyscale}{.8}
Resultado para mathabx
:
Resultado para txfonts
:
Resultado para MnSymbol
:
Aqui a linha vertical é muito grossa e o redimensionamento horizontal precisa ser reduzido:
\renewcommand*{\vneqxscale}{.67}
Resultado para MnSymbol
e \vneqxscale
= .67
:
Alternativa paravarnothing
Em vez de mudar \neq
, o símbolo do conjunto vazio \varnothing
poderia ser construído usando \not
a inclinação das linhas verticais inclinadas. No entanto, \circ
é muito pequeno e \bigcirc
muito grande. Portanto, este método é mostrado para txfonts
fornecer \medcirc
e MnSymbol
com \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
:
Responder2
Sim:
\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 uma motivação por trás dos comandos em \vneq
, leia o excelente tutorial do egreg \ooalign
em\subseteq
+ \circ
como um único símbolo (“subconjunto aberto”)
Responder3
Uma solução simplista seria
\usepackage{mathabx}
\changenotsign
mas isso significaria alterar grande parte dos símbolos matemáticos, o que não é desejável porque, na minha opinião, alguns dos símbolos fornecidos por mathabx
estão mal desenhados.
Uma solução com ferramentas padrão é
\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}
Usei \renewcommand
porque será simplesmente uma questão de remover esse código para voltar \neq
ao seu formato normal.
Ao usar \mathpalette
, o símbolo criado ficará menor em subscritos ou sobrescritos.