一個 \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} 

在此輸入影像描述

相關內容