我希望普通段落中的一个单词稍后能被标注指向。下面的 MWE 实际上实现了这一点,只是单词被上移了。有什么优雅的方法可以解决这个问题,让单词正常地出现在句子中?
\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}
答案1
通过添加选项来指定baseline
内联 TikZ 代码的 以匹配您创建的节点的锚点。您可能还考虑添加以防止单词间距受到干扰。base
baseline=(#1.base)
inner xsep=0pt
\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}
可能存在不影响间距的更好的解决方案tikzmark
,但我并不完全确定。