我希望稍後能透過標註指出普通段落中的某個單字。下面的 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
,但我不完全確定。