Colocar símbolo sobre relação sem alterar onde os sobrescritos são colocados

Colocar símbolo sobre relação sem alterar onde os sobrescritos são colocados

Gostaria de colocar um símbolo sobre uma relação sem alterar onde os sobrescritos são colocados.

\documentclass{article}
\usepackage{mathtools}
\usepackage{amssymb}
\usepackage{accents}

\newcommand{\rel}{\rhd}
\newcommand{\symb}{\text{I}}

\newcommand{\testmyrel}[1]{%
  \begin{center}%
  \begin{minipage}{\linewidth/2}%
    \noindent Text text text\\%
    $\text{T} #1^* \text{U}$\\%
    $\text{T} \rel^* \text{U}$\\%
  \end{minipage}%
  \end{center}%
}%

\begin{document}
    
My goal is to place a symbol (e.g. $\symb$) over a rel (e.g. $\rel$) that can be used in text without overlapping with text above, and handles superscripts as if it did not have a symbol:
\begin{center}%
    \begin{minipage}{\linewidth/2}%
        \noindent Text text text\\%
        $\text{T} \mathrel{\overset{\symb}{\rel}\vphantom{\rel}^*} \text{U}$\\%
        $\text{T} \rel^* \text{U}$\\%
    \end{minipage}%
\end{center}%

However, I do not want the superscript to be an argument of the command, which rules out the code above.

\begin{itemize}

\item Using overset makes the star too high:%
    \testmyrel{%
        \mathrel{%
            \overset{%
                \symb%
            }{%
                \mathord{\rel}%
            }%
        }%
    }%
%
\item Smashing the rel makes it go over the text:%
    \testmyrel{%
        \mathrel{%
            \smash{
                \overset{\symb}{\mathord{\rel}}%
            }%
        }%
    }%
%
\item Smashing the symbol makes it go over the text:%
\testmyrel{%
    \mathrel{%
        \overset{%
            \smash{\symb}%
        }{%
            \mathord{\rel}%
        }%
    }%
}%
%
\item Adding a vphantom inside mathrel leads to the star being too high:%
    \testmyrel{%
        \mathrel{%
            \overset{\symb}{\mathord{\rel}}%
            \vphantom{\symb}%
        }%
    }%
%
\item Adding a vphantom after mathrel leads to the star being misplaced to the right:%
\testmyrel{%
    \mathrel{%
        \overset{\symb}{\mathord{\rel}}%
    }%
    \vphantom{\symb}%
}%

\item Accentset without mathrel does not have the spacing due to mathrel:
\testmyrel{%
    \accentset{\symb}{\mathord{\rel}}%
}%

\item Accentset with mathrel puts the star too high:
\testmyrel{%
    \mathrel{\accentset{\symb}{\mathord{\rel}}}%
}%
\end{itemize}

\end{document}

Responder1

Não use \textpara compor coisas em letras verticais em matemática, pois geralmente não funciona; usar \mathrm.

Também \rhdénãoum símbolo de relação, mas não é difícil torná-lo assim.

\documentclass{article}
\usepackage{amsmath,amssymb,accents}

% \rhd is not a relation symbol
\mathchardef\rel=\numexpr\rhd+"1000

\newcommand{\overrel}[2]{%
  \mathrel{\accentset{#1}{#2}}%
  \mathrel{\vphantom{#2}}%
}

\begin{document}

\begin{center}
Text text text\\
$T \overrel{\mathrm{I}}{\rel}^* U$\\
$T \rel^* U$
\end{center}

\end{document}

insira a descrição da imagem aqui

Alternativamente, com \overset:

\newcommand{\overrel}[2]{%
  \overset{#1}{#2}%
  \mathrel{\vphantom{#2}}%
}

insira a descrição da imagem aqui

O truque é que o TeX não adiciona espaço, nem ponto de quebra de linha, entre átomos de relação consecutivos. Portanto, podemos adicionar os subscritos/sobrescritos a uma relação fantasma.

informação relacionada