我目前正在聽一場關於形式系統的講座(電腦科學講座)。
講師製作了一個符號,寫法<
如下>
:
每次當他畫它時,他都會說“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 在連續關係原子之間不插入空格的事實。