Este posibil să obțineți un \neq
, dar cu o verticală bar în loc de unul înclinat? Există operatori de inegalitate precum AMS „s \gvertneqq
care prezintă acest tip de” nu egal „, dar nu fără a-l amesteca cu alte semne.
\documentclass[a5paper]{article} \usepackage{amssymb} \usepackage{amsmath} \begin{document} \begin{align*} a&\gvertneqq b\\ C&\neq \varnothing \end{align*} \end{document}
Deci, ceea ce aș dori în principiu să fie simbolul izolat de sub> în \gvertneqq
de mai sus. Mai ales pentru că nu-mi plac diferitele pante ale barelor din a doua linie și „≠ ∅” este o combinație destul de obișnuită.
Răspuns
Semn egal cu linie verticală
Linia verticală |
este puțin înaltă pentru mine gust. Următoarea definiție pentru \vneq
reduce înălțimea totală a liniei verticale pentru a se potrivi cu înălțimea totală a \neq
. Redimensionarea înălțimii verticale nu va modifica grosimea liniei în direcția orizontală.
- Witdh-ul final și înălțimea liniei verticale pot fi reglate fin redefinind macro-urile
\vneqxscale
și\vneqyscale
. Valoarea implicită este1
. -
\mathpalette
permite redimensionarea simbolului automat.
Exemplu de fișier:
\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}
Înălțimea poate fi redusă în continuare, de ex.
\renewcommand*{\vneqyscale}{.8}
Rezultat pentru mathabx
:
Rezultat pentru txfonts
:
Rezultat pentru MnSymbol
:
Aici linia verticală este prea groasă și redimensionarea orizontală trebuie să se micșoreze:
Rezultat pentru MnSymbol
și \vneqxscale
= .67
:
Alternativă la varnothing
În loc să schimbi \neq
, simbolul setului gol ar putea fi construit folosind \not
pentru a se potrivi cu panta liniilor verticale înclinate. Cu toate acestea, \circ
este prea mic și \bigcirc
prea mare. Prin urmare, această metodă este afișată pentru txfonts
care oferă \medcirc
și MnSymbol
cu \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}
Rezultat pentru txfonts
:
Rezultat pentru MnSymbol
:
Comentarii
- Acesta este doar un răspuns uimitor! Sper că Werner nu s-a gândit ' că nu aș putea ' t să schimb răspunsul acceptat la acesta. ' Am unele probleme când încerc să
\renewcommand
\neq
la această versiune a\vneq
totuși. Mai precis, obțin o " capacitate TeX depășită ". Ai idee de ce? -
\vneq is using
\ neq` în macro\@vneq
. Astfel, puteți stoca vechiul sens:\let\ltxneq=\neq
și utilizați\ltxneq
în\@vneq
. Apoi, ar trebui să puteți redefini\neq
.
Răspundeți
Da:
\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}
Pentru o motivație din spatele comenzi în \vneq
, citiți tutorialul excelent al lui egreg pe \ooalign
în \subseteq
+ \circ
ca simbol unic („subset deschis”)
Comentarii
Răspuns
O soluție simplistă ar fi
\usepackage{mathabx} \changenotsign
dar acest lucru ar însemna schimbarea unei mari părți a simbolurilor matematice, ceea ce nu este de dorit deoarece, în opinia mea, unele dintre simbolurile furnizate de mathabx
sunt prost concepute.
O soluție cu instrumente standard este
\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}
Am folosit \renewcommand
deoarece va fi pur și simplu o chestiune de eliminare a codului pentru a reveni la \neq
la forma sa obișnuită.
Prin utilizarea \mathpalette
, simbolul creat va deveni mai mic în indexuri sau superindici.
Comentarii
- atât simbolul, cât și un semn egal cu o anulare înclinată înapoi sunt incluse în fonturile stix.
- @barbarabeeton Da, dar acele fonturi nu ' tm ix bine cu Computer Modern și alte fonturi.
- trist, dar adevărat. au fost concepute pentru a se amesteca cu vremurile, care a fost tiparul de consens al membrilor consorțiului stipub.
$$
în jurul=
, care devine important atunci când aveți un text diferit de fontul matematic.În afară de aceasta, aceasta este cea mai elegantă soluție 🙂