\overline und \widehat mit Index

\overline und \widehat mit Index

Ich möchte Befehle erstellen, um Überstriche (bzw. breite Hüte oder Pfeile) mit einem Index am Ende zu erzeugen. Die Befehle

\overline{X}^{1}   \widehat{X}^{2}  \overrightarrow{X}^{3}

entsprechen nicht meinen Bedürfnissen, da die Indizes durch den Überstrich (bzw. breiter Hut, rechter Pfeil) gesteuert werden sollen. Idealerweise hätte ich gerne einen Befehl wie

\myoverline_{1}{X}   \mywidehat_{2}{X}  \myoverrightarrow_{3}{X}

Was wäre der sauberste Weg, dies zu tun?

PS Das Nächste, was ich finden konnte, ist diesFrage.

AktualisierenHier ist ein Bild von dem, was ich erreichen möchte:

Bildbeschreibung hier eingeben

Antwort1

Dieser Ansatz gibt dem „Überstrich“ den Index, wie Sie anscheinend angedeutet haben. Bei dieser Implementierung beträgt die Überstrichstärke 0,4pt, was geändert werden kann. Die Unterseite des Index liegt 1,5pt unter der Oberseite des Arguments. Die Einstellung 2pt bestimmt die vertikale Position des Überstrichs relativ zum Index.

\documentclass{article}
\usepackage{stackengine}
\stackMath
\newcommand\subline[2]{\stackon[-1.5pt]{#1}{\rule[2pt]{\widthof{$#1$}}{.4pt}_{#2}}}
\begin{document}
\renewcommand\stackalignment{l}
$A = \subline{X}{1} \subline{g}{2} \subline{Xyzq}{12}$
\end{document}

Bildbeschreibung hier eingeben


Für den Widehat verwende ich einen etwas anderen Ansatz und nutze zusätzlich das scalerelPaket. Der Parameter \hatgapgibt den vertikalen Abstand zwischen Gegenstand und Hut an und \subdowngibt die relative Platzierung des Indexes relativ zum Hut an.

\documentclass{article}
\usepackage{scalerel}
\usepackage{stackengine}
\stackMath
\def\hatgap{2pt}
\def\subdown{-2pt}
\newcommand\reallywidehat[2][]{%
\renewcommand\stackalignment{l}%
\stackon[\hatgap]{#2}{%
\stretchto{%
    \scalerel*[\widthof{$#2$}]{\kern-.6pt\bigwedge\kern-.6pt}%
    {\rule[-\textheight/2]{1ex}{\textheight}}%WIDTH-LIMITED BIG WEDGE
}{0.5ex}% THIS SQUEEZES THE WEDGE TO 0.5ex HEIGHT
_{\smash{\belowbaseline[\subdown]{\scriptstyle#1}}}%
}}
\begin{document}
$\reallywidehat[1]{zbcdklm} \times
\reallywidehat[ijk]{zbcdefghijk} = 
\reallywidehat{zb}$
\end{document}

Bildbeschreibung hier eingeben

Der Widehat EDIT basiert sehr lose auf meiner Lösung beiWirklich breites Hutsymbol, obwohl diese Implementierung der anderen überlegen ist.

Antwort2

Ihr Beispiel ähnelt einem Symbol mit einem (erhöhten) \overlineund einem hochgestellten Zeichen am Basissymbol so sehr, dass ich das konstruieren werde.

das zweite Bild könnte genügen:

Bildbeschreibung hier eingeben

\documentclass{article}
\begin{document}
 $\overline{\mathrm{X}\vphantom{()}}^1
 \quad
 \smash{\overline{\mathrm{X}\vphantom{()}}}\vphantom{X}^1$
\end{document}

verwandte Informationen