我如何写逻辑 iff 符号?

我如何写逻辑 iff 符号?

我目前正在听一场关于形式系统的讲座(计算机科学讲座)。

讲师制作了一个符号,写成类似于覆盖<>

在此处输入图片描述

每次画的时候,他都会说“genau dann wenn”(德语,意为“如果,且唯若”)。

我如何使用 LaTeX 创建这个符号?

答案1

这里的定义比@egregs ooalign 更简单:

\def\gdw{\mathrel{{>}\mkern-13mu{<}}}

$A \gdw B$

而且它的光学效果更好:

孕期

答案2

简单的应用\ooalign

\documentclass{article}

% Simple version if you don't need it in sub/superscripts
%\newcommand\gdw{\mathrel{\ooalign{$<$\cr$>$\cr}}}

% Fuller version
\makeatletter
\newcommand{\gdw}{\mathrel{\mathpalette\@gdw@\relax}}
\newcommand{\@gdw@}[2]{\ooalign{$\m@th#1<$\cr$\m@th#1>$\cr}}
\makeatother

\begin{document}
$X \gdw Y_{\gdw}$
\end{document}

在此处输入图片描述

这个答案快速了解\ooalign。与看似更简单的“打印 >,备份并打印 <”相比,这种看起来很复杂的解决方案有什么优势?您不需要猜测符号的宽度,因为符号的宽度可能会随着所用字体而变化;\ooalign您不必冒着必须计算宽度的风险。

如果要使内菱形变小,可以添加一些推动力:

\documentclass{article}

\makeatletter
\newcommand{\gdw}{\mathrel{\mathpalette\@gdw@\relax}}
\newcommand{\@gdw@}[2]{%
  \ooalign{$\m@th#1\@gdw@push<$\cr$\m@th#1>\@gdw@push$\cr}}
\newcommand{\@gdw@push}{\mkern2mu}% adjust to suit
\makeatother

\begin{document}
$X \gdw Y_{\gdw}$
\end{document}

在此处输入图片描述

另一种可能性:

\documentclass{article}
\usepackage{mathtools}

\newcommand{\gdw}{%
  \mathrel{\mathrlap{>}}% print > with zero width
  \mathrel{\mkern2mu}% some small spacing
  <% print the <
}

\begin{document}
$X \gdw Y_{\gdw}$
\end{document}

这会产生与上一个完全相同的输出(需要调整 2mu 以适应)。从其方面来说,它更简单,因为它\mathpalette在内部使用。它利用了 TeX 在连续关系原子之间不插入空格的事实。

答案3

这是 unicode乌+2AA4名为“大于重叠小于”。这里,你可以看到哪些字体支持这个符号,这里,您的系统上有哪些字体提供该功能。

MWE 需要 Lua 或 XeLaTeX。它只显示我在 PC 上找到的两种字体。当然,你应该在命令中定义你首选的版本\mathrel

% arara: lualatex

\documentclass{article} 
\usepackage{fontspec}

\begin{document} 
\fontspec{Asana Math}\symbol{"2AA4}
\fontspec{XITS Math}\symbol{"2AA4}
\end{document}

在此处输入图片描述

相关内容