我需要一个\tilde
更引人注目的东西,为什么我尝试过这个答案与 结合使用scalebox
。但是,随着垂直缩放,符号和重音符之间的垂直距离也会增加。我该如何避免这种情况?我试过了\smash
,raisebox
但没有效果。
平均能量损失
\documentclass{article}
\usepackage{amsmath}
\usepackage{accents}
\usepackage{graphicx}
\DeclareRobustCommand*{\vartilde}[1]{\accentset{\smash{\scalebox{0.8}[1.4]{\ensuremath{\sim}}}}{#1}}
\begin{document}
$ \tilde{q}^{\,+|-}_j $ \quad vs. \quad $ \vartilde{q}^{\,+|-}_j $
\end{document}
非常感谢!
答案1
问题在于 周围的垂直空白\sim
。您可以使用包\trimbox
中的命令trimclip
进行调整:
如果你希望在\sim
和 下面的字母之间留出更多空间,减少.3ex
命令中的值\trimbox
。
以下是代码:
\documentclass{article}
\usepackage{amsmath}
\usepackage{accents}
\usepackage{graphicx}
\usepackage{trimclip}
\DeclareRobustCommand*{\vartilde}[1]{\accentset{\scalebox{0.8}[1.4]{\trimbox{0pt .3ex}{\ensuremath{\sim}}}}{#1}}
\begin{document}
$ \tilde{q}^{\,+|-}_j $ \quad vs. \quad $ \vartilde{q}^{\,+|-}_j $
\end{document}
请注意,如果重音出现在 scriptstyle 或 scriptscriptstyle 中,则不会缩放。如果您需要这些,您可以使用\mathchoice
:
\DeclareRobustCommand*{\vartilde}[1]{\mathchoice
{\accentset{\scalebox{0.8}[1.4]{\trimbox{0pt .3ex}{\ensuremath{\sim}}}}{#1}}
{\accentset{\scalebox{0.8}[1.4]{\trimbox{0pt .3ex}{\ensuremath{\sim}}}}{#1}}
{\accentset{\scalebox{0.6}[1]{\trimbox{0pt .3ex}{\ensuremath{\sim}}}}{#1}}
{\accentset{\scalebox{0.4}[.7]{\trimbox{0pt .3ex}{\ensuremath{\sim}}}}{#1}}
}
您可以根据自己的喜好调整每种风格的比例和间距。
答案2
只需使用\widetilde
:
\documentclass{article}
\usepackage{amsmath}
\usepackage{accents}
\usepackage{graphicx}
\DeclareRobustCommand*{\vartilde}[1]{\accentset{\smash{\scalebox{0.8}[1.4]{\ensuremath{\sim}}}}{#1}}
\begin{document}
$ \tilde{q}^{\,+|-}_j $ \quad vs. \quad $ \vartilde{q}^{\,+|-}_j $\quad vs. \quad $ \widetilde{q}^{\,+|-}_j $
\end{document}
答案3
您可以使用\vbox{\hbox{...}\kern-1pt}
以下构造:
\DeclareRobustCommand*{\vartilde}[1]
{\accentset{\scalebox{.8}[1.4]{\vbox{\hbox{$\sim$}\kern-1pt}}}{#1}}