数学模式中的大波浪符号

数学模式中的大波浪符号

我怎样才能得到真正宽的波浪号?

我至少需要覆盖 abcdefghijklmnopqrstuvwxyz

\widetilde命令不起作用。使用 也\stackrel不起作用\sim

答案1

您可以加载mtpro2(Mathtime Pro 2) 来生成超宽波浪线。下面给出了一个 MWE(最小工作示例)来说明如何执行此操作。不过,首先,请看一些关于此包的评论:除了让您做很多非常酷且有用的事情之外,此包还允许您创建一个整整两英寸(5 厘米)[!!] 高的求和符号。字体的创建者针对使用此类符号发出了以下警告:

... 从而确保你(以及 MathTime 字体的设计者)会遭到各地期刊编辑的永久憎恨。[直接引用自软件包用户指南第 14 页]

此警告不仅适用于使用超高的求和符号;它当然也适用于超宽的波浪符号和帽子符号。换句话说:仅仅因为mtpro包允许您创建某些可疑的东西(例如超高求和符号和超宽波浪符号)并不意味着您去做它们。

那么,这里是一个 MWE,它使用该包在和mtpro2上方放置一个非常宽的波浪号(哦!)。abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz

\documentclass{article}
\usepackage[lite]{mtpro2}
\begin{document}
$\widetilde{\mathit{abcdefghijklmnopqrstuvwxyz}}$

$\widetilde{\mathit{abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz}}$
\end{document}

在此处输入图片描述

附录:完整mtpro2版并不免费。不过,其所谓的lite子集(即产生上述相当可疑的效果所需的全部内容)免费。此软件包不在 CTAN 上,但可以从本网站

第二附录(2013 年 3 月):该mtpro2包还可以通过使用其命令来生成超宽的“帽子”符号\widehat

答案2

修订的解决方案\AC来自wasysym

\documentclass{article}
\usepackage{scalerel}
\usepackage{stackengine,wasysym}

\newcommand\reallywidetilde[1]{\ThisStyle{%
  \setbox0=\hbox{$\SavedStyle#1$}%
  \stackengine{-.1\LMpt}{$\SavedStyle#1$}{%
    \stretchto{\scaleto{\SavedStyle\mkern.2mu\AC}{.5150\wd0}}{.6\ht0}%
  }{O}{c}{F}{T}{S}%
}}

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

\parskip 1ex
\begin{document}

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

在此处输入图片描述


原始解决方案(和\sim

考虑到自发布此解决方案以来已有一年的时间,我已经学到了很多东西,因此我重新编辑了这个答案以纠正诸如“错误的垂直轴”、“不能用数学样式缩放”、“额外的死区宽度”等缺陷。这个新结果使用了 2014 年 3 月 10 日的版本scalerel,因此您可能需要更新。

在 MWE 的最后,我展示了如何确定新宏中使用的.2mu.5467参数。用户不需要注意它,但如果想要将其适应不同的顶部装饰,类似的程序会派上用场。简而言之,我消除了两侧的空间,\sim并确定了 .2mu 的字距修剪不匹配。这被添加到宏中,这样波浪号就不会相对于参数向左或向右偏移。我还计算了修剪的纵横比\sim为 .5467。在宏中,这乘以\wd0参数宽度,以指示缩放 \sim必须水平拉伸到参数的宽度。然后我将其垂直压缩到所需的高度。

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

\newcommand\reallywidetilde[1]{\ThisStyle{%
  \setbox0=\hbox{$\SavedStyle#1$}%
  \stackengine{-.1\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
  }{O}{c}{F}{T}{S}%
}}

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

\parskip 1ex
\begin{document}

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

How .55 multiplier in scaleto was determined:
\fboxsep=0pt\fboxrule=.1pt
\setbox0=\hbox{$\mkern-.86mu\sim\mkern-1.06mu$}

kerned width: \the\wd0, height: \the\ht0, 

kerned sim glyph: \fbox{\box0}

Net kern imbalance: $-0.86\mu - (-1.06\mu) = 0.20\mu$

aspect ratio: height/width = 0.5467

\end{document}

在此处输入图片描述

答案3

这有点可怕,但确实很有延伸:

在此处输入图片描述

\documentclass{article}

\makeatletter
\def\oversortoftilde#1{\mathop{\vbox{\m@th\ialign{##\crcr\noalign{\kern3\p@}%
      \sortoftildefill\crcr\noalign{\kern3\p@\nointerlineskip}%
      $\hfil\displaystyle{#1}\hfil$\crcr}}}\limits}

\def\sortoftildefill{$\m@th \setbox\z@\hbox{$\braceld$}%
  \braceld\leaders\vrule \@height\ht\z@ \@depth\z@\hfill\braceru$}

\makeatother

\begin{document}

\[ \widetilde{abcdefghijklmnopqrstuvwxyz}\]
\[ \oversortoftilde{abcdefghijklmnopqrstuvwxyz}\]

\end{document}

答案4

我遇到了类似的问题:我需要一个argmin顶部有宽波浪号的好看的图标。

我选择了$\stackrel{\resizebox{6mm}{1mm}{$\ \sim$}}{\argmin}$

结果: 在此处输入图片描述

注意:的第三个参数\resizebox被解释为文本模式,因此您需要明确输入符号。波浪符号$( ) 之前的额外空格 ( ) 是一种技巧,可使其看起来居中。\\sim

我认为从边到边看起来更糟糕:在此处输入图片描述

\stackrel{\resizebox{11mm}{1mm}{$\sim$}}{\argmin}

相关内容