将多个数学符号正确地组合成一个符号

将多个数学符号正确地组合成一个符号

如何放置几个数学符号合二为一并使其作为单个数学符号工作?应该不受字体大小和缩放的影响

例如我想要这个奇怪的符号:

我要这个

我将其定义为:\newcommand{\upDisCov}{\ensuremath{\uparrow\kern-3.5pt\scalebox{.86}{$|$}\kern-8.2pt\raisebox{-2pt}{$\smallsmile$}}}。(我知道我不应该使用\kern)。

符号在下标中或字体大小改变(从 12 变为 10)时会变得混乱。我可以使用 \mbox 来保持其在上标中的形式,但它不会缩放。

在此处输入图片描述

在此处输入图片描述

梅威瑟:

\documentclass[12pt,a4paper]{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\newcommand{\upDisCov}{\ensuremath{\uparrow\kern-.5em\scalebox{.86}{$|$}\kern-.2em\raisebox{-.2em}{$\smallsmile$}}}
\begin{document}
\upDisCov
$A^{\upDisCov}$
$A^{\mbox{\upDisCov}}$
\end{document}

答案1

有以下可能性:

\documentclass[12pt,a4paper]{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}

\DeclareRobustCommand{\upDisCov}{%
  \mathord{\vphantom{\uparrow}\text{%
    \ooalign{%
      $\uparrow$\kern-0.05em\raisebox{0.07ex}{\scalebox{0.88}{$|$}}\cr
      \kern0.02em\raisebox{-0.2em}{$\smallsmile$}\cr
    }%
  }}%
}
\begin{document}

$\upDisCov$
$A^{\upDisCov}$

\end{document}

在此处输入图片描述

答案2

\documentclass[10pt]{article}
\usepackage{scalerel,stackengine}
\newcommand\foo{\mathbin{\ThisStyle{\ensurestackMath{\stackengine{0pt}{%
  \stackengine{-.85\LMex}{\SavedStyle\uparrow}{\SavedStyle\scaleto{\smile}{0.75\LMex}}{U}{l}%
  {F}{F}{S}}{\SavedStyle\stretchrel*{\vert}{\uparrow}\kern0.25\LMex}{O}{r}{F}{F}{L}}}}}
\begin{document}
$A\foo B\quad A^{\foo}$\par
$\scriptstyle A\foo B$\par
$\scriptscriptstyle A\foo B$
\end{document}

在 10pt 处:

在此处输入图片描述

...12pt 处

在此处输入图片描述

相关内容