\neq
斜めのバーの代わりに縦のバーで「しかし」を表すことは可能ですか? AMS のような不等式演算子には\gvertneqq
、この種の「等しくない」を表すものがありますが、他の記号と混在させることはできません。
\documentclass[a5paper]{article}
\usepackage{amssymb}
\usepackage{amsmath}
\begin{document}
\begin{align*}
a&\gvertneqq b\\
C&\neq \varnothing
\end{align*}
\end{document}
したがって、基本的に私が欲しいのは、\gvertneqq
上記の > の下の独立した記号です。特に、2 行目のスラッシュの傾斜が異なるのが気に入らないし、「≠∅」は非常に一般的な組み合わせであるためです。
答え1
縦線付きの等号
垂直線は|
私の好みとしては少し高いです。 の次の定義は、 の合計\vneq
の高さに一致するように垂直線の合計の高さを減らします\neq
。垂直の高さを変更しても、水平方向の線の太さは変わりません。
\vneqxscale
垂直線の最終的な幅と高さは、マクロとを再定義することで微調整できます\vneqyscale
。デフォルトは です1
。\mathpalette
シンボルのサイズを自動的に変更できます。
サンプルファイル:
\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}
高さはさらに低くすることができます。
\renewcommand*{\vneqyscale}{.8}
結果mathabx
:
結果txfonts
:
結果MnSymbol
:
ここでは垂直線が太すぎるため、水平方向のサイズ変更を縮小する必要があります。
\renewcommand*{\vneqxscale}{.67}
MnSymbol
および\vneqxscale
= の結果.67
:
代替案varnothing
を変更する代わりに、斜めの垂直線の傾きに一致するように、を使用して\neq
空集合記号\varnothing
を構築することができます。ただし、は小さすぎ、大きすぎます。したがって、でおよびを提供するに対してこのメソッドが示されています。\not
\circ
\bigcirc
txfonts
\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}
結果txfonts
:
結果MnSymbol
:
答え2
はい:
\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}
のコマンドの背後にある動機については\vneq
、egregの優れたチュートリアルをお読みください\ooalign
。\subseteq
+\circ
を単一の記号として(「開いたサブセット」)
答え3
最も単純な解決策は
\usepackage{mathabx}
\changenotsign
しかし、これは数学記号の大部分を変更することを意味し、私の意見では、 が提供する記号の一部はmathabx
設計が悪いため、望ましくありません。
標準的なツールを使った解決策は
\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}
通常の形状に\renewcommand
戻すには、そのコードを削除するだけで済むため、これを使用しました。\neq
を使用すると\mathpalette
、作成された記号は下付き文字または上付き文字で小さくなります。