
Eu gostaria de sublinhar um objeto matemático com uma ponta de seta (do tikz) sem adicionar espaço extra ao salto de linha, assim
The object C has an underline with an arrowhead
→
from tikz. The only problem is the extra space
between the lines.
No momento, estou usando o seguinte 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}
Espaço extra de subscritos/sobrescritos costuma ser um problema para mim. Existe uma maneira de forçar o espaçamento entre linhas? Claramente, neste caso, o espaço extra não é necessário:
(Normalmente, só preciso sublinhar uma única letra, para que o tamanho possa ser corrigido, embora eu receba uma resposta que funcione com largura variável.)
Responder1
Por que você não usa o comando \underrightarrow? Por exemplo assim:
\underrightarrow{\mho}
Obtenção:
Você também pode sublinhar várias letras/expressões:
\underrightarrow{\mho+\sum^{n}_{i=1}K=0+\Psi}
Mas você não usará isso com várias letras com muita frequência
Responder2
Aqui está uma solução possível:
\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:Seguindo a sugestão de Peter Grill, adicionei overlay
para manter o tamanho vertical igual ao texto no nó.
EDITAR 2:Adicionei um texto cego para mostrar que a distância vertical está correta.
EDITAR 3:Conforme sugerido por Paul Gaborit e Earthliŋ, substituí inner xsep=0
por inner sep=0
. E agora esta resposta é um wiki da comunidade.
EDITAR 4:E agora podemos alterar o estilo da seta como argumento opcional.