Ist es möglich, ein \neq
zu erhalten, jedoch mit einem vertikalen Bar statt einer schrägen? Es gibt Ungleichungsoperatoren wie AMS „s \gvertneqq
, die diese Art von“ nicht gleich „aufweisen, jedoch nicht ohne sie mit anderen Zeichen zu mischen.
\documentclass[a5paper]{article} \usepackage{amssymb} \usepackage{amsmath} \begin{document} \begin{align*} a&\gvertneqq b\\ C&\neq \varnothing \end{align*} \end{document}
Was ich also grundsätzlich gerne hätte, ist das isolierte Symbol unter dem> im \gvertneqq
oben. Insbesondere, weil mir die unterschiedlichen Steigungen der Schrägstriche in der zweiten Zeile nicht gefallen und „≠ ≠“ eine recht häufige Kombination ist.
Antwort
Gleichheitszeichen mit vertikaler Linie
Die vertikale Linie |
ist für mich etwas groß Geschmack. Die folgende Definition für \vneq
verringert die Gesamthöhe der vertikalen Linie, um der Gesamthöhe von \neq
zu entsprechen. Durch Ändern der Größe der vertikalen Höhe wird die Liniendicke in horizontaler Richtung nicht geändert.
- Das endgültige Gewicht und die Höhe der vertikalen Linie können durch Neudefinition der Makros
\vneqxscale
und\vneqyscale
. Der Standardwert ist1
. -
\mathpalette
ermöglicht die automatische Größenänderung des Symbols.
Beispieldatei:
\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}
Die Höhe kann weiter verringert werden, z. B.
\renewcommand*{\vneqyscale}{.8}
Ergebnis für mathabx
:
Ergebnis für txfonts
:
Ergebnis für MnSymbol
:
Hier ist die vertikale Linie zu dick und die Die horizontale Größenänderung muss verkleinert werden:
Ergebnis für MnSymbol
und \vneqxscale
= .67
:
Alternative zu varnothing
Anstatt \neq
zu ändern, wird das leere Satzsymbol \varnothing
könnte unter Verwendung von \not
konstruiert werden, um der Steigung der schrägen vertikalen Linien zu entsprechen. \circ
ist jedoch zu klein und \bigcirc
zu groß. Daher wird diese Methode für txfonts
gezeigt, die \medcirc
und MnSymbol
mit \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}
Ergebnis für txfonts
:
Ergebnis für MnSymbol
:
Kommentare
- Dies ist nur eine erstaunliche Antwort! Ich hoffe, Werner wird ' nichts dagegen haben, dass ich ' nicht anders konnte, als die akzeptierte Antwort auf diese zu ändern. Ich ' habe Probleme beim Versuch,
\renewcommand
\neq
auf diese Version von\vneq
obwohl. Insbesondere erhalte ich eine " TeX-Kapazität, die " überschritten hat. Irgendeine Idee warum? -
\vneq is using
\ neq` im Makro\@vneq
. So können Sie die alte Bedeutung speichern:\let\ltxneq=\neq
und\ltxneq
in\@vneq
verwenden. Dann sollten Sie in der Lage sein,\neq
neu zu definieren.
Antwort
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 eine Motivation hinter dem Befehle in \vneq
lesen das hervorragende Tutorial von egreg zu \ooalign
in \subseteq
+ \circ
als einzelnes Symbol („offene Teilmenge“)
Kommentare
- Großartig, danke! Ich habe
$$
um die=
hinzugefügt, was wichtig wird, wenn Sie eine haben anderer Text als Mathe-Schriftart.Davon abgesehen ist dies eine äußerst elegante Lösung 🙂
Antwort
Eine vereinfachte Lösung wäre
\usepackage{mathabx} \changenotsign
aber dies würde bedeuten, einen großen Teil der mathematischen Symbole zu ändern, was nicht wünschenswert ist, da meiner Meinung nach einige der von sind schlecht gestaltet.
Eine Lösung mit Standardwerkzeugen ist
\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}
Ich habe , da lediglich dieser Code entfernt werden muss, um \neq
in seine übliche Form zurückzusetzen.
Mit \mathpalette
wird das erstellte Symbol in tiefgestellten oder hochgestellten Zeichen kleiner.
Kommentare
- Sowohl dieses Symbol als auch ein Gleichheitszeichen mit einer rückwärts geneigten Löschung sind in den Stix-Schriftarten enthalten.
- @barbarabeeton Ja, aber Diese Schriftarten sind nicht ' tm ix gut mit Computer Modern und anderen Schriftarten.
- traurig, aber wahr. Sie sollten sich mit der Zeit vermischen, was die Konsensschrift der Mitglieder des Stipub-Konsortiums war.