如何制作一个‘合适的’(美观的)双宽波浪线?

如何制作一个‘合适的’(美观的)双宽波浪线?

我在垂直方向正确堆叠两个宽波浪线(即一个在另一个上面)时遇到了问题。我设法缩小了它们之间的空间,但我不知道如何强制它们完全垂直对齐。

这是我的 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}

另外,请注意,当宽波浪号的最大长度“饱和”时,两者会正确地垂直堆叠(请参见“abcde”上的双宽波浪号)。

注意:我使用\DeclareRobustCommand(而不是例如\newcommand),因为我打算\doublewidetilde在部分名称中使用。

答案1

直接调整我的答案数学模式中的大波浪符号。已编辑以使用\AC来自wasysym包,而不是\sim基线波浪号。

\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}

在此处输入图片描述

相关内容