6

I would like to generate a triple version of the approx symbol as an accent for math symbols. Thanks to this question, I already have half of an approx symbol, defined as

\DeclareRobustCommand*{\halfapprox}{\clipbox{0em 0em 0em 0.14em}{$\scriptscriptstyle\approx$}}.

However, when I use \stackrel to stack these symbols, the vertical space between them is too large.

\DeclareRobustCommand*{\trtilde}[1]{\accentset{\stackrel{\halfapprox}{\approx}}{#1}}

enter image description here

The other two symbols are defined by

\DeclareRobustCommand*{\dbtilde}[1]{\accentset{\approx}{#1}} \DeclareRobustCommand*{\sgtilde}[1]{\accentset{\halfapprox}{#1}}.

Is there an elegant way to define a triple approx symbol with accurate vertical spacing? If that's not possible, how can I adjust the vertical spacing of \stackrel?

Thanks!

7

Not an answer, more for the unicode curious and the fonters -

There's a triple tilde mathematical operator in unicode (at U+224B) which, converted to an accent, in the various math fonts looks like this (if I've done it correctly - it's totally experimental):

triple tilde accent

MWE

\documentclass[12pt,varwidth,border=6pt]{standalone}
\usepackage{xcolor}
\pagecolor{red!3}
\usepackage{unicode-math}
\usepackage{accents}
\setmathfont{XITS Math}[Colour=blue]
\setmathfontface\masana{Asana Math}
\setmathfontface\mdejavu{DejaVu Math}
\setmathfontface\mtgdeja{TeX Gyre DejaVu Math}
\setmathfontface\mpagella{TeX Gyre Pagella Math}
\setmathfontface\mbonum{TeX Gyre Bonum Math}
\setmathfontface\mschola{TeX Gyre Schola Math}
\setmathfontface\mtermes{TeX Gyre Termes Math}
\setmathfontface\mlatin{Latin Modern Math}
\setmathfontface\mcambria{Cambria Math}
\setmathfontface\mfira{Fira Math}
\setmathfontface\mfreeserif{FreeSerif}
\setmathfontface\mlibert{Libertinus Math}
\setmathfontface\mnoto{Noto Sans Symbols}
\setmathfontface\mqui{Quivira}
\setmathfontface\mstixtwo{STIX Two Math}
\setmathfontface\mstixgen{STIXGeneral}
\setmathfontface\msymbola{Symbola}
\setmathfontface\mgaramond{\detokenize{Garamond-Math}}
\newcommand\mfsize{\Huge}
\setmainfont{Noto Serif}

%Define \ttilde in unicode-math-table.tex:
%\UnicodeMathSymbol{"0224B}{\ttilde                    }{\mathaccent}{triple tilde accent}%

\newcommand\themassym{\accentset{\ttilde{}}{𝑚}}
\begin{document}
\section*{Sampling {\mfsize $\themassym $}}

\vspace{24pt}

\begin{tabular}{rccl}
XITS Math & \mfsize $\themassym$ & \mfsize $\mcambria \themassym$ & Cambria Math \\ 
\ &\ & \ & \ \\ 
Asana Math & \mfsize $\masana {\themassym}$ & \mfsize $\mfira \themassym$ & Fira Math \\ 
\ &\ & \ & \ \\ 
DejaVu Math & \mfsize $\mdejavu \themassym$ & \mfsize $\mfreeserif \themassym$ & FreeSerif \\
\ &\ & \ & \ \\ 
Tex Gyre Bonum Math & \mfsize $\mbonum \themassym$ & \mfsize $\mlibert \themassym$ & Libertinus Math \\
\ &\ & \ & \ \\ 
Tex Gyre DejaVu Math & \mfsize $\mtgdeja \themassym$ & \mfsize $\mnoto \themassym$ & Noto Sans Symbols \\
\ &\ & \ & \ \\ 
Tex Gyre Pagella Math & \mfsize $\mpagella \themassym$ & \mfsize $\mqui \themassym$ & Quivira \\
\ &\ & \ & \ \\ 
Tex Gyre Schola Math & \mfsize $\mschola \themassym$ & \mfsize $\mstixtwo \themassym$ &STIX Two Math \\
\ &\ & \ & \ \\ 
Tex Gyre Termes Math & \mfsize $\mtermes \themassym$ & \mfsize $\mgaramond \themassym$ & Garamond-Math \\
\ &\ & \ & \ \\ 
Latin Modern Math & \mfsize $\mlatin \themassym$ & \mfsize $\msymbola \themassym$ & Symbola \\
\end{tabular}


\end{document}
9

Maybe like this?

\documentclass{article}
\newcommand{\tripprox}{\setbox0\hbox{$\approx$}%
\mbox{\makebox[0pt][l]{\raisebox{0.48\ht0}{$\approx$}}$\approx$}}
\begin{document}
\tripprox $\tripprox$
\end{document}

enter image description here

3
  • This looks like a good approach, but why is the middle tilde vertically stretched? Would be perfect otherwise. – Skydiver Jan 12 '20 at 7:11
  • 1
    @Skydiver Apparently one has to raise the second \approx by a bit less than half of its height. That is, there is a tiny bit whitespace around the glyph. – user194703 Jan 12 '20 at 7:23
  • Perfect, thank you very much! Just a note, if one wants to keep the original size of approx, it is necessary to put \scriptscriptstyle in front of every \approx. In this case, the correct value is 0.53 instead of 0.48. – Skydiver Jan 12 '20 at 8:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.