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}
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 er1
. -
\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}
Højden kan reduceres yderligere, f.eks.
\renewcommand*{\vneqyscale}{.8}
Resultat for mathabx
:
Resultat for txfonts
:
Resultat for MnSymbol
:
Her er den lodrette linie for tyk og vandret ændring af størrelse skal skrumpes:
Resultat for MnSymbol
og \vneqxscale
= .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
:
Resultat for 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:
\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
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.
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.
$$
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 🙂