如何创造宽短音?

如何创造宽短音?

我在数学模式中需要一个“宽短音”重音,可以稍微延伸一点,就像\widetilde\widehat做一样。我尝试了以下两个建议显示多个字母上的短音符,但第一个不太令人满意,有几个原因。第二个在图片上看起来不错,但它不适用于单个字母

畸形宽短

为了方便起见,这里是链接线程中原始帖子的代码本身:

\makeatletter
\def\widebreve#1{\mathop{\vbox{\m@th\ialign{##\crcr\noalign{\kern\p@}%
  \brevefill\crcr\noalign{\kern0.1\p@\nointerlineskip}%
  $\hfil\displaystyle{#1}\hfil$\crcr}}}\limits}

\def\brevefill{$\m@th \setbox\z@\hbox{}%
 \hfill\scalebox{0.7}{\rotatebox[origin=c]{90}{(}} \kern4pt $}
\makeatletter

我希望有类似这个例子中的宽短音

例子

这也适用于数学模式下的单个字母,并且比单纯的 更宽\breve{U}。想想\widetilde{U}\widehat{U}。如果有人知道如何修复它或有更好的建议,我会很高兴。谢谢!

答案1

我认为 Sabian 的代码只适用于两个字符,因此我尝试对其进行改进:

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}

\makeatletter
\def\widebreve{\mathpalette\wide@breve}
\def\wide@breve#1#2{\sbox\z@{$#1#2$}%
     \mathop{\vbox{\m@th\ialign{##\crcr
\kern0.08em\brevefill#1{0.8\wd\z@}\crcr\noalign{\nointerlineskip}%
                    $\hss#1#2\hss$\crcr}}}\limits}
\def\brevefill#1#2{$\m@th\sbox\tw@{$#1($}%
  \hss\resizebox{#2}{\wd\tw@}{\rotatebox[origin=c]{90}{\upshape(}}\hss$}
\makeatletter

\begin{document}

\begin{tabular}{ccc}
\(\widebreve{ONO}\) & \(A^{\widebreve{ONO}}\) & \(B^{A^{\widebreve{ONO}}}\) \\
\(\widebreve{ON}\)  & \(A^{\widebreve{ON}}\)  & \(B^{A^{\widebreve{ON}}}\) \\
\(\widebreve{U}\)   & \(A^{\widebreve{U}}\)   & \(B^{A^{\widebreve{U}}}\) \\
\end{tabular}

\end{document}

原则上,该命令适用于任意数量的字符。不过,有几点需要手动调整。

\kern0.08em\brevefill#1{0.8\wd\z@}\crcr\noalign{\nointerlineskip}%

包含两个可调整的参数:\kern0.08em0.8\wd\z@。第一个是要在短重音符左侧插入的水平空间,以使其看起来“更居中”。第二个(0.8)是重音符相对于重音字符的相对位置。

相关内容