I am looking for a LaTeX symbol that means "A does not entail B". The mathematical symbol I found for this is ⊬
, however I haven't found any way of displaying it properly.
How can I convey the desired meaning?
\documentclass{article}
\usepackage{amssymb}
\newcommand\doesnotentail{\mkern-2mu\not\mkern2mu\vdash}
\begin{document}
$A\doesnotentail B$
$A\vdash B$
\end{document}
And some other ways:
\documentclass{article}
\usepackage{amssymb,stackengine}
\newcommand\doesnotentail{\mathrel{\ensurestackMath{%
\stackengine{.175em}{\vdash}{\scriptstyle/}{O}{c}{F}{F}{L}}}}
\begin{document}
$A\doesnotentail B$ via stackengine
$A\vdash B$ \textbackslash vdash
$A\nvdash B$ \textbackslash nvdash
\end{document}
The mathabx
fonts define a plethora of such symbols. Here is a code to use them without loading the whole font:
\documentclass[11pt]{article}%[14pt]
\usepackage{amsmath}
\DeclareFontFamily{U}{matha}{\hyphenchar\font45}
\DeclareFontShape{U}{matha}{m}{n}{%
<-6> matha5
<6-7> matha6
<7-8> matha7
<8-9> matha8
<9-10> matha9
<10-12> matha10
<12-> matha12
} {}%
\DeclareSymbolFont{matha}{U}{matha}{m}{n}
\DeclareFontFamily{U}{mathb}{\hyphenchar\font45}
\DeclareFontShape{U}{mathb}{m}{n}{%
<-6> matha5
<6-7> matha6
<7-8> mathb7
<8-9> mathb8
<9-10> mathb9
<10-12> mathb10
<12-> mathb12
}{}%
\DeclareSymbolFont{mathb}{U}{mathb}{m}{n}%
\DeclareMathSymbol{\nvdash}{\mathrel}{matha}{"26}
\DeclareMathSymbol{\ndashv}{\mathrel}{matha}{"27}
\DeclareMathSymbol{\nvDash}{\mathrel}{matha}{"2E}
\DeclareMathSymbol{\nDashv}{\mathrel}{matha}{"2F}
\DeclareMathSymbol{\nVdash}{\mathrel}{matha}{"2A}
\DeclareMathSymbol{\ndashV}{\mathrel}{matha}{"2B}
\DeclareMathSymbol{\nVDash}{\mathrel}{mathb}{"2A}
\DeclareMathSymbol{\nDashV}{\mathrel}{mathb}{"2B}
\DeclareMathSymbol{\nVvdash}{\mathrel}{mathb}{"2E}
\DeclareMathSymbol{\ndashVv}{\mathrel}{mathb}{"2F}
\begin{document}
\begin{alignat*}{4}
\texttt{\textbackslash nvdash} &\quad & \nvdash &\hspace{4em} & \texttt{\textbackslash ndashv} &\quad & \ndashv \\
\texttt{\textbackslash nvDash} &\quad & \nvDash &\hspace{4em} & \texttt{\textbackslash nDashv} &\quad & \nDashv \\
\texttt{\textbackslash nVdash} &\quad & \nvDash &\hspace{4em} & \texttt{\textbackslash ndashV} &\quad & \nDashv \\\\
\texttt{\textbackslash nVDash} &\quad & \nVDash &\hspace{4em} & \texttt{\textbackslash nDashV} &\quad & \nDashV \\
\texttt{\textbackslash nVvdash} &\quad & \nVDash &\hspace{4em} & \texttt{\textbackslash nDashV} &\quad & \ndashVv
\end{alignat*}
\end{document}
unicode-math
, stix
and stix2
.
mnsymbol
and mdsymbol
. mathabx
has the advantage to fit well the default math fonts.
unicode math
whenever possible. Latin Modern Math/lmodern
, Asana Math/newpx, XITS Math/stix
,Stix Two Math/stix2
, and TeX Gyre Termes Math/newtx
are all fonts that have close analogues to legacy packages.
The ⊬ is U+22AC (Does Not Prove). This is \nvdash
in amssymb
and many other packages, including unicode-math
, pxfonts
, MnSymbol
, fdsymbol
, mathabx
, stix
and more.
\documentclass[varwidth, preview]{standalone}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amssymb} % Or your font package of choice.
\DeclareUnicodeCharacter{22AC}{\ensuremath{\nvdash}}
\begin{document}
\( p ⊬ q \) and \(q \nvdash p\).
\end{document}
The Comprehensive LaTeX Symbols List shows what the symbol looks like in many of these fonts.
Even simpler:
\documentclass[varwidth, preview]{standalone}
\usepackage{unicode-math}
% You can \setmainfont and \setmathfont here.
\begin{document}
\( p ⊬ q \) and \(q \nvdash p\).
\end{document}
The List of Symbols Defined by unicode-math
shows what this symbol looks like in several OpenType fonts (on page 58).
But, the other answers give some really clever ways to fake it, if you want to make things more complicated.
Here's a possible solution for keeping the negation slash to the height of the “entailment” symbol.
\documentclass{article}
\usepackage{amsmath,graphicx}
\DeclareRobustCommand{\notvdash}{%
\mathrel{\mathpalette\vdashnot\vdash}%
}
\makeatletter
\newcommand{\vdashnot}[2]{%
\sbox0{$\m@th#1#2$}%
\sbox2{\raisebox{\depth}{$\m@th#1/$}}%
\ooalign{%
\hidewidth$\m@th#1\mkern2mu$\resizebox{1.1\width}{\ht0}{\box2}\hidewidth\cr
\box0\cr
}%
}
\makeatother
\begin{document}
$A\notvdash B$
\end{document}
amssymb
.turnstile
package: none of the font packages which provide these symbols in maths will do the job because these aren't encoded, sadly, as extensible symbols.