É possível obter um \neq
, mas com uma vertical bar em vez de inclinado? Existem operadores de desigualdade como AMS “s \gvertneqq
que apresentam esse 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 o> no \gvertneqq
acima. Particularmente porque eu não gosto das diferentes inclinações das barras na segunda linha e “≠ ∅” é uma combinação bastante comum.
Resposta
Sinal de igual com linha vertical
A linha vertical |
é um pouco alta para o meu gosto. A seguinte definição para \vneq
diminui a altura total da linha vertical para corresponder à altura total de \neq
. O redimensionamento da altura vertical não mudará a espessura da linha na direção horizontal.
- O tamanho final e a altura da linha vertical podem ser ajustados redefinindo macros
\vneqxscale
e\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:
Resultado para MnSymbol
e \vneqxscale
= .67
:
Alternativa para varnothing
Em vez de alterar \neq
, o símbolo de conjunto vazio \varnothing
pode ser construído usando \not
para coincidir com a inclinação das linhas verticais inclinadas. No entanto, \circ
é muito pequeno e \bigcirc
muito grande. Portanto, este método é mostrado para txfonts
que fornece \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
:
Comentários
- Essa é uma resposta incrível! Espero que Werner não ' se importe que eu não pudesse ' deixar de mudar a resposta aceita para esta. Eu ' estou tendo alguns problemas ao tentar
\renewcommand
\neq
para esta versão de\vneq
embora. Mais especificamente, recebo uma " capacidade de TeX excedida ". Alguma ideia do porquê? -
\vneq is using
\ neq` na macro\@vneq
. Portanto, você pode armazenar o significado antigo:\let\ltxneq=\neq
e usar\ltxneq
em\@vneq
. Então, você deve ser capaz de redefinir\neq
.
Resposta
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 do comandos em \vneq
, leia o excelente tutorial da egreg em \ooalign
em \subseteq
+ \circ
como um único símbolo (“subconjunto aberto”)
Comentários
Resposta
Uma solução simplista seria
\usepackage{mathabx} \changenotsign
mas isso significaria alterar uma grande parte dos símbolos matemáticos, o que não é desejável, pois, em minha opinião, alguns dos símbolos fornecidos por mathabx
são mal projetados.
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}
Eu usei \renewcommand
porque será simplesmente uma questão de remover esse código para reverter \neq
para sua forma usual.
Usando \mathpalette
, o símbolo criado ficará menor em subscritos ou sobrescritos.
Comentários
- este símbolo e um sinal de igual com um cancelamento inclinado para trás estão incluídos nas fontes stix.
- @barbarabeeton Sim, mas essas fontes não ' tm ix bem com Computer Modern e outras fontes.
- triste, mas é verdade. eles foram projetados para se misturarem com os tempos, que era a fonte de consenso dos membros do consórcio stipub.
$$
em torno de=
também, o que se torna importante quando você tem um texto diferente da fonte matemática.Fora isso, esta é uma solução muito elegante 🙂