Signe différent (≠) avec une barre verticale

Est-il possible dobtenir un \neq mais avec une verticale barre au lieu dun incliné? Il existe des opérateurs dinégalité comme AMS « s \gvertneqq qui présentent ce type de » pas égal « mais pas sans le mélanger avec dautres signes.

\documentclass[a5paper]{article} \usepackage{amssymb} \usepackage{amsmath} \begin{document} \begin{align*} a&\gvertneqq b\\ C&\neq \varnothing \end{align*} \end{document} 

résultat du code ci-dessus

Donc ce que je voudrais fondamentalement, cest le symbole isolé sous le> dans le \gvertneqq ci-dessus. Surtout parce que je naime pas les différentes pentes des barres obliques de la deuxième ligne et que « ≠ ∅ » est une combinaison assez courante.

Réponse

Signe égal avec ligne verticale

La ligne verticale | est un peu haute pour mon goûter. La définition suivante pour \vneq diminue la hauteur totale de la ligne verticale pour quelle corresponde à la hauteur totale de \neq. Le redimensionnement de la hauteur verticale ne changera pas lépaisseur de la ligne dans le sens horizontal.

  • Lespace final et la hauteur de la ligne verticale peuvent être affinés en redéfinissant les macros \vneqxscale et \vneqyscale. La valeur par défaut est 1.
  • \mathpalette permet au symbole de se redimensionner automatiquement.

Exemple de fichier:

\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} 

Résultat

La hauteur peut encore être diminuée, par exemple

\renewcommand*{\vneqyscale}{.8} 

Résultat / .8

Résultat pour mathabx:

mathabx

Résultat pour txfonts:

txfonts

Résultat pour MnSymbol:

MnSymbol

Ici, la ligne verticale est trop épaisse et le le redimensionnement horizontal doit être réduit:

Résultat pour MnSymbol et \vneqxscale = .67 :

MnSymbol / .67

Alternative à varnothing

Au lieu de changer \neq, le symbole densemble vide \varnothing pourrait être construit en utilisant \not pour correspondre à la pente des lignes verticales inclinées. Cependant, \circ est trop petit et \bigcirc trop grand. Par conséquent, cette méthode est indiquée pour txfonts qui fournit \medcirc et MnSymbol avec \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} 

Résultat pour txfonts:

txfonts

Résultat pour MnSymbol:

MnSymbol

Commentaires

  • Cest juste une réponse incroyable! Jespère que Werner naura ' pas lesprit que je ne pourrais pas ' t mais changer la réponse acceptée en celle-ci. Je ' rencontre des problèmes en essayant de \renewcommand \neq vers cette version de \vneq cependant. Plus précisément, jobtiens une capacité de " TeX dépassée ". Une idée de pourquoi?
  • \vneq is using \ neq` dans la macro \@vneq. Ainsi, vous pouvez stocker lancienne signification: \let\ltxneq=\neq et utiliser \ltxneq dans \@vneq. Vous devriez alors pouvoir redéfinir \neq.

Réponse

Oui:

capture décran du code ci-dessous

\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} 

Pour une motivation derrière le commandes dans \vneq, lisez lexcellent tutoriel degreg sur \ooalign dans \subseteq + \circ sous forme de symbole unique (« sous-ensemble ouvert »)

Commentaires

  • Super, merci! Jai ajouté $$ autour du = également, ce qui devient important lorsque vous avez un texte différent de la police mathématique.Autre que cela, cest une solution des plus élégantes 🙂

Réponse

Une solution simpliste serait

\usepackage{mathabx} \changenotsign 

mais cela signifierait changer une grande partie des symboles mathématiques, ce qui nest pas souhaitable car, à mon avis, certains des symboles fournis par mathabx sont mal conçus.

Une solution avec des outils standard est

\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} 

Jai utilisé \renewcommand car il sagira simplement de supprimer ce code pour rétablir \neq sa forme habituelle.

En utilisant \mathpalette, le symbole créé deviendra plus petit en indices ou en exposants.

entrez la description de limage ici

Commentaires

  • ce symbole et un signe égal avec une annulation inclinée vers larrière sont inclus dans les polices stix.
  • @barbarabeeton Oui, mais ces polices ne ' tm ix bien avec Computer Modern et dautres polices.
  • triste mais vrai. ils ont été conçus pour se mélanger avec le temps, ce qui était la police de caractères consensuelle des membres du consortium stipub.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *