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
\vneqxscale
ja\vneqyscale
. Oletusarvo on1
. -
\mathpalette
antaa 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
\neq
tä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=\neq
ja käyttää\ltxneq
kohtaan\@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 🙂