
Me gustaría subrayar un objeto matemático con una punta de flecha (de tikz) sin agregar espacio adicional al salto de línea, así
The object C has an underline with an arrowhead
→
from tikz. The only problem is the extra space
between the lines.
Por el momento, estoy usando el siguiente código (MWE)
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix,arrows,decorations.markings}
\newcommand{\subtodisplay}{%
{\tikz[baseline=-2ex] \draw[-stealth,line width=.4pt] (.3ex,0ex) -- (1.7ex,0ex);}
}
\begin{document}
The object $\mathop{C}\limits_{\subtodisplay}$ has an underline with an
arrowhead from tikz. The only problem is the extra space between the lines,
which becomes apparent when adding extra text to get at least three lines.
\end{document}
El espacio adicional en los subíndices/superíndices suele ser un problema para mí. ¿Hay alguna manera de forzar el interlineado? Claramente, en este caso no se necesita espacio adicional:
(Por lo general, solo lo necesito para subrayar una sola letra, por lo que el tamaño podría fijarse, aunque agradezco una respuesta que funcione con un ancho variable).
Respuesta1
¿Por qué no utilizas el comando \underrightarrow en su lugar? Por ejemplo así:
\underrightarrow{\mho}
Obtención:
También puedes subrayar varias letras/expresiones:
\underrightarrow{\mho+\sum^{n}_{i=1}K=0+\Psi}
Pero no usarás esto con varias letras muy a menudo.
Respuesta2
Aquí hay una posible solución:
\documentclass[varwidth,border=50]{standalone}
\usepackage{tikz}
\usepackage{blindtext}
\newcommand{\tikzunderarrow}[2][red]{\tikz[baseline={(N.base)}]{
\node[inner sep=0, outer sep=0](N) {#2};
\draw[overlay, -latex, line width=.04em, #1]
([yshift=-.14em]N.south west) -- ([yshift=-.14em]N.south east);}}
\begin{document}
A test sentence : \tikzunderarrow{ypqj to ckeck if it is ok ;)}.
\blindtext
And we check with math formula \tikzunderarrow{$\left[ \sqrt{x^2+y^2} \right]$},
and a {\Large \tikzunderarrow[purple,|-stealth]{Large}} underarrow.
\end{document}
EDITAR:Siguiendo la sugerencia de Peter Grill, agregué overlay
para mantener el tamaño vertical igual al texto en el nodo.
EDITAR 2:Agregué un texto ciego para mostrar que la distancia vertical está bien.
EDITAR 3:Según lo sugerido por Paul Gaborit y Earthliŋ, lo reemplacé inner xsep=0
por inner sep=0
. Y ahora esta respuesta es una wiki comunitaria.
EDITAR 4:Y ahora podemos cambiar el estilo de la flecha como argumento opcional.