
したがって$\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$
それは生産する
私は2番目のバージョンを使用しましたが、反転バージョンでも同じです。(元のバージョンの問題を指摘してくれた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}