일반 문단의 단어가 나중에 콜아웃에 의해 지적되기를 원합니다. 아래의 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
확실하지는 않습니다.