Quero que uma palavra em um parágrafo normal seja posteriormente apontada por um texto explicativo. O MWE abaixo realmente consegue isso, exceto que a palavra é deslocada para cima. Qual é uma maneira elegante de resolver isso, de modo que a palavra fique normalmente na frase?
\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}
Responder1
Especifique o baseline
código TikZ embutido para corresponder à base
âncora do nó que você criou adicionando a opção baseline=(#1.base)
. Você também pode considerar adicionar inner xsep=0pt
para evitar que o espaçamento entre palavras seja perturbado.
\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}
Uma solução melhor que não afete o espaçamento pode ser possível tikzmark
, mas não tenho certeza.