Är det möjligt att få en \neq
men med en vertikal bar istället för en lutande? Det finns ojämlikhetsoperatörer som AMS ”s \gvertneqq
som har denna typ av” inte lika ”men inte utan att blanda det med andra tecken.
\documentclass[a5paper]{article} \usepackage{amssymb} \usepackage{amsmath} \begin{document} \begin{align*} a&\gvertneqq b\\ C&\neq \varnothing \end{align*} \end{document}
Så vad jag egentligen skulle vilja ha är den isolerade symbolen under> i \gvertneqq
ovan. Särskilt för att jag inte tycker om snedstreckens olika lutningar i andra raden och ”≠ ∅” är en ganska vanlig kombination.
Svar
Likhetstecken med vertikal linje
Den vertikala linjen |
är lite hög för min smak. Följande definition för \vneq
minskar den totala höjden för den vertikala linjen för att matcha den totala höjden för \neq
. Om du ändrar storlek på vertikal höjd ändras inte linjens tjocklek i horisontell riktning.
- Den slutliga vitden och höjden på den vertikala linjen kan finjusteras genom att omdefiniera makron
\vneqxscale
och\vneqyscale
. Standardvärdet är1
. -
\mathpalette
gör att symbolen kan ändras automatiskt.
Exempel 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 minskas ytterligare, t.ex.
\renewcommand*{\vneqyscale}{.8}
Resultat för mathabx
:
Resultat för txfonts
:
Resultat för MnSymbol
:
Här är den vertikala linjen för tjock och horisontell storleksändring behöver krympas:
Resultat för MnSymbol
och \vneqxscale
= .67
:
Alternativ till varnothing
I stället för att ändra \neq
är den tomma uppsättningssymbolen \varnothing
kan konstrueras med \not
för att matcha lutningen på de lutande vertikala linjerna. \circ
är dock för litet och \bigcirc
för stort. Därför visas denna metod för txfonts
som ger \medcirc
och 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 för txfonts
:
Resultat för MnSymbol
:
Kommentarer
- Detta är bara ett fantastiskt svar! Jag hoppas Werner vann ' tänker på att jag inte kunde ' t men ändra det accepterade svaret till det här. Jag ' har problem när jag försöker
\renewcommand
\neq
till den här versionen av\vneq
dock. Mer specifikt får jag en " TeX-kapacitet överskred ". Någon aning varför? -
\vneq is using
\ neq` i makro\@vneq
. Således kan du lagra den gamla betydelsen:\let\ltxneq=\neq
och använda\ltxneq
i\@vneq
. Då ska du kunna omdefiniera\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}
För en motivation bakom kommandon i \vneq
, läs egregs utmärkta handledning om \ooalign
i \subseteq
+ \circ
som en enda symbol (”öppen delmängd”)
Kommentarer
Svar
En förenklad lösning skulle vara
\usepackage{mathabx} \changenotsign
men detta skulle innebära att en stor del av matematiksymbolerna ändras, vilket inte är önskvärt eftersom jag, enligt min åsikt, några av de symboler som ges av mathabx
är dåligt utformade.
En lösning med standardverktyg är
\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}
Jag använde \renewcommand
eftersom det bara handlar om att ta bort koden för att återställa \neq
till sin vanliga form.
Genom att använda \mathpalette
, den skapade symbolen kommer att bli mindre i prenumerationer eller överskrift.
Kommentarer
- både den här symbolen och ett likhetstecken med en bakåtlutande annullering ingår i stix-teckensnitten.
- @barbarabeeton Ja, men dessa teckensnitt inte ' tm ix bra med Computer Modern och andra teckensnitt.
- sorgligt men sant. de var utformade för att blandas med tider, vilket var typsnittet för stipubkonsortiets medlemmar.
$$
runt=
som också blir viktigt när du har en annan text än matte teckensnitt.Annat än att detta är en mycket elegant lösning 🙂