Math & ScienceDifference between ⫾ (U+2AFE) and ⫿ (U+2AFF)?

Information and discussion about LaTeX's math and science related features (e.g. formulas, graphs).
Post Reply
user49915
Posts: 81
Joined: Wed Apr 17, 2019 12:51 pm

Difference between ⫾ (U+2AFE) and ⫿ (U+2AFF)?

Post by user49915 »

Continuing https://tex.stackexchange.com/questions ... d-language, what is the intended difference in the usage of ⫾ (Dijkstra choice, U+2AFE) and ⫿ (n-ary Dijkstra choice, U+2AFF)? Consider the following typesetting test:

Code: Select all

\documentclass{article}
\pagestyle{empty}
\usepackage{mathtools}%%% loads amsmath internally
\mathtoolsset{mathic=true} %%% See http://tex.stackexchange.com/a/3496/
\usepackage{unicode-math}
\setmainfont[Ligatures=TeX]{TeX Gyre Termes}
\setsansfont{TeX Gyre Heros}[Scale=0.88]
\setmonofont{TeX Gyre Cursor}%%% No explicit turning on ligatures for the monospaced font.
%\setmathfont[Ligatures=TeX]{TeX Gyre Termes Math}
%\setmathfont[Extension=.otf,Ligatures=TeX,range={"2AFE,"2AFF}]{STIXMath-Regular}
\setmathfont{XITSMath-Regular.otf}
\setlength{\tabbingsep}{0pt}%%% We use tabbing only to typeset programs. Let's have manual control there.
\newcommand{\GCLcommand}[1]{\ifmmode\mathbfsf{#1}\else\textbf{\textsf{#1}}\fi}
\newcommand{\mdoloop}{\GCLcommand{do}}
\newcommand{\modloop}{\GCLcommand{od}}
\newcommand{\mthen}{\ensuremath{\to}}
\newcommand{\mif}{\GCLcommand{if}}
\newcommand{\mfi}{\GCLcommand{fi}}
\newcommand{\mnoop}{\GCLcommand{nop}}
\begin{document}
\newcommand{\test}{%
\begin{tabbing}\mdoloop\=\ \ \=\(q_1>q_2\) \ \=\(\to\) \ \ \=\kill
\mdoloop\>\>\(q_1>q_2\)\>\mthen\>\(q_1,q_2\) \(\coloneqq\) \(q_2,q_1\)\\
\>\mchoice\'\>\(q_2>q_3\)\>\mthen\>\(q_2,q_3\) \(\coloneqq\) \(q_3,q_2\)\\
\>\mchoice\'\>\(q_3>q_4\)\>\mthen\>\(q_3,q_4\) \(\coloneqq\) \(q_4,q_3\)\\
\modloop
\end{tabbing}
Let
\[
	\mathit{DO}\ \ =\ \ \mdoloop\ \,\dots\ \mchoice\ G_i~ \mthen~ S_i\ \,\mchoice\,\ \dots\ \,\modloop
\]
Then:
\[ 
	(\mathit{DO}, \sigma)\ \ \to\ \ (\mif\ \dots~ \mchoice ~G_i ~\mthen~ S_i; ~ \mathit{DO} ~\mchoice~ \dots 
   \mchoice~ \neg (C_1 \land \dots \land C_n) ~\mthen~ \mnoop ~\mfi,~ \sigma)
\]
where $C_i$ is the boolean expression in the guard of $G_i$ (\(1\le i\le n\)).%
}%end of \test definition

\newcommand{\mchoice}{\ensuremath{⫾}}
\mchoice\ (U+2AFE):
\test\\
\hrule
\bigskip
\renewcommand{\mchoice}{\ensuremath{⫿}}
\mchoice\ (U+2AFF):
\test
\end{document}
The output of xelatex demonstrates unexpectedly large size of ⫿ (U+2AFF) in \displaystyle:
file.png
file.png (230.09 KiB) Viewed 2877 times
Was Barbara's original answer https://tex.stackexchange.com/a/435995 (before the update) wrong, or am I typesetting anything in an unintended way?

Recommended reading 2024:

LaTeXguide.org • LaTeX-Cookbook.net • TikZ.org
LaTeX books
Post Reply