
So $\hat x$
und $\widehat x$
geben Oberhüte unterschiedlicher Länge an, allerdings benötigt man im Gegensatz zu \overbrace{}
einem \underbrace{}
manchmal ein \uhat
und \uwidehat
.
Was ist die beste Methode (am saubersten, mit den wenigsten Konflikten bei einer möglichen Verwendung, z. B. als Intervallendpunkte in einem bestimmten Integral, d. h. richtig skaliert), um einen Underhat und einen Underwide-Hut zu erhalten (dieselben Hüte, aber umgedreht und unterhalb des betreffenden Symbols).
Ich denke, man kann
\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}
Aber es muss bessere Wege geben.
Antwort1
Für den Unterhut verwenden Sie einfach \underaccent{\check}
; für den breiten Unterhut setzen Sie den breiten Hut über ein Phantom des Arguments, spiegeln Sie ihn dann vertikal und heben Sie ihn um einen geeigneten Betrag an. Lassen Sie dann den gespiegelten Akzent über den Text überlappen.
\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}
Laut Barbara Beeton empfiehlt Unicode, Akzente nicht umzudrehen, wenn sie darunter gesetzt sind. Daher biete ich auch eine nicht umgedrehte Version an.
\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}
Beachten Sie, dass die gesamte Konstruktion in ein normales Atom umgewandelt wird (was bei anderen Unterakzenten immer der Fall ist). Wenn Sie es also für ein Operations- oder Relationssymbol verwenden möchten, müssen Sie etwas wie
$a \mathbin{\uwidehat{+}} b$
das wird produzieren
Ich habe die zweite Version verwendet, aber bei der umgedrehten Version ist es dasselbe. (Danke an wipet für den Hinweis auf das Problem in der Originalversion.)
Antwort2
accents
Mit dem Paket können Sie das ganz einfach tun :
\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}