\underhat 和 \underwidehat

\underhat 和 \underwidehat

因此$\hat x$$\widehat x$给出不同长度的帽檐,但是,与不同的\overbrace{}\underbrace{},有时需要\uhat\uwidehat

什么是最好的(最干净,与可能的用途冲突最少,例如,作为定积分中的区间端点,即正确缩放)以获得下帽和下宽帽(相同的帽子,但翻转,并位于所讨论的符号下方)。

我想可以用

\documentclass{article}\usepackage{amsmath,mathtools,amssymb}
\newcommand*{\uhat}{\underset{\mathrel{\text{\raisebox{.25ex}{\rotatebox[origin=c]{180}{$\wedge$}}}}}}
\newcommand*{\uwidehat}{\underset{\mathrel{\text{\raisebox{.25ex}{\rotatebox[origin=c]{180}{$\widehat{~}$}}}}}}
\begin{document}
$\uhat x ~ ~ \uwidehat X$
\end{document}

但一定有更好的方法。

答案1

对于下帽,只需使用\underaccent{\check};对于宽下帽,将宽帽排版在参数的幻影上,然后垂直翻转,将其提升适当的量。然后将翻转的重音与文本重叠。

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

\newcommand{\uhat}{\underaccent{\check}}

\newcommand{\uwidehat}[1]{%
  \mathpalette\douwidehat{#1}%
}

\makeatletter
\newcommand{\douwidehat}[2]{%
  \sbox0{$\m@th#1\widehat{\hphantom{#2}}$}%
  \sbox2{$\m@th#1x$}
  \sbox4{$\m@th#1#2$}
  \dimen0=\ht0
  \advance\dimen0 -.8\ht2
  \dimen2=\dp4
  \rlap{%
    \raisebox{\dimexpr\dimen0-\dimen2}{%
      \scalebox{1}[-1]{\box0}%
    }%
  }%
  {#2}%
}
\makeatother

\begin{document}

$\hat{a}\uhat{a}$

$\uwidehat{aaa}\uwidehat{fg}X_{\uwidehat{abc}}$

\end{document}

在此处输入图片描述

根据 Barbara Beeton 的说法,Unicode 建议如果设置在下面,则重音符号不应翻转。因此,我还提供了一个非翻转版本。

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

\newcommand{\uhat}{\underaccent{\hat}}

\newcommand{\uwidehat}[1]{%
  \mathpalette\douwidehat{#1}%
}
\makeatletter
\newcommand{\douwidehat}[2]{%
  \sbox0{$\m@th#1\widehat{\hphantom{#2}}\vphantom{t}$}%
  \sbox2{$t$}%
  \dimen2=\ht0
  \advance\dimen2 -\ht2
  \sbox2{$#2$}%
  \dimen0=\ht0
  \rlap{%
    \raisebox{\dimexpr-\dimen0-\dp2-1pt}[0pt][\dimexpr\dimen2+\dp2]{\box0}%
  }
  {#2}%
}
\makeatother

\begin{document}

$\hat{a}\uhat{a}$

$\uwidehat{aaa}\uwidehat{fg}X_{\uwidehat{abc}}$

\end{document}

在此处输入图片描述

请注意,整个结构会变成一个普通的原子(这总是发生在其他下重音符号中),因此,如果你想将它用作运算或关系符号,你必须这样说

$a \mathbin{\uwidehat{+}} b$

这将产生

在此处输入图片描述

我使用了第二个版本,但翻转版本也一样。(感谢 wipet 指出了原始版本中的问题。)

答案2

您可以使用以下软件包轻松完成此操作accents

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{mathtools,amssymb}

\usepackage{accents}
\newcommand*{\uhat}[1]{\underaccent{\hat}{#1}}
\newcommand*{\uwidehat}[1]{\underaccent{\widehat{\hphantom{#1}}}{#1}}

\begin{document}

  $ \uhat{x}\enspace \uwidehat X$

\end{document} 

在此处输入图片描述

相关内容