\overline и \widehat с нижним индексом

\overline и \widehat с нижним индексом

Я хотел бы создать команды для создания надстрочных линий (соответственно широких шляп или стрелок) с нижним индексом в конце. Команды

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

не подходят для моих нужд, так как подстрочные знаки должны контролироваться верхней чертой (соответственно, широкая шляпа, правая стрелка). В идеале я хотел бы иметь команду типа

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

Какой способ сделать это будет наиболее чистым?

PS Самое близкое, что мне удалось найти, этовопрос.

ОбновлятьВот фотография того, что я хочу получить:

введите описание изображения здесь

решение1

Этот подход дает нижний индекс "верхней черте", как вы, кажется, указали. При такой реализации толщина верхней черты составляет .4pt, и ее можно изменить. Нижняя часть нижнего индекса находится на 1.5pt ниже верхней части аргумента. Настройка 2pt определяет вертикальное расположение верхней черты относительно нижнего индекса.

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

введите описание изображения здесь


Для widehat я применяю немного другой подход, дополнительно используя пакет scalerel. Параметр \hatgapзадает вертикальный зазор между элементом и шляпой и \subdownзадает относительное размещение индекса относительно шляпы.

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

введите описание изображения здесь

EDIT Widehat в значительной степени основан на моем решенииСимвол действительно широкой шляпы, хотя эта реализация лучше той.

решение2

Ваш пример выглядит достаточно похожим на символ с (приподнятым) \overlineи надстрочным индексом к базовому символу, поэтому я собираюсь его построить.

второго изображения может быть достаточно:

введите описание изображения здесь

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

Связанный контент