\widetilde{} 替代波浪符号公式

\widetilde{} 替代波浪符号公式

我想在数学模式下将一些公式放在波浪符号上方,并将波浪符号的长度调整为该公式的长度。这似乎\widetilde{}几乎就是我需要的,但是它将公式放在波浪符号下方。有没有办法真正将公式放在上面?

上面公式的一个例子是:

\widetilde{(p_1',p_2') \in C}

编辑:我不太清楚预期的效果。我想在行中间添加波浪线(就像这样\sim做的),但是要使用上面的公式。

答案1

我回答了数学模式中的大波浪符号并做了两处更改:1)我将其从堆叠上方改为堆叠下方;2)我将垂直堆叠间隙增加到\LMpt,即按本地数学样式缩放 1pt。

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

\newcommand\reallywidetilde[1]{\ThisStyle{%
  \setbox0=\hbox{$\SavedStyle#1$}%
  \stackengine{\LMpt}{$\SavedStyle#1$}{%
    \stretchto{\scaleto{\SavedStyle\mkern.2mu\sim}{.5467\wd0}}{.7\ht0}%
%    .2mu is the kern imbalance when clipping white space
%    .5467++++ is \ht/[kerned \wd] aspect ratio for \sim glyph
  }{U}{c}{F}{T}{S}%
}}

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

\parskip 1ex
\begin{document}
$x = \reallywidetilde{(p_1',p_2') \in C}$

$\scriptstyle x = \reallywidetilde{(p_1',p_2') \in C}$

$\scriptscriptstyle x = \reallywidetilde{(p_1',p_2') \in C}$
\end{document}

在此处输入图片描述

如果您碰巧确实希望文本位于波浪号上方(而不是位于文本下方的波浪号),这也很容易:

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

\newcommand\reallywidetilde[1]{\ThisStyle{%
  \setbox0=\hbox{$\SavedStyle#1$}%
  \stackengine{\LMpt}{%
    \stretchto{\scaleto{\SavedStyle\mkern.2mu\sim}{.5467\wd0}}{.7\ht0}%
    }{$\SavedStyle#1$%
%    .2mu is the kern imbalance when clipping white space
%    .5467++++ is \ht/[kerned \wd] aspect ratio for \sim glyph
  }{O}{c}{F}{T}{S}%
}}

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

\parskip 1ex
\begin{document}
$xyz \reallywidetilde{(p_1',p_2') \in C} abc$

$xyz {\scriptstyle\reallywidetilde{(p_1',p_2') \in C}} abc$

$xyz {\scriptscriptstyle\reallywidetilde{(p_1',p_2') \in C}} abc$
\end{document}

在此处输入图片描述

答案2

Benjamin Bayart 设计的包装下面有它。

http://www.ctan.org/pkg/undertilde

相关内容