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}
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 er1
. -
\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}
Høyden kan reduseres ytterligere, f.eks.
\renewcommand*{\vneqyscale}{.8}
Resultat for mathabx
:
Resultat for txfonts
:
Resultat for MnSymbol
:
Her er den vertikale linjen for tykk og horisontal endring av størrelse må krympes:
Resultat for MnSymbol
og \vneqxscale
= .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
:
Resultat for 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:
\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
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.
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.
$$
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 🙂