Platzieren des Symbols über der Relation, ohne die Position der hochgestellten Zeichen zu ändern

Platzieren des Symbols über der Relation, ohne die Position der hochgestellten Zeichen zu ändern

Ich möchte ein Symbol über einer Relation platzieren, ohne die Position der hochgestellten Zeichen zu ändern.

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

Antwort1

Verwenden Sie es nicht \textfür den Hochformatsatz in der Mathematik, da es im Allgemeinen nicht funktioniert; verwenden Sie \mathrm.

\rhdIst auchnichtein Relationssymbol, aber es ist nicht schwierig, daraus eines zu machen.

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

Bildbeschreibung hier eingeben

Alternativ mit \overset:

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

Bildbeschreibung hier eingeben

Der Trick besteht darin, dass TeX zwischen aufeinanderfolgenden Beziehungsatomen weder Leerzeichen noch Zeilenumbruchpunkte hinzufügt. Daher können wir die Indizes/Hochstellungen zu einer Phantombeziehung hinzufügen.

verwandte Informationen