Знак не равно (≠) с вертикальной чертой

Знак не равно (≠) с вертикальной чертой

Можно ли получить \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приведенном выше примере. Особенно потому, что мне не нравятся разные наклоны косых черт во второй строке, а "≠∅" — довольно распространенная комбинация.

решение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}

Результат/.8

Результат для mathabx:

mathabx

Результат для txfonts:

txfonts

Результат для MnSymbol:

MnСимвол

Здесь вертикальная линия слишком толстая, а размер по горизонтали нужно уменьшить:

\renewcommand*{\vneqxscale}{.67}

Результат для MnSymbolи \vneqxscale= .67:

MnSymbol/.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:

txfonts

Результат для MnSymbol:

MnСимвол

решение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созданный символ станет меньше в нижних или верхних индексах.

введите описание изображения здесь

Связанный контент