私は現在、形式システムに関する講義(コンピュータサイエンスの講義)を聞いています。
<
講師は、 とを重ねたような記号を作成します>
。
彼はそれを描くたびに、「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
。一見するとより単純な「print >、back up、print <」に比べて、この複雑に見えるソリューションの利点は何でしょうか。それは、使用するフォントによって変わる可能性があるシンボルの幅を推測する必要がないことです。 を使用すると、\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
これはユニコードです2AA4 は「GREATER-THAN OVERLAPPING LESS-THAN」という名前です。ここ、どのフォントがこの記号をサポートしているかを確認できます。ここ、システム上のどのフォントがそれを提供しているか。
MWE には Lua または XeLaTeX が必要です。これは、私の PC で見つかった 2 つのフォントを表示するだけです。もちろん、\mathrel
- コマンドで希望するバージョンを定義する必要があります。
% arara: lualatex
\documentclass{article}
\usepackage{fontspec}
\begin{document}
\fontspec{Asana Math}\symbol{"2AA4}
\fontspec{XITS Math}\symbol{"2AA4}
\end{document}