Ist es möglich, ein „aber“ mit einem senkrechten Strich statt einem schrägen zu erhalten \neq
? Es gibt Ungleichheitsoperatoren wie den von AMS, \gvertneqq
die diese Art von „ungleich“ aufweisen, aber nicht ohne es 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
obigen Beispiel. Insbesondere, weil mir die unterschiedlichen Steigungen der Schrägstriche in der zweiten Zeile nicht gefallen und „≠∅“ eine recht häufige Kombination ist.
Antwort1
Gleichheitszeichen mit senkrechtem Strich
Die vertikale Linie |
ist für meinen Geschmack etwas zu hoch. Die folgende Definition für \vneq
verringert die Gesamthöhe der vertikalen Linie, um sie der Gesamthöhe von anzupassen \neq
. Die Größenänderung der vertikalen Höhe ändert nicht die Linienstärke in horizontaler Richtung.
\vneqxscale
Die endgültige Breite und Höhe der vertikalen Linie kann durch Neudefinition von Makros und feinabgestimmt werden\vneqyscale
. Der Standardwert ist1
.\mathpalette
ermöglicht die automatische Größenanpassung 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 horizontale Größenanpassung muss verkleinert werden:
\renewcommand*{\vneqxscale}{.67}
Ergebnis für MnSymbol
und \vneqxscale
= .67
:
Als Alternativevarnothing
Anstatt zu ändern \neq
, könnte das leere Mengensymbol \varnothing
mithilfe von konstruiert werden, \not
um der Neigung der schrägen vertikalen Linien zu entsprechen. Allerdings \circ
ist zu klein und \bigcirc
zu groß. Daher wird diese Methode für angezeigt, die und mit txfonts
bereitstellt .\medcirc
MnSymbol
\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
:
Antwort2
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}
Um mehr über die Befehle in zu erfahren \vneq
, lesen Sie egregs hervorragendes Tutorial zu \ooalign
in\subseteq
+ \circ
als einzelnes Symbol („offene Teilmenge“)
Antwort3
Eine einfache Lösung wäre
\usepackage{mathabx}
\changenotsign
das würde allerdings bedeuten, dass ein großer Teil der mathematischen Symbole geändert werden müsste, was nicht wünschenswert ist, da meiner Meinung nach einige der bereitgestellten Symbole mathabx
schlecht gestaltet sind.
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 es verwendet \renewcommand
, weil es lediglich darum geht, den Code zu entfernen, um ihn wieder \neq
in die übliche Form zu bringen.
Durch die Verwendung \mathpalette
wird das erstellte Symbol in tiefgestellten oder hochgestellten Ziffern kleiner.