12

I'm heaving problems with correctly vertically stacking two widetilde's (i.e. one on top of the other). I managed to reduce the space between them, but I don't know how to force them to be exactly vertically aligned.

Here's my MWE:

\documentclass[12pt,a4paper]{article}

\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}

%define doublewidetilde
\makeatletter
\DeclareRobustCommand{\doublewidetilde}[1]{{%
\mathpalette\double@widetilde{#1}%
}}
\DeclareRobustCommand{\double@widetilde}[2]{%
\sbox\z@{$\m@th#1\widetilde{#2}$}%
\ht\z@=.85\ht\z@
\widetilde{\box\z@}%
}
\makeatother


\begin{document}
E.g.: $\doublewidetilde{I}_N$ or $\doublewidetilde{abcde}_N$
\end{document}

Also, notice that when the maximal length of the widetilde is 'saturated', the two are correctly vertically stacked (see the double wide tilde over 'abcde').

Note: I'm using \DeclareRobustCommand (instead of e.g. \newcommand) because I intend to use \doublewidetilde in section names.

Mateusz Piotrowski
  • 357
  • 1
  • 5
  • 16
Mini
  • 121

1 Answers1

14

Directly adapting my answer at Big tilde in math mode. EDITED to use \AC from wasysym package, rather than \sim for the baseline tilde.

\documentclass{article}
\usepackage{scalerel}[2014/03/10]
\usepackage{stackengine,wasysym}

\newcommand\dwidetilde[1]{\ThisStyle{%
  \setbox0=\hbox{$\SavedStyle#1$}%
  \stackengine{-.1\LMpt}{$\SavedStyle#1\,\,$}{%
    \stackengine{\dimexpr-3.5\LMpt+.3pt}{%
    \stretchto{\scaleto{\mkern.2mu\AC}{.5150\wd0}}{.7\ht0}%
    }{%
    \stretchto{\scaleto{\mkern.2mu\AC}{.5150\wd0}}{.7\ht0}%
    }{O}{c}{F}{T}{S}
  }{O}{c}{F}{T}{S}%
\!\!}}

\def\test#1{$%
  \dwidetilde{#1}\,
  \scriptstyle\dwidetilde{#1}\,
  \scriptscriptstyle\dwidetilde{#1}
$\par}

\parskip 1ex
\begin{document}

\test{abcdefghijklm}
\test{abcdefghijk}
\test{abcdefghi}
\test{abcdefg}
\test{abcde}
\test{abc}
\test{ab}
\end{document}

enter image description here