Benutzerdefiniertes Symbol über einer Variable, die automatisch skaliert wird?

Benutzerdefiniertes Symbol über einer Variable, die automatisch skaliert wird?

Ich möchte ein benutzerdefiniertes Symbol über einer Variablen. Das Problem ist, dass die Symbolgröße immer gleich bleibt, wenn die Variablengröße geändert wird. In einer komplexeren Formel mit Brüchen usw. sieht das schrecklich aus.

Hier ein Beispiel. Um den vertikalen Abstand zu reduzieren, habe ich Code von verwendetWie kann ich den vertikalen Abstand in \stackrel verkleinern (oder vergrößern)?.

\documentclass{minimal}
\usepackage{amsmath}
\usepackage{tikz}

\newcommand{\defeq}{%
  \mathrel{\vbox{\offinterlineskip\ialign{%
    \hfil##\hfil\cr
    $\text{\tikz{\draw[-, line width=0.2ex] (1.6ex,0.5ex) -- (1.6ex,-0.5ex); \begin{scope}[xshift=0ex] \draw[-, line width=0.2ex] (0,0) -- (1.4ex,0); \fill[black] (1.5ex,0) -- (1ex,0.5ex) -- (1ex,-0.5ex) -- cycle; \end{scope} }}$\cr
\noalign{\kern-0.4ex}
}}}}

\begin{document}
\begin{equation}
  B_{\overset{\defeq}{AB}} \overset{\defeq}{AB}
\end{equation}
\end{document}

Antwort1

Die Box verhindert, dass sich die Größe in einem Index ändert. Sie könnten sie verwenden, \mathchoiceum unterschiedliche Größen auszuwählen, aber hier können Sie meiner Meinung nach einfach die Vbox entfernen, \ialignda Sie nur eine Zeile hatten, wurde nichts ausgerichtet.

Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}

\newcommand{\defeq}{%
  \mathrel{\text{\tikz{\draw[-, line width=0.2ex] (1.6ex,0.5ex) -- (1.6ex,-0.5ex); \begin{scope}[xshift=0ex] \draw[-, line width=0.2ex] (0,0) -- (1.4ex,0); \fill[black] (1.5ex,0) -- (1ex,0.5ex) -- (1ex,-0.5ex) -- cycle; \end{scope}}}}}

\begin{document}
\begin{equation}
  B_{\overset{\defeq}{AB}} \overset{\defeq}{AB}
\end{equation}
\end{document}

Oder näher:

\newcommand{\defeq}{%
  \mathrel{\text{%
\raisebox{-.4ex}[0pt][0pt]{\tikz{\draw[-, line width=0.2ex] (1.6ex,0.5ex) -- (1.6ex,-0.5ex); \begin{scope}[xshift=0ex] \draw[-, line width=0.2ex] (0,0) -- (1.4ex,0); \fill[black] (1.5ex,0) -- (1ex,0.5ex) -- (1ex,-0.5ex) -- cycle; \end{scope}}}}}}

verwandte Informationen