Quiero un símbolo personalizado encima de una variable. El problema es que el tamaño del símbolo siempre se mantiene igual si se cambia el tamaño de la variable. En una fórmula más sofisticada con fracciones, etc., se ve horrible.
Aquí un ejemplo. Para reducir el espacio vertical he usado código de¿Cómo puedo reducir (o ampliar) el espaciado vertical en \stackrel?.
\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}
Respuesta1
El cuadro evita que el tamaño cambie en un subíndice, podrías usarlo \mathchoice
para seleccionar diferentes tamaños, pero aquí creo que puedes simplemente eliminar el vbox y \ialign
como solo tenías una fila, no estaba alineando nada.
\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}
O más cerca:
\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}}}}}}