É 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
\vneqxscalee\vneqyscale. O padrão é1. -
\mathpalettepermite 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\neqpara esta versão de\vneqembora. 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=\neqe usar\ltxneqem\@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 🙂