我怎样才能创建数学字母的否定

我怎样才能创建数学字母的否定

我知道 < 的否定是由 得到的\not <。许多符号也是如此。但这不适用于数学字母,例如 \not \mathcal{R}\mathcal{\not R}

答案1

包装cancel可以画对角线。

\documentclass[a4paper]{article}

\usepackage{amsmath}
\usepackage{cancel}
\begin{document}

$\cancel{\mathcal{R}}$

\end{document}

答案2

\not是为否定关系​​符号而设计的,其宽度基本上与等号一样宽。但它并不总是有效,例如,由于成员符号太高,因此应该使用\notin而不是。\not\in

以下是针对您的“否定关系”的可能解决方案:

\documentclass{article}
\usepackage{xparse}
\NewDocumentCommand{\calrel}{sm}
 {%
  \mathrel{
   \IfBooleanTF{#1}
   {\notcalrel{#2}}
   {\mathcal{#2}}%
  }%
 }
\NewDocumentCommand{\notcalrel}{m}
 {%
  \ooalign{$\mathcal{#1}$\cr\noalign{\kern-.2ex}\hidewidth$/$\hidewidth\cr}
 }

\begin{document}
We have $x \calrel{R} y$ but $a \calrel*{R} b$.

We have $x \calrel*{R} y$ but $a \calrel{R} b$.

\end{document}

这样\calrel{R}您就得到了一个具有正确间距的关系符号;* 变体添加了否定线。

请注意,*-variant 不适用于下标或上标;不过,这不应该是一个大问题。

在此处输入图片描述

使用此方法\mathcal{T}会产生一些问题:字形的斜度与斜线的斜度非常相似,并且中央的横线会妨碍视线。解决方案可能是稍微旋转斜线,使其更长。

\documentclass{article}
\usepackage{xparse,graphicx}
\NewDocumentCommand{\calrel}{sm}
 {%
  \mathrel{
   \IfBooleanTF{#1}
   {\notcalrel{#2}}
   {\mathcal{#2}}%
  }%
 }
\newcommand{\notcalrel}[1]
 {%
  \ooalign{%
   $\mathcal{#1}$\cr
   \noalign{\kern-.05ex}
   \hidewidth\kern.05em\rotatedslash\hidewidth\cr}
 }
\newcommand\rotatedslash{%
  \rotatebox[origin=c]{-20}{\scalebox{1}[1.2]{/}}%
}

\begin{document}
We have $x \calrel{R} y$ but $a \calrel*{R} b$.

We have $x \calrel*{R} y$ but $a \calrel{R} b$.

We have $x \calrel{S} y$ but $a \calrel*{S} b$.

We have $x \calrel*{S} y$ but $a \calrel{S} b$.

We have $x \calrel{T} y$ but $a \calrel*{T} b$.

We have $x \calrel*{T} y$ but $a \calrel{T} b$.

\end{document}

在此处输入图片描述

相关内容