Как написать логический символ 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

Это юникодУ+2АА4под названием «БОЛЬШЕ, ЧЕМ ПЕРЕКРЫВАЮЩЕЕ МЕНЬШЕ».Здесь, вы можете увидеть, какие шрифты поддерживают этот символ издесь, какие шрифты в вашей системе его поддерживают.

MWE требует Lua- или XeLaTeX. Он просто показывает два шрифта, которые я нашел на своем ПК. Конечно, вы должны определить предпочтительную версию в -команде \mathrel.

% arara: lualatex

\documentclass{article} 
\usepackage{fontspec}

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

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

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