合并不同的 TikZ 图片

合并不同的 TikZ 图片

我想从文本的一部分(在页面上)到另一部分画一条线。我正在存储(相对)坐标,这就是我的 MWE 不起作用的原因。使用 TikZ 有什么方法可以做到这一点吗?(请注意,我希望将 TikZ 图片分开,即,我不想将整个文本包含在一个 TikZ 图片环境中。)

我有以下 MWE:

\documentclass{article}
\usepackage{tikz}
\begin{document}
  This is my text.\tikz\coordinate (one) at (0,0);

  \bigskip\ldots\bigskip\bigskip

  This is another text.\tikz{\coordinate (two) at (2,2); draw [red, thick, fill](one) --> (two);}
\end{document}

当然,这就是我得到的:

在此处输入图片描述


更新 1

根据 TikZ-PGF 手册 (p.249),我必须使用remember pictureoverlay选项。这是新代码:

\documentclass{article}
\usepackage{tikz}
\begin{document}

This is my text.\tikz[remember picture] \node[circle,fill=red!50] (n1) {};

\bigskip\ldots\bigskip\bigskip

This is another text.\tikz[remember picture] \node[fill=blue!50] (n2) {};

\begin{tikzpicture} [remember picture, overlay]
draw [red, very thick](n2) --> (n1);
\end{tikzpicture}

\end{document}

但这也不起作用:

在此处输入图片描述

答案1

这是来自手册的内容,适合您的情况并按照@daleif 的建议使用覆盖:

\documentclass{article}
\usepackage{tikz}

\begin{document}

Starting with a red dot,
\tikz[remember picture] \node[circle,fill=red!50] (n1) {};
we keep talking.

\bigskip\ldots\bigskip\bigskip

This is my text.
\tikz[remember picture] \node[fill=blue!50] (n2) {};
More to be said.

\begin{tikzpicture}[remember picture,overlay]
\draw[->,very thick] (n1) -- (n2);
\end{tikzpicture}

This is another text.

\end{document}

这得出

在此处输入图片描述

希望这足以帮助您入门。

相关内容