Ikke likhetstegn (≠) med en loddrett bjelke

Er det mulig å få en \neq men med en vertikal bar i stedet for en skråstilling? Det er ulikhetsoperatører som AMS «s \gvertneqq som har denne typen» ikke like «, men ikke uten å blande den med andre tegn.

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

resultat av koden ovenfor

Så det jeg i utgangspunktet vil ha er det isolerte symbolet under> i \gvertneqq ovenfor. Spesielt fordi jeg ikke liker de forskjellige skråningene i skråstreken i andre linje, og «≠ ∅» er en ganske vanlig kombinasjon.

Svar

Likestykke med loddrett linje

Den vertikale linjen | er litt høy for min smak. Følgende definisjon for \vneq reduserer den totale høyden på den vertikale linjen for å matche den totale høyden på \neq. Endring av størrelsen på vertikal høyde vil ikke endre linjetykkelsen i horisontal retning.

  • Den endelige størrelsen og høyden på den vertikale linjen kan finjusteres ved å omdefinere makroer \vneqxscale og \vneqyscale. Standard er 1.
  • \mathpalette lar symbolet endre størrelse automatisk.

Eksempelfil:

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

Resultat

Høyden kan reduseres ytterligere, f.eks.

\renewcommand*{\vneqyscale}{.8} 

Resultat / .8

Resultat for mathabx:

mathabx

Resultat for txfonts:

txfonts

Resultat for MnSymbol:

MnSymbol

Her er den vertikale linjen for tykk og horisontal endring av størrelse må krympes:

Resultat for MnSymbol og \vneqxscale = .67 :

MnSymbol / .67

Alternativ til varnothing

I stedet for å endre \neq, er det tomme sett-symbolet \varnothing kan konstrueres ved hjelp av \not for å matche skråningen til de skrå vertikale linjene. \circ er imidlertid for lite og \bigcirc for stort. Derfor vises denne metoden for txfonts som gir \medcirc og MnSymbol med \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} 

Resultat for txfonts:

txfonts

Resultat for MnSymbol:

MnSymbol

Kommentarer

  • Dette er bare et fantastisk svar! Jeg håper Werner vant ' tanke på at jeg ikke kunne ' t, men endre det aksepterte svaret på dette. Jeg ' har problemer når jeg prøver å \renewcommand \neq til denne versjonen av \vneq skjønt. Mer spesifikt får jeg en " TeX-kapasitet overskredet ". Noen ide hvorfor?
  • \vneq is using \ neq` i makro \@vneq. Dermed kan du lagre den gamle betydningen: \let\ltxneq=\neq og bruke \ltxneq i \@vneq. Da burde du kunne definere \neq på nytt.

Svar

Ja:

skjermbilde av koden nedenfor

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

For en motivasjon bak kommandoer i \vneq, les egregs utmerkede opplæring om \ooalign i \subseteq + \circ som et enkelt symbol (“åpen delmengde”)

Kommentarer

  • Flott takk! Jeg la til $$ rundt = som også blir viktig når du har en annen tekst enn matematisk skrift.Annet enn at dette er en mest elegant løsning 🙂

Svar

En forenklet løsning ville være

\usepackage{mathabx} \changenotsign 

men dette vil bety å endre en stor del av matte-symbolene, noe som etter min mening ikke er ønskelig, da noen av symbolene gitt av mathabx er dårlig utformet.

En løsning med standardverktøy er

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

Jeg brukte \renewcommand fordi det bare handler om å fjerne den koden for å tilbakestille \neq til sin vanlige form.

Ved å bruke \mathpalette, blir det opprettede symbolet mindre i abonnement eller overskrift.

skriv inn bildebeskrivelse her

Kommentarer

  • både dette symbolet og likhetstegnet med en skråstillet avlysning er inkludert i stix-skriftene.
  • @barbarabeeton Ja, men disse skriftene ikke ' tm ix bra med Computer Modern og andre skrifttyper.
  • trist men sant. de ble designet for å blande seg med tidene, som var konsensus-skrifttypen til stipubkonsortiummedlemmene.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *