Tikz 覆盖回忆录中的子图

Tikz 覆盖回忆录中的子图

假设我在用 排版的文档中有以下代码memoir

\begin{figure}
\centering
\subbottom[]{
\label{sub1}
\includegraphics[width=0.4\linewidth]{test.png}}%
\subbottom[]{
\label{sub2}
\includegraphics[width=0.4\linewidth]{test.png}}%
\caption{\subcaptionref{sub1}: Left of the figure. \subcaptionref{sub2}: Right of the figure}
\end{figure}

生成下图:

在此处输入图片描述

我希望能够在每幅图像上叠加一些文本和数学公式(并相对于每幅图像进行坐标计算)。

我读过这两篇文章:

我非常喜欢其中第一个描述的解决方案,即使用tikz命令来叠加文本和公式。

但是,他们提供的示例需要使用tikzpicture环境,这似乎阻止我\subbottom[]在回忆录中使用子图。

如何将tikzpicture andscope 与subbottomin结合使用memoir

为了举例子,假设我想将符号叠加$\phi$在左边子图的中心,将符号$\psi$叠加在右边子图的中心(都在小白框内)。

答案1

正如你要求的 tikz 方法,这里有一种方法。当然,你可以整理代码并创建命令等,但下面的示例向你展示了一种可能的方法

\documentclass{memoir}

\usepackage{graphicx}
\newsubfloat{figure}
\usepackage{tikz}

\begin{document}

\begin{figure}
\centering
\subbottom[]{%
\label{sub1}
\begin{tikzpicture}[inner sep=0pt,remember picture]
\node at (0,0) {\includegraphics[width=0.4\linewidth]{test.jpg}};
\node[fill=green!20] (a) at (1,1) {A node};
\end{tikzpicture}
}%
\subbottom[]{
\label{sub2}
\begin{tikzpicture}[inner sep=0pt,remember picture]
\node at (0,0) {\includegraphics[width=0.4\linewidth]{test.jpg}};
\node[fill=red!20] (b) at (0.5,0.5) {A node};
\end{tikzpicture}
}%
\begin{tikzpicture}[remember picture,overlay]
 \draw[->,red,very thick] (a) to[bend right] (b);
\end{tikzpicture}

\caption{\subcaptionref{sub1}: Left of the figure. \subcaptionref{sub2}: Right
of the figure}
\end{figure}

\end{document}

基本上,你在一个节点中放置图片,然后你可以在上面放置其他节点。通过告诉 tikz 记住节点,你以后可以连接这些节点

在此处输入图片描述

答案2

您实际上并不需要 TikZ。但是,它确实允许在叠加图形方面提供更多的自由和变化。按原样,可以通过以下方式实现叠加\ooalign

在此处输入图片描述

\documentclass{memoir}% http://ctan.org/pkg/memoir
\usepackage{graphicx}% http://ctan.org/pkg/graphicx
\usepackage{xcolor}% http://ctan.org/pkg/xcolor
\newsubfloat{figure}% Allows \subbottom and \subtop in figure
\newsavebox{\myfig}
\begin{document}
\begin{figure}
  \centering
  \savebox{\myfig}{\includegraphics[width=0.4\linewidth]{tiger}}% Store image
  \subbottom[]{%
    \label{sub1}%
    \ooalign{\usebox{\myfig}\cr\hss\raisebox{\dimexpr.5\ht\myfig-.5\baselineskip}{\colorbox{white}{\Huge$\phi$}}\hss}}%
  \subbottom[]{%
    \label{sub2}%
    \usebox{\myfig}}%
  \caption{\subcaptionref{sub1}:~Left of the figure. \subcaptionref{sub2}:~Right of the figure}
\end{figure}
\end{document}

将图像设置在一个框(\myfig)中,以获得适当的高度(通过\ht\myfig)。\ooalign叠加双重内容(图像和公式),同时\raisebox将公式垂直移动到位。

这个答案快速课程\ooalign

相关内容