我正在尝试在字母上添加双波浪符号,但我找不到合适的解决方案。我试过
$\tilde{\tilde{z}}$
和
$\overset{\approx}{z}$
但这两种解决方案看起来都有点不对劲。我试图找到两个波浪号之间垂直空间较小但大小相似的解决方案,例如\tilde{}
。
编辑:垂直间距
答案1
其中之一?
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{calc}
\usepackage{accents}
\newcommand{\dbtilde}[1]{\accentset{\approx}{#1}}
\newcommand{\vardbtilde}[1]{\tilde{\raisebox{0pt}[0.85\height]{$\tilde{#1}$}}}
\begin{document}
\[ \vardbtilde{z}\quad \dbtilde{z} \]%
\end{document}
答案2
我的答案在此有一个变体:字母下方的双波浪符号。这里,\tsup
采用一个可选参数来指定要覆盖的符号数(默认为 2)。
\documentclass{article}
\usepackage{stackengine}
\stackMath
\newcommand\tsup[2][2]{%
\def\useanchorwidth{T}%
\ifnum#1>1%
\stackon[-.5pt]{\tsup[\numexpr#1-1\relax]{#2}}{\scriptscriptstyle\sim}%
\else%
\stackon[.5pt]{#2}{\scriptscriptstyle\sim}%
\fi%
}
\begin{document}
\[
\tsup[1]{z}\neq\tsup{\Lambda}\neq\tsup[3]{\Delta}\neq\tsup[4]{\psi}
\]
\end{document}
这是一个使用正确的波浪符号并适用于 10-12pt 字体大小范围的版本:
\documentclass[10pt]{article}
\usepackage{stackengine}
\stackMath
\newcommand\tsup[2][2]{%
\def\useanchorwidth{T}%
\ifnum#1>1%
\stackon[-1.3ex]{\tsup[\numexpr#1-1\relax]{#2}}{\mathchar"307E}%
\else%
\stackon[-1ex]{#2}{\mathchar"307E}%
\fi%
}
\begin{document}
\[
\tilde z=\tsup[1]{z}\neq\tsup{\Lambda}\neq\tsup[3]{\Delta}\neq\tsup[4]{\psi}
\]
\fontsize{12pt}{14pt}\selectfont
\[
\tilde z=\tsup[1]{z}\neq\tsup{\Lambda}\neq\tsup[3]{\Delta}\neq\tsup[4]{\psi}
\]
\end{document}
在这两个 MWE 中,唯一缺少的问题是斜体字距调整。这个问题可以通过一点点小改动来整体解决(而不是针对每个特定字符)\kern
\newcommand\tsup[2][2]{%
\def\useanchorwidth{T}%
\ifnum#1>1%
\stackon[-1.3ex]{\tsup[\numexpr#1-1\relax]{#2}}{\mathchar"307E\kern-.5pt}%
\else%
\stackon[-1ex]{#2}{\mathchar"307E\kern-.5pt}%
\fi%
}