Ikke lige tegn (≠) med en lodret bjælke

Er det muligt at få en \neq men med en lodret bar i stedet for en skråstilling? Der er ulighedsoperatører som AMS “s \gvertneqq, der har denne slags” ikke lige “, men ikke uden at blande det 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 af ovenstående kode

Så hvad jeg grundlæggende gerne vil have er det isolerede symbol under> i \gvertneqq ovenfor. Især fordi jeg ikke kan lide de forskellige skråninger i skråstreger i anden linje, og “≠ ∅” er en ganske almindelig kombination.

Svar

Ligestil med lodret linje

Den lodrette linje | er lidt høj for min smag. Den følgende definition for \vneq formindsker den samlede højde af den lodrette linje for at matche den samlede højde af \neq. Ændring af størrelsen på lodret højde ændrer ikke linjetykkelsen i vandret retning.

  • Den endelige hvidhed og højde af den lodrette linje kan finjusteres ved at omdefinere makroer \vneqxscale og \vneqyscale. Standard er 1.
  • \mathpalette tillader, at symbolet ændres automatisk.

Eksempel på fil:

\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øjden kan reduceres yderligere, f.eks.

\renewcommand*{\vneqyscale}{.8} 

Resultat / .8

Resultat for mathabx:

mathabx

Resultat for txfonts:

txfonts

Resultat for MnSymbol:

MnSymbol

Her er den lodrette linie for tyk og vandret ændring af størrelse skal skrumpes:

Resultat for MnSymbol og \vneqxscale = .67 :

MnSymbol / .67

Alternativ til varnothing

I stedet for at ændre \neq, er det tomme sæt symbol \varnothing kunne konstrueres ved hjælp af \not til at matche hældningen af de skrå lodrette linjer. \circ er dog for lille og \bigcirc for stort. Derfor vises denne metode for txfonts der giver \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åber, at Werner ikke vandt ' t, at jeg ikke kunne ' t, men ændre det accepterede svar til dette. Jeg ' har nogle problemer, når jeg prøver at \renewcommand \neq til denne version af \vneq dog. Mere specifikt får jeg en " TeX-kapacitet overskredet ". Enhver ide hvorfor?
  • \vneq is using \ neq` i makro \@vneq. Således kan du gemme den gamle betydning: \let\ltxneq=\neq og bruge \ltxneq i \@vneq. Derefter skal du være i stand til at omdefinere \neq.

Svar

Ja:

skærmbillede af 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 motivation bag kommandoer i \vneq, læs egregs fremragende tutorial om \ooalign i \subseteq + \circ som et enkelt symbol (“åben delmængde”)

Kommentarer

  • Godt, tak! Jeg tilføjede $$ omkring =, hvilket også bliver vigtigt, når du har en anden tekst end matematisk skrifttype.Bortset fra at dette er en meget elegant løsning 🙂

Svar

En forenklet løsning ville være

\usepackage{mathabx} \changenotsign 

men dette ville betyde at ændre en stor del af matematiske symboler, hvilket efter min mening ikke er ønskeligt, da nogle af symbolerne leveret af mathabx er dårligt designet.

En løsning med standardværktøjer 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 brugte \renewcommand fordi det simpelthen handler om at fjerne denne kode for at vende tilbage \neq til sin sædvanlige form.

Ved at bruge \mathpalette, det oprettede symbol bliver mindre i abonnementer eller overskrifter.

indtast billedbeskrivelse her

Kommentarer

  • både dette symbol og et ligetegn med en skråtstillet tilbagekaldelse er inkluderet i stix-skrifttyperne.
  • @barbarabeeton Ja, men disse skrifttyper ikke ' tm ix godt med Computer Modern og andre skrifttyper.
  • trist, men sandt. de var designet til at blande sig med tidspunkter, hvilket var konsensus-typografien for stipubkonsortiummedlemmerne.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *