如何在图中从一个子浮点数到另一个子浮点数绘制箭头?

如何在图中从一个子浮点数到另一个子浮点数绘制箭头?

我有一个跨越双列文档中两列的图形。

下面给出了一个最小代码示例。

\documentclass[twocolumn]{article}
\usepackage{lipsum}

\usepackage{graphicx}
\usepackage{stfloats}
\usepackage[caption=false,font=footnotesize]{subfig}

\begin{document}

\begin{figure*}[b!]
\centering
\subfloat[Box A]{\label{f_a}\includegraphics[height=3cm]{example-image-a.png}}
\hspace{1pt}
\subfloat[Box B]{\label{f_b}\includegraphics[height=3cm]{example-image-b.png}}
\hspace{1pt}
\subfloat[Box C]{\label{f_c}\includegraphics[height=3cm]{example-image-c.png}}
\label{myfig}
\caption{Three boxes}
\end{figure*}

\lipsum

\end{document}

这将产生如下图所示的图像在此处输入图片描述

我想从一张图片到另一张图片画一个箭头,而不影响图形编号或标题。

期望的结果。在此处输入图片描述

如何达到预期结果?

答案1

要将 tikz 元素与图像相结合,必须将其与坐标系叠加。复制自“使用 TikZ 在图像上绘图”

\begin{tikzpicture}
  \node[anchor=south west,inner sep=0] (image) {\includegraphics{... name of image ...}};
  \begin{scope}[x={(image.south west)},y={(image.north east)}]
    ... tikz code, with (0,0) = south west and (1,1) = north east ...
  \end{scope}
\end{tikzpicture}

要使用跨tikzpictures 的位置,必须使用remember picture选项。此外,overlay对于连接图像的元素,该选项是必需的;否则它们会占用空间并影响布局。下面是一个包含两张图片和一个连接箭头的示例(我将其放入单独的图片中)。

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[remember picture]
  \node[anchor=south west,inner sep=0] (imageA) {\includegraphics[height=2cm]{example-image-a.png}};
  \begin{scope}[x={(imageA.south west)},y={(imageA.north east)}]
    \node[coordinate] (A) at (0.9,0.9) {};
  \end{scope}
\end{tikzpicture}
\begin{tikzpicture}[remember picture]
  \node[anchor=south west,inner sep=0] (imageB) {\includegraphics[height=2cm]{example-image-b.png}};
  \begin{scope}[x={(imageB.south west)},y={(imageB.north east)}]
    \node[coordinate] (B) at (0.3,0.3) {};
  \end{scope}
\end{tikzpicture}
\begin{tikzpicture}[remember picture,overlay]
  \draw[->] (A) -- (B);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容