Onko mahdollista saada \neq, mutta pystysuoralla baari viistotun sijasta? On eriarvoisuusoperaattoreita, kuten AMS ”s \gvertneqq, joissa on tällainen” ei tasa ”, mutta ei sekoittamatta sitä muihin merkkeihin.
\documentclass[a5paper]{article} \usepackage{amssymb} \usepackage{amsmath} \begin{document} \begin{align*} a&\gvertneqq b\\ C&\neq \varnothing \end{align*} \end{document}
Joten mitä periaatteessa haluaisin saada, on eristetty symboli \gvertneqq yllä. Erityisesti siksi, että en pidä vinoviivojen eri kaltevuuksista toisella rivillä ja ”≠ ∅” on melko yleinen yhdistelmä.
Vastaus
Yhtälömerkki pystysuoralla viivalla
Pystysuora viiva | on vähän pitkä maku. Seuraava määritelmä kohteelle \vneq pienentää pystysuoran viivan kokonaiskorkeutta vastaamaan \neq -kokonaiskorkeutta. Pystykorkeuden koon muuttaminen ei muuta viivan paksuutta vaakasuunnassa.
- Pystysuoran viivan viimeinen pituus ja korkeus voidaan hienosäätää määrittelemällä makrot uudelleen
\vneqxscaleja\vneqyscale. Oletusarvo on1. -
\mathpaletteantaa symbolin koon muuttaa automaattisesti.
Esimerkkitiedosto:
\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}
Korkeutta voidaan edelleen pienentää, esim.
\renewcommand*{\vneqyscale}{.8}
Tulos kohteelle mathabx:
Tulos kohteelle txfonts:
Tulos kohteelle MnSymbol:
Tässä pystyviiva on liian paksu ja vaakakoon muuttaminen tarvitsee kutistuvan:
Tulos kohteille MnSymbol ja \vneqxscale = .67 :
Vaihtoehto varnothing
\neq -vaihtoehdon vaihtamisen sijaan tyhjä asetussymboli \varnothing voitaisiin rakentaa käyttämällä \not vastaamaan vinojen pystyviivojen kaltevuutta. \circ on kuitenkin liian pieni ja \bigcirc liian suuri. Siksi tämä menetelmä näytetään kohteelle txfonts, joka tarjoaa \medcirc ja MnSymbol kanssa \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}
Tulos kohteelle txfonts:
Tulos kohteelle MnSymbol:
Kommentit
- Tämä on upea vastaus! Toivon, että Werner voitti ' mielessäni, että en voinut ' t, mutta muuttaa hyväksyttyä vastausta tähän. Minulla ' minulla on ongelmia, kun yritän
\renewcommand\neqtähän\vneq. Tarkemmin sanottuna saan " TeX-kapasiteetin, joka ylitti ". Onko sinulla mitään syytä miksi? -
\vneq is using\ neq` makrossa\@vneq. Näin voit tallentaa vanhan merkityksen:\let\ltxneq=\neqja käyttää\ltxneqkohtaan\@vneq. Sitten sinun pitäisi pystyä määrittelemään uudelleen\neq.
Vastaa
Kyllä:
\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}
Motivaatiota varten komennot kohdassa \vneq, lue egregin erinomainen opetusohjelma aiheesta \ooalign kohdassa \subseteq + \circ yksittäisenä symbolina (”avoin osajoukko”)
kommentit
Vastaus
Yksinkertainen ratkaisu olisi
\usepackage{mathabx} \changenotsign
mutta tämä merkitsisi suuren osan matemaattisista symboleista muuttamista, mikä ei ole toivottavaa, koska mielestäni jotkut on suunniteltu huonosti.
Ratkaisu vakiotyökaluilla on
\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}
Käytin \renewcommand, koska kyse on yksinkertaisesti kyseisen koodin poistamisesta, jotta \neq palautettaisiin tavalliseen muotoonsa.
Käyttämällä \mathpalette, luotu symboli pienenee ala- tai alaindekseissä.
Kommentit
- sekä tämä symboli että yhtäläisyysmerkki taaksepäin kallistetulla peruutuksella sisältyvät stix-kirjasimiin.
- @barbarabeeton Kyllä, mutta nuo kirjasimet don ' tm ix hyvin Computer Modernin ja muiden fonttien kanssa.
- surullinen mutta totta. ne on suunniteltu sekoittumaan aikoihin, mikä oli stipub-konsortion jäsenten yksimielinen kirjasinlaji.
$$myös=-kohdan ympärille, mikä tulee tärkeäksi, kun sinulla on eri teksti kuin matemaattinen fontti.Tämä on tyylikäs ratkaisu 🙂