Quiero que una palabra en un párrafo normal sea señalada posteriormente mediante una leyenda. El MWE a continuación realmente logra esto, excepto que la palabra se desplaza hacia arriba. ¿Cuál es una forma elegante de resolver esto, de modo que la palabra se encuentre normalmente en la oración?
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes.symbols}
\usetikzlibrary{shapes.callouts}
\usetikzlibrary{positioning}
\newcommand{\nodeWord}[1]{\tikz[remember picture]{\node(#1){#1};}}
\begin{document}
Here is a \nodeWord{little} sentence.
\tikz[remember picture]{\node [rectangle callout, fill=blue!30!white,overlay,callout absolute pointer={(little.south)},text centered, below left=of little] (A) {Hello};}
\end{document}
Respuesta1
Especifique el baseline
código TikZ en línea para que coincida con el base
ancla del nodo que cree agregando la opción baseline=(#1.base)
. También podría considerar agregar inner xsep=0pt
para evitar que se altere el espacio entre palabras.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes.symbols}
\usetikzlibrary{shapes.callouts}
\usetikzlibrary{positioning}
\newcommand{\nodeWord}[1]{\tikz[remember picture,baseline=(#1.base),inner xsep=0pt]{\node(#1){#1};}}
\begin{document}
Here is a \nodeWord{little} sentence.
\tikz[remember picture]{\node [rectangle callout, fill=blue!30!white,overlay,callout absolute pointer={(little.south)},text centered, below left=of little] (A) {Hello};}
\end{document}
Podría ser posible encontrar una mejor solución que no afecte el espaciado tikzmark
, pero no estoy totalmente seguro.